yum

1.yum

Paste_Image.png

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
Paste_Image.png

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
Paste_Image.png

 安装及升级本地程序包:

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:禁用所有插件
Paste_Image.png

7.系统光盘作为yum仓库

 (1) 挂载光盘至某目录,例如/media/cdrom

# mount /dev/cdrom /media/cdrom

 (2) 创建配置文件

[CentOS7]
name=
baseurl=
gpgcheck=
enabled=

(3) 创建yum仓库:

createrepo [options] <directory>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 《鸟哥的Linux私房菜》笔记 软件管理器简介 不是每个人都会进行源码安装的! 厂商先在他们的系统上面编译好了我们...
    Zhang21阅读 1,518评论 0 6
  • Linux 程序包管理 linux系统中的诸多程序都是由源代码编译或者由二次发行商选择性编译分布,其大部分的程序安...
    魏镇坪阅读 5,856评论 1 8
  • 1. 概述 日常的工作中,经常要安装和卸载软件,在linux centos的版本里提供了rpm这个命令进行安装,但...
    ghbsunny阅读 4,013评论 0 3
  • 这整整一周来发生的事情真的太奇妙,通过一个人打开一扇门,结实一群行业精英,同频共振的交流分享让我们更清晰的了解自己...
  • 我和c认识十年了,如今我们生活在同一座城市是多么幸运的事啊。 2007年我们在同一所学校读书,同一班级的我们开始并...
    不会飞的燕阅读 1,346评论 0 0