Назад | Перейти на главную страницу

Понимание вывода uname -a (управление версиями ядра и последний патч)

Я пытаюсь проверить, все ли наши серверы исправлены, но нотация исправлений на этих двух серверах RHEL сбивает меня с толку:

hostA$ uname -a
Linux hostA 3.10.0-1062.4.1.el7.x86_64 #1 SMP Wed Sep 25 09:42:57 EDT 2019 x86_64 x86_64 x86_64 GNU/Linux
hostB$ uname -a
Linux hostB 3.10.0-1127.el7.x86_64 #1 SMP Tue Feb 18 16:39:12 EST 2020 x86_64 x86_64 x86_64 GNU/Linux

Итак, все они пропатчены до версии 3.10.0, верно? Какое значение имеют цифры после дефиса, которые отличают эти два сервера?

Кроме того, какова отметка времени? Это дата / время выпуска исправления от поставщика?

Linux 3.10.0 сильно отличается от сильно пропатченного 3.10.0-1127 RHEL. Прочтите kernel.spec из исходников и просмотрите огромный журнал изменений.

Эта часть 1127 является "номером" версии ядра rpms. Специфично для EL (или того, кто делает сборку), а не для ядра kernel.org. Учитывая большинство обновлений исправить проблемы безопасности или функциональные недостатки, эта последняя цифра важна.

Отметка времени - это время компиляции ядра. Это не дата выпуска. Тестирование происходит перед выпуском. Выпущены не все тестовые ядра.


Проверка ядра с помощью uname - это не управление исправлениями Linux. Большинство программного обеспечения в Linux - это не ядро, от libc до приложений. Необходимы некоторые другие средства отчетности и применения пакетов. Для RHEL это инструменты на основе rpm и yum.

У большинства менеджеров пакетов есть журнал. Для RHEL / CentOS у вас есть /var/log/yum.log и для Debian / Ubuntu: /var/log/apt/history.log В журналах также есть отметки времени для всех изменений диспетчера пакетов (установка / обновление / удаление).

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

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

В мире Linux установка исправлений не используется в том смысле, который вы используете. У вас есть обновление (я) ядра и обновление (я) пакета.

Можно выполнить исправление ядра в реальном времени, но я не думаю, что вам нужно сейчас об этом беспокоиться. Live patching означает исправление ошибок в ядре без перезагрузки.