设置yum阿里源或本地源
前言
- Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。摘自:百度百科
- 场景1:CentOS默认的yum软件仓库源是境外的,虽然没有被墙,但是有时候下载些软件也还是很慢的,所以将yum源改阿里软件仓库源。
- 场景2:CentOS服务器处在内网环境中,缺少依赖手动安装那么会非常麻烦,需要花费大量时间寻找rpm包及相互间依赖的包在上传。现在搭建本地的yum软件仓库源,解决环境是无法联网的情况下,要使用yum的问题。
阿里软件仓库源
备份基础源
切换到yum源配置路径
1
cd /etc/yum.repos.d/
备份文件,重命名
1
mv CentOS-Base.repo CentOS-Base.repo_bak
阿里软件仓库源-CentOS7
下载阿里云
1
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
生成元数据缓存
1
yum makecache
查看
1
yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com阿里软件仓库源-CentOS8
下载阿里云
1
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
编辑AppStream
1
vim CentOS-AppStream.repo
[AppStream]
name=CentOS-$releasever - AppStream
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=AppStream&infra=$infra
#baseurl=http://mirror.centos.org/$contentdir/$releasever/AppStream/$basearch/os/
baseurl=http://mirrors.aliyun.com/$contentdir/$releasever/AppStream/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial编辑Extras
1
vi CentOS-Extras.repo
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/$contentdir/$releasever/extras/$basearch/os/
baseurl=http://mirrors.aliyun.com/$contentdir/$releasever/extras/$basearch/os/gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial生成元数据缓存
1
yum makecache
查看
1
yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
本地软件仓库源
备份所有源数据并删除
切换路径
1
cd /etc/yum.repos.d/
CentOS源打包备份,避免读到其他源中配置外网而读取不到
1
tar zcvf repo_bak.tar.gz CentOS-*
删除所有源数据
1
rm -rf *.repo
ISO挂载
查看一下,光驱的位置
1
lsblk
在实体机中配置的时候,一般不去查看lsblk的结果。就认作是/dev/cdrom,虚拟机中则会指向虚拟盘。
1
ll /dev/cdrom
注:可以看到/dev/cdrom实际上是sr0的符号链接。而我们虚拟中光驱的位置是sr1
要使用光驱里的镜像文件,需要将它挂载到当前系统上。这个挂载位置称为挂载点,通常是在 /mnt/ 或者 /media/ 目录下,创建一个子目录
1
mkdir /mnt/cdrom
手动挂载
1
mount /dev/sr1 /mnt/cdrom
开启激动自动挂载
编辑文件
1
vi /etc/fstab/
写入
/dev/sr1 /mnt/cdrom iso9660 defaults 0 1
| 设备位置 | 挂载点 | 文件系统 | 挂载选项 | 是否备份 | 检查文件系统的顺序 |
|---|---|---|---|---|---|
| /dev/sr1 | /mnt/cdrom | iso9660 | defaults | 0 | 1 |
查看挂载并生效
1
mount -a
注:CentOS7如果不执行这个命令直接重启可能会出现一些错误。
设置本地源
新建本地源文件
1
vi /etc/yum.repos.d/CentOS-Local.repo
[Local]
name=local yum
baseurl=file:///mnt/cdrom
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-KEY-CentOS-7
enbled=1
| 字段 | 解释 |
|---|---|
| [ ] | 软件仓库服务器的id,保证不能已有的仓库id名重复 |
| name | 是仓库的名字,也任意 |
| baseurl | 基础路径。它支持三种协议http、ftp、file。图中的file:///mnt/cdrom分成两段来理解:file://(协议名) , /mnt/cdrom(挂载点)。若有多个baseurl则依次写出 |
| gpgcheck | gpg密钥检查字段,值1为则检查gpg密钥,0为不检查 |
| gpgkey | gpg密钥所在路径。最后的文件名可能不同centos版本不同。提前检查一下你的/etc/pki/rpm-gpg目录中的文件 |
| enable | 是否启用该仓库服务器,值为1则启用,0为不启用 |
生成元数据缓存
1
yum makecache fast
查看软件仓库源状态
1
yum repolist all
测试
局域网软件仓库源
- 使用ftp、nginx或Apache服务器,启用并配置可访问到挂载文件夹,在指定baseurl即可。