Удалил бинарный файл python и не смог восстановить с помощью apt-get, что я могу сделать?

Есть несколько мест, где вы можете это сделать:

/etc/init.d (а затем сделать ссылку на /etc/rc[runlevel].d - обычно 2) работает очень хорошо - поэтому вы можете указать запуск и выключение бит там.

Это своего рода старый способ (хотя и очень простой). Вы также можете сделать что-то с выскочкой. Посмотрите на эту страницу (смотрите раздел «Написание заданий»).

Большая добыча - путь обычно не совсем то, что вы ожидаете. Поэтому я предлагаю запустить что-то по принципу «echo $ PATH> / init_path» из любого сценария, чтобы увидеть, есть ли у вас проблема (check / init_path и посмотреть, что там там ... совершенно безопасно, чтобы удалить этот файл). Хотя легко указать пути в вашем скрипте, стоит установить переменную PATH соответственно, так как все, что запускается из любого скрипта, может также понадобиться в PATH.

1
задан 26 December 2014 в 23:02

5 ответов

Есть ли способ переустановить python на ubuntu, не делая чистой очистки?

Да. Переустановите без форматирования.

Он также будет самым быстрым способом, фиксирующим это, поскольку у вас, вероятно, уже есть Live DVD.

4
ответ дан 24 May 2018 в 00:41

Откройте терминал и введите следующие команды:

Сначала попробуйте

sudo apt-get -f install 

Если это не сработает, попробуйте

sudo dpkg --configure -a 

Если у вас все еще остались проблемы, запустите

sudo apt-get install --reinstall python python-chardet python-colorama python-distlib python-django python-django-tables2 python-six python-html5lib python-lxml python-minimal python-pkg-resources python-setuptools python-urllib3 python-requests python-pip python-virtualenv

. В крайнем случае вам может потребоваться удалить эти пакеты с помощью следующей команды, а затем переустановить эти пакеты. Если это так, вам понадобится уделять очень пристальное внимание. Будет список пакетов, удаленных с помощью следующей команды. Вам нужно будет скопировать этот список и вставить его в gedit. С открытием gedit и списком пакетов, вставленных в gedit, нажмите ctrl + h и введите \ n, а затем два пробела в «Поиск» и одно место в «Заменить», чтобы удалить все абзацы и дополнительные пробелы, прежде чем нажимать на замену всех так, что ваш список содержит список пакетов, разделенных только пробелами.

sudo apt-get purge python-chardet python-colorama python-distlib python-django python-django-tables2 python-six python-html5lib python-lxml python-minimal python-pkg-resources python-setuptools python-urllib3 python-requests python-pip python-virtualenv

Наконец, запустите: sudo apt-get install и вставьте в список пакетов из gedit, чтобы переустановить все.

2
ответ дан 24 May 2018 в 00:41
  • 1
    Я почти уверен, что все пакеты python- * включены в мета-пакет python. OP не нужно будет устанавливать и поддерживать список пакетов (un) / install. apt-get install --reinstall python должен покрыть его. – amanthethy 26 December 2014 в 09:14
  • 2
    @amanthethy " list " Я упоминаю сотни других пакетов, которые также могут быть удалены, например, единство, все области, менеджер учетных записей и т. Д. Кроме того, я могу назвать несколько таких, которые не включены, например, python pip. – mchid 26 December 2014 в 09:16
  • 3
    Нет, это никому не повредит - кроме нечетного туннеля из капусты, но это не нужно. Кроме того, python-pip является менеджером пакетов для программ python. Его приложение построено с использованием python, а не с самой особенностью самого языка. – amanthethy 26 December 2014 в 09:20
  • 4
    sudo apt-get install --reinstall ubuntu-desktop будет охватывать все те дополнительные сведения, которые вы упомянули. [единство, область действия, питон, менеджер учетных записей и т. д.] – amanthethy 26 December 2014 в 09:22
  • 5
    Не беспокойтесь, чувак. Сдвиги не имеют для меня большого значения, если мы можем помочь OP :) – amanthethy 26 December 2014 в 09:43

Вы должны удалить каждый пакет, который создает трудности, а затем переустановить их.

См. https://askubuntu.com/a/32899/176376 для удаления без удаления зависимостей.

sudo dpkg -r --force-depends "package"

sudo apt-get install "package"

Сначала вы должны удалить все проблемы, а затем снова установить их.

Запустите sudo apt-get install -f и sudo dpkg --configure -a каждые несколько команд.

1
ответ дан 24 May 2018 в 00:41

Я вижу, что у вас есть такие ошибки:

python2.7: not found

Это означает, что исполняемый файл python 2.7 не найден. Я использовал эту команду, чтобы найти пакет, содержащий его (это, вероятно, не работает на вашей сломанной системе, однако)

$ which python2.7
/usr/bin/python2.7
$ dpkg -S /usr/bin/python2.7
python2.7-minimal: /usr/bin/python2.7

Вам нужно переустановить его, но сначала вам нужно пройти через его зависимости. Используйте эти команды для их перечисления:

$ apt-cache depends python2.7-minimal
python2.7-minimal
  Depends: libpython2.7-minimal
  Depends: zlib1g
  PreDepends: libc6
  Suggests: binfmt-support
    binfmt-support:i386
  Recommends: python2.7
  Conflicts: binfmt-support
  Conflicts: binfmt-support:i386
  Replaces: python2.7
  Replaces: python2.7:i386
  Conflicts: python2.7-minimal:i386

Вероятно, поврежден libpython2.7-minimal. Поэтому я рекомендую вам сначала выпустить:

sudo apt-get install --reinstall libpython2.7-minimal

, затем:

sudo apt-get install --reinstall python2.7-minimal

, а затем, надеюсь, ваш

sudo apt-get -f install

будет успешным. [!d6 ]

0
ответ дан 24 May 2018 в 00:41

Это ожидаемое поведение. Удаление файлов - это не то же самое, что удаление пакета или программы.

Вы удалили все связанные с python вещи из своей установки, но ваш менеджер пакетов этого не знает. Когда вы снова заходите на установку Python, apt ожидает, что все эти файлы все еще будут там и не будут пытаться перезагрузить их. Что касается apt, все python все еще установлены; Вы никогда не говорили об этом иначе.

Вы можете попробовать следующее, чтобы попытаться исправить это: sudo apt-get install --reinstall python

В будущем удалите пакеты с помощью apt-get remove или apt-get purge или графически из программного обеспечения Ubuntu Software Center.

-1
ответ дан 24 May 2018 в 00:41
  • 1
    Очистка python отключает множество зависимостей, при которых переустановка не будет переустанавливать все эти параметры. – oldfred 26 December 2014 в 20:36
  • 2
    Вы правы только во втором абзаце. Ваш метод «исправления» проблемы может просто удалить большую часть пакетов системы OP. – Braiam 26 December 2014 в 23:06
  • 3
    @Брайам. Ты прав. Я считал само собой разумеющимся, что apt-get remove package может удалить пакеты, которые apt-get install пакет не обязательно будет восстановлен. Я отредактировал, но не стесняюсь исправить это, если я все еще остаюсь. – amanthethy 27 December 2014 в 11:31

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

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