У меня проблема, из-за которой apt-get завершается с сообщением об ошибке «Cannot utime»:
tar: ./postinst: Cannot utime: Bad file descriptor
tar: ./preinst: Cannot utime: Bad file descriptor
tar: ./prerm: Cannot utime: Bad file descriptor
tar: ./md5sums: Cannot utime: Bad file descriptor
tar: ./control: 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/apache2-mpm-prefork_2.2.14-5ubuntu8.4_i386.deb (--unpack):
subprocess dpkg-deb --control returned error exit status 2
Errors were encountered while processing:
/var/cache/apt/archives/apache2-mpm-prefork_2.2.14-5ubuntu8.4_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Похоже, это связано с tar как если я следую инструкциям в посте на ubuntuforums.org и создаю пользовательский tar /usr/local/sbin/tar
, ошибка прекращается.
#!/bin/sh
exec /bin/tar --touch -"$@"
Однако это решение заставило меня задать вопрос о добавлении дополнительной тире при попытке запустить tar . Я бы предпочел, чтобы просто работала обычная tar.
Настоящая проблема - ошибка LP # 539814 . Решение состоит в том, чтобы обновить ядро или использовать исправленную tar-программу.
В противном случае используйте следующий обходной путь: замените содержимое файла /usr/local/sbin/tar
на
#!/bin/sh
TAR_OPTIONS="--touch $TAR_OPTIONS" /bin/tar "$@"