I'm trying to "zoneadm attach -u" while importing my zones from snv_117 to a 
system with snv_129.

This fails with errors like:

Getting the list of files to remove
Removing 657 files
svccfg: pg_pattern is missing the target attribute in system/boot-config
rm: /a/var/mail/ is a directory
ERROR: zone update fatal error at: remove_files
The file </var/sadm/system/logs/update_log> within the zone contains a log of 
the zone update.
zone 'DUMMY-server-sparseroot-java': 'attach_update' failed with exit code 1.
could not update zone

Search led me to similarity with CR 6905313: 
http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6905313
"installing native zone using system images fails"

The problem is caused by filenames with colons, like "/a/var/mail/:saved" - 
when parsed by "cut -d':'" part of filename is chopped off.

The fix seems trivial like:

--- /usr/lib/brand/native/attach_update.orig-snv_129  Fri Nov 27 01:04:32 2009
+++ /usr/lib/brand/native/attach_update.fix   Wed Dec 30 19:07:50 2009
@@ -373,10 +373,10 @@
 remove_files()
 {
        for line in `cat /tmp/rmlist`
        do
-               path=`echo $line | cut -d':' -f1`
-               class=`echo $line | cut -d':' -f2`
-               PKGINST=`echo $line | cut -d':' -f3`
+               path=`echo $line | sed 's/^\(.*\):\([^:]*\):\([^:]*\)$/\1/'`
+               class=`echo $line | sed 's/^\(.*\):\([^:]*\):\([^:]*\)$/\2/'`
+               PKGINST=`echo $line | sed 's/^\(.*\):\([^:]*\):\([^:]*\)$/\3/'`
 
                if [ "$path" != "" ] ; then
                        if [ "$class" = "none" -o "$class" = "" ] ; then
                                # Check for symlink first since -d follows 
links.


The "svccfg: pg_pattern is missing the target attribute in system/boot-config" 
line seems irrelevant, my zones are attached and updated okay now.

HTH,
//Jim
-- 
This message posted from opensolaris.org
_______________________________________________
zones-discuss mailing list
zones-discuss@opensolaris.org

Reply via email to