[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problem on dpkg --unpack.



>In <3bd412d41001031756t5871de86sd7963e6a0262f7ec@mail.gmail.com>, Magicloud 
>Magiclouds wrote:
>>tar: ./postrm: Cannot utime: Bad file descriptor
>>tar: ./postinst: Cannot utime: Bad file descriptor
>>tar: ./md5sums: Cannot utime: Bad file descriptor
>>tar: ./shlibs: Cannot utime: Bad file descriptor
>>tar: ./control: Cannot utime: Bad file descriptor
>>tar: ./symbols: Cannot utime: Bad file descriptor
>>tar: .: Cannot utime: Bad file descriptor
>>tar: Exiting with failure status due to previous errors
>>dpkg-deb: subprocess tar returned error exit status 2
>>dpkg: error processing
>>/var/cache/apt/archives/libffi5_3.0.9-1_i386.deb (--unpack):
>> subprocess dpkg-deb --control returned error exit status 2
>>
>>I cannot quite understand this. What happened?
>>I have test the .deb file with 7-zip, the file is not interrupted.

>Some filesystem full or near full?  Using a filesystem that doesn't support 
>all the POSIX timestamps?

Hello,

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
anything).

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.

My filesystem is ext3, my partition is not full. It worked well with
libc6-2.10.2-2. I have quite an old kernel (2.6.21.1 modified by my hosting
provider).

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.

Thanks,
-- 
Guillaume Ayoub


Reply to: