离线Linux/openEuler服务器指定本地yum仓库

avatar
作者
猴君
阅读量:1

1、前提准备一个预装坏境比较完整的linux镜像文件,本文服务器使用的是openEuler

官网:openEuler下载 | 欧拉系统ISO镜像 | openEuler社区官网

2、上传镜像文件至服务器

如果是集群服务器,上传其中一台服务器之后,使用scp指令将镜像文件发布至其他服务器:

scp /usr/local/xxx.iso username@192.168.1.100:/usr/local/

这条命令的意思是:

  • scp:调用SCP程序,开始一个安全的文件复制过程。
  • /usr/local/xxx.iso:指定要传输的文件的完整路径。
  • username@192.168.1.100:指定目标服务器的用户及其IP地址。在@前是目标服务器上的用户名,在@后是目标服务器的IP地址或主机名。
  • :/usr/local/:指定目标路径。注意,冒号:用来分隔用户名和服务器信息与目标路径。

执行此命令后,系统可能会提示你输入username用户在目标服务器上的密码。输入密码后,文件传输将开始

3、挂载镜像文件

        首先你需要将镜像文件挂载到系统的某个目录,以便能够访问其中的文件:

mkdir /mnt/cdrom chown -R 444 /mnt/cdrom mount -o loop /path/to/your/image.iso /mnt/cdrom 

       mkdir /mnt/cdrom 创建一个目录用于挂载镜像

      chmod -R 444 /mnt/cdrom 目录及其所有子文件和子目录的权限为只读

  mount -o loop 命令用于挂载ISO文件到这个目录

      /path/to/your/image.iso是你的镜像文件的路径

        如果输出:mount: /mnt/cdorm: WARNING: source write-protected, mounted read-only

出现这个提示是正常的,不用担心。这条信息告诉你的是,ISO镜像文件以只读模式挂载到了文件系统上,这意味着你不能在挂载的ISO文件上进行写操作,但这对于我们的需求来说是完全没问题的

4、创建仓库配置文件

vi /etc/yum.repos.d/local.repo 

如果你对vi编辑器不熟悉,这里有一些简单的命令来帮助你开始:

  • i 进入插入模式,你可以开始编辑文件。
  • Esc 退出编辑模式,回到命令模式。
  • :w 保存文件但不退出。
  • :wq 或 :x 保存文件并退出。
  • :q! 不保存更改并强制退出。

        输入以下内容:

[local] name=Local Repository baseurl=file:///mnt/cdrom enabled=1 gpgcheck=0

        保存并关闭文件。这将创建一个指向你的本地镜像文件的仓库

5、清理yum缓存:为了让yum识别新的仓库,你需要清理yum缓存

yum clean all

6、列出可用的仓库:检查yum是否能够识别你的本地仓库

yum repolist

 说明本地仓库的配置文件生效了,有一个local的本地仓库

7、使用yum安装软件包:现在你可以使用yum安装软件包了,yum将会从本地仓库中获取所需的依赖

yum --disablerepo="*" --enablerepo="local" install 包名称

8、 确保ISO镜像在重启后自动挂载 - 为了确保在服务器重启后ISO文件能够自动挂载,你需要将其添加到/etc/fstab文件中

echo '/usr/local/openEuler-22.03-LTS-SP1-everything-x86_64-dvd.iso /mnt/cdrom iso9660 loop 0 0' | sudo tee -a /etc/fstab

解释: 

  • echo: 一个Shell内置命令,用于将字符串输出到标准输出(默认是终端)。
  • '/usr/local/openEuler-22.03-LTS-SP1-everything-x86_64-dvd.iso /mnt/cdrom iso9660 loop 0 0': 这是要被追加到文件/etc/fstab中的内容,被封装在单引号内。具体内容解释如下:
    • /usr/local/openEuler-22.03-LTS-SP1-everything-x86_64-dvd.iso: 这是ISO镜像文件的路径。
    • /mnt/cdrom: 要挂载该ISO镜像的挂载点(目录)。
    • iso9660: 文件系统类型,ISO 9660是一种为CD-ROM设计的标准文件系统。
    • loop: 指明使用环回设备(loop device),这允许ISO文件像实际磁盘一样被挂载。
    • 0 0: 这两个字段分别表示dump选项和fsck选项。
      • 第一个 0 指定这个文件系统在备份的时候是否要被dump处理,0表示不要处理。
      • 第二个 0 指定文件系统在启动时是否需要被检验,0表示不需要。
    •  |:这是管道符(pipe),用于将前一个命令的输出作为后一个命令的输入。在这里,将echo命令的输出传递给sudo tee -a /etc/fstab
    • tee -a /etc/fstab
      • tee: 一个读标准输入并写入标准输出和文件的命令。
      • -a: append(追加)模式,表示将内容追加到文件的末尾,而不是覆盖文件。
      • /etc/fstab: 文件系统表格文件,定义了不同的文件系统和他们的挂载和卸载选项。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!