это один веселый скольжение пальцев; я всегда хотел бы использовать sudo echo /path/to/files/*glob*
посмотреть, какие файлы конкретно я собираюсь удалить, прежде чем изменить echo
to rm
. Теперь вы тоже усвоили урок! Забава.
проповедь в стороне, это не должно быть слишком трудно исправить, но это займет несколько "проходов". deb
пакеты ar(1)
пакеты, и может быть легко манипулировать с ar(1)
:
$ ar xv /var/cache/apt/archives/python-papyon_0.5.5-1ubuntu1.3_all.deb
x - debian-binary
x - control.tar.gz
x - data.tar.gz
попробуйте это:
mkdir /tmp/fixing_python
cd /tmp/fixing_python
ar xv /var/cache/apt/archives/<package_for_overwriting>
cd /
tar zxvf /tmp/fixing_python/data.tar.gz
итерации что для каждого пакета нужно "исправить". debsums(1)
s -c
параметр командной строки может быть полезным, если у вас есть debsums(1)
установлен.
отметим, что tar
команда есть немного "разрушительная" -- она перезапишет все, что ей нужно. Если вы хотите посмотреть, что все распакует, пропустите cd /
шаг вперед, и tar(1)
распакует в каталог, давая вам возможность увидеть, что сделано.
после того, как вы все распаковали, что тебе нужно, я постараюсь достать dpkg(1)
"счастлив" за счет собственных механизмов. (The control.tar.gz
содержит сценарии, которые выполняются при обновлении, установке, удалении и т. д. Я просто заставил вас пропустить все из них, думая, что как только вы переустановите Python, вы можете использовать dkpg(1)
себя, чтобы исправить проблемы.)
у нас, конечно, установлены разные пакеты, но это может быть полезно для вас, чтобы узнать, какие пакеты нужны исправление:
$ dpkg -S /usr/bin/python*
python-minimal: /usr/bin/python
python2.6-minimal: /usr/bin/python2.6
python2.7-minimal: /usr/bin/python2.7
python3-minimal: /usr/bin/python3
python3.2-minimal: /usr/bin/python3.2
python3.2-minimal: /usr/bin/python3.2mu
$
и обратите внимание, что вы можете извлекать пакеты непосредственно из архивов без использования apt-get(8)
. Они просто сайты HTTP и http://packages.debian.org или http://packages.ubuntu.com сделать это легко, чтобы захватить пакеты, которые вам нужны с wget(1)
или curl(1)
.
обновление
Ах, да, обратите внимание, что /usr/lib/python*
где библиотеки Python и модули сохраняются. /usr/bin/python*
где Интерпретатор Python сохраняется. Ваша попытка исправить ситуацию с cp /usr/lib/python2.7 /usr/bin/python2.7
не помогло. Также /usr/lib/python2.7
это каталог, а /usr/bin/python
должен быть (и был) один исполняемый файл. Не стесняйтесь rm -r /usr/bin/python2.7 /usr/bin/python
.