Поддержание вашей системы CentOS в актуальном состоянии с помощью последних обновлений безопасности — одна из наиболее важных частей общей безопасности системы. Если вы не обновите пакеты своей операционной системы последними исправлениями безопасности, ваш компьютер будет уязвим для атак.
Рекомендуемый подход — автоматизировать обновления с помощью yum-cron
. Другой вариант — обновить систему вручную.
В этом руководстве мы покажем вам, как вручную обновить системные пакеты в CentOS 7. Те же инструкции применимы и для CentOS 6.
Содержание
Подготовка
Для установки и обновления пакетов вам необходимо войти в систему как root или как пользователь с привилегиями sudo .
Обновление пакетов в CentOS
RPM — это система упаковки, используемая Red Hat и ее производными, такими как CentOS.
Yum — это инструмент менеджера пакетов по умолчанию в CentOS. Он используется для установки, удаления, загрузки, запроса и обновления пакетов из официальных репозиториев CentOS, а также других сторонних репозиториев.
Перед запуском обновления вы можете проверить наличие доступных обновлений с помощью следующей команды:
sudo yum check-update
Вывод будет содержать список всех пакетов, доступных для обновления:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.s.uw.edu
* centos-sclo-rh: centos.s.uw.edu
* centos-sclo-sclo: centos.s.uw.edu
* epel: mirror.cherryservers.com
* extras: centos.s.uw.edu
* updates: centos.s.uw.edu
bind-libs-lite.x86_64 32:9.9.4-74.el7_6.2 updates
bind-license.noarch 32:9.9.4-74.el7_6.2 updates
curl.x86_64 7.29.0-51.el7_6.3 updates
device-mapper.x86_64 7:1.02.149-10.el7_6.8 updates
device-mapper-event.x86_64 7:1.02.149-10.el7_6.8 updates
device-mapper-event-libs.x86_64 7:1.02.149-10.el7_6.8 updates
device-mapper-libs.x86_64 7:1.02.149-10.el7_6.8 updates
Чтобы обновить один пакет, используйте команду yum install
за которой следует имя пакета, который вы хотите обновить. Например, чтобы обновить только пакет curl
который вы должны запустить:
sudo yum install curl
Yum предоставит вам сводку пакетов, которые будут обновлены, и запросит подтверждение. Ответьте y
и пакеты будут обновлены.
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Updating:
curl x86_64 7.29.0-51.el7_6.3 updates 269 k
Updating for dependencies:
libcurl x86_64 7.29.0-51.el7_6.3 updates 222 k
Transaction Summary
================================================================================
Upgrade 1 Package (+1 Dependent package)
Total download size: 492 k
Is this ok [y/d/N]:
Чтобы обновить все пакеты, используйте команду yum update
:
sudo yum update
Команда обновит репозитории и предоставит вам список всех пакетов, которые можно обновить. При появлении запроса введите y
чтобы продолжить.
Запретить обновление пакетов
Иногда вам может потребоваться запретить обновление пакета до более новой версии. versionlock
плагина versionlock
позволяет вам versionlock
пакеты к определенной версии.
Плагин не установлен по умолчанию, поэтому сначала вам нужно установить его:
sudo install yum-plugin-versionlock
Во время установки в вашей системе будут созданы два файла конфигурации, которые будут храниться в каталоге /etc/yum/pluginconf.d
. Файл конфигурации versionlock.conf
и файл versionlock.list
содержащий заблокированные пакеты. По умолчанию в этом файле нет пакетов.
Чтобы заблокировать версию пакета, вы можете вручную добавить имя пакета в файл или использовать команду yum versionlock
за которой следует имя пакета. Например, чтобы предотвратить обновление всех пакетов PHP (всех пакетов, начинающихся с «php-»), вы должны запустить:
sudo yum versionlock php-*
Это заблокирует пакеты PHP до текущей версии.
Просмотр логов Yum
История пакетов, установленных и обновленных с помощью yum
, регистрируется в файле /var/log/yum
. Вы можете просмотреть последние записи, используя команду cat
или tail
:
sudo tail /var/log/yum.log
Вывод будет включать записи об установках и обновлениях пакетов:
Jul 23 16:00:04 Installed: 7:squid-3.5.20-12.el7_6.1.x86_64
Jul 31 22:27:16 Updated: libcurl-7.29.0-51.el7_6.3.x86_64
Jul 31 22:27:16 Updated: curl-7.29.0-51.el7_6.3.x86_64
Выводы
Установить обновления и поддерживать систему CentOS в актуальном состоянии довольно просто, но если вы управляете несколькими компьютерами с CentOS, это может занять много времени, а иногда вы можете пропустить важное обновление. Оптимальный вариант — настроить автоматические обновления.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.