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
: 文件系统表格文件,定义了不同的文件系统和他们的挂载和卸载选项。