1.yum
http://ot2trm1s2.bkt.clouddn.com/Linux/2017-08-02-linux-basic-command-7/%E7%A8%8B%E5%BA%8F%E5%8C%85%E7%AE%A1%E7%90%86.png
YUM: Yellowdog Update Modifier
rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具,yum依赖于rpm
yum repository:
yum repo,存储了众多rpm包,以及包的相关的元数据文件(放置于定目录repodata下)
文件服务器:
http://
https://
ftp://
file://
(yum不允许在一个终端上运行多个yum)
2.yum配置文件(客户端)
yum客户端配置文件:
/etc/yum.conf:为所有仓库提供公共配置
/etc/yum.repos.d/*.repo:为仓库的指向提供配(必须以.repo为后缀)
仓库指向的定义:
[repositoryID]代表容器的名字,里面的名称任意取,但不能有两个相同的容器的名称,
否则yum会不知道到哪里去找容器相关软件列表文件,只允许一个单词,不能有空格
name=Some name for this repository只是说明一下这个容器的意义,重要性不高
baseurl=url://path/to/repository/
enabled={1|0} 1代表启动容器,0代表禁用
gpgcheck={1|0} 指定是否需要检阅RPM文件内的数字证书
gpgkey=URL 数字证书的公钥文件所在位置。使用默认值即可
enablegroups={1|0}
failovermethod={roundrobin|priority}
roundrobin:意为随机挑选,默认值
priority:按顺序访问
cost= 默认为1000
3.yum仓库
yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号
$arch: 平台,i386,i486,i586,x86_64等
$basearch:基础平台;i386, x86_64
$YUM0-$YUM9:自定义变量
实例:
http://server/centos/$releasever/$basearch/
http://server/centos/7/x86_64
http://server/centos/6/i384
4.yum源
阿里云repo文件:
http://mirrors.aliyun.com/repo/
CentOS系统的yum源
阿里云:
https://mirrors.aliyun.com/centos/$releasever/os/x86_64/
教学环境:
http://172.16.0.1/cobbler/ks_mirror/$releasever/
EPEL的yum源:
阿里云:
https://mirrors.aliyun.com/epel/$releasever/x86_64
教学环境:
http://172.16.0.1/fedora-epel/$releasever/x86_64/
生成172.16.0.1_cobbler_ks_mirror_CentOS-Xx86_64_.repo
yum-config-manager --add-repo=
http://172.16.0.1/cobbler/ks_mirror/7/
yum-config-manager --disable “仓库名" 禁用仓库
yum-config-manager --enable “仓库名” 启用仓库
yum-config-manager
5.yum命令
yum命令的用法:
yum [options] [command] [package ...]
显示仓库列表:
yum repolist [all|enabled|disabled]
显示程序包:
yum list
yum list [all | glob_exp1] [glob_exp2] [...]
yum list {available|installed|updates} [glob_exp1][...]
升级程序包:
yum update [package1] [package2] [...]
yum downgrade package1 [package2] [...] (降级)
检查可用升级:
yum check-update
全系统自动升级
# vim /etc/contab
......
0 3 * * * root /usr/bin/yum -y update
北京时间凌晨3点更新
卸载程序包:
yum remove | erase package1 [package2] [...]
查看程序包information:(没有rpm-qi详细)
yum info [...]
查看指定的特性(可以是某文件)是由哪个程序包所提供:
yum provides | whatprovides feature1 [feature2][...]
清理本地缓存:
yum 会先下载容器的清单到本机的/var/cache/yum里面去!那我们修改了网址却没有修改容器的名称(中括号内的文字),可能造成本机列表与yum服务器的列表不同步,此时就出现无法更新的问题了
清除/var/cache/yum/$basearch/$releasever缓存
yum clean [ packages | metadata | expire-cache |rpmdb | plugins|headers | all ]
packages 将已下载的软件文件包删除
headers 将下载的文件头删除
all 将所有的容器数据都删除
构建缓存:
yum makecache
搜索:
yum search string1 [string2] [...]
以指定的关键字搜索程序包名及summary信息
查看指定包所依赖的capabilities:
yum deplist package1 [package2] [...]
查看yum事务历史:
yum history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
yum history
yum history info 6查看第6步
yum history undo 6取消第6步
yum history redo 6重做第6步(卸载需谨慎 )
日志 :/var/log/yum.log
安装及升级本地程序包:
yum localinstall rpmfile1 [rpmfile2] [...]
(用install替代)
yum localupdate rpmfile1 [rpmfile2] [...]
(用update替代)
6.包组管理的相关命令:
yum groupinstall group1 [group2] [...] 可以安装一整组的软件
yum groupupdate group1 [group2] [...] 升级组
yum grouplist [hidden] [groupwildcard] [...] 列出所有可使用的组列表
yum groupremove group1 [group2] [...] 删除组
yum groupinfo group1 了解该组内所有组名称
(包租很多带空格,可以用双引号引起来)
+代表没装,再装包组,自动安装
-代表没装,再装包组,不再安装带-号包
eg:# yum groupinstall XFCE-4.4 窗口管理器
yum的命令行选项:
--nogpgcheck:禁止进行gpg check
-y: 自动回答为“yes”
-q:静默模式
--disablerepo=repoidglob:临时禁用此处指定的repo
--enablerepo=repoidglob:临时启用此处指定的repo
--noplugins:禁用所有插件
7.系统光盘作为yum仓库
(1) 挂载光盘至某目录,例如/media/cdrom
# mount /dev/cdrom /media/cdrom
(2) 创建配置文件
[CentOS7]
name=
baseurl=
gpgcheck=
enabled=
(3) 创建yum仓库:
createrepo [options] <directory>