Ubuntu

Как предотвратить и исправить ошибки зависимости пакетов в Ubuntu

Как предотвратить и исправить ошибки зависимости пакетов в Ubuntu
Ошибки зависимости пакетов могут возникать в Ubuntu после установки некоторых приложений. Решения, принятые пользователями во время установки, или проблемы на уровне системы, выходящие из-под контроля пользователей, могут привести к повреждению пакетов.

Если вы видите такие слова, как «неудовлетворенные зависимости», «сломанные пакеты», «пакеты были сохранены обратно» в выводе терминала, скорее всего, у вас могут быть конфликты зависимостей. В этой статье будет перечислено несколько методов, которые можно использовать для предотвращения и исправления подобных ошибок зависимостей. Обратите внимание, что методы, предлагаемые ниже, не расположены в любом порядке.

Пакеты обновлений

Самое первое, что нужно сделать в случае ошибок, - запустить команду обновления. Он обновит любые официальные и сторонние репозитории, которые вы добавили в свою систему, и вытащит новый список пакетов. Запуск команды обновления из терминала позволяет обойти поэтапное развертывание официальных пакетов Ubuntu через средство обновления графического интерфейса пользователя, поэтому вы всегда получаете последний список пакетов.

Вы можете обновить репозитории, выполнив следующую команду:

$ sudo подходящее обновление

Изменить сервер загрузки пакетов

Если вы получаете сообщение об ошибке «не удается найти пакет» при выполнении приведенной выше команды обновления, попробуйте изменить загрузочные зеркала. Пакеты Ubuntu обслуживаются конечными пользователями с серверов, расположенных по всему миру. Иногда с этих серверов доступны только частичные или неработающие обновления пакетов, что приводит к ошибкам во время обновления. Эта проблема обычно решается автоматически через некоторое время, когда все пакеты Ubuntu правильно клонированы в этих зеркалах. Однако вы можете вручную изменить расположение зеркала, чтобы решить эту проблему.

Чтобы изменить сервер загрузки, запустите приложение «Программное обеспечение и обновления» из панели запуска приложений. На вкладке «Программное обеспечение Ubuntu» выбор «Главный сервер» в раскрывающемся списке «Загрузить с» почти гарантированно устранит любые проблемы с доступностью пакетов. Однако скорость загрузки может быть низкой в ​​зависимости от вашего местоположения и близости к серверам. Ubuntu по умолчанию выбирает сервер, который даст вам максимальную скорость в зависимости от вашего текущего местоположения. Вы можете переопределить его, выбрав любой из перечисленных серверов или нажав «Выбрать лучший сервер», чтобы оставить выбор на Ubuntu.

Пакеты обновлений

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

Команды для обновления и dist-upgrade соответственно:

$ sudo подходящее обновление
$ sudo apt dist-upgrade

Очистить кэшированные и остаточные пакеты

Менеджер пакетов Ubuntu «apt» сохраняет загруженные пакеты в папке кеша. В следующий раз, когда вам нужно будет переустановить пакет, который уже был кэширован, Ubuntu получит пакет deb из папки кеша вместо повторной загрузки его с сервера. Очистка этого кеша очищает дисковое пространство, а также помогает в некоторых случаях исправлять зависимости и ошибки установки.

Кэш пакетов Apt можно очистить, выполнив следующую команду:

$ sudo apt clean

Есть еще одна подходящая команда «autoclean», которая очищает кеш пакетов. Однако вместо очистки всей папки он удаляет только те пакеты, которые были удалены с серверов репозитория.

$ sudo apt autoclean

Сделайте имитацию установки

Можно смоделировать установку пакета, чтобы проверить возможные ошибки, возникающие во время реальной установки. Выполните команду ниже, заменив «имя пакета» на желаемое имя пакета (без кавычек), чтобы выполнить имитацию установки.

$ sudo apt install --dry-run «имя пакета»

Таким же образом можно произвести фиктивное удаление:

$ sudo apt remove --dry-run «имя пакета»

Исправить неработающие пакеты

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

$ 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 install ppa-purge

Чтобы очистить PPA, запустите команду в следующем формате:

$ sudo ppa-purge «ppa: адрес»

Например, текстовый редактор Geany PPA добавлен из здесь можно очистить, выполнив команду:

$ sudo ppa-purge ppa: geany-dev / ppa

Используйте диспетчер пакетов Aptitude

Диспетчер пакетов Aptitude можно использовать вместо диспетчера пакетов apt по умолчанию в Ubuntu для устранения ошибок зависимостей. Aptitude новее, чем менеджер пакетов apt, и предоставляет дополнительные параметры, интерфейс на основе терминала и общую простоту использования. Aptitude объединяет множество подходящих параметров в одной команде, поэтому вам не нужно запускать несколько команд для исправления ошибок.

Например, использование диспетчера пакетов aptitude для удаления даже одного пакета даст вам возможность удалить неиспользуемые и оставшиеся пакеты, в то время как в apt есть отдельная команда, которая делает то же самое. Aptitude намного умнее в разрешении конфликтов зависимостей, чем apt, обычно он дает подробную обратную связь для разрешения конфликтов с несколькими вариантами, которые могут быть выбраны пользователем. Я всегда проверяю, что в моей системе установлены aptitude и PPA-Purge, прежде чем получать какие-либо экспериментальные пакеты.

Aptitude можно установить, выполнив команду ниже:

$ sudo apt install aptitude

Aptitude и apt имеют много общих параметров командной строки, но у aptitude есть несколько отличий. Вы можете изучить все варианты способностей из здесь.

Переустановите пакет рабочего стола Ubuntu

При переустановке пакета «ubuntu-desktop» будут включены основные пакеты, которые были установлены по умолчанию в Ubuntu. Он получит все пакеты, которые зависят от метапакета ubuntu-desktop. Чтобы переустановить ubuntu-desktop, выполните следующую команду:

$ sudo apt install --reinstall ubuntu-desktop

Обратите внимание, что приведенная выше команда установит только основные пакеты ядра, а не приложения, такие как Firefox, Thunderbird, видеоплеер и т. Д.

Удалите или отключите PPA перед обновлением до более новой версии Ubuntu

Несмотря на то, что Ubuntu отключает любые PPA перед обновлением системы, чтобы предотвратить неудовлетворенные ошибки зависимостей во время и после обновления системы, вам следует вручную удалить любые сторонние PPA. Лучший способ сделать это - запустить команду PPA-Purge, описанную выше.

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

Чтобы удалить PPA с помощью командной строки, выполните команду ниже в следующем формате:

$ sudo add-apt-repository --remove «ppa: name»

Например, текстовый редактор Geany PPA добавлен из здесь можно удалить, выполнив команду:

$ sudo add-apt-repository --remove ppa: geany-dev / ppa

Чтобы удалить PPA с помощью метода графического интерфейса, обычно вам необходимо запустить приложение «Программное обеспечение и обновления» из средства запуска приложений. Однако из-за ошибки в Ubuntu этот метод не всегда работает, и он не может отключить PPA.

Чтобы обойти это, мы должны установить диспетчер пакетов Synaptic, который является интерфейсом для apt. Чтобы установить Synaptic, выполните команду:

$ sudo apt install synaptic

Запустите «Synaptic Package Manager» из панели запуска приложений. Нажмите «Настройки»> «Хранилища». Перейдите на вкладку «Другое программное обеспечение» и щелкните PPA, который вы хотите удалить, чтобы выделить его. Нажмите кнопку «Удалить» внизу, чтобы удалить PPA из системы. Вы также можете отключить PPA, не удаляя его, чтобы его можно было снова включить после обновления системы. Для этого просто снимите флажок напротив PPA. Выполнив указанные выше действия, закройте окно «Программное обеспечение и обновления». Когда будет предложено обновить репозитории, нажмите кнопку «Обновить».

Будьте осторожны при добавлении новых PPA в систему

В большинстве случаев ошибки зависимости возникают при использовании сторонних PPA или установке пакетов deb из неофициальных источников. Также существует вероятность попадания вредоносного ПО в вашу систему через PPA. Поэтому вы всегда должны быть осторожны при добавлении любого случайного PPA в вашу систему. Добавляйте PPA только в том случае, если вы доверяете его источнику и сопровождающим / разработчикам. Несмотря на то, что мы пока не слышали о вредоносном или рекламном ПО, распространяемом через PPA, всегда есть риск, поскольку это сторонние репозитории, пакеты которых не проверены разработчиками Ubuntu.

Заключение

Это некоторые методы, которые можно использовать для исправления и предотвращения ошибок зависимостей в Ubuntu. Все имеет тенденцию ломаться, особенно при использовании Ubuntu в качестве основной среды разработки с множеством сторонних приложений и инструментов командной строки. Однако большинство этих ошибок зависимости можно свести к минимуму, установив приложения из официальных, авторитетных и надежных источников.

Переназначьте кнопки мыши по-разному для разных программ с помощью X-Mouse Button Control
Может быть, вам нужен инструмент, который мог бы изменять управление вашей мышью с каждым приложением, которое вы используете. В этом случае вы можете...
Обзор беспроводной мыши Microsoft Sculpt Touch
Я недавно прочитал о Microsoft Sculpt Touch беспроводная мышь и решил ее купить. Побывав некоторое время, я решил поделиться своим опытом с ним. Эта б...
Экранный трекпад и указатель мыши AppyMouse для планшетов с Windows
Пользователи планшетов часто пропускают указатель мыши, особенно когда они привыкли пользоваться ноутбуками. Смартфоны и планшеты с сенсорным экраном ...