Linux--YUM远程仓库部署(FTP源)
一:YUM概述
- YUM (Yellow dog Updata Modified )
- 基于RPM软件包构建的软件更新机制
- 可以自动解决依赖关系
- 所有软件包由集中的YUM软件仓库提供
二:YUM工具概述
2.1:关于yum命令
- 由软件包yum-3.4.3-150.el7.centos.noarch提供
- 用来访问YUM仓库、查询、下载及安装、卸载软件包
2.2:YUM的配置文件
- 基本设置:/etc/yum.conf
- 仓库设置:/etc/yum.repos.d/*.repo
- 日志文件:/var/log/yum.log
2.3:YUM缓存目录
- 存放下载的软件包、仓库信息等数据
- 位于/var/cashe/yum/ b a s e a r c h / basearch/ basearch/releaserver
- 清楚缓存:yum clean all
2.4:查询软件包
- yum list 软件名 ##查看软件列表##
- yum info 软件名 ##查看软件包详细信息##
- yum whatprovides 文件/目录 ##查看文件/目录归属于哪个软件包##
- yum updata ##即更新软件包,同时也更新系统内核##
- yum upgrade ##只更新软件包##
三:服务端配置
以CentOS 7 为类
3.1:构建FTP源
3.1.1:挂载光盘
[root@server ~]# mount /dev/sr0 /mnt ##以cetos7光盘作为软件仓库##
mount: /dev/sr0 写保护,将以只读方式挂载
3.1.2:安装vsftp服务
[root@server ~]# yum install vsftp* -y
3.2:复制软件源到ftp站点
[root@server ~]# cd /var/
[root@server var]# ls
account adm cache crash db empty ftp games gopher kerberos lib local lock log mail named nis opt preserve run spool tmp yp
[root@server var]# cd ftp/
[root@server ftp]# ls
pub
[root@server ftp]# mkdir centos7
[root@server ftp]# ls
centos7 pub
[root@server ftp]# cp -rf /mnt/* ./centos7 &
[1] 9924
[root@server ftp]#
3.3:建立yum索引环境
[root@server ftp]# mkdir other
[root@server ftp]# ls
centos7 other pub
[root@server ftp]# createrepo -g /mnt/repodata/repomd.xml ./other
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@server ftp]# cd other
[root@server other]# ls
repodata
[root@server other]# cd repodata/
[root@server repodata]# ls
01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2
12bbefc88e08f473cf860b4c150a9a8627f68eb256c9d54b80940e5dc224e85c-repomd.xml.gz
401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz
5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2
6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz
7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2
cdcb85c0e4daf1675d1ab6c42b0cacc6f9460d938296f7bf52678514a86a0554-repomd.xml
dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz
repomd.xml
[root@server repodata]#
3.4:开启ftp服务
[root@server ~]# setenforce 0
[root@server ~]# iptables -F
[root@server ~]# systemctl start vsftpd
四:客户端配置
4.1:测试访问ftp服务
[root@client ~]# yum install ftp -y
[root@client ~]# ftp 192.168.209.134 ##服务端IP地址##
Connected to 192.168.209.134 (192.168.209.134).
220 (vsFTPd 3.0.2)
Name (192.168.209.134:root): ftp ##匿名用户##
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
4.2:配置yum软件仓库
[root@client ~]# cd /etc/yum.repos.d/
[root@client yum.repos.d]# mkdir bak
[root@client yum.repos.d]# move *.repo bak
[root@client yum.repos.d]# vim ftp.repo
[ftp]
name=centos7.packages
baseurl=ftp://192.168.209.134/centos7
enabled=1
gpgcheck=1
gpgkey=ftp://192.168.209.134/centos7/RPM-GPG-KEY-CentOS-7
[other]
name=other.packages
baseurl=ftp://192.168.209.134/other
enabled=1
gpgcheck=0
4.3:清楚yum缓存
[root@client yum.repos.d]# yum clean all
4.4:安装软件进行验证
[root@client yum.repos.d]# yum install httpd -y