Якщо в терміналі ви побачите такі слова, як «незадоволені залежності», «непрацюючі пакети», «пакети були збережені», швидше за все, у вас можуть виникнути конфлікти залежностей. У цій статті буде перелічено декілька методів, які можна використовувати для запобігання та виправлення таких видів помилок залежностей. Зверніть увагу, що методи, запропоновані нижче, розташовані не в будь-якому порядку.
Пакети оновлення
Перше, що потрібно зробити у разі помилок, - це запустити команду оновлення. Це оновить будь-які офіційні та сторонні сховища, які ви додали до вашої системи, та створить новий список пакетів. Запуск команди оновлення з терміналу обходить поетапне розгортання офіційних пакетів Ubuntu через оновлення графічного інтерфейсу, щоб ви завжди отримували найновіший список пакетів.
Ви можете оновити сховища, виконавши таку команду:
$ sudo apt оновленняЗмінити сервер завантаження пакета
Якщо під час запуску наведеної вище команди оновлення з’являються помилки «не вдається знайти пакет», спробуйте змінити дзеркала завантаження. Пакети Ubuntu обслуговуються для кінцевих користувачів із серверів, розташованих по всьому світу. Іноді з цих серверів доступні лише часткові або пошкоджені оновлення пакетів, що призводить до помилок під час оновлення. Зазвичай ця проблема вирішується автоматично через деякий час, коли всі пакети Ubuntu правильно клоновані в цих дзеркалах. Однак ви можете вручну змінити розташування дзеркала, щоб вирішити цю проблему.
Щоб змінити сервер завантаження, запустіть програму «Програмне забезпечення та оновлення» з панелі запуску програм. На вкладці «Програмне забезпечення Ubuntu» вибір «Головного сервера» у розкривному списку «Завантажити з» майже гарантовано вирішить будь-які проблеми з доступністю пакунків. Однак швидкість завантаження може бути низькою, залежно від вашого місцезнаходження та близькості до серверів. Ubuntu за замовчуванням вибирає сервер, який забезпечить вам максимальну швидкість на основі вашого поточного місцезнаходження. Ви можете замінити його, вибравши будь-який перерахований сервер або натиснувши “Вибрати найкращий сервер”, щоб залишити вибір на Ubuntu.
Пакети оновлення
Оновлення встановлених пакетів може виправити помилки залежностей. Для оновлення пакетів Ubuntu доступні дві команди, обидві з різною поведінкою:
- “Оновлення”: оновлює встановлені пакети, якщо доступні будь-які оновлення, не видаляє жоден пакет, навіть якщо є незадоволені та пошкоджені залежності
- “Dist-upgrade”: робить спроби розумно модернізувати пакети та вирішувати залежності, видаляє непрацюючі та встановлює нові залежності там, де потрібно виправити помилки
Командами для оновлення та dist-upgrade відповідно є:
$ sudo apt оновлення$ sudo apt dist-upgrade
Очистіть кешовані та залишкові пакети
Менеджер пакетів Ubuntu “apt” зберігає завантажені пакети в папці кешу. Наступного разу, коли вам потрібно буде перевстановити вже кешований пакет, Ubuntu отримає пакет deb з папки кеш-пам'яті, а не повторно завантажувати його з сервера. Очищення цього кешу очищає місце на диску, а також у деяких випадках допомагає виправити залежності та помилки встановлення.
Кеш пакунку Apt можна очистити, виконавши команду нижче:
$ sudo apt cleanІснує ще одна влучна команда “autoclean”, яка очищає кеш пакунка. Однак замість того, щоб очистити всю папку, вона видаляє лише пакети, які були видалені із серверів сховищ.
$ sudo apt autocleanЗробіть фіктивну установку
Можна змоделювати встановлення пакету, щоб перевірити будь-які потенційні помилки, що виникають під час реальної інсталяції. Виконайте наведену нижче команду, замінюючи “ім’я пакета” на потрібне ім’я пакета (без лапок), щоб зробити фіктивну установку.
$ sudo apt install --запустити "ім'я пакета"Видалення макета можна зробити таким же чином:
$ sudo apt remove --запустити "ім'я пакета"Виправте непрацюючі пакети
Це може мати непрацюючі пакети та незадоволені залежності, особливо коли ви встановлюєте кілька пакетів одночасно. Наведена нижче команда спробує виправити ці проблеми або шляхом встановлення та відновлення непрацездатних залежностей, або шляхом видалення пакета, який відповідає за конфлікт залежностей.
$ sudo apt -f встановитиНалаштування пакетів не вдалося встановити через перебої
Іноді менеджер пакунків apt різко зупиняється, залишаючи за собою пакунки, які не вдалося встановити. Ці перебої, як правило, пов’язані з факторами, які не контролюються менеджером пакетів apt. Наприклад, якщо ви випадково закрили термінал або ваш ПК раптово вимкнеться, apt не зможе завершити налаштування. Запуск наведеної нижче команди виправить помилки пакету та проблеми залежності, що виникають із цієї проблеми.
$ sudo dpkg --configure -aВикористовуйте PPA-Purge
«Архів особистих пакетів» або PPA - це сховище програмного забезпечення, що дозволяє користувачам Ubuntu оновлювати або встановлювати нові пакети з неофіційних джерел. PPA-Purge - це інструмент, який видаляє ці сторонні джерела PPA і знижує версію пакетів, встановлених з PPA, до складських версій. Використання PPA-Purge дозволить вирішити будь-які конфлікти залежностей, що виникають із пакетів, встановлених або оновлених з PPA. Щоб встановити програму командного рядка PPA-Purge в Ubuntu, запустіть таку команду:
$ sudo apt встановити ppa-purgeЩоб очистити PPA, запустіть команду у такому форматі:
$ sudo ppa-purge “ppa: address”Наприклад, текстовий редактор Geany PPA, доданий з тут можна очистити за допомогою команди:
$ sudo ppa-purge ppa: geany-dev / ppaВикористовуйте Aptitude Package Manager
Менеджер пакетів Aptitude можна використовувати замість менеджера пакетів apt за замовчуванням в Ubuntu для вирішення помилок залежностей. Aptitude нове, ніж менеджер пакунків apt, і надає додаткові опції, інтерфейс терміналу та загальну простоту використання. Aptitude поєднує в собі безліч підходящих параметрів в одній команді, тому вам не потрібно запускати кілька команд для виправлення помилок.
Наприклад, використання менеджера пакунків aptitude для видалення навіть одного пакету дасть вам можливість видалити невикористані та залишки пакунків, тоді як в apt є окрема команда для того, щоб зробити те саме. Aptitude набагато розумніший у вирішенні конфліктів залежностей, ніж apt, зазвичай він дає детальний зворотний зв'язок для вирішення конфліктів, з декількома варіантами, які може вибрати користувач. Я завжди переконуюсь, що aptitude та PPA-Purge встановлені в моїй системі, перш ніж отримувати будь-які дуже експериментальні пакети.
Aptitude можна встановити, виконавши команду нижче:
$ sudo apt install aptitudeAptitude і apt мають багато варіантів командного рядка, і aptitude має кілька відмінностей. Ви можете вивчити всі варіанти здібностей з тут.
Переінсталюйте робочий пакет Ubuntu
Повторна інсталяція пакету “ubuntu-desktop” призведе до необхідних пакетів, встановлених за замовчуванням в Ubuntu. Він отримає всі пакети, які залежать від мета-пакету ubuntu-desktop. Щоб переінсталювати ubuntu-desktop, запустіть команду нижче:
$ sudo apt install - переінсталюйте ubuntu-робочий стілЗверніть увагу, що вищевказана команда встановлюватиме лише основні основні пакети, а не додатки, такі як Firefox, Thunderbird, відеоплеєр тощо.
Видаліть або вимкніть PPA перед оновленням до нової версії Ubuntu
Незважаючи на те, що Ubuntu відключає будь-які PPA перед оновленням системи, щоб запобігти незадоволеним помилкам залежності під час та після оновлення системи, ви повинні вручну видалити будь-які сторонні PPA. Найкращий спосіб зробити це - запустити команду PPA-Purge, описану вище.
Ви також можете видалити лише сховища PPA. Однак це може не запобігти помилкам залежностей під час оновлення. PPA можна видалити двома способами, перший передбачає використання командного рядка, а другий вимагає використання програми GUI. Зверніть увагу, що ці методи видалять лише сховища PPA, залишаючи позаду будь-які раніше оновлені або встановлені пакети в системі.
Щоб видалити PPA за допомогою командного рядка, запустіть команду нижче у такому форматі:
$ sudo add-apt-repository --remeve “ppa: name”Наприклад, текстовий редактор Geany PPA, доданий з тут можна видалити, виконавши команду:
$ sudo add-apt-repository --remove ppa: geany-dev / ppaЩоб видалити PPA за допомогою методу графічного інтерфейсу, зазвичай вам доводиться запускати програму «Програмне забезпечення та оновлення» з панелі запуску програм. Однак через помилку в Ubuntu цей метод не завжди працює, і йому не вдається відключити PPA.
Щоб обійти це, ми повинні встановити диспетчер пакунків Synaptic, який є інтерфейсом для apt. Щоб встановити Synaptic, запустіть команду:
$ sudo apt встановити synapticЗапустіть «Диспетчер пакунків Synaptic» із панелі запуску програм. Натисніть «Налаштування»> «Сховища». Перейдіть на вкладку «Інше програмне забезпечення» та натисніть PPA, який ви хочете видалити, щоб виділити його. Клацніть на кнопку “Видалити” внизу, щоб видалити PPA із системи. Ви також можете відключити PPA, не видаляючи його, щоб його можна було ввімкнути після оновлення системи. Для цього просто зніміть прапорець перед PPA. Виконавши наведені вище дії, закрийте вікно “Програмне забезпечення та оновлення”. Коли буде запропоновано оновити сховища, натисніть кнопку «Перезавантажити».
Будьте обережні при додаванні нових PPA до системи
Найчастіше помилки залежності виникають під час використання сторонніх PPA або встановлення пакетів deb з неофіційних джерел. Також є ймовірність потрапляння шкідливих програм у вашу систему через PPA. Тому ви завжди повинні бути обережними, додаючи будь-який випадковий PPA до вашої системи. Додайте PPA лише в тому випадку, якщо ви довіряєте його джерелу та супровідникам / розробникам. Незважаючи на те, що ми досі не чули про шкідливе або рекламне програмне забезпечення, що розповсюджується через PPA, завжди існує ризик, оскільки це сторонні сховища, що мають пакети, не перевірені розробниками Ubuntu.
Висновок
Це кілька методів, які можна використовувати для виправлення та запобігання помилкам залежностей в Ubuntu. Речі, як правило, ламаються, особливо при використанні Ubuntu як основного середовища розробки з безліччю сторонніх програм та інструментів командного рядка. Однак більшість цих помилок залежностей можна звести до мінімуму, встановивши програми з офіційних, відомих та надійних джерел.