[Libguestfs] virt-customize fail to inject firstboot script when running it from script.

Keresztes Péter-Zoltán zozo at z0z0.tk
Tue Mar 14 13:45:34 UTC 2017


I am running libguestfs version 1.34.2

The issue is the following. When I start the vm with virt-log I see this:

Mar 13 17:33:30 multi6 firstboot.sh[358]: /usr/lib/virt-sysprep/firstboot.sh start
Mar 13 17:33:30 multi6 cron[359]: (CRON) INFO (Running @reboot jobs)
Mar 13 17:33:30 multi6 firstboot.sh[358]: Scripts dir: /usr/lib/virt-sysprep/scripts
Mar 13 17:33:30 multi6 firstboot.sh[358]: === Running /usr/lib/virt-sysprep/scripts/0001--utilities-1041-startup-sh ===
Mar 13 17:33:30 multi6 firstboot.sh[358]: /usr/lib/virt-sysprep/firstboot.sh: 35: /usr/lib/virt-sysprep/firstboot.sh: /usr/lib/virt-sysprep/scripts-done/0001--utilities-1041-startup-sh: not found

The host OS is Debian jessie we have tried with multiple distributions of guests they are had the same issue.

Regards,
Peter

> On 14 Mar 2017, at 10:58, Richard W.M. Jones <rjones at redhat.com> wrote:
> 
> On Mon, Mar 13, 2017 at 11:48:05PM +0200, Keresztes Péter-Zoltán wrote:
>> Hello,
>> 
>> We have a nodejs app which is injecting first boot scripts using virt-customize however the exact same commands are working when triggered manually.
>> 
>> Here is the debug output of the commands
> 
> Which version of virt-customize?  A number of bugs were fixed in this
> part of the code in the last year.  Furthermore we now have a
> regression test which should ensure that this keeps working on Debian 8
> guests.
> 
> Also I'm not clear about what the problem is.  It looks as if
> virt-customize is OK.  Do you mean the script doesn't run at first
> boot?
> 
> Rich.
> 
>> Regards,
>> Peter
>> 
>> [   0.0] Examining the guest ...
>> libguestfs: trace: set_network true
>> libguestfs: trace: set_network = 0
>> libguestfs: trace: add_drive "/var/lib/vz/images/1041/vm-1041-disk-1.qcow2" "readonly:false" "protocol:file" "discard:besteffort"
>> libguestfs: trace: add_drive = 0
>> libguestfs: trace: launch
>> libguestfs: trace: get_tmpdir
>> libguestfs: trace: get_tmpdir = "/tmp"
>> libguestfs: trace: get_backend_setting "force_tcg"
>> libguestfs: trace: get_backend_setting = NULL (error)
>> libguestfs: trace: get_cachedir
>> libguestfs: trace: get_cachedir = "/var/tmp"
>> libguestfs: trace: get_cachedir
>> libguestfs: trace: get_cachedir = "/var/tmp"
>> libguestfs: trace: get_sockdir
>> libguestfs: trace: get_sockdir = "/tmp"
>> libguestfs: trace: get_backend_setting "gdb"
>> libguestfs: trace: get_backend_setting = NULL (error)
>> libguestfs: trace: launch = 0
>> libguestfs: trace: inspect_os
>> libguestfs: trace: umount_all
>> libguestfs: trace: umount_all = 0
>> libguestfs: trace: list_filesystems
>> libguestfs: trace: feature_available "lvm2"
>> libguestfs: trace: internal_feature_available "lvm2"
>> libguestfs: trace: internal_feature_available = 0
>> libguestfs: trace: feature_available = 1
>> libguestfs: trace: feature_available "ldm"
>> libguestfs: trace: internal_feature_available "ldm"
>> libguestfs: trace: internal_feature_available = 1
>> libguestfs: trace: feature_available = 0
>> libguestfs: trace: list_devices
>> libguestfs: trace: list_devices = ["/dev/sda"]
>> libguestfs: trace: list_partitions
>> libguestfs: trace: list_partitions = ["/dev/sda1", "/dev/sda2"]
>> libguestfs: trace: list_md_devices
>> libguestfs: trace: list_md_devices = []
>> libguestfs: trace: part_to_dev "/dev/sda1"
>> libguestfs: trace: part_to_dev = "/dev/sda"
>> libguestfs: trace: part_to_dev "/dev/sda2"
>> libguestfs: trace: part_to_dev = "/dev/sda"
>> libguestfs: trace: vfs_type "/dev/sda1"
>> libguestfs: trace: vfs_type = "ext4"
>> libguestfs: trace: vfs_type "/dev/sda2"
>> libguestfs: trace: vfs_type = "ext4"
>> libguestfs: trace: lvs
>> libguestfs: trace: lvs = []
>> libguestfs: trace: list_filesystems = ["/dev/sda1", "ext4", "/dev/sda2", "ext4"]
>> libguestfs: trace: vfs_type "/dev/sda1"
>> libguestfs: trace: vfs_type = "ext4"
>> libguestfs: trace: internal_parse_mountable "/dev/sda1"
>> libguestfs: trace: internal_parse_mountable = <struct guestfs_internal_mountable = im_type: 0, im_device: /dev/sda1, im_volume: , >
>> libguestfs: trace: is_whole_device "/dev/sda1"
>> libguestfs: trace: is_whole_device = 0
>> libguestfs: trace: mount_ro "/dev/sda1" "/"
>> libguestfs: trace: mount_ro = 0
>> libguestfs: trace: part_to_dev "/dev/sda1"
>> libguestfs: trace: part_to_dev = "/dev/sda"
>> libguestfs: trace: device_index "/dev/sda"
>> libguestfs: trace: device_index = 0
>> libguestfs: trace: part_to_partnum "/dev/sda1"
>> libguestfs: trace: part_to_partnum = 1
>> libguestfs: trace: part_to_dev "/dev/sda1"
>> libguestfs: trace: part_to_dev = "/dev/sda"
>> libguestfs: trace: part_list "/dev/sda"
>> libguestfs: trace: part_list = <struct guestfs_partition_list(2) = [0]{part_num: 1, part_start: 1048576, part_end: 500170751, part_size: 499122176, } [1]{part_num: 2, part_start: 500170752, part_end: 10736369663, part_size: 10236198912, }>
>> libguestfs: trace: is_dir "/etc"
>> libguestfs: trace: is_dir = 0
>> libguestfs: trace: is_dir "/bin"
>> libguestfs: trace: is_dir = 0
>> libguestfs: trace: is_dir "/share"
>> libguestfs: trace: is_dir = 0
>> libguestfs: trace: is_file "/grub/menu.lst"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: is_file "/grub/grub.conf"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: is_file "/grub2/grub.cfg"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: is_file "/hurd/console"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: is_dir "/log"
>> libguestfs: trace: is_dir = 0
>> libguestfs: trace: case_sensitive_path "/windows"
>> libguestfs: trace: case_sensitive_path = "/windows"
>> libguestfs: trace: case_sensitive_path "/windows/system32"
>> libguestfs: trace: case_sensitive_path = NULL (error)
>> libguestfs: trace: case_sensitive_path "/winnt"
>> libguestfs: trace: case_sensitive_path = "/winnt"
>> libguestfs: trace: case_sensitive_path "/winnt/system32"
>> libguestfs: trace: 
>> case_sensitive_path = NULL (error)
>> libguestfs: trace: 
>> case_sensitive_path "/win32"
>> libguestfs: trace: case_sensitive_path = "/win32"
>> libguestfs: trace: case_sensitive_path "/win32/system32"
>> libguestfs: trace: case_sensitive_path = NULL (error)
>> libguestfs: trace: case_sensitive_path "/win"
>> libguestfs: trace: case_sensitive_path = "/win"
>> libguestfs: trace: case_sensitive_path "/win/system32"
>> libguestfs: trace: case_sensitive_path = NULL (error)
>> libguestfs: 
>> trace: case_sensitive_path "/reactos"
>> libguestfs: trace: case_sensitive_path = "/reactos"
>> libguestfs: trace: case_sensitive_path "/reactos/system32"
>> libguestfs: trace: case_sensitive_path = NULL (error)
>> libguestfs: trace: case_sensitive_path "/boot.ini"
>> libguestfs: trace: case_sensitive_path = "/boot.ini"
>> libguestfs: trace: is_file "/boot.ini"
>> libguestfs: trace: is_file = 0
>> libguestfs: 
>> trace: case_sensitive_path "/System Volume Information"
>> libguestfs: trace: case_sensitive_path = "/System Volume Information"
>> libguestfs: trace: is_dir "/System Volume Information"
>> libguestfs: trace: is_dir = 0
>> libguestfs: trace: 
>> case_sensitive_path "/System Volume Information"
>> libguestfs: trace: case_sensitive_path = "/System Volume Information"
>> libguestfs: trace: is_dir "/System Volume Information"
>> libguestfs: trace: is_dir = 0
>> libguestfs: trace: case_sensitive_path "/FDOS"
>> libguestfs: trace: case_sensitive_path = "/FDOS"
>> libguestfs: trace: is_dir "/FDOS"
>> libguestfs: trace: is_dir = 0
>> libguestfs: trace: umount_all
>> libguestfs: trace: umount_all = 0
>> libguestfs: trace: vfs_type "/dev/sda2"
>> libguestfs: trace: vfs_type = "ext4"
>> libguestfs: trace: internal_parse_mountable "/dev/sda2"
>> libguestfs: trace: internal_parse_mountable = <struct guestfs_internal_mountable = im_type: 0, im_device: /dev/sda2, im_volume: , >
>> libguestfs: trace: is_whole_device "/dev/sda2"
>> libguestfs: trace: is_whole_device = 0
>> libguestfs: trace: mount_ro "/dev/sda2" "/"
>> libguestfs: trace: mount_ro = 0
>> libguestfs: trace: part_to_dev "/dev/sda2"
>> libguestfs: trace: part_to_dev = "/dev/sda"
>> libguestfs: trace: device_index "/dev/sda"
>> libguestfs: trace: device_index = 0
>> libguestfs: trace: part_to_partnum "/dev/sda2"
>> libguestfs: trace: part_to_partnum = 2
>> libguestfs: trace: part_to_dev "/dev/sda2"
>> libguestfs: trace: part_to_dev = "/dev/sda"
>> libguestfs: trace: part_list "/dev/sda"
>> libguestfs: trace: part_list = <struct guestfs_partition_list(2) = [0]{part_num: 1, part_start: 1048576, part_end: 500170751, part_size: 499122176, } [1]{part_num: 2, part_start: 500170752, part_end: 10736369663, part_size: 10236198912, }>
>> libguestfs: trace: is_dir "/etc"
>> libguestfs: trace: is_dir = 1
>> libguestfs: trace: is_dir "/bin"
>> libguestfs: trace: is_dir = 1
>> libguestfs: trace: is_dir "/share"
>> libguestfs: trace: is_dir = 0
>> libguestfs: trace: is_file "/grub/menu.lst"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: is_file "/grub/grub.conf"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: is_file "/grub2/grub.cfg"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: is_file "/etc/freebsd-update.conf"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: is_file "/netbsd"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: is_file "/bsd"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: is_file "/hurd/console"
>> libguestfs: trace: is_file = 0
>> libguestfs: 
>> trace: is_file "/service/vm"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: is_file "/etc/fstab"
>> libguestfs: trace: is_file = 1
>> libguestfs: trace: is_file "/etc/os-release" "followsymlinks:true"
>> libguestfs: trace: is_file = 1
>> libguestfs: trace: filesize "/etc/os-release"
>> libguestfs: trace: filesize = 233
>> libguestfs: trace: read_lines "/etc/os-release"
>> libguestfs: trace: read_file "/etc/os-release"
>> libguestfs: trace: download "/etc/os-release" "/tmp/libguestfsTQwKl0/cat1"
>> libguestfs: trace: download = 0
>> libguestfs: trace: read_file = "PRETTY_NAME="Debian GNU/Linux 8 (jessie)"\x0aNAME="Debian GNU/Linux"\x0aVERSION_ID="8"\x0aVERSION="8 (jessie)"\x0aID=debian\x0aHOME_URL="http://www.debian.org/"\x0aSUPPORT_URL="http://www.debian.org/support/"\x0aBUG_REPORT_URL="https://bugs.debian.org/"\x0a"
>> libguestfs: trace: read_lines = ["PRETTY_NAME="Debian GNU/Linux 8 (jessie)"", "NAME="Debian GNU/Linux"", "VERSION_ID="8"", "VERSION="8 (jessie)"", "ID=debian", "HOME_URL="http://www.debian.org/"", "SUPPORT_URL="http://www.debian.org/support/"", "BUG_REPORT_URL="https://bugs.debian.org/""]
>> libguestfs: trace: is_file "/etc/lsb-release" "followsymlinks:true"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: is_file "/etc/oracle-release" "followsymlinks:true"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: is_file "/etc/centos-release" "followsymlinks:true"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: is_file "/etc/altlinux-release" "followsymlinks:true"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: is_file "/etc/redhat-release" "followsymlinks:true"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: is_file "/etc/debian_version" "followsymlinks:true"
>> libguestfs: trace: is_file = 1
>> libguestfs: trace: filesize "/etc/debian_version"
>> libguestfs: trace: filesize = 4
>> libguestfs: trace: head_n 1 "/etc/debian_version"
>> libguestfs: trace: head_n = ["8.1"]
>> libguestfs: trace: is_file "/bin/bash" "followsymlinks:true"
>> libguestfs: trace: is_file = 1
>> libguestfs: trace: realpath "/bin/bash"
>> libguestfs: trace: realpath = "/bin/bash"
>> libguestfs: trace: file_architecture "/bin/bash"
>> libguestfs: trace: file "/bin/bash"
>> libguestfs: trace: file = "ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=a8ff57737fe60fba639d91d603253f4cdc6eb9f7, stripped"
>> libguestfs: trace: file_architecture = "x86_64"
>> libguestfs: trace: is_file "/etc/fstab" "followsymlinks:true"
>> libguestfs: trace: is_file = 1
>> libguestfs: trace: filesize "/etc/fstab"
>> libguestfs: trace: filesize = 665
>> libguestfs: trace: is_file "/etc/mdadm.conf" "followsymlinks:true"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: aug_init "/" 48
>> libguestfs: trace: aug_init = 0
>> libguestfs: trace: aug_rm "/augeas/load/*[ "/etc/fstab/" !~ regexp('^') + glob(incl) + regexp('/.*') and "/etc/mdadm.conf/" !~ regexp('^') + glob(incl) + regexp('/.*') ]"
>> libguestfs: trace: aug_rm = 1191
>> libguestfs: trace: aug_load
>> libguestfs: trace: aug_load = 0
>> libguestfs: trace: aug_match "/augeas/files//error"
>> libguestfs: trace: aug_match = []
>> libguestfs: trace: list_md_devices
>> libguestfs: trace: list_md_devices = []
>> libguestfs: trace: aug_match "/files/etc/fstab/*[label() != '#comment']"
>> libguestfs: trace: aug_match = ["/files/etc/fstab/1", "/files/etc/fstab/2", "/files/etc/fstab/3"]
>> libguestfs: trace: aug_get "/files/etc/fstab/1/spec"
>> libguestfs: trace: aug_get = "UUID=a1d1d2db-71f3-4354-95ba-fc582e84c26e"
>> libguestfs: trace: aug_get "/files/etc/fstab/1/file"
>> libguestfs: trace: aug_get = "/"
>> libguestfs: trace: findfs_uuid "a1d1d2db-71f3-4354-95ba-fc582e84c26e"
>> libguestfs: trace: findfs_uuid = "/dev/sda2"
>> libguestfs: trace: aug_get "/files/etc/fstab/1/vfstype"
>> libguestfs: trace: aug_get = "ext4"
>> libguestfs: trace: aug_get "/files/etc/fstab/2/spec"
>> libguestfs: trace: aug_get = "UUID=9b14f996-b8a0-4cdc-9dcc-946ebcd8fc5e"
>> libguestfs: 
>> trace: aug_get "/files/etc/fstab/2/file"
>> libguestfs: trace: aug_get = "/boot"
>> libguestfs: trace: findfs_uuid "9b14f996-b8a0-4cdc-9dcc-946ebcd8fc5e"
>> libguestfs: trace: findfs_uuid = "/dev/sda1"
>> libguestfs: trace: aug_get "/files/etc/fstab/2/vfstype"
>> libguestfs: trace: aug_get = "ext4"
>> libguestfs: trace: aug_get "/files/etc/fstab/3/spec"
>> libguestfs: trace: aug_get = "/dev/sr0"
>> libguestfs: trace: aug_get "/files/etc/fstab/3/file"
>> libguestfs: trace: aug_get = "/media/cdrom0"
>> libguestfs: trace: aug_close
>> libguestfs: trace: aug_close = 0
>> libguestfs: trace: is_file "/etc/HOSTNAME"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: is_file "/etc/hostname"
>> libguestfs: trace: is_file = 1
>> libguestfs: trace: filesize "/etc/hostname"
>> libguestfs: trace: filesize = 6
>> libguestfs: trace: head_n 1 "/etc/hostname"
>> libguestfs: trace: head_n = ["multi6"]
>> libguestfs: trace: umount_all
>> libguestfs: trace: umount_all = 0
>> libguestfs: trace: inspect_get_roots
>> libguestfs: trace: inspect_get_roots = ["/dev/sda2"]
>> libguestfs: trace: inspect_os = ["/dev/sda2"]
>> libguestfs: trace: inspect_get_mountpoints "/dev/sda2"
>> libguestfs: trace: inspect_get_mountpoints = ["/", "/dev/sda2", "/boot", "/dev/sda1"]
>> libguestfs: trace: mount "/dev/sda2" "/"
>> libguestfs: trace: mount = 0
>> libguestfs: trace: mount "/dev/sda1" "/boot"
>> libguestfs: trace: mount = 0
>> libguestfs: trace: inspect_get_arch "/dev/sda2"
>> libguestfs: trace: inspect_get_arch = "x86_64"
>> libguestfs: trace: inspect_get_type "/dev/sda2"
>> libguestfs: trace: inspect_get_type = "linux"
>> libguestfs: trace: is_dir "/tmp" "followsymlinks:true"
>> libguestfs: trace: is_dir = 1
>> libguestfs: trace: inspect_get_type "/dev/sda2"
>> libguestfs: trace: inspect_get_type = "linux"
>> libguestfs: trace: is_file "/var/lib/random-seed"
>> [   3.4] Setting a random seed
>> libguestfs: trace: is_file = 0
>> libguestfs: 
>> trace: is_file "/var/lib/systemd/random-seed"
>> libguestfs: trace: is_file = 1
>> libguestfs: trace: filesize "/var/lib/systemd/random-seed"
>> libguestfs: trace: filesize = 512
>> libguestfs: trace: truncate "/var/lib/systemd/random-seed"
>> libguestfs: trace: truncate = 0
>> libguestfs: trace: write_append "/var/lib/systemd/random-seed" "\x9e\x92\xa5\xae\xa3\x13\xb3Qt'\x1fn\x00\xd9\xf6\xcd\x1cYP\x14U\x1b\xfbc\xdd\xa2\x95\xd1\xdf\x0d\x94\xf7\xb8\xba$\x18z \xe2,\xd3\xd0u\xb9F\xd9\x87G\x8c\x16S\x90q\xf12(a\x89\xb1\xab\x8b\xd4\xd4M\xc4\xc6\xb0\x186\xe2A\x09\x99\xd1\xb8;\xee\x9b\xef\xee\x01co$\xfe\xf0I\xd5\x1a\xac{C&:y\xc8\xf2\xf5H\xe116\x97$\x02\xc9\xc0u\xcf7\x094\xb0SM\x8d\x0f\x0b\xc8\xf1\x1e\xae\xe0`\xbe\x87\x97\xc6\xf1\x07E\x99G\x1b\x89\x9c\x14\xfcx\xcd\xaf[[_\xc6%\x99:H\xba,4\xd4~\x0d\xb7\xf03<\xd5\x15\xef/\xa8T\xf6L\xee\xa9A\x8d\xa7\xc48r*\x0c\x9f\xde\x10/\xb0\x1a<@\xa8]2\x94{\xf0\x97S\xd6'\xc4\x1d\xff\xb5Y\x9bV\x0b`\x8d\x8d\xab\xd3\x02\x99z\xf3\x88\xff\xa1\xf7\x9et\xe3\xd0\xa9\xd9x\x19\xa4\x9c)P\x02z\xd7[K|f\x06-U%\x11\xf17\xedha\xb6\xf8f\x1b\xc5\x8fM\xab1;5"<truncated, original size 512 bytes>
>> libguestfs: trace: internal_write_append "/var/lib/systemd/random-seed" "\x9e\x92\xa5\xae\xa3\x13\xb3Qt'\x1fn\x00\xd9\xf6\xcd\x1cYP\x14U\x1b\xfbc\xdd\xa2\x95\xd1\xdf\x0d\x94\xf7\xb8\xba$\x18z \xe2,\xd3\xd0u\xb9F\xd9\x87G\x8c\x16S\x90q\xf12(a\x89\xb1\xab\x8b\xd4\xd4M\xc4\xc6\xb0\x186\xe2A\x09\x99\xd1\xb8;\xee\x9b\xef\xee\x01co$\xfe\xf0I\xd5\x1a\xac{C&:y\xc8\xf2\xf5H\xe116\x97$\x02\xc9\xc0u\xcf7\x094\xb0SM\x8d\x0f\x0b\xc8\xf1\x1e\xae\xe0`\xbe\x87\x97\xc6\xf1\x07E\x99G\x1b\x89\x9c\x14\xfcx\xcd\xaf[[_\xc6%\x99:H\xba,4\xd4~\x0d\xb7\xf03<\xd5\x15\xef/\xa8T\xf6L\xee\xa9A\x8d\xa7\xc48r*\x0c\x9f\xde\x10/\xb0\x1a<@\xa8]2\x94{\xf0\x97S\xd6'\xc4\x1d\xff\xb5Y\x9bV\x0b`\x8d\x8d\xab\xd3\x02\x99z\xf3\x88\xff\xa1\xf7\x9et\xe3\xd0\xa9\xd9x\x19\xa4\x9c)P\x02z\xd7[K|f\x06-U%\x11\xf17\xedha\xb6\xf8f\x1b\xc5\x8fM\xab1;5"<truncated, original size 512 bytes>
>> libguestfs: trace: internal_write_append = 0
>> libguestfs: trace: write_append = 0
>> libguestfs: trace: is_file "/var/lib/urandom/random-seed"
>> libguestfs: trace: is_file = 1
>> libguestfs: trace: filesize "/var/lib/urandom/random-seed"
>> libguestfs: trace: filesize = 512
>> libguestfs: trace: truncate "/var/lib/urandom/random-seed"
>> libguestfs: trace: truncate = 0
>> libguestfs: trace: write_append "/var/lib/urandom/random-seed" "\x87}\x96\x13\xa73\xd6\xc8\x7f\x93\xd0)\x1d\xcd\xf1\xab\xca?`[u\x80\x0b\xd4\xebIwC\xd2\x94\xfcm\xc9!\x0fj\x04\xe9\x92h\xdc\xf5\x07\xc3\xc5\xd4\xae\x1f\xff\xc9\xb0K%\x9f\xad\xff{Y\xbfT\xb2\x92\x0b\x03\xde<\xb2\xfe\xc7\xeb\x01\xb6\xd4!\xdb\xb1\x18\x1d6\xa9\xb9SO#\xae8\xb80\x1b|\xa4\xc3V\xda\x0e%\x81\xc1\x9a\xbfS\xa5\xeb\x94\xb9\xf0{\xe8 \xcb|\x00\xe8\xe2-\xfa\x87\x15\xbe\x96\xbb\xffW#\\x84\x83\x8c\x06C\xf9\xb7\xb9\xff!\x8c\x18\x17\xd92\x1a\xd6W\xc0\xab\x11\x04\x09G\xacG/\xd7\xe6g9\xd4\xbc\xa2gz\xee\x06s+\x8bn\xb9\xa0\x94&L\xec\x7f\xbde)\xaf\xfa\xd6kt\xa06R&\xd6+-$\x0b\xaa\xf7\xf2i?\x1bnl\x0f8\xb9Kx\x0d\xb3\xf4\x0d\xae\xe0\x8a\x19\x1f\x05d2)\x88\xdb/\x9f\x1a"\x9b \xfc\xcf\xf87\xa5\x82\x18\x1a\x0d\xbf\xc7X7\x17%F\xa3~\xa9\xba^\x80H\xea\x11\xd9\xce\xf0\x98\xd7V"<truncated, original size 512 bytes>
>> libguestfs: trace: internal_write_append "/var/lib/urandom/random-seed" "\x87}\x96\x13\xa73\xd6\xc8\x7f\x93\xd0)\x1d\xcd\xf1\xab\xca?`[u\x80\x0b\xd4\xebIwC\xd2\x94\xfcm\xc9!\x0fj\x04\xe9\x92h\xdc\xf5\x07\xc3\xc5\xd4\xae\x1f\xff\xc9\xb0K%\x9f\xad\xff{Y\xbfT\xb2\x92\x0b\x03\xde<\xb2\xfe\xc7\xeb\x01\xb6\xd4!\xdb\xb1\x18\x1d6\xa9\xb9SO#\xae8\xb80\x1b|\xa4\xc3V\xda\x0e%\x81\xc1\x9a\xbfS\xa5\xeb\x94\xb9\xf0{\xe8 \xcb|\x00\xe8\xe2-\xfa\x87\x15\xbe\x96\xbb\xffW#\\x84\x83\x8c\x06C\xf9\xb7\xb9\xff!\x8c\x18\x17\xd92\x1a\xd6W\xc0\xab\x11\x04\x09G\xacG/\xd7\xe6g9\xd4\xbc\xa2gz\xee\x06s+\x8bn\xb9\xa0\x94&L\xec\x7f\xbde)\xaf\xfa\xd6kt\xa06R&\xd6+-$\x0b\xaa\xf7\xf2i?\x1bnl\x0f8\xb9Kx\x0d\xb3\xf4\x0d\xae\xe0\x8a\x19\x1f\x05d2)\x88\xdb/\x9f\x1a"\x9b \xfc\xcf\xf87\xa5\x82\x18\x1a\x0d\xbf\xc7X7\x17%F\xa3~\xa9\xba^\x80H\xea\x11\xd9\xce\xf0\x98\xd7V"<truncated, original size 512 bytes>
>> libguestfs: trace: internal_write_append = 0
>> libguestfs: trace: write_append = 0
>> libguestfs: trace: is_file "/var/lib/misc/random-seed"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: is_file "/etc/random-seed"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: inspect_get_type "/dev/sda2"
>> libguestfs: trace: inspect_get_type = "linux"
>> libguestfs: trace: inspect_get_distro "/dev/sda2"
>> libguestfs: trace: inspect_get_distro = "debian"
>> libguestfs: trace: inspect_get_major_version "/dev/sda2"
>> libguestfs: trace: inspect_get_major_version = 8
>> libguestfs: trace: mkdir_p "/usr/lib/virt-sysprep"
>> [   3.4] Installing firstboot script: /utilities/1041/startup.sh
>> libguestfs: trace: mkdir_p = 0
>> libguestfs: trace: mkdir_p "/usr/lib/virt-sysprep/scripts"
>> libguestfs: trace: mkdir_p = 0
>> libguestfs: trace: write "/usr/lib/virt-sysprep/firstboot.sh" "#!/bin/sh -\x0a\x0a### BEGIN INIT INFO\x0a# Provides:          virt-sysprep\x0a# Required-Start:    $null\x0a# Should-Start:      $all\x0a# Required-Stop:     $null\x0a# Should-Stop:       $all\x0a# Default-Start:     2 3 5\x0a# Default-Stop:      0 1 6\x0a# Short-Description: Start sc"<truncated, original size 1099 bytes>
>> libguestfs: trace: internal_write "/usr/lib/virt-sysprep/firstboot.sh" "#!/bin/sh -\x0a\x0a### BEGIN INIT INFO\x0a# Provides:          virt-sysprep\x0a# Required-Start:    $null\x0a# Should-Start:      $all\x0a# Required-Stop:     $null\x0a# Should-Stop:       $all\x0a# Default-Start:     2 3 5\x0a# Default-Stop:      0 1 6\x0a# Short-Description: Start sc"<truncated, original size 1099 bytes>
>> libguestfs: trace: internal_write = 0
>> libguestfs: trace: write = 0
>> libguestfs: trace: chmod 493 "/usr/lib/virt-sysprep/firstboot.sh"
>> libguestfs: trace: chmod = 0
>> libguestfs: trace: is_dir "/etc/systemd/system"
>> libguestfs: trace: is_dir = 1
>> libguestfs: trace: mkdir_p "/usr/lib/systemd/system"
>> libguestfs: trace: mkdir_p = 0
>> libguestfs: trace: write "/usr/lib/systemd/system/guestfs-firstboot.service" "[Unit]\x0aDescription=libguestfs firstboot service\x0aAfter=network.target\x0aBefore=prefdm.service\x0a\x0a[Service]\x0aType=oneshot\x0aExecStart=/usr/lib/virt-sysprep/firstboot.sh start\x0aRemainAfterExit=yes\x0aStandardOutput=journal+console\x0aStandardError=inherit\x0a\x0a[Install]\x0aWanted"<truncated, original size 274 bytes>
>> libguestfs: trace: internal_write "/usr/lib/systemd/system/guestfs-firstboot.service" "[Unit]\x0aDescription=libguestfs firstboot service\x0aAfter=network.target\x0aBefore=prefdm.service\x0a\x0a[Service]\x0aType=oneshot\x0aExecStart=/usr/lib/virt-sysprep/firstboot.sh start\x0aRemainAfterExit=yes\x0aStandardOutput=journal+console\x0aStandardError=inherit\x0a\x0a[Install]\x0aWanted"<truncated, original size 274 bytes>
>> libguestfs: trace: internal_write = 0
>> libguestfs: trace: write = 0
>> libguestfs: trace: mkdir_p "/etc/systemd/system/default.target.wants"
>> libguestfs: trace: mkdir_p = 0
>> libguestfs: trace: ln_sf "/usr/lib/systemd/system/guestfs-firstboot.service" "/etc/systemd/system/default.target.wants"
>> libguestfs: trace: ln_sf = 0
>> libguestfs: trace: is_file "/usr/lib/systemd/system/firstboot.service"
>> libguestfs: trace: is_file = 0
>> libguestfs: trace: is_dir "/etc/rc.d"
>> libguestfs: trace: is_dir = 0
>> libguestfs: trace: is_dir "/etc/init.d"
>> libguestfs: trace: is_dir = 1
>> libguestfs: trace: mkdir_p "/etc/init.d"
>> libguestfs: trace: mkdir_p = 0
>> libguestfs: trace: mkdir_p "/etc/rc2.d"
>> libguestfs: trace: mkdir_p = 0
>> libguestfs: trace: mkdir_p "/etc/rc3.d"
>> libguestfs: trace: mkdir_p = 0
>> libguestfs: trace: mkdir_p "/etc/rc5.d"
>> libguestfs: trace: mkdir_p = 0
>> libguestfs: trace: ln_sf "/usr/lib/virt-sysprep/firstboot.sh" "/etc/init.d/guestfs-firstboot"
>> libguestfs: trace: ln_sf = 0
>> libguestfs: trace: ln_sf "../init.d/guestfs-firstboot" "/etc/rc2.d/S99guestfs-firstboot"
>> libguestfs: trace: ln_sf = 0
>> libguestfs: trace: ln_sf "../init.d/guestfs-firstboot" "/etc/rc3.d/S99guestfs-firstboot"
>> libguestfs: trace: ln_sf = 0
>> libguestfs: trace: ln_sf "../init.d/guestfs-firstboot" "/etc/rc5.d/S99guestfs-firstboot"
>> libguestfs: trace: ln_sf = 0
>> libguestfs: trace: rm_f "/etc/init.d/virt-sysprep-firstboot"
>> libguestfs: trace: rm_f = 0
>> libguestfs: trace: rm_f "/etc/rc2.d/S99virt-sysprep-firstboot"
>> libguestfs: trace: rm_f = 0
>> libguestfs: trace: rm_f "/etc/rc3.d/S99virt-sysprep-firstboot"
>> libguestfs: trace: rm_f = 0
>> libguestfs: trace: rm_f "/etc/rc5.d/S99virt-sysprep-firstboot"
>> libguestfs: trace: rm_f = 0
>> libguestfs: trace: write "/usr/lib/virt-sysprep/scripts/0001--utilities-1041-startup-sh" "#!/bin/bash\x0d\x0aecho "This is another startup script test" | tee -a /etc/issue\x0d\x0aecho "This is another startup script test" | tee -a /etc/issue.net\x0d\x0aecho "This is a motd startup test" | tee -a /etc/motd"
>> libguestfs: trace: internal_write "/usr/lib/virt-sysprep/scripts/0001--utilities-1041-startup-sh" "#!/bin/bash\x0d\x0aecho "This is another startup script test" | tee -a /etc/issue\x0d\x0aecho "This is another startup script test" | tee -a /etc/issue.net\x0d\x0aecho "This is a motd startup test" | tee -a /etc/motd"
>> libguestfs: trace: internal_write = 0
>> libguestfs: trace: 
>> write = 0
>> libguestfs: trace: chmod 493 "/usr/lib/virt-sysprep/scripts/0001--utilities-1041-startup-sh"
>> libguestfs: trace: chmod = 0
>> libguestfs: trace: debug "sh" "fuser -k /sysroot"
>> libguestfs: trace: debug = NULL (error)
>> libguestfs: trace: ping_daemon
>> libguestfs: trace: ping_daemon = 0
>> libguestfs: trace: umount_all
>> libguestfs: trace: umount_all = 0
>> libguestfs: trace: shutdown
>> libguestfs: trace: internal_autosync
>> [   3.4] Finishing off
>> libguestfs: trace: internal_autosync = 0
>> libguestfs: trace: shutdown = 0
>> libguestfs: trace: close
>> 0
>> Startup Script Exec - virt-customize -x -a /var/lib/vz/images/1041/vm-1041-disk-1.qcow2 --firstboot=/utilities/1041/startup.sh
>> Startup Script stdout - [   0.0] Examining the guest ...
>> [   3.4] Setting a random seed
>> [   3.4] Installing firstboot script: /utilities/1041/startup.sh
>> [   3.4] Finishing off
>> 
>> 
>> _______________________________________________
>> Libguestfs mailing list
>> Libguestfs at redhat.com
>> https://www.redhat.com/mailman/listinfo/libguestfs
> 
> -- 
> Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
> Read my programming and virtualization blog: http://rwmj.wordpress.com
> virt-df lists disk usage of guests without needing to install any
> software inside the virtual machine.  Supports Linux and Windows.
> http://people.redhat.com/~rjones/virt-df/





More information about the Libguestfs mailing list