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: 
"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 @@
        for line in `cat /tmp/rmlist`
-               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 

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

This message posted from opensolaris.org
zones-discuss mailing list

Reply via email to