dpkg: обработка ошибок /var/cache/apt/archives/python2.6-minimal_2.6.6-5ubuntu1_i386.deb (--unpack)

У меня была проблема ( вопрос 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

не может это исправить.

Любые подсказки, как это исправить?

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 Команда жалуется, что некоторые цели уже существуют, это необходимо решать в каждом конкретном случае.

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

Другие вопросы по тегам