Следуя шагам 2-5 в Процедура устранения неполадок Диспетчера пакетов обычно решает эту проблему.
Для шаг 2, отключить все ваши PPA. Вы можете снять все из них в источниках программного обеспечения так же, как если бы вы сняли флажок только с одного; см. Как отключить конкретный PPA?. Вы можете повторно включить их позже.
Для шаг 3, закройте все открытые программы, которые вы можете. Вероятно, будет безопасно держать ваш веб-браузер открытым, чтобы ваши инструкции были перед вами. Но особенно важно убедиться, что все менеджеры пакетов не убегает. К ним относятся Центр программного обеспечения, Программа обновления программного обеспечения (Менеджер обновлений в более старых версиях Ubuntu), Synaptic и Gdebi. Он также включает в себя утилиты управления пакетами командной строки, такие как apt-get
, dpkg
, и aptitude
.
Обратите внимание, что если другие пользователи если они вошли в систему одновременно, они должны выйти из системы, если это возможно.
Для шаг 4, откройте окно терминала. Один из способов сделать это, который работает независимо от того, какую среду рабочего стола вы используете, - нажать Ctrl+Alt+T.
Для шаг 5, выполните эти команды в окне терминала:
ubuntu-support-statussudo grep -R proxy /etc/apt/*grep proxy /etc/environmentecho $http_proxyecho $ftp_proxygrep proxy /etc/bash.bashrcgrep proxy ~/.bashrccat /etc/apt/apt.confsudo fuser -vvv /var/lib/dpkg/locksudo fuser -vvv /var/cache/apt/archives/lockcat /etc/lsb-releaseuname -asudo rm /var/lib/apt/lists/lock sudo rm /var/cache/apt/archives/locksudo rm /var/lib/dpkg/locksudo cp -arf /var/lib/dpkg /var/lib/dpkg.backupsudo mv /var/lib/dpkg/status /var/lib/dpkg/status-badsudo cp /var/lib/dpkg/status-old /var/lib/dpkg/status || sudo cp /var/backups/apt.extended_states.0 /var/lib/dpkg/statussudo mv /var/lib/dpkg/available /var/lib/dpkg/available-badsudo cp /var/lib/dpkg/available-old /var/lib/dpkg/availablesudo rm -rf /var/lib/dpkg/updates/*sudo rm -rf /var/lib/apt/listssudo rm /var/cache/apt/*.binsudo mkdir /var/lib/apt/listssudo mkdir /var/lib/apt/lists/partialLANG=C;sudo apt-get cleanLANG=C;sudo apt-get autocleanLANG=C;sudo apt-get --purge autoremoveLANG=C;sudo apt-get --fix-missing update -o APT::Cache-Limit=100000000sudo dpkg --configure -asudo dpkg --clear-availLANG=C;sudo apt-get -f installLANG=C;sudo apt-get --fix-missing installLANG=C;sudo apt-get update -o APT::Cache-Limit=100000000 && sudo apt-get dist-upgradefind /etc/apt -name '*.list' -exec bash -c 'echo -e "\n$1\n"; cat -n "$1"' _ '{}' \;
Я скопировал это дословно из packagemanagementtroubleshootingprocedure 2 марта 2014 года. Эти команды развивались в прошлом, и рекомендуемые команды в этой статье может быть изменено или расширено снова в будущем. Таким образом, вы можете захотеть работать с шаг 5 там. (Эта статья, создано/отредактировано от "Участников вики-документации Ubuntu" - особенно Марк Райкенберг-- это лицензированный CC-BY-SA 3.0, что позволяет включить его сюда с надлежащей атрибуцией.)
Некоторые из этих команд пытаются устранить проблему (а также могут отображать диагностическую информацию); другие отображают ценную информацию о проблеме, которую вы можете включить в свой вопрос или иным образом предоставить кому-то, кто вам помогает. (Или, в зависимости от ваших навыков, может позволить ты чтобы диагностировать и решить эту проблему.)
Часто это исправляет проблему, но когда это не так, это часто дает достаточно информации, чтобы исправить ее.
Вам не нужно вводить эти команды вручную; вы можете скопировать и вставить их. Однако я рекомендую вставлять и запускать каждый из них отдельно. Это делает более понятным, какой вывод получается из каких команд.