一、yum仓库的灵活部署
1、yum基础知识
yum仓库:使用C/S架构,基于rpm构建的软件更新机制。
yum依赖于环境,依赖于服务端和客户端,允许跨网络
客户端:配置文件
服务端:
- RPM包(存放在包文件夹Packages中)
- 元数据(存放在元数据文件夹repodata中,其中包含:目录(软件的目录),软件的依赖关系,软件的分组)
最终形成两个文件夹Packages(包文件夹一般取名packages)和repodata(元数据文件夹)
2.软件仓库的提供方式:
网络源
-
FTP服务: ftp://…
-
HTTP服务: http://…
本地源
-
本地目录: file://…
3.命令
命令 | 不加关键字 | 加入关键词、软件包、软件包组 |
yum list | 显示所有可用包 | 单个的可安装包 |
yum info | 显示所有可用包的信息 | 单个具体的信息 |
yum search | \ | 模糊查找所有的相关信息 |
yum provides | \ | 精确查找 |
yum install | \ | 安装具体软件包 |
yum update | 所有软件升级,更新内核 | 具体软件升级 |
yum upgrade | 只更新软件包,但不更新内核 | 具体软件更新 |
yum remove | \ | 卸载具体软件 |
yum history | 查看当前yum操作历史 | \ |
yum history info | \ | 加序号列出某次事务的详细信息 |
yum history undo | \ | 加序号卸载序号里安装的软件 |
yum history redo | \ | 加序号重新执行序号里的操作 |
yum grouplist | 显示所有可用包组 | 显示具体的包组 |
yum groupinfo | 显示所有的包组具体信息 | 显示具体的包组的具体信息 |
yum groupinstall | \ | 安装具体软件包组 |
yum group update | 所有包组升级 | 具体包组升级 |
yum groupremove | \ | 卸载具体包组软件 |
二.yum配置文件
2.1yum主配置文件
-
位置:/etc/yum.conf
[root@localhost]# /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 $basearch代表硬件 $releasever系统版本比如7
keepcache=0 //是否保存缓存 0代表不保存,1代表保存
debuglevel=2 //调试级别了解即可
logfile=/var/log/yum.log // 日志文件位置
exactarch=1 //是否允许不同版本的rpm安装
obsoletes=1 //update 的一个参数是否可以允许旧版本的运行
gpgcheck=1 //验证秘钥
plugins=1 //是否允许插件1代表可以
installonly_limit=5 //保存几个内核 5代表5个
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
2.2仓库设置文件
-
位置:/etc/yum.repos.d/*.repo
#下面是默认仓库,是centos官方的yum源,需要联网才可以使用
[root@localhost yum.repos.d]# ls /etc/yum.repos.d/
bak CentOS-Debuginfo.repo CentOS-Sources.repo
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo
2.3 日志文件
-
位置:/var/log/yum.log
[root@localhost yum.repos.d]# cat /var/log/yum.log //查看日志文件
三、yum命令详解
3.1查询软件包命令
#显示可用的安装包
[root@localhost ~]# yum list httpd
#显示安装包详细信息
[root@localhost ~]#yum info [软件名]
#根据关键字查找软件安装包,相当于你只知道这个包里的某个关键字会全部给你匹配出来
[root@localhost ~]#yum search <关键词>
#你知道某个命令却不知道具体的包可以用此命令查找
[root@localhost ~]#yum whatprovides <关键词>
3.2查询软件包组命令
#安装包组的查询 不加包组名 就是显示所有
[root@localhost ~]#yum grouplist [包组名]
#不加包组名显示全部
[root@localhost ~]# yum groupinfo <包组名>
3.3yum安装升级
#安装软件包
[root@localhost ~]# yum install httpd
#安装包组名
[root@localhost ~]# yum groupinstall gnome desktop
#更新安装包,可以单个也可以全部 后面加具体名称就是单个更新,不加就是全部更新。但是首先你要有更新的包组库否则也无法更新。
[root@localhost yum.repos.d]# yum upgrade
#组包更新
[root@localhost yum.repos.d]# yum groupupdate
3.4 软件卸载
#卸载已安装的软件必须加软件名
[root@localhost yum.repos.d]# yum remove httpd
#查看历史的使用记录,选择ID 1,2,3,4,5,可以使用yum history undo 4 进行卸载,这样对比remove好处是可以将所有的依赖都删除
[root@localhost yum.repos.d]# yum history
[root@localhost .ssh]# yum history undo 3 //3代表id号
#如果后悔 卸载 可以使用两种方式
yum history redo 4 (重新安装一遍)
yum history undo 6 (反悔卸载等于重新安装一遍)
四.实验
1.安装http
服务端
yum install httpd -y
systemctl start httpd
mount /dev/sr0 /var/www/html
客户端
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
vim http.repo
[http]
name=http
baseurl=http://172.16.23.11/
gpgcheck=0
yum clean all
yum makecache
yum install tree
服务端:c7-2(172.16.23.11)
记得关防火墙和安全防护
客户端:c7-4(172.16.23.13)
2.安装ftp
ftp
服务端
yum install vsftpd -y
systemctl start vsftpd
mkdir /var/ftp/ky33
mount /dev/sr0 /var/ftp/ky33
systemctl stop firewalld
setenforce 0
客户端
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
vim http.repo
[http]
name=http
baseurl=ftp://172.16.23.11/ky33
gpgcheck=0
yum clean all
yum makecache
yum install tree