Заменить / переустановить / usr / bin / apt-get?


1

Выполнение любой команды sudo apt-get выдает ошибку:

/usr/bin/apt-get: 1: /usr/bin/apt-get: Syntax error: end of file unexpected

(см. связанный вопрос )

Есть ли способ переустановить apt-getпрограмму или заменить файл /usr/bin/apt-get?



По общему признанию, это дубликат, но, учитывая, что он не получил рабочего решения, я склонен оставить этот вопрос открытым.
Мокубай

Ответы:


1

Отказ от ответственности : Показанный вывод взят из системы Debian, так как у меня нет доступа к машине с Ubuntu. Ubuntu должно быть достаточно похожим.

apt-getявляется расширенным интерфейсом для dpkg (согласно его описанию), так что вы все равно сможете это сделать dpkg. Сначала определите вашу aptверсию:

$ dpkg -l | grep apt | head -n 1
ii  apt                                         0.8.10.3                       Advanced front-end for dpkg

Возьмите соответствующий debпакет от [http://ie.archive.ubuntu.com/ubuntu/pool/main/a/apt/][1] (я взял ссылку из связанного вопроса - я абсолютно не уверен, является ли это правильным репозиторием для вашей версии Ubuntu!).

Тогда вы можете попытаться удалить aptиз вашей системы

$ dpkg -r apt

и переустановить его:

$ dpkg -i apt_[...].deb

dpkg -rне трогает conffiles , поэтому, если это не сработает, вы можете попробовать использовать dpkg -P apt, который выполняет очистку и удаляет также conffiles (из man dpkg: Conffiles - это файлы конфигурации, которые перечислены в DEBIAN/conffilesконтрольном файле )


Благодарю. Я получаю dpkg: зависимости проблемы препятствуют удалению apt: ubuntu-minimal зависит от apt. автоматические обновления зависят от apt. Ubuntu-Extras-Keyring зависит от apt.
user224461 15.09.13

@ user224461: Вы можете принудительно удалить с помощью dpkg --force-all -r apt. Но, пожалуйста, перепроверьте, что у вас есть правильный пакет deb apt!
mpy

Хорошо спасибо. Как мне узнать, какой пакет apt мне нужен? (32-разрядная версия Ubuntu 13.04) У меня есть apt 0.9.7.7 apt_0.9.7.7ubuntu5_i386.deb? apt_0.9.7.7ubuntu4_i386.deb? или apt_0.9.7.5ubuntu5_i386.deb? apt_0.9.7.5ubuntu5.5_i386.deb ..
user224461

Поскольку у вас есть apt 0.9.7.7, это один из пакетов apt_0.9.7.7. Но я не знаю, в чем разница между суффиксами ubuntu4 и ubuntu5, так как сам я не пользуюсь Ubuntu, извините.
mpy

Большое спасибо, он работал с помощью "sudo dpkg --force-all -r apt", затем я попробовал "dpkg -i apt _ [...]. Deb" с версией файла .deb для ubuntu5, но снова удалил ошибку и реран с Ubuntu4
user224461
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.