On Wed, Aug 10, 2011 at 09:42:10AM -0700, David Konerding wrote:
BTW, it's actually a list of ~8000 files (looks like all the
unpacked files
from all the .debs that got downloadeD).
I stopped feboostrap during its download after it downloaded the .deb for
bash (there seems to be no option to force febootstrap to not clean up
/tmp/febootstrap* after running).
I see no reason why feboostrap wouldn't be able to read these files:
2318338 4 drwxr-xr-x 2 dek redacted 4096 Aug 10 09:39
/tmp/bashpkg/bin
2318444 0 lrwxrwxrwx 1 dek redacted 4 Aug 10 09:39
/tmp/bashpkg/bin/sh -> bash
2318443 0 lrwxrwxrwx 1 dek redacted 4 Aug 10 09:39
/tmp/bashpkg/bin/rbash -> bash
2318339 920 -rwxr-xr-x 1 dek redacted 934336 Apr 18 2010
/tmp/bashpkg/bin/bash
I would agree this certainly looks like a bug in febootstrap. I can't
imagine what it would be that wouldn't also affect our builds on
Ubuntu 11.04.
Here is a way you could try reproducing the issue, in a smaller and
more manageable context.
You can run all of the commands below as non-root from /tmp or another
temporary directory.
First:
$ febootstrap --verbose --names bash
then examine the debug messages and the output files created in the
current directory ('base.img' and 'hostfiles').
If base.img and hostfiles look reasonable, try building an appliance
from them:
$ febootstrap-supermin-helper -f ext2 -v \
base.img hostfiles $(uname -m) kernel initrd appliance
(Note that 'kernel', 'initrd' and 'appliance' are all output
files
that will be created in the current directory).
Now you've got a chicken-and-egg problem, but 'appliance' is an ext2
disk image which can be examined using guestfish:
$ guestfish --ro -a appliance -m /dev/sda
Welcome to guestfish, the libguestfs filesystem interactive shell for
editing virtual machine filesystems.
Type: 'help' for help on commands
'man' to read the manual
'quit' to quit the shell
<fs> ll /bin/
total 2668
drwxr-xr-x 2 1000 1000 4096 Aug 10 17:40 .
drwxr-xr-x 17 1000 1000 4096 Aug 10 17:41 ..
-rwxr-xr-x 1 0 0 954896 Mar 31 21:20 bash
-rwxr-xr-x 1 0 0 47696 Feb 23 14:24 cat
-rwxr-xr-x 1 0 0 55864 Feb 23 14:24 chgrp
-rwxr-xr-x 1 0 0 51704 Feb 23 14:24 chmod
-rwxr-xr-x 1 0 0 55880 Feb 23 14:24 chown
-rwxr-xr-x 1 0 0 117808 Feb 23 14:24 cp
-rwxr-xr-x 1 0 0 109736 Nov 15 2010 dash
-rwxr-xr-x 1 0 0 55832 Feb 23 14:24 date
-rwxr-xr-x 1 0 0 51840 Feb 23 14:24 dd
-rwxr-xr-x 1 0 0 64208 Feb 23 14:24 df
-rwxr-xr-x 1 0 0 105776 Feb 23 14:24 dir
-rwxr-xr-x 1 0 0 26968 Feb 23 14:24 echo
-rwxr-xr-x 1 0 0 22856 Feb 23 14:24 false
-rwxr-xr-x 1 0 0 47680 Feb 23 14:24 ln
-rwxr-xr-x 1 0 0 105776 Feb 23 14:24 ls
-rwxr-xr-x 1 0 0 47624 Feb 23 14:24 mkdir
-rwxr-xr-x 1 0 0 31112 Feb 23 14:24 mknod
-rwxr-xr-x 1 0 0 35352 Feb 23 14:24 mktemp
-rwxr-xr-x 1 0 0 109584 Feb 23 14:24 mv
-rwxr-xr-x 1 0 0 31200 Feb 23 14:24 pwd
lrwxrwxrwx 1 0 0 4 Jul 20 21:19 rbash -> bash
-rwxr-xr-x 1 0 0 35272 Feb 23 14:24 readlink
-rwxr-xr-x 1 0 0 55872 Feb 23 14:24 rm
-rwxr-xr-x 1 0 0 39320 Feb 23 14:24 rmdir
-rwxr-xr-x 1 0 0 15048 Jan 20 2011 run-parts
lrwxrwxrwx 1 0 0 4 Jul 20 21:19 sh -> dash
-rwxr-xr-x 1 0 0 26984 Feb 23 14:24 sleep
-rwxr-xr-x 1 0 0 63992 Feb 23 14:24 stty
-rwxr-xr-x 1 0 0 22872 Feb 23 14:24 sync
-rwxr-xr-x 1 0 0 10312 Jan 20 2011 tempfile
-rwxr-xr-x 1 0 0 47640 Feb 23 14:24 touch
-rwxr-xr-x 1 0 0 22856 Feb 23 14:24 true
-rwxr-xr-x 1 0 0 27016 Feb 23 14:24 uname
-rwxr-xr-x 1 0 0 105776 Feb 23 14:24 vdir
-rwxr-xr-x 1 0 0 946 Jan 20 2011 which
(The above output was from Ubuntu 11.04)
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages.
http://libguestfs.org