Linux系统下载新的服务或组件需要联网后使用yum命令来进行安装,但是通常来讲Linux系统大部分的作用是用来当做服务器,那么就避免不了纯内网使用的情况,这个时候我们就需要使用离线安装的方法,但是大部分主机在安装的时候选择的是最小化安装,导致了部分服务或组件所需要的依赖包未安装,且系统展示依赖包并不会将所有需要的依赖包展示出来,而是只会展示出当前安装的组件所需要的上一级依赖包,如图所示。
为了避免这种非常费时间的离线安装方式,我们选择将yum指向的网络源修改为本地源,为此,我们需要准备一个和系统版本相同的完整的DVDiso镜像(下载的时候选择体积最大的就对了),将镜像发送到随意目录,介于现在网络上其他教程都在mnt目录下,我们就也放在这里。
一、iso镜像挂载
cd /mnt ///进入mnt目录
之后把iso镜像放到这个目录下
mkdir cdrom ///在当前目录新建cdrom文件夹
mount -o loop CentOS-8.5.2111-x86_64-dvd1.iso /mnt/cdrom/ ///挂载镜像到/mnt/cdrom目录下,-o, --options <列表>挂载选项列表,以英文逗号分隔,mount的loop选项(它不是一个类型,它是一个选项)告诉mount这是一个“loopback”设备,一个用作块设备的常规文件。
这个报错是正常的,不需要理会。
vi /etc/fstab ///编辑配置文件
将下边的命令加入到文本的最后一行,实现开机挂载镜像
/mnt/CentOS-8.5.2111-x86 64-dvd1.iso /mnt/cdrom/ iso9660 defaults,loop 0 0 ///注意,此处除了最后的0 0中间是空格外,其他应全部为跳格键(tab键),之后wq保存退出。
reboot ///重启电脑
df -h ///查看挂载情况
二、修改yum源配置文件
cd /etc/yum.repos.d/ ///进入源配置目录
ll ///展示当前目录下所有文件
mkdir bak ///在当前目录创建bak目录,用来备份这些repo文件
sed -i.bak 's/Centos*.repo/Centos*.bak/g' CentOS-Linux-* ///备份 CentOS-Linux- 所有文件到当前目录重命名为CentOS-Linux- .bak
mv CentOS-Linux-*.repo bak/ ///复制当前目录所有CentOS-Linux-开头的bak文件到这个目录下的bak文件夹
回到/etc/yum.repos.d/目录,输入以下命令
vi CentOS-Linux-Media.repo ///编辑yum配置文件Media仓库源
将一下内如添加到文件末尾后wq保存退出:
[local]
name=local repo
baseurl=file:///mnt/cdrom/BaseOS
enable=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
vi CentOS-Linux-BaseOS.repo ///修改yum配置文件BaseOS的仓库源,需要将里边的内容用#注释掉。
然后复制以下内容后wq保存退出:
[base]
name=base
baseurl=file:///mnt/cdrom/BaseOS/
gpgcheck=0
gpgkey=0
vi CentOS-Linux-AppStream.repo ///修改yum的AppStream仓库源,需要将里边的内容用#注释掉。
输入以下内容wq保存退出:
[AppStream]
name=AppStream
baseurl=file:///mnt/cdrom/AppStream/
gpgcheck=0
gpgkey=0
yum clean all ///进行清空yum缓存
yum makecache ///重新建立yum源
三、yum安装软件测试
yum install httpd ///安装http服务测试
至此,测试完毕。
-
Linux系统
+关注
关注
4文章
592浏览量
27357 -
RPM
+关注
关注
0文章
44浏览量
17700 -
CentOS
+关注
关注
0文章
77浏览量
13733
发布评论请先 登录
相关推荐
评论