Как найти и удалить сломанные пакеты, которые я установил?


11

Я просматривал некоторые вопросы здесь, чтобы найти решение для поиска и удаления поврежденных пакетов. Будучи относительным новичком, я установил некоторые PPA, предназначенные для 11.10, на моей машине 12.04 LTS. В терминале он предложил мне попробовать apt-get -f install, что привело меня к этому вопросу . Большой урок для меня, если кто-то может помочь

Ответы:


6

Synaptic Package Manager (доступен в Центре программного обеспечения) - это графический инструмент для управления пакетами, который позволяет фильтровать пакеты по их состоянию. В несколько кликов, выбрав нужную категорию на левой панели, вам будет представлен список пакетов, требующих исправления.


28
  • Установите диспетчер пакетов Synaptic либо через Центр программного обеспечения, либо запустив эту команду в Терминале:

     sudo apt-get install synaptic 
    
  • Откройте его, набрав synapticв Unity тире, а затем нажмите Enter.

  • Затем выполните эту процедуру:

    1. Выберите категорию «Статус». Здесь показаны пакеты, упорядоченные по статусу.
    2. Выберите категорию «Сломанные зависимости» в верхней левой панели.
    3. Выберите сломанные пакеты. Если пакетов более одного, выберите их все, нажав Ctrl+ A.
    4. Затем щелкните правой кнопкой мыши на выбранном пакете и выберите в меню пункт «Отметить для полного удаления».

    Снимок экрана с пометкой "Отметить для полного удаления" для пакетов с нарушенными зависимостями

Вот и все. Разбитые пакеты исчезли.


У меня нет Broken dependenciesна моей странице статуса.
Марк Девен

3

Нет загрузки, не требуется графический интерфейс:

Вы можете перечислить сломанные пакеты:

dpkg -l | grep ^..r 

Состояние r (в третьем поле) означает: требуется повторно (пакет поврежден, требуется переустановка)

объяснение полей dpkg

Чтобы перечислить и удалить эти пакеты:

dpkg -l | grep ^..r | while read -r | tr -s ' ' | cut -d' ' -f2 | while read -r name; do sudo apt-get remove "$name"; done

(Ответ скопирован из этой темы .)


1

Для очистки пакетов, которые вы установили из ppa, вы должны использовать ppa-purge, предположим, что ppa - это ppa: xorg-edger / ppa

  1. sudo apt-get install ppa-purge
  2. sudo apt-get update
  3. sudo ppa-purge ppa:xorg-edger/ppa
  4. он предложит вам список пакетов для удаления и / или понижения, если ничего не выглядит подозрительно, ответьте Y и подождите
  5. если вам повезет, это должно закончиться без ошибок, иначе вам нужно будет сделать sudo apt-get install -f

Если после шага 5 у вас все еще есть ошибки, вернитесь и обновите свой вопрос.

Удачи.


E: Невозможно найти пакет ppa-purge
stiv

Я буду второй, что .. ppa-purge не существует.
Джон Дрефал

0

Я сделал скрипт для исправления сломанных пакетов. Он ищет поврежденные пакеты в /var/log/dist-upgrade/apt.log и затем находит имена пакетов, а затем применяет к ним указанную команду.

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

Получите это отсюда

Загрузите скрипт с помощью следующей команды:

wget https://gist.githubusercontent.com/EmpireWorld/8eb920165777399cfd684d8d4227a6e2/raw/17e6d4a151a6163aa45dd8302b965ed433b27741/fix-broken.sh

Затем запустите это:

./fix-broken.sh

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

./fix-broken (install|upgrade|remove)

Действие по умолчанию - удалить .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.