Показать статистику
0 голосов
от (1.6тыс. баллов)

Я использую Убунту 20.04. В течение последних 4-5 раз, когда я использовал обновление, APT всегда обновляет следующие

  linux-headers-5.4.0-96 linux-headers-5.4.0-96-generic
  linux-image-5.4.0-96-generic linux-modules-5.4.0-96-generic
  linux-modules-extra-5.4.0-96-generic

когда я использую autoremove, он говорит, что эти же пакеты будут удалены. Я новичок в Ubuntu и не уверен, что использую эти пакеты в своей обычной работе. Но я хотел бы знать, что здесь происходит?

139 просмотров 2 ответов

2 Ответы

0 голосов
от (2.7тыс. баллов)

Текущая версия ядра Linux в обновленном Ubuntu 20.04 — 5.4.0-99. apt предлагает вам возможность обновить текущее ядро с версии 5.4.0-96 до 5.4.0-99. По умолчанию Ubuntu сохраняет только два последних установленных ядра, когда вы запускаете sudo apt autoremove. Если в вашей Ubuntu есть две или более версии ядра, которые новее 5.4.0-96, тогда sudo apt autoremove удалит ядро 5.4.0-96, а также будут удалены все установленные ядра старше 5.4.0-96, если они больше не нужны.

Результаты cat /var/log/apt/history.log моего Ubuntu 20.04 показывают, что ядро Linux было обновлено apt upgrade с версии 5.4.0-97 до 5.4.0-99 08 февраля 2022 г., а apt autoremove ядро 5.4.0-96 было удалено на следующий день.

0 голосов
от (26.4тыс. баллов)

TL;DR

Текущая версия ядра Ubuntu GA — 5.4-0-99. В настоящее время у вас есть версия 5.4-0-96. APT рекомендует вам обновить ядро до последней версии ( 5.4-0-99). apt autoremove предлагает вам удалить старую версию, т.е. ( 5.4-0-96).


Давайте возьмем пакет linux-headers-5.4.0-96 в качестве примера для лучшего понимания.

linux-headers-5.4.0-96 является пакетом ядра, пакет ядра отличается от обычных пакетов.

Как правило, обычные пакеты aptitude неменяют своих имен при обновлении  neofetch . В отличие от обычных пакетов, пакеты ядра меняют свое имя при обновлении. Например, linux-headers-5.4.0-96 изменит свое имя на 5.4.0-99.

Когда ядро обновляется, оно приходит в виде более нового пакета вместо обновления старого. Например, linux-headers-5.4.0-96 обновился до 5.4.0-99. Здесь имя пакета linux-headers-5.4.0-96 изменено на версию 5.4.0-99, поэтому APT (Advanced Packaging Tool) считает его другим пакетом.

По словам разработчиков и репозиториев, пакет 5.4.0-99 представляет собой обновленную версию пакета linux-headers-5.4.0-96, поэтому APT принудительно устанавливает его, но не удаляет старую версию пакета, linux-headers-5.4.0-96 .

Итак, APT показывает, что обновление доступно для linux-headers-5.4.0-96. Он не удалит старую версию пакета, как описано выше.

Выполним apt upgrade , обновим пакет до новой версии, не удаляя старую. А как же старая версия пакета? Останется ли он навсегда в вашей системе? По умолчанию Ubuntu хранит только 2 последних ядра. Если в вашей системе более 3 ядер или устаревшее ядро, оно будет удалено командой apt autoremove .

...