首页 > 代码库 > yum--rpm 前端工具详解
yum--rpm 前端工具详解
1、yum 介绍
YUM: Yellowdog Update Modifier, rpm的前端程序,用来解决软件包相关依赖性,可以在多个库之间定位软件包,up2date的替代工具
yum repository: yum repo,存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下)
文件服务器:
ftp://
http://
file:/// (第三个 / 代表根 )
2、yum配置文件
/etc/yum.conf:为所有仓库提供公共配置
/etc/yum.repos.d/*.repo:为仓库的指向提供配置
仓库指向的定义:
(repodate文件所在父目录即视为仓库)
主要项目定义即可,无需全部定义
若重建.repo 仓库指向配置,建议/etc/yum.repos.d/只留下一个新建的.repo
否则其他存在的.repo的文件,容易干扰配置文件,造成无法找到指向的仓库
*.repo内容解析:
[repositoryID] #仓库ID
name=Some name for this repository #仓库名
baseurl=url://path/to/repository/ #仓库地址
enabled={1|0} #禁用 | 启用 仓库
1: 启用 0: 禁用
gpgcheck={1|0} #启用|禁用gpg key检测
gpgkey=URL #key 地址
enablegroups={1|0}
failovermethod={roundrobin|priority}
cost= 默认为1000
(#failovermethode 有两个选项roundrobin和priority,意思分别是有多个url可供选择时,
yum选择的次序,roundrobin是随机选择,如果连接失 败则使用下一个,依次循环,
priority则根据url的次序从第一个开始。如果不指明,默认是roundrobin。)
#
eg:
[base] ——->id
name=CentOS-$releasever – Base
release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=http://10.1.0.1/cobbler/ks_mirror/CentOS-7-x86_64-1503/
file:///media/cdrom
http://mirrors.aliyun.com/centos/$releasever/os/$basearch
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
仓库管理工具– yum-config-manager
eg:
生成172.16.0.1_cobbler_ks_mirror_CentOS-Xx86_64_.repo
yum-config-manager –add-repo=
http://172.16.0.1/cobbler/ks_mirror/CentOS-Xx86_64/
执行后,将自动生在/etc/yum.repos.d/中生成172.16.0.1_cobbler_ks_mirror_CentOS-Xx86_64_.repo 文件
yum-config-manager –disable “仓库名" 禁用仓库
yum-config-manager –enable “仓库名” 启用仓库
3.yum 命令使用
显示仓库列表:
repolist [all|enabled|disabled]
显示程序包:
list tool_name 显示XX的程序包
# yum list [all | glob_exp1] [glob_exp2] […]
# yum list {available|installed|updates} [glob_exp1]
[…]
安装程序包:
install package1 [package2] […]
reinstall package1 [package2] […] (重新安装)
升级程序包:
update [package1] [package2] […]
downgrade package1 [package2] […] (降级)
检查可用升级:
check-update
卸载程序包:
remove | erase package1 [package2] […]
查看程序包information:
info […]
eg: yum info tree
查看指定的特性(可以是某文件)是由哪个程序包所提供:
provides | whatprovides feature1 [feature2] […]
清理本地缓存:
clean [ packages | metadata | expire-cache |
rpmdb | plugins | all ]
当仓库已经更新时候,需要清理缓存,更新各文件的新路径
构建缓存:
makecache
搜索: search string1 [string2] […]
以指定的关键字搜索程序包名及summary信息
查看指定包所依赖的capabilities:
deplist package1 [package2] […]
查看yum事务历史:
history [info|list|packages-list|packages-info|
summary|addon-info|redo|undo|
rollback|new|sync|stats]
yum history
yum history info 6
yum history undo 6
日志 文件:
/var/log/yum.log
安装及升级本地程序包:
* localinstall rpmfile1 [rpmfile2] […]
(用install替代)
* localupdate rpmfile1 [rpmfile2] […]
(用update替代)
yum的命令行选项:
–nogpgcheck:禁止进行gpg check
-y: 自动回答为“ yes”
-q:静默模式
–disablerepo=repoidglob:临时禁用此处指定的repo
–enablerepo=repoidglob:临时启用此处指定的repo
–noplugins:禁用所有插件
4.包组管理的相关命令:
groupinstall group1 [group2] […]
包组的名字有空格时候,需要用”“引起
groupupdate group1 [group2] […]
grouplist [hidden] [groupwildcard] […]
groupremove group1 [group2] […]
groupinfo group1 […]
eg:
yum grouplist 查询可用包组
安装包组:
yum groupinstall "Development Tools"
5.使用光盘当作本地yum仓库:
(1) 挂载光盘至某目录,例如/media/cdrom
# mount /dev/cdrom /media/cdrom
(/dev/cdrom—>sr0 ,救援模式下只能直接访问sr0,软链接不可用)
(2) 创建配置文件(在原repo 文件下面追加内容就可以)
[cdrom]
name=centos7 cdrom
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1
注意:需要配置自动挂载cdrom 才能一直使用,否则重启会失效
6中,可以挂载/misc/cd ,需要时候则自动挂载,无需在/etc/fstab中配
置自动挂载
(添加完成后,yum repolist ,可以查看仓库信息)
6.yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号
$arch: 平台, i386,i486,i586,x86_64等
$basearch:基础平台; i386
$YUM0-$YUM9:自定义变量
实例:
http://server/centos/$releasever/$basearch/
http://server/centos/7/x86_64
http://server/centos/6/i384
7.创建yum仓库文件repodata (自建仓库):
生成仓库文件repodata:(需要在仓库目录下执行)
createrepo [options] <directory>
-v 显示详情
注: yum视仓库目录是否有repodata 为仓库标志
示例: 手动创建仓库
1. 建立仓库文件夹
/tmp下建立test_repo文件夹,复制tree的rpm包至该目录
2:复制仓库中的rpm包到仓库中
略
3: 进入仓库目录,使用命令 createrepo ,生成仓库文件repodata
4:配置 .repo 文件,禁用其他仓库,并创建新仓库地址
其中,baseurl为仓库文件夹路径
配置/etc/yum.repos.d/base.repo 文件,添加 test_repo 仓库信息:
(注意:需要停用其他仓库,设置其他仓库的enabled=0)
(添加完成后,yum repolist ,可以查看仓库信息)
5. 测试仓库,安装 tree
yum--rpm 前端工具详解