Bug#652946: live-installer does not install /var/spool and breaks crontab
> i cannot reproduce it with plain squeeze, and not with custom squeeze > images (that use the same live-installer/d-i as wheezy, mostly). > > while the error clearly is in busybox, and using the tar from the target > system is not acceptable solution, i assume this was a temporary issue > with busybox in wheezy. > > i'll try to reproduce it later with a wheezy and sid/daily based image. Hi Daniel, sorry for the long delay. Only now I can reproduce live-installer bugs in squeeze and wheezy with confidence. I can also confirm that this bug does __not__ happen in squeeze for sure. I suspect that bug #673328 is the same as this one because /var/log is not restored in disk installation. To confirm it I've build a wheezy standard live image with daily installer udeb, and with a patched live-installer udeb. In the patched live-installer /var/log/ directory is in /target/ after install, without it /var/log does not exist in /target/. wheezy with patched udeb http://www.adrive.com/public/q4BeZW.html wheeze-standard-may2012-patched-udeb.iso normal wheezy http://www.adrive.com/public/HPRHfB.html wheeze-standard-may2012-without-patch.iso The patched udebs can be found in github https://github.com/rbern/bravance/blob/master/live-installer_35~2.gbpe79f3c~debian6460%2B0_i386.udeb Should this bug be re-assigned to busybox/tar? -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#652946: live-installer does not install /var/spool and breaks crontab
retitle 652946 busybox tar fails to copy filesystem.squashfs thanks i cannot reproduce it with plain squeeze, and not with custom squeeze images (that use the same live-installer/d-i as wheezy, mostly). while the error clearly is in busybox, and using the tar from the target system is not acceptable solution, i assume this was a temporary issue with busybox in wheezy. i'll try to reproduce it later with a wheezy and sid/daily based image. -- Address:Daniel Baumann, Donnerbuehlweg 3, CH-3012 Bern Email: daniel.baum...@progress-technologies.net Internet: http://people.progress-technologies.net/~daniel.baumann/ -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#652946: live-installer does not install /var/spool and breaks crontab
Package: live-installer Version: 34 Severity: normal Hello, after building a live image with live-build using the "daily" wheezy/sid installer and installed the image to disk crontab and postfix failed to start (this is a debian wheezy/testing image). The problem was a missing /var/spool directory in the installed system, that live-installer did not "copy" to disk. While the installer "copies" the files in /live/filesystem.squashfs I've opened tty2 and confirmed that /var/spool is in the image ls /mnt/var/spool and is polulated. But after copying the files to disk, still in the installer, /var/spool does not exist. ls /target/var/spool After install /var/spool does not exist. This breaks crontab and probably all other packages that expect a /var/spool directory. To fix (only) the crontab error, recreate the /var/spool directory in the installed system after 1st boot: sudo mkdir /var/spool I also had postfix in the image, but this one requires one to recreate its directory in /var/spool, not just /var/spool: sudo mkdir -p /var/spool/postfix Samba is another package that might break (not confirmed). -- System Information: Debian Release: wheezy/sid APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 3.1.0-1-686-pae (SMP w/1 CPU core) Locale: LANG=pt_PT.UTF-8, LC_CTYPE=pt_PT.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#652946: live-installer does not install /var/spool and breaks crontab
Package: live-installer Version: 34 Followup-For: Bug #652946 Hi again. Because tar process doesn't return ant error, apparently, I didn't try to extract it's error output in my previous tests. When I did, by adding someting like "2> /target/tar-errors.txt" in the "tar xv" line, the file showed this tar: can't remove old file ./var/lock: Is a directory So the extraction is not completed and stops when extracting /var/lock **and** does not return an error to live-installer. Maybe the exit code of tar extraction process should be also be redirected to track future errors while extracting the filesystem. After trying to get busybox tar to exclude var/lock, without success because tar in debian busybox does not handle exclude option, I've tried the lenny approach I've seen in live-installer.postinst history in git repo, and use live system installed tar to extract the filesystem excluding var/lock. chroot . tar c . --exclude=var/lock | \ (chdir /target && tar xv 2> /target/tar-errors.txt) | \ This gave me another error later upon install about /var/run: tar: can't remove old file ./var/run: Is a directory Then I added var/run to excludes, rebuilt udeb, rebuild live image and the install worked without missing dirs and files, even the excluded dirs were in /target/var. After boot no errors. Patch attached. Merry Christmas. -- System Information: Debian Release: wheezy/sid APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 3.1.0-1-686-pae (SMP w/1 CPU core) Locale: LANG=pt_PT.UTF-8, LC_CTYPE=pt_PT.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash >From a99ca344df7ac6f40e550bf5ab1e4b7172b07b23 Mon Sep 17 00:00:00 2001 From: Rui Miguel P. Bernardo Date: Sat, 24 Dec 2011 14:24:52 + Subject: [PATCH] use live system tar to use exclude --- debian/live-installer.postinst |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/debian/live-installer.postinst b/debian/live-installer.postinst index 800038b..1779082 100644 --- a/debian/live-installer.postinst +++ b/debian/live-installer.postinst @@ -44,7 +44,8 @@ install_live_system () { OLD_IFS=$IFS mkdir -p /target exec 4>&0 - tar c . | \ + # we need to use live system tar to use exclude + chroot . tar c . --exclude=var/lock --exclude=var/run | \ (chdir /target && tar xv) | \ ( while read line; do -- 1.7.2.5