我想将我的 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 上。光盘刻录后,您可以从光盘引导系统并使用命令行运行升级过程。