Обновления безопасности Ubuntu 20.04.6 LTS

Вопрос или проблема

Ubuntu 20.04.6 LTS

sudo apt-get upgrade

Ошибки :

У следующих пакетов неудовлетворенные зависимости:
 linux-tools-5.4.0-1040-azure : Зависит от: linux-azure-tools-5.4.0-1040, но он не установлен
 linux-tools-5.4.0-1142-azure : Зависит от: linux-azure-tools-5.4.0-1142, но он не установлен
E: Неудовлетворенные зависимости. Попробуйте выполнить 'apt --fix-broken install' без пакетов (или укажите решение).
apt --fix-broken install

Ошибки:

Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Корректировка зависимостей... Готово
Следующие пакеты были установлены автоматически и больше не требуются:
  g++-7 geoip-database libbind9-160 libcupsfilters1 libcupsimage2 libdns-export1100 libdns1100 libgeoip1 libirs160 libisc-export169
  libisc169 libisccc160 libisccfg160 libisl19 libjson-c3 liblwres160 libplymouth4 libstdc++-7-dev
  linux-azure-5.4-cloud-tools-5.4.0-1140 linux-azure-5.4-cloud-tools-5.4.0-1142 linux-azure-5.4-headers-5.4.0-1140
  linux-azure-5.4-headers-5.4.0-1142 linux-azure-5.4-tools-5.4.0-1140 linux-azure-5.4-tools-5.4.0-1142
  linux-azure-cloud-tools-5.4.0-1140 linux-azure-headers-5.4.0-1140 linux-azure-tools-5.4.0-1140 linux-cloud-tools-5.4.0-1140-azure
  linux-headers-5.4.0-1140-azure linux-image-5.4.0-1140-azure linux-modules-5.4.0-1140-azure linux-modules-extra-5.4.0-1140-azure
  linux-tools-5.4.0-1140-azure python3-pam
Используйте 'sudo apt autoremove' для их удаления.
Следующие дополнительные пакеты будут установлены:
  linux-azure-tools-5.4.0-1040 linux-azure-tools-5.4.0-1142
Следующие НОВЫЕ пакеты будут установлены:
  linux-azure-tools-5.4.0-1040 linux-azure-tools-5.4.0-1142
Обновлено 0, установлено новых 2, для удаления 0, а не обновлено 5.
2 не полностью установлено или удалено.
Необходимо скачать 0 Б/10,5 МБ архивов.
После этой операции будет использовано 49,3 МБ дополнительного дискового пространства.
Продолжить? [Y/n] Y
(Чтение базы данных ... в данный момент установлено 212877 файлов и каталогов.)
Подготовка к распаковке .../linux-azure-tools-5.4.0-1040_5.4.0-1040.42_amd64.deb ...
Распаковка linux-azure-tools-5.4.0-1040 (5.4.0-1040.42) ...
dpkg: ошибка при обработке архива /var/cache/apt/archives/linux-azure-tools-5.4.0-1040_5.4.0-1040.42_amd64.deb (--unpack):
 попытка перезаписи '/usr/lib/libcpupower.so.5.4.0-1040', который также содержится в пакете linux-azure-5.4-tools-5.4.0-1040 5.4.0-1040.42~18.04.1
dpkg-deb: ошибка: подпроцесс paste был убит сигналом (Обрыв канала)
Подготовка к распаковке .../linux-azure-tools-5.4.0-1142_5.4.0-1142.149_amd64.deb ...
Распаковка linux-azure-tools-5.4.0-1142 (5.4.0-1142.149) ...
dpkg: ошибка при обработке архива /var/cache/apt/archives/linux-azure-tools-5.4.0-1142_5.4.0-1142.149_amd64.deb (--unpack):
 попытка перезаписи '/usr/lib/libcpupower.so.5.4.0-1142', который также содержится в пакете linux-azure-5.4-tools-5.4.0-1142 5.4.0-1142.149~18.04.1
