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
пакет.