Re: Problem on dpkg --unpack.
On 2010-01-04 17:48 +0100, Guillaume Ayoub wrote:
> I have the same problem. It appeared just after upgrading libc6 from 2.10.2-2
> to 2.10.2-3. Looking at the eglibc Changelog may help (but I didn't find
Please file a bug against libc6.
> I tried to find the reason, and it seems to come from touch. Touch now works
> for me only for files, but not for folders:
> $ ls -l
> total 4
> drwxr-xr-x 2 user users 4096 jan. 4 17:22 test_directory
> -rw-r--r-- 1 user users 0 jan. 4 17:22 test_file
> $touch test_file
> $touch test_directory
> touch: setting times of `test_directory': Bad file descriptor
> tar uses touch and fails, dpkg uses tar and apt-get uses dpkg, so apt-get
> fails :). Other programs using touch on folders (such as postfix) fail to
> start too.
> A small quick and dirty hack is to use the --touch option for tar. You can do
> this with "$export TAR_OPTIONS='--touch'". After this, tar seems to work,
> postfix starts again. Unfortunately, dpkg does not use $TAR_OPTIONS (as said
> in bug #530860) and I didn't find a solution to pass an option to tar in dpkg.
It might help to write a small wrapper for tar, like this (assuming you
have /root/bin in $PATH before /bin):
exec /bin/tar --touch "$@"
> My filesystem is ext3, my partition is not full. It worked well with
> libc6-2.10.2-2. I have quite an old kernel (22.214.171.124 modified by my hosting
Such old kernels are probably not well tested by the eglibc developers.
> Without tar/dpkg/apt-get, it seems quite difficult to downgrade libc6 to
> 2.10.2-2. If someone had an idea, that would be *great* news.
If the trick suggested above does not work, you could use ar and tar
directly to extract /lib/libc-2.10.2.so from the libc6 2.10.2-2 .deb.