«Tar: нераспознанная опция --warning» во время «apt-get install»

10

Я только что запустил apt-get upgradeсвой Debian 5 VPS, и я получил эту ошибку:

tar: нераспознанная опция `--warning = no-timestamp '

Теперь, когда я пытаюсь установить другие пакеты, например: imagemagick, я получаю ту же ошибку:

li197-162:~# apt-get install imagemagick
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  pkg-config comerr-dev libssh2-1-dev libpcre3-dev libdb4.6-dev libsqlite3-dev libmysqlclient15-dev libldap2-dev libpcrecpp0 libexpat1-dev libpq5 libidn11-dev
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  fontconfig-config imagemagick-common libfontconfig1 libfreetype6 libglib2.0-0 libice6 libjasper1 libjpeg8 liblcms1 liblqr-1-0 libltdl7 libmagickcore4 libmagickwand4 libpng12-0 libsm6 libtiff4
  libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxext6 libxml2 libxml2-dev libxt6 ttf-dejavu-core x11-common
Suggested packages:
  imagemagick-doc autotrace cups-bsd lpr lprng enscript ffmpeg gimp gnuplot grads hp2xx html2ps libwmf-bin mplayer povray radiance sane-utils texlive-base-bin transfig xdg-utils libjasper-runtime
  liblcms-utils
Recommended packages:
  libmagickcore4-extra ghostscript netpbm ufraw-batch libglib2.0-data shared-mime-info gsfonts xml-core
The following NEW packages will be installed:
  fontconfig-config imagemagick imagemagick-common libfontconfig1 libfreetype6 libice6 libjasper1 libjpeg8 liblcms1 liblqr-1-0 libltdl7 libmagickcore4 libmagickwand4 libpng12-0 libsm6 libtiff4
  libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxext6 libxt6 ttf-dejavu-core x11-common
The following packages will be upgraded:
  libglib2.0-0 libxml2 libxml2-dev
3 upgraded, 25 newly installed, 0 to remove and 190 not upgraded.
Need to get 0B/11.2MB of archives.
After this operation, 22.4MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Preconfiguring packages ...
x11-common template parse error: Template parse error near `Choices-sr@latin.UTF-8: Samo glavni korisnik, Samo za korisnike konzole, Svako', in stanza #1 of /tmp/x11-common.template.65052

tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libfreetype6_2.4.6-2_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/ttf-dejavu-core_2.33-2_all.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/fontconfig-config_2.8.0-3_all.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libfontconfig1_2.8.0-3_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/x11-common_1%3a7.6+9_all.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libice6_2%3a1.0.7-2_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libpng12-0_1.2.46-3_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libsm6_2%3a1.2.0-2_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libjpeg8_8c-2_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libtiff4_3.9.5-2_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libxau6_1%3a1.0.6-3_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libxdmcp6_1%3a1.1.0-3_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libxcb1_1.7-3_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libx11-data_2%3a1.4.4-2_all.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libx11-6_2%3a1.4.4-2_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libxext6_2%3a1.3.0-3_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libxt6_1%3a1.1.1-2_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libxml2-dev_2.7.8.dfsg-4_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libxml2_2.7.8.dfsg-4_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libglib2.0-0_2.28.6-1_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/liblcms1_1.19.dfsg-1_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/liblqr-1-0_0.4.1-1.1_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libltdl7_2.4-4_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libjasper1_1.900.1-10_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/imagemagick-common_8%3a6.6.9.7-5_all.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libmagickcore4_8%3a6.6.9.7-5+b1_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/libmagickwand4_8%3a6.6.9.7-5+b1_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
tar: unrecognized option `--warning=no-timestamp'
Try `tar --help' or `tar --usage' for more information.
dpkg-deb: error: subprocess tar returned error exit status 64
dpkg: error processing /var/cache/apt/archives/imagemagick_8%3a6.6.9.7-5+b1_i386.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
Errors were encountered while processing:
 /var/cache/apt/archives/libfreetype6_2.4.6-2_i386.deb
 /var/cache/apt/archives/ttf-dejavu-core_2.33-2_all.deb
 /var/cache/apt/archives/fontconfig-config_2.8.0-3_all.deb
 /var/cache/apt/archives/libfontconfig1_2.8.0-3_i386.deb
 /var/cache/apt/archives/x11-common_1%3a7.6+9_all.deb
 /var/cache/apt/archives/libice6_2%3a1.0.7-2_i386.deb
 /var/cache/apt/archives/libpng12-0_1.2.46-3_i386.deb
 /var/cache/apt/archives/libsm6_2%3a1.2.0-2_i386.deb
 /var/cache/apt/archives/libjpeg8_8c-2_i386.deb
 /var/cache/apt/archives/libtiff4_3.9.5-2_i386.deb
 /var/cache/apt/archives/libxau6_1%3a1.0.6-3_i386.deb
 /var/cache/apt/archives/libxdmcp6_1%3a1.1.0-3_i386.deb
 /var/cache/apt/archives/libxcb1_1.7-3_i386.deb
 /var/cache/apt/archives/libx11-data_2%3a1.4.4-2_all.deb
 /var/cache/apt/archives/libx11-6_2%3a1.4.4-2_i386.deb
 /var/cache/apt/archives/libxext6_2%3a1.3.0-3_i386.deb
 /var/cache/apt/archives/libxt6_1%3a1.1.1-2_i386.deb
 /var/cache/apt/archives/libxml2-dev_2.7.8.dfsg-4_i386.deb
 /var/cache/apt/archives/libxml2_2.7.8.dfsg-4_i386.deb
 /var/cache/apt/archives/libglib2.0-0_2.28.6-1_i386.deb
 /var/cache/apt/archives/liblcms1_1.19.dfsg-1_i386.deb
 /var/cache/apt/archives/liblqr-1-0_0.4.1-1.1_i386.deb
 /var/cache/apt/archives/libltdl7_2.4-4_i386.deb
 /var/cache/apt/archives/libjasper1_1.900.1-10_i386.deb
 /var/cache/apt/archives/imagemagick-common_8%3a6.6.9.7-5_all.deb
 /var/cache/apt/archives/libmagickcore4_8%3a6.6.9.7-5+b1_i386.deb
 /var/cache/apt/archives/libmagickwand4_8%3a6.6.9.7-5+b1_i386.deb
 /var/cache/apt/archives/imagemagick_8%3a6.6.9.7-5+b1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
li197-162:~# 

Я действительно понятия не имею, что не так и как это исправить. Можно ли отменить apt-get upgrade?

DanielZ
источник
1
какая версия содержит список «apt-cache policy x11-common» для «Кандидата». Я спрашиваю, потому что подозреваю, что вы, возможно, обновляете сервер Debian 5 (в настоящее время «старый стабильный»), используя источники, указывающие на Debian 6 (в настоящее время «стабильный»).
тушить

Ответы:

14

У меня только что была именно эта проблема. Как предложил Жиль, обновление tar- это ответ, но (неожиданный сюрприз) tarне может быть обновлено обычным способом, потому что dpkgтребуется версия 1.23 или более поздняя, ​​прежде чем она распакует и установит последнюю версию tardeb. dpkgна самом деле нужна явная зависимость, чтобы гарантировать, что при установке более поздней версии dpkgпоследняя tarверсия включается первой, но я полагаю, что это риск объединения различных тестов и нестабильных выпусков неподдерживаемыми способами. Это все еще нежелательно, и это кажется неудачным способом нанести вред системе.

Моя первая идея состояла в том, чтобы искать последние двоичные файлы tar в проекте GNU , но, к сожалению, они имеют только исходные загрузки, которые бесполезны, если (как и я) у вас не установлены различные инструменты компиляции.

Если вы загрузите последний tarбинарный файл, .debсоответствующий вашей системе, с packages.debian.org и поместите его во временное место (просто чтобы привести в порядок), вы сможете получить доступ к нему с помощью arкоманды, например, ar x tar_1.26-2_amd64.debв моем случае.
Затем распакуйте полученный data.tar.gzфайл с помощью команды, например tar zxvf data.tar.gz, используя существующую более раннюю версию tar, которая должна работать до тех пор, пока вы не попытаетесь сделать глупость, например, использовать --warningпараметр, который будет недоступен до версии 1.23. :) Это позволит вам получить tarдвоичный файл, который (в файле data.tar.gz), вероятно, был в bin/tar.
Сделав это, я добавил путь для этого двоичного файла впередиPATHпеременная в моей оболочке, что в моей оболочке bash может быть сделано с помощью команды export PATH=/root/temp/bin:$PATH, но отрегулируйте путь, чтобы соответствовать тому, где сейчас находится новый tarдвоичный файл. После этого запуск обычного dpkg --install tar_1.26-2_amd64.debтворит чудеса, потому что dpkgбудет искать в пути и находить самый последний tarдвоичный файл, прежде чем он найдет более старую версию в обычном binпути.

izogi
источник
Работал на меня. Для тех, кто доходит до этой страницы, отлаживая установку Debian на NSLU2, вам нужен этот файл .deb: packages.debian.org/squeeze/armel/tar/download. Вы можете использовать другую машину (нормально, Mac), чтобы выполнить бит «ar» выше , Я использую curl для синхронизации с моим NSLU. Еще раз спасибо, изоги.
Мовис Ледфорд
3

У меня не было arв моей системе, поэтому я сделал этот ужасный Kludge:

mv /bin/tar /bin/tar.real
echo "tar.real xpf -" >/bin/tar
chmod +x /bin/tar
cd /
# put in the correct path
dpkg-deb -x /var/cache/apt/archives/tar_1.26-4_armel.deb .
# check things are working and then
#rm /bin/tar.real
darkskiez
источник
+1. Мне нужно было ответить на этот вопрос, когда обновление было сильно сломано, и у меня была только старая «tar» и вообще нет «ar». Спасибо!
bignose
2

Вам не нужно беспокоиться о загрузке пакета tar.

Скорее всего, к этому моменту можно добраться, потому что вы были в процессе обновления, и ваша система управления пакетами уже загрузила для вас последний пакет tar, поэтому она будет ждать вас в:

/var/cache/apt/archives/tar_(version-release_platform).deb

например:

# ls -t /var/cache/apt/archives/tar_*|head -1

/var/cache/apt/archives/tar_1.26-4_amd64.deb

Вот как я исправил свою систему:

Найдите последнюю версию в вашей системе:

root@host:~# ls -t /var/cache/apt/archives/tar_*|head -1
/var/cache/apt/archives/tar_1.26-4_amd64.deb

Создайте временную рабочую область и распакуйте архив .deb:

root@host:~# mkdir fix_tar
root@host:~# cd fix_tar
root@host:~/fix_tar# ar x /var/cache/apt/archives/tar_1.26-4_amd64.deb

Распакуйте файл data.tar.gz, чтобы найти новый двоичный файл tar:

root@host:~/fix_tar# ls -l
total 972
-rw-r--r-- 1 root root   2536 2012-02-03 12:20 control.tar.gz
-rw-r--r-- 1 root root 978996 2012-02-03 12:20 data.tar.gz
-rw-r--r-- 1 root root      4 2012-02-03 12:20 debian-binary
root@host:~/fix_tar# tar xzf data.tar.gz
root@host:~/fix_tar# find * -name tar
bin/tar
usr/share/doc/tar
usr/lib/mime/packages/tar

Проверьте существующую версию в вашей системе:

root@host:~/fix_tar# /bin/tar --version
tar (GNU tar) 1.20
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.

Сделайте резервную копию старой версии на случай, если что-то пойдет не так, и вам понадобится вернуть ее обратно:

root@host:~/fix_tar# mv /bin/tar /bin/tar_1.20

Поместите новую копию на место:

root@host:~/fix_tar# mv ./bin/tar /bin/tar

Проверьте новую версию:

root@host:~/fix_tar# /bin/tar --version
tar (GNU tar) 1.26
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.

Вы сделали! :-)

Затем я смог продолжить с другим:

root@host:~# aptitude update
root@host:~# aptitude safe-upgrade
JohnGH
источник
Фантастический ответ!
mikewaters
1

У вас есть последняя версия tar где-нибудь еще (другой компьютер)?
Если это так, просто сделайте scpэто /usr/local/bin, предполагая, что /usr/local/binпредшествует регулярному tarв вашем командном пути. Затем вы можете обновить:

apt-get install tar
святой
источник
1

Замена tar новой версией, которая была доступна из / var / cache ... полностью работала для меня. Я потратил много времени, пытаясь выяснить, как исправить мою установку Debian Squeeze, чтобы позволить мне устанавливать новые пакеты после того, как все испортилось, возиться со списком источников и тупо позволить webmin попытаться обновить (плохая ошибка). Большое спасибо за прямые ответы от вас, ребята.

Там Сондерс
источник