Оффлайн-обновление CentOS 7

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

Я хочу обновить свою версию Centos с 7.8 до 7.9 или 8. Но моя система не подключена к интернету. Я могу получить удаленный доступ к этому серверу через ssh и sftp. Есть ли способ выполнить это обновление удаленно из командной строки? Я буду рад вашей помощи.

Есть ли способ сделать это обновление удаленно из командной строки?

да, сделайте repo доступным локально…

Я ранее упоминал, что можно использовать CentOS-7-x86_64-DVD-2009.iso, который был загружен с http://isoredirect.centos.org/centos/7/isos/x86_64/... Если вы

  • mount -o loop CentOS-7-x86_64-DVD-2009.iso /centos79

  • mkdir /root/repo; mkdir /root/repo/centos-7.9

  • cp -r /centos79/* /root/repo/centos-7.9`

  • umount /centos79; rmdir /centos79

  • cp /root/repo/centos-7.9/media.repo /etc/yum.repos.d/centos-7.9-iso.repo

  • отредактировать /etc/yum.repos.d/centos-7.9-iso.repo так, чтобы он выглядел следующим образом

    [centos-7.9-iso] name = centos-7.9-iso baseurl = file:///root/repo/centos-7.9 gpgcheck = 0 enabled = 1

Это создаст оффлайн репозиторий. Выполнение yum update тогда обнаружит содержимое этого репозитория centos-7.9. Однако это не позволит вам реально выполнить обновление. Для корректного обновления вам нужно будет загрузить весь репозиторий CentOS7, который, вероятно, составит более 100 Гб. Кроме того, скорее всего, потребуется загрузить весь репозиторий EPEL7, около 15 Гб. Затем сделайте их доступными вашей системе, как я упоминал выше, с помощью /etc/yum.repos.d/centos-7.9-iso.repo

reposync: Вот как вы можете полностью загрузить репозиторий, чтобы выполнить оффлайн обновление (используя RHEL8 в качестве яркого примера):

reposync --repoid=rhel-8-for-x86_64-baseos-rpms       --norepopath --download-path=/repodisk/BaseOS
reposync --repoid=rhel-8-for-x86_64-appstream-rpms    --norepopath --download-path=/repodisk/AppStream
reposync --repoid=epel                                --norepopath --download-path=/repodisk/EPEL

createrepo /repodisk/BaseOS
createrepo /repodisk/AppStream
createrepo /repodisk/EPEL

tar -cf BaseOS.tar /repodisk/BaseOS
tar -cf AppStream.tar /repodisk/AppStream
tar -cf EPEL.tar /repodisk/EPEL
  • скопируйте tar файлы на своей оффлайн системе, это будет > 100 Гб
  • разархивируйте репозитории
  • создайте файл /etc/yum.repos.d/local.repo с необходимым содержимым, указывающим на скопированные репозитории.
  • измените repoid= у reposync при работе на онлайн системе, чтобы совпадало с вашими репозиториями в зарегистрированном /etc/yum.repos.d/redhat.repo файле (или соответствующем файле репозитория CentOS)
  • с 2024 года CentOS теперь Rocky8_Linux, так что измените синтаксис соответственно.

Вам нужно будет загрузить ISO образ с сайта CentOS, затем записать ISO образ на CD или DVD. Как только диск будет записан, вы сможете загрузить вашу систему с диска и использовать командную строку для запуска процесса обновления.

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

Обновление CentOS 7 без подключения к интернету: Полное руководство

Введение

Обновление операционной системы CentOS 7.8 до версии 7.9 или 8 в условиях отсутствия интернет-соединения может показаться сложной задачей, однако, используя подходящие методы, это можно успешно сделать, работая через SSH и SFTP. Данное руководство подробно освещает процесс выполнения офлайн-обновления, включая создание локального репозитория и использование ISO-образа.

Шаг 1: Загрузка и подготовка ISO-образа

Первым шагом является загрузка соответствующего ISO-образа CentOS с официального сайта. В вашем случае потребуется образ CentOS 7.9.

  1. Найдите CentOS 7.9 ISO и загрузите его на своем локальном компьютере.

  2. После загрузки образа, с помощью SFTP загрузите ISO на ваш сервер. Например, вы можете использовать команду:

    sftp user@your-server-ip
    put CentOS-7-x86_64-DVD-2009.iso

Шаг 2: Создание локального репозитория

После того как ISO-образ будет загружен на сервер, вам нужно создать локальный репозиторий для установки обновлений.

  1. Смонтируйте ISO-образ:

    mkdir /mnt/centos79
    mount -o loop /path/to/CentOS-7-x86_64-DVD-2009.iso /mnt/centos79
  2. Создайте директорию для репозитория и скопируйте в нее содержимое ISO:

    mkdir -p /root/repo/centos-7.9
    cp -r /mnt/centos79/* /root/repo/centos-7.9
  3. Размонтируйте ISO-образ и удалите временную директорию:

    umount /mnt/centos79
    rmdir /mnt/centos79
  4. Создайте файл репозитория, создайте его содержимое и укажите путь к локальному репозиторию:

    cp /root/repo/centos-7.9/media.repo /etc/yum.repos.d/centos-7.9-iso.repo
  5. Отредактируйте файл /etc/yum.repos.d/centos-7.9-iso.repo, чтобы он выглядел следующим образом:

    [centos-7.9-iso]
    name=centos-7.9-iso
    baseurl=file:///root/repo/centos-7.9
    gpgcheck=0
    enabled=1

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

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

yum clean all
yum update

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

Шаг 4: Альтернативный метод – репозиторий EPEL

Если вам необходимо установить пакеты из дополнительных репозиториев, таких как EPEL (Extra Packages for Enterprise Linux), вам потребуется также загрузить этот репозиторий. Учтите, что это потребует значительного пространства на диске (до 15 ГБ).

  1. Загрузите необходимый репозиторий EPEL с другого сервера, используя reposync:
reposync --repoid=epel --norepopath --download-path=/path/to/your/repodisk
  1. Создайте новый репозиторий и настройте доступ к нему аналогично предыдущим шагам.

Заключение

Обновление CentOS без подключения к интернету требует некоторой подготовки, но осуществимо с использованием ISO-образа и создания локальных репозиториев. Следуйте приведённым инструкциям, чтобы успешно выполнить офлайн-обновление. Убедитесь, что у вас есть резервные копии важных данных и конфигураций перед началом процесса обновления, для избежания потенциальных проблем.

Если у вас есть дополнительные вопросы или необходимость в более детальном анализе вашей ситуации, не стесняйтесь обращаться за помощью.

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

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