#构建本地yum仓库
[root@yum ~]# mkdir -pv /media/cdrom
#挂载光盘
[root@yum ~]# mount /dev/sr0 /media/cdrom
mount: /dev/sr0 写保护,将以只读方式挂载
[root@yum ~]# cd /etc/yum.repos.d/
[root@yum yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo docker-ce.repo
[root@yum yum.repos.d]# mkdir bak
[root@yum yum.repos.d]# mv *.repo bak
[root@yum yum.repos.d]# ls
bak
[root@yum yum.repos.d]# vim local.repo
[local]
name=centos7
baseurl=file:///media/cdrom
gpgcheck=0
enabled=1
~
[root@yum yum.repos.d]# yum clean all && yum makecache
local | 3.6 kB 00:00:00
(1/4): local/group_gz | 166 kB 00:00:00
(2/4): local/filelists_db | 3.2 MB 00:00:00
(3/4): local/primary_db | 3.1 MB 00:00:00
(4/4): local/other_db | 1.3 MB 00:00:00
元数据缓存已建立
#搭建基于ftp协议发布仓库
[root@yum ~]# yum -y install vsftpd
[root@yum ~]# systemctl start vsftpd
[root@yum ~]# systemctl enable vsftpd
[root@yum ~]# cd /var/ftp/
[root@yum ftp]# mkdir centos7
[root@yum ftp]# mount /dev/sr0 /var/ftp/centos7/
mount: /dev/sr0 写保护,将以只读方式挂载
#server端添加配置文件,便于自己使用yum源
[root@yum ~]# cd /etc/yum.repos.d/
[root@yum yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo docker-ce.repo
[root@yum yum.repos.d]# mkdir bak
[root@yum yum.repos.d]# mv *.repo bak
[root@yum yum.repos.d]# ls
bak
[root@yum yum.repos.d]# vim ftp.repo
[root@yum yum.repos.d]# cat ftp.repo
[ftp]
name=centos7
baseurl=file:///var/ftp/centos7
gpgcheck=0
enabled=1
[root@yum yum.repos.d]# yum clean all && yum makecache
ftp | 3.6 kB 00:00:00
(1/4): ftp/group_gz | 166 kB 00:00:00
(2/4): ftp/filelists_db | 3.2 MB 00:00:00
(3/4): ftp/primary_db | 3.1 MB 00:00:00
(4/4): ftp/other_db | 1.3 MB 00:00:00
元数据缓存已建立
#客户端测试
#添加配置文件
[root@client ~]# cd /etc/yum.repos.d/
[root@client yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo nginx.repo
[root@client yum.repos.d]# mkdir bak
[root@client yum.repos.d]# mv *.repo bak/
[root@client yum.repos.d]# vim ftp.repo
[ftp]
name=centos7
baseurl=ftp://192.168.115.146/centos7
gpgcheck=0
enabled=1
~
[root@client yum.repos.d]# yum clean all && yum makecache
ftp | 3.6 kB 00:00:00
(1/4): ftp/group_gz | 166 kB 00:00:00
(2/4): ftp/filelists_db | 3.2 MB 00:00:00
(3/4): ftp/primary_db | 3.1 MB 00:00:00
(4/4): ftp/other_db | 1.3 MB 00:00:00
元数据缓存已建立
[root@client ~]# yum -y install tree
已安装:
tree.x86_64 0:1.6.0-10.el7
完毕!
#配置 rpm包,生成yum仓库并解决依赖关系
[root@client ~]# mkdir /media/cdrom
[root@client ~]# tar xf docker_19.03_rpm.tar.gz -C /media/cdrom
[root@client cdrom]# ls
containerd.io-1.2.6-3.3.el7.x86_64.rpm docker-ce-cli-19.03.2-3.el7.x86_64.rpm
docker-ce-19.03.2-3.el7.x86_64.rpm
[root@client cdrom]# createrepo -v ./
[root@client cdrom]# ls
containerd.io-1.2.6-3.3.el7.x86_64.rpm docker-ce-cli-19.03.2-3.el7.x86_64.rpm
docker-ce-19.03.2-3.el7.x86_64.rpm repodata
[root@client cdrom]# cd repodata/
[root@client repodata]# ls
1b5316d3bc2aba5045e8a81283aecb5d833553f8ef5cf1877305930be7a85677-other.sqlite.bz2
313de6e7748691c6101ffef63d71a149a352d1e6021fb3f10a58d849bb366c53-primary.xml.gz
7da08976c98a92e642c5fa8f952b106eab035b3b1cdba1c8e648aa1403a4ea69-primary.sqlite.bz2
8fe1f69ad63bf8b648a5fa9dc91b7671e48579dffef3c51407cd9c581b013361-filelists.xml.gz
repomd.xml
[root@client yum.repos.d]# vim docker.repo
[root@client yum.repos.d]# cat docker.repo
[docker]
name=centos7
baseurl=file:///media/cdrom
gpgcheck=0
enabled=1
[root@client yum.repos.d]# yum clean all && yum makecache
docker | 2.9 kB 00:00:00
(1/3): docker/primary_db | 4.1 kB 00:00:00
(2/3): docker/filelists_db | 2.5 kB 00:00:00
(3/3): docker/other_db | 1.6 kB 00:00:00
元数据缓存已建立
[root@client yum.repos.d]# yum -y install docker-ce-cli.x86_64
已安装:
docker-ce-cli.x86_64 1:19.03.2-3.el7
完毕!
#配置公网yum源与epe源
[root@client ~]# cd /etc/yum.repos.d/
[root@client yum.repos.d]# mkdir bak
[root@client yum.repos.d]# mv *.repo bak/
[root@client yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@client yum.repos.d]# ls
bak CentOS-Base.repo
[root@client yum.repos.d]# yum clean all && yum makecache
元数据缓存已建立
#建立epel源
[root@client yum.repos.d]# yum -y install epel-release
[root@client yum.repos.d]# ls
bak CentOS-Base.repo epel.repo epel-testing.repo
[root@client yum.repos.d]# yum clean all && yum makecache
#yum常用命令
[root@client ~]# yum list installed //查询已经安装过的包
[root@client ~]# yum list available //查询未安装的包
[root@client ~]# yum info 软件包名 //查询软件包的信息
[root@client ~]# yum search 软件包名 //查询指定软件包
[root@client ~]# yum provides */命令 //查看某命令是哪个软件包安装的
(1)安装:yum -y install
(2)卸载:yum -y remove 或yum -y erase
(3)升级:yum -y update