dpkg-deb: ошибка: подпроцесс paste был убит сигналом (Обрыв канала)
При обработке следующих архивов произошли ошибки:
 /var/cache/apt/archives/linux-azure-tools-5.4.0-1040_5.4.0-1040.42_amd64.deb
 /var/cache/apt/archives/linux-azure-tools-5.4.0-1142_5.4.0-1142.149_amd64.deb
E: Подпроцесс /usr/bin/dpkg вернул код ошибки (1)'

Затем

sudo apt-autoremove :

Ошибки снова

Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Возможно, вам стоит выполнить 'apt --fix-broken install'.
У следующих пакетов неудовлетворенные зависимости:
 linux-tools-5.4.0-1040-azure : Зависит от: linux-azure-tools-5.4.0-1040, но он не установлен
 linux-tools-5.4.0-1142-azure : Зависит от: linux-azure-tools-5.4.0-1142, но он не установлен
E: Неудовлетворенные зависимости. Попробуйте выполнить 'apt --fix-broken install' без пакетов (или укажите решение).

И так далее! Как разорвать этот проклятый цикл?

Ответ или решение

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

Теория

Аварийные ситуации в пакетных менеджерах наподобие apt могут возникать по различным причинам, включая наличие поврежденных пакетов, конфликты версий и неполные обновления. Встроенный менеджер пакетов dpkg, который используется apt, отвечает за управление пакетами на более низком уровне. Конфликты чаще всего возникают при попытке установки или обновления пакета, когда файлы пакета пересекаются с файлами уже существующего на системе пакета. В нашем случае это привело к ошибке, связанной с файлами libcpupower.so, что может быть вызвано тем, что один и тот же файл пытается быть установлен разными пакетами.

Пример

В вашем случае команда sudo apt-get upgrade привела к возникновению ошибки о неподходящих зависимостях. Пакеты linux-azure-tools-5.4.0-1040 и linux-azure-tools-5.4.0-1142 не были установлены, несмотря на то, что они требуются для успешного выполнения команды. Команда apt --fix-broken install должна была исправить зависимости путем автоматической установки недостающих пакетов. Однако она столкнулась с конфликтами файлов. Ошибка

dpkg: error processing archive /var/cache/apt/archives/linux-azure-tools-5.4.0-1040_5.4.0-1040.42_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/libcpupower.so.5.4.0-1040', which is also in package linux-azure-5.4-tools-5.4.0-1040 5.4.0-1040.42~18.04.1

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

Применение

Шаг 1: Удаление конфликтующих пакетов

Первым шагом решения данной проблемы будет удаление текущих пакетов, относящихся к linux-azure-tools. Используйте следующую команду, чтобы принудительно удалить проблематичные пакеты:

sudo dpkg --remove --force-remove-reinstreq linux-azure-tools-5.4.0-1040 linux-azure-tools-5.4.0-1142

Эта команда удалит пакеты, которые установлены не полностью, игнорируя любые ошибочные состояния.

Шаг 2: Очистка кэша пакетов

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

sudo apt clean

Эта команда удалит все загруженные пакеты, находящиеся в /var/cache/apt/archives.

Шаг 3: Перезапуск установки зависимостей

Теперь можно попытаться автоматически исправить зависимости и скачать отсутствующие пакеты:

sudo apt --fix-broken install

Эта команда скачает и установит вновь необходимые пакеты и выполнит установку, избегая прежних ошибок.

Шаг 4: Обновление системы

После успешного разрешения зависимостей, можете приступить к обновлению остальных пакетов:

sudo apt-get update
sudo apt-get upgrade

Эти команды обновят список доступных пакетов и установят более новые версии для уже установленных программ и библиотек.

Дополнительные действия

Если после выполнения вышеуказанных шагов проблема остается, то рекомендуется:

  • Обратиться к логам системы (например, /var/log/apt/term.log) для более детального изучения ошибок.
  • Рассмотреть возможность использования альтернативных версий пакетов или репозиториев.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...