Полное руководство: автономные обновления Linux для Ubuntu Debian и CentOS RHEL
Table of Contents
Лучшие способы установки обновлений Linux в автономном режиме для Ubuntu/Debian и CentOS/RHEL
Обновления Linux необходимы для поддержания безопасности и стабильности вашей системы. Однако в некоторых сценариях вам, возможно, придется иметь дело с автономными средами, где подключение к Интернету ограничено или отсутствует. В таких случаях крайне важно иметь правильную стратегию для установки обновлений в автономном режиме. Эта статья расскажет вам о наилучших способах установки обновлений Linux для Ubuntu/Debian и CentOS/RHEL в автономной среде, уделяя особое внимание использованию локального репозитория или кэша.
Настройка локального репозитория
Одним из наиболее эффективных способов обработки автономных обновлений является создание локального репозитория. Локальный репозиторий содержит все необходимые программные пакеты и обновления, что позволяет обновлять вашу систему без подключения к Интернету. Вот как вы можете настроить локальный репозиторий как для дистрибутивов на основе Debian, так и для дистрибутивов на основе Red Hat:
Для Debian/Ubuntu
- Начните с настройки зеркала репозитория Debian на сервере с доступом в Интернет. Вы можете использовать такие инструменты, как
apt-mirror
ordebmirror
для создания локального зеркала официальных репозиториев Debian или Ubuntu.
Настройка зеркала репозитория Debian с помощью apt-mirror:
# Install apt-mirror
sudo apt-get install apt-mirror
# Edit the apt-mirror configuration file
sudo nano /etc/apt/mirror.list
# Uncomment the deb line for the desired repository
# For example, uncomment the line for Ubuntu 20.04:
# deb http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
# Specify the mirror location
# Modify the base_path to your desired location
set base_path /path/to/mirror
# Save and close the file
# Run apt-mirror to start the mirroring process
sudo apt-mirror
# Wait for the mirroring process to complete
Настройка зеркала репозитория Debian с помощью debmirror:
# Install debmirror
sudo apt-get install debmirror
# Create a directory to store the mirror
sudo mkdir /path/to/mirror
# Run debmirror to start the mirroring process
# Replace <RELEASE> with the Debian or Ubuntu release and <MIRROR_URL> with the official repository URL
# For example, to mirror Ubuntu 20.04:
sudo debmirror --arch=amd64 --verbose --method=http --dist=<RELEASE> --root=<MIRROR_URL> /path/to/mirror
# Wait for the mirroring process to complete
Инструкции клиента Debian
- Настройте локальный репозиторий, отредактировав **
/etc/apt/sources.list
файл в автономной системе. Замените URL-адреса репозитория по умолчанию на URL-адрес локального репозитория. Например, если ваш локальный репозиторий размещен по адресуhttp://local-repo/ubuntu
обновитьsources.list
файл соответственно.
Пример /etc/apt/sources.list
файл:
deb http://local-repo/ubuntu focal main restricted universe multiverse
- После обновления конфигурации вы можете запустить **
apt update
в автономной системе для получения списков пакетов из локального репозитория.
sudo apt update
- Наконец, вы можете использовать **
apt upgrade
Команда для установки доступных обновлений из локального репозитория.
sudo apt upgrade
Для CentOS/RHEL
-
Чтобы настроить локальный репозиторий для CentOS/RHEL, вам нужно использовать
createrepo
инструмент. Этот инструмент создает необходимые метаданные для локального репозитория. -
Создайте каталог для хранения файлов репозитория на сервере с доступом в Интернет. Например, вы можете создать каталог с именем **
local-repo
-
Скопируйте все соответствующие файлы пакета RPM и обновления в **
local-repo
каталог.
Настройка локального репозитория с помощью createrepo:
# Install the createrepo tool
sudo yum install createrepo
# Create a directory to store the repository files
sudo mkdir /path/to/local-repo
# Move or copy the RPM package files and updates to the local-repo directory
# Run the createrepo command to generate the necessary repository metadata
sudo createrepo /path/to/local-repo
# Update the repository metadata whenever new packages are added or removed
sudo createrepo --update /path/to/local-repo
-
После того, как метаданные репозитория сгенерированы, вы можете перенести все
local-repo
каталог в автономную систему с помощью USB-накопителя или любым другим способом. -
В автономной системе создайте новый
.repo
файл в/etc/yum.repos.d/
каталог. Укажите необходимые сведения о конфигурации, такие какbaseurl
указывая на локальный каталог репозитория.
Например, создайте файл с именем local.repo
в /etc/yum.repos.d/
каталог и добавьте следующее содержимое:
sudo nano /etc/yum.repos.d/local.repo
[local]
name=Local Repository
baseurl=file:///path/to/local-repo
enabled=1
gpgcheck=0
-
Сохраните файл и выйдите из редактора.
-
После настройки репозитория вы можете использовать команду yum update для установки обновлений из локального репозитория.
sudo yum update
Эта команда обновит пакеты в системе, используя пакеты из локального репозитория.
Не забудьте обновить локальный репозиторий, запустив createrepo
Команда всякий раз, когда новые пакеты добавляются или удаляются из репозитория.
Обратите внимание, что вам нужно будет заменить /path/to/local-repo
с фактическим путем к каталогу, в котором вы сохранили файлы репозитория.
Настройка локального кэша
Другой способ обработки автономных обновлений — настройка локального кэша. В локальном кеше хранятся загруженные пакеты и обновления, что позволяет распространять их по нескольким системам без необходимости загрузки отдельных файлов. Вы должны установить этот кэш в онлайн-системе, а затем переместить каталог в автономную систему, чтобы другие системы могли получить доступ к пакетам. Вот как вы можете настроить локальный кеш как для дистрибутивов на основе Debian, так и для дистрибутивов на основе Red Hat:
Для Debian/Ubuntu
-
Установите и настройте
apt-cacher-ng
кеширующий прокси для пакетов Debian/Ubuntu. Вы можете установить его, выполнив команду **sudo apt-get install apt-cacher-ng
-
После установки отредактируйте **
/etc/apt-cacher-ng/acng.conf
файл для настройки поведения кэширования. Убедитесь, что **PassThroughPattern
Параметр включает необходимые URL-адреса репозитория.
sudo nano /etc/apt-cacher-ng/acng.conf
Раскомментируйте или добавьте необходимые URL-адреса репозитория в параметр PassThroughPattern. Например, чтобы включить репозитории Ubuntu, добавьте или раскомментируйте следующую строку:
PassThroughPattern: (security|archive).ubuntu.com/ubuntu
Сохраните файл и выйдите из редактора.
- Запустите
apt-cacher-ng
обслуживание с помощью команды **sudo systemctl start apt-cacher-ng
sudo systemctl start apt-cacher-ng
- В автономных системах настройте **
/etc/apt/apt.conf.d/02proxy
файл, указывающий на локальный кеш. Используйте следующую строку: **Acquire::http::Proxy "http://<cache-server-ip>:3142";
sudo nano /etc/apt/apt.conf.d/02proxy
Добавьте в файл следующую строку, заменив IP-адресом сервера кэширования:
Acquire::http::Proxy "http://<cache-server-ip>:3142";
Сохраните файл и выйдите из редактора
- Теперь при запуске **
apt update
и **apt upgrade
команды в автономных системах, они извлекут пакеты из локального кеша.
sudo apt update
sudo apt upgrade
Эти команды будут извлекать и устанавливать обновления из локального кеша, уменьшая потребность в доступе в Интернет в автономных системах.
Обратите внимание, что вам нужно будет заменить **<cache-server-ip>
с фактическим IP-адресом машины, на которой установлено apt-cacher-ng.
Для CentOS/RHEL
-
Для CentOS/RHEL вы можете использовать
yum-cron
настроить локальный кеш. Установите его, выполнив команду **sudo yum install yum-cron
-
Отредактируйте **
/etc/yum/yum-cron.conf
файл и настроить **download_only
параметр до **yes
Это гарантирует, что пакеты только загружаются, а не устанавливаются автоматически.
sudo nano /etc/yum/yum-cron.conf
- Запустите
yum-cron
обслуживание с помощью команды **sudo systemctl start yum-cron
sudo systemctl start yum-cron
- В автономных системах создайте локальный каталог для хранения загруженных пакетов, например, **
/var/cache/yum
sudo mkdir /var/cache/yum
- Скопируйте загруженные пакеты из онлайн-системы в каталог локального кеша.
sudo cp -R /var/cache/yum /path/to/local/cache
Заменять /path/to/local/cache
с путем к каталогу локального кэша в автономной системе.
- В офлайн-системах создайте новый **
.repo
файл в **/etc/yum.repos.d/
каталог, указывающий на локальный каталог кэша.
sudo nano /etc/yum.repos.d/local.repo
Добавьте в файл следующее содержимое, заменив <local-cache-path>
с путем к каталогу локального кеша:
[local]
name=Local Cache
baseurl=file:///path/to/local/cache
enabled=1
gpgcheck=0
Сохраните файл и выйдите из редактора.
- Наконец, вы можете использовать **
yum update
в автономных системах для установки обновлений из локального кеша.
sudo yum update
Эта команда обновит пакеты в автономных системах, используя пакеты из локального кеша.
Обратите внимание, что вам нужно будет заменить **<local-cache-path>
с фактическим путем к каталогу локального кэша в автономной системе.
Заключение
Обработка обновлений Linux в автономной среде может быть сложной задачей, но при правильном подходе вы можете обеспечить актуальность и безопасность своих систем. В этой статье мы обсудили лучшие способы установки обновлений в автономном режиме для Ubuntu/Debian и CentOS/RHEL. Мы рассмотрели настройку локального репозитория и локального кэша, предоставив пошаговые инструкции как для дистрибутивов на основе Debian, так и для дистрибутивов на основе Red Hat.
Следуя этим методам, вы сможете поддерживать безопасность и стабильность своих систем Linux даже в автономной среде. Не забывайте периодически обновлять локальный репозиторий или кеш, чтобы включать последние обновления.
Использованная литература
- apt-mirror Documentation
- debmirror Documentation
- createrepo Documentation
- apt-cacher-ng Documentation
- yum-cron Documentation