Як знайти та видалити зламані пакети, які я встановив?


11

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

Відповіді:


6

Synaptic Package Manager (доступний у Центрі програмного забезпечення) - це графічний інструмент для управління пакунками, і серед багатьох функцій він дозволяє фільтрувати пакунки за їх станом. У декілька кліків, вибравши потрібну категорію на панелі ліворуч, вам буде представлений список пакетів, які потребують виправлення.


28
  • Встановіть Synaptic Package Manager через Центр програмного забезпечення або запустивши цю команду в Терміналі:

     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-чистка не існує.
Джон Дрефал

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.