YUM(Yellow dog Updater,Modified):
1.客户端根据配置文件找到yum仓库服务器的位置
2.服务端向客户端发送元数据包(包含 软件依赖关系 软件的位置)
#相当于软件安装目录
3.客户端下载后,在元数据包中的查找到目标,发送请求
4.服务器响应并将相关软件包和依赖关系发送给客户端,客户端下载安装
//位置
/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
#位置
/etc/yum.repos.d/*.repo
#以local.repo为例,本地源
baseurl=ftp://ip地址/站点里路径
baseurl=http://域名或者ip地址/站点里的路径
baseurl=file://绝对路径
baseurl=file:///mnt #此处第三个/为根目录
#位置
/var/log/yum.log
cat /var/log/yum.log #查看日志文件内容
yum install 软件名 -y #通过yum方式安装,软件已安装则更新版本
yum install tree -y #安装tree,已安装则更新版本
yum list [软件名] #显示可用的安装包,不加软件名是显示所有的可用包
#举例#
yum list tree #包含tree 的软件包
yum info [软件名] #显示指定安装包详细信息,不加软件名是显示所有包的详细信息
#举例#
yum info tree #显示tree的详细信息
yum search 关键词 #根据关键字查找软件安装包
#举例#
yum search tre #查找包含tre的软件包
yum provides 命令
#根据命令名查找对应的软件包
yum grouplist [包组名] #安装包组的查询 不加包组名 就是显示所有
yum groupinfo <包组名> #显示包组的详细信息
#举例#
yum groupinfo Minimal Install #最小化安装包组的详细信息
yum install history #查看历史记录
在这里插入图片描述
可以将所有的依赖都删除
yum history undo n #n为历史记录中的ID
#举例#
yum history undo 10 #卸载第十条记录中安装的软件和依赖关系
#如果卸载错误#
yum history redo n #反悔卸载,n为卸载记录的ID
#举例#
yum history redo 2 #重新安装第二条记录中卸载的软件
当内网的一台主机安装某个软件包却缺少依赖包时,可以先由一台可连接外网的服务器下载依赖包,之后共享给这台主机
yum install --downloadonly +软件名称 --downloaddir=指定rpm包存放路径
本地yum允许在没有互联网连接的情况下进行软件包安装
切换到yum客户端配置文件默认安装目录 /etc/yum.repos.d/
建立备份目录,将.repo文件移进去 mv *.repo
vim tree.rpo #新建配置文件
yum install -y tree #以装tree为例
服务端的IP地址:192.168.2.102
客户端的IP地址:192.168.2.100
#在服务端安装http服务 (可以是httpd ,也可以是nginx)
yum install -y httpd #安装网页软件 ,提供文件共享服务
mount /dev/sr0 /var/www/html #挂载 提供安装包
systemcl start httpd #启动服务
systemctl status httpd #查看启动状态
systemctl stop firewalld.service
setenfore 0
cd /etc/yum.repos.d
mkdir backup
mv *.repo bak #模拟移除网络源
vim http.repo #新建 http.repo文件
...
[http]
name=http
baseurl=http://192.168.2.102 #服务器的ip地址
gpgcheck=0 #关闭校验
..
:wq #退出并保存
yum clean all #清除网络源缓存
yum makecache #建立缓存
yum install -y httpd
#安装任意软件 观察能否安装成功 观察安装源的变化
服务端的IP地址:192.168.2.102
客户端的IP地址:192.168.2.100
systemctl stop firewalld
setenforce 0
yum install -y vsftpd # 安装服务
cd /var/ftp/
mkdir test #新建目录作为挂载点
mount /dev/sr0 /var/ftp/test #挂载
systemctl start vsftp #启动服务
systemctl stop firewalld.service
setenfore 0 #关闭防火墙和selinux
cd /etc/yum.repos.d
mkdir backup
mv *.repo bak #备份网络源
vim http.repo #新建 http.repo文件
...
[ftp]
name=ftp
baseurl=ftp://192.168.2.102/test #挂载目录
gpgcheck=0 #关闭校验
..
:wq #退出并保存
yum clean all
yum makecache #清除网络源缓存,建立本地源数据
yum install -y tree #安装tree以测试源的变化