Centos 7离线更新

Centos 7离线更新

我想将我的 Centos 版本 7.8 升级到 7.9 或 8。但我的系统未连接到互联网。我可以使用 ssh 和 sftp 远程访问此服务器。有没有办法从 cli 远程进行此更新?如果您能帮助我将非常高兴。

答案1

有没有办法从 cli 远程进行此更新?

是的,使回购协议本地可用...

我之前说过只使用CentOS-7-x86_64-DVD-2009.iso从下载的http://ioredirect.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] 名称 = centos-7.9-iso baseurl = file:///root/repo/centos-7.9 gpgcheck = 0 启用 = 1

这将创建一个离线存储库。然后执行 ayum update将看到此 centos-7.9 存储库的内容。然而,这不会让你真正做一个更新。为了让更新正常工作,正如您所期望的那样,您将需要下载整个 CentOS7 存储库,可能会超过 100GB。此外,很可能还有整个 EPEL7 存储库,大约 15GB。然后像我上面提到的那样将它们提供给您的系统/etc/yum.repos.d/centos-7.9-iso.repo

重新同步:以下是如何完整下载存储库,以便执行离线更新(使用 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 文件复制到离线系统,这将 > 100GB
  • 解压存储库
  • 创建一个/etc/yum.repos.d/local.repo文件,其中包含指向存储库中复制的这些内容的必要内容。
  • 在在线系统上执行此操作时更改 的repoid=,以匹配其注册文件(或相应的 CentOS 存储库文件)中的存储库reposync/etc/yum.repos.d/redhat.repo
  • 自 2024 年起,CentOS 现已升级为 Rocky8_Linux,因此请相应更改语法。

答案2

您需要从 CentOS 网站下载 ISO 映像,然后将 ISO 映像刻录到 CD 或 DVD 上。光盘刻录后,您可以从光盘引导系统并使用命令行运行升级过程。

相关内容