1

Хорошо, пример. Допустим, кто-то сделал несколько глупостей, попытался следовать http://www.ewan.cc/?q=node/90, но оказался неспособным следовать простому руководству.

По пути происходят некоторые ошибки, и этот кто-то пытается восстановить, вызывая apt-get upgrade. Так происходит следующее:

root@srv028:~# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 initscripts : Depends: sysv-rc or
                        file-rc but it is not installed
 systemd : Depends: sysv-rc
           Recommends: libpam-systemd but it is not installed
E: Unmet dependencies. Try using -f.
root@srv028:~# apt-get upgrade -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
Calculating upgrade... Done
The following NEW packages will be installed:
  sysv-rc
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/82.8 kB of archives.
After this operation, 128 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Preconfiguring packages ...
/usr/bin/dpkg-split: 1: /usr/bin/dpkg-split: Syntax error: "(" unexpected
E: Sub-process /usr/bin/dpkg exited unexpectedly
root@srv028:~#

Как этот кто-то может исправить это?

(PS, этот кто-то явно не я)

2 ответа2

0
  1. Удалить дпкг

    rm /usr/bin/dpkg*
    
  2. Перекомпилировать dpkg

    wget tarball,extract && ./configure; make and install
    
  3. Заменить dpkg- *

    cp /usr/src/DPKG/bin/dpkg-* /usr/bin
    
  4. Переустановите apt из .deb-packege

    dpkg -i apt*.deb && apt-get update; apt-get -f install
    
0

Ошибка находится на этапе реконфигурации пакета, и вы используете не загруженный пакет, а кэшированную версию:

The following NEW packages will be installed:
  sysv-rc
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/82.8 kB of archives.
After this operation, 128 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Preconfiguring packages ...

Обратите внимание, что система должна была получить «0 байтов из 82,8 кБайт».

Я подозреваю, что эти 82,8 килобайта повреждены, и дпкг-сплит-дроссели пытаются сделать голову или хвост (одного из) из них.

Итак, попробуйте удалить кэшированные пакеты:

apt-get clean; apt-get autoclean

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .