dpkg: ошибка, обрабатывающая/var/cache/apt/archives/python2.6-minimal_2.6.6-5ubuntu1_i386.deb (-распаковывают),

У меня была проблема (Вопрос 199582), который был разрешен. К сожалению, я застреваю в этой точке теперь.

Выполнение

root@X100e:/var/cache/apt/archives# apt-get dist-upgrade 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
  file libexpat1 libmagic1 libreadline6 libsqlite3-0 mime-support python python-minimal python2.6 python2.6-minimal readline-common
0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/5,204kB of archives.
After this operation, 19.7MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
(Reading database ... 6108 files and directories currently installed.)
Unpacking python2.6-minimal (from .../python2.6-minimal_2.6.6-5ubuntu1_i386.deb) ...
new installation of python2.6-minimal; /usr/lib/python2.6/site-packages is a directory
which is expected a symlink to /usr/local/lib/python2.6/dist-packages.
please find the package shipping files in /usr/lib/python2.6/site-packages and
file a bug report to ship these in /usr/lib/python2.6/dist-packages instead
aborting installation of python2.6-minimal
dpkg: error processing /var/cache/apt/archives/python2.6-minimal_2.6.6-5ubuntu1_i386.deb (--unpack):
 subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/python2.6-minimal_2.6.6-5ubuntu1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

результаты по вышеупомянутой ошибке.

Выполнение

root@X100e:/var/cache/apt/archives# dpkg -i python2.6-minimal_2.6.6-5ubuntu1_i386.deb 
(Reading database ... 6108 files and directories currently installed.)
Unpacking python2.6-minimal (from python2.6-minimal_2.6.6-5ubuntu1_i386.deb) ...
new installation of python2.6-minimal; /usr/lib/python2.6/site-packages is a directory
which is expected a symlink to /usr/local/lib/python2.6/dist-packages.
please find the package shipping files in /usr/lib/python2.6/site-packages and
file a bug report to ship these in /usr/lib/python2.6/dist-packages instead
aborting installation of python2.6-minimal
dpkg: error processing python2.6-minimal_2.6.6-5ubuntu1_i386.deb (--install):
 subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
 python2.6-minimal_2.6.6-5ubuntu1_i386.deb

результаты по вышеупомянутой ошибке.

Выполнение

root@X100e:/var/cache/apt/archives# dpkg -i --force-depends python2.6-minimal_2.6.6-5ubuntu1_i386.deb 
(Reading database ... 6108 files and directories currently installed.)
Unpacking python2.6-minimal (from python2.6-minimal_2.6.6-5ubuntu1_i386.deb) ...
new installation of python2.6-minimal; /usr/lib/python2.6/site-packages is a directory
which is expected a symlink to /usr/local/lib/python2.6/dist-packages.
please find the package shipping files in /usr/lib/python2.6/site-packages and
file a bug report to ship these in /usr/lib/python2.6/dist-packages instead
aborting installation of python2.6-minimal
dpkg: error processing python2.6-minimal_2.6.6-5ubuntu1_i386.deb (--install):
 subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
 python2.6-minimal_2.6.6-5ubuntu1_i386.deb

не может зафиксировать это.

Какие-либо подсказки, как зафиксировать это?

2
задан 20.03.2017, 12:17

1 ответ

Сообщение об ошибке жалуется это /usr/lib/python2.6/site-packages каталог, но должна быть символьная ссылка. Наиболее вероятное объяснение состоит в том, что у Вас есть некоторые пакеты, установленные, которые не приспосабливают к текущему Python упаковочной политике (где дополнительные пакеты входят /usr/lib/python2.6/dist-packages), но вместо этого вставленный в файлы /usr/lib/python2.6/site-packages.

Выполненный dpkg -S /usr/lib/python2.6/site-packages видеть, какие пакеты Вы имеете, которые не соответствуют текущей политике. Сообщение об ошибке подстрекает Вас сообщать об ошибке против этих пакетов.

Легкое решение состоит в том, чтобы удалить незаконные пакеты.

Другая возможность состоит в том, что Вы установили вещи в /usr/lib/python2.6/dist-packages не проходя deb диспетчер пакетов. В этом случае переместите эти вещи в /usr/local/lib/python2.6/dist-packages. Вообще говоря, Вы не должны устанавливать или изменять что-либо в /usr кроме путем прохождения через dpkg или высокоуровневые программы, которые называют его (apt-get, aptitude, Синаптический...). Исключение /usr/local, где можно сделать что-либо, что Вы любите. Если dpkg -S /usr/lib/python2.6/site-packages говорит Вам, что никакой пакет не установил файла в соответствии с тем каталогом, можно просто переместить каталог туда, где это должно быть:

mv /usr/lib/python2.6/site-packages /usr/local/lib/python2.6/dist-packages

или если целевой каталог уже существует:

mv -i /usr/lib/python2.6/site-packages/* /usr/local/lib/python2.6/dist-packages/
rmdir /usr/lib/python2.6/site-packages

Если у Вас есть старые комплексы взаимных обязательств, что Вы хотите сохранить установленными, я думаю, что можно использовать следующее обходное решение:

mkdir -p /usr/local/lib/python2.6/dist-packages
mv -i /usr/lib/python2.6/site-packages/* /usr/local/lib/python2.6/dist-packages
rmdir /usr/lib/python2.6/site-packages
ln -s /usr/local/lib/python2.6/dist-packages /usr/lib/python2.6/site-packages

Если mv команды жалуются, что некоторые цели уже существуют, это должно быть разрешено в зависимости от конкретного случая.

Если Вы действительно используете обходное решение, подготовлены к значительному беспорядку, если Вы устанавливаете non-deb пакеты Python в /usr/local, как /usr/local/lib/python2.6/dist-packages будет содержать некоторые файлы, управляемые dpkg. Также я не абсолютно уверен, что это не доставит неприятностей управления пакетом по линии, таких как ошибки, если Вы позже обновите или удалите незаконные пакеты. Делайте попытку обходного решения, только если Вы готовы должными быть сделать больше поиска и устранения неисправностей позже. Снова, безопасная опция состоит в том, чтобы удалить незаконные пакеты прежде, чем обновить Ваш python пакет.

9
ответ дан 08.12.2019, 04:51

Теги

Похожие вопросы