千家信息网

程序包管理之yum命令详解

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,1.yum是什么?yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的
千家信息网最后更新 2026年11月01日程序包管理之yum命令详解

1.yum是什么?

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令。



2.yum客户端的配置文件

配置文件:

/etc/yum.conf 为所有仓库提供公共配置或不属于仓库的配置

/etc/yum.repos.d/*.repo 为仓库的指向提供配置


/etc/yum.repos.d/*.repo : 定义仓库

[repositoryID]

name=Some name for this repository

baseurl=url://server1/path/to/repository/

enabled=[0|1]仓库开启或关闭

gpgcheck ={1|0} 检查来源合法性

gpgkey=URL 指明密钥文件

enablegroups ={0|1} 使用组来批量管理程序包

failovermethod = {roundrobin(轮询)|specified(优先级)}

故障转移方法默认为roundrobin,为随机挑选

cost(开销)=# 默认为1000


yum的repo配置文件中可用的变量:

$releasever:当前OS的发行版的主版本号

$arch:平台类型

$basearch :基础平台

$YUM0-$YUM9 :用户自定义的变量


这里以 http://mirrors.aliyun.com/ 为例:

~]# cd /etc/yum.repos.d/~]# vim aliyun.repo[base]name=aliyunbaseurl=http://mirrors.aliyun.com/centos/6.7/os/x86_64/gpgcheck=1

我们也可以用变量的方式来设置baseurl:

baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/



3.如何使用光盘做本地yum仓库

这里以CentOS 6.7的ISO镜像为例:

(1)挂载光盘

~]# mount -r /dev/cdrom /media/cdrom

(2)创建配置文件

~]# cd /media/cdrom/~]# ls     -->这里查看一下是否有"repodata"目录,一般默认都有,如果没有~]# createrepo   -->创建"repodata"目录,如有,则不用创建~]# vim /etc/yum.repos.d/local.repo[base]name=localbaseurl=file:///media/cdrom/gpgcheck=1~]# yum repolist   --> 配置完成后可以用这个命令检查是否配置成功

注: 创建yum仓库 createrepo [options]



4.yum常用命令

yum的命令行选项:

--nogpgcheck :进制进行gpg check

-y :自动回答为"yes"

-q :静默模式

--disabledrepo=repoidglob :临时禁用此处指定的repo

--enabledrepo=repoidglob :临时启用此处的指定的repo

--noplugins :禁用所有插件


常用命令:

显示仓库列表:

repolist [all|enabled|disabled]


显示程序包:

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] [...]


查看程序包的简要信息:

info[]


查看指定的特性是由那个程序包提供:

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]


包组管理的常用命令:

* groupinstall group1 [group2] [...]

* groupupdate group1 [group2] [...]

* grouplist [hidden] [groupwildcard] [...]

* groupremove group1 [group2] [...]

* groupinfo group1 [...]


5.程序包编译安装

源码包的一般格式:

testapp-VERSION-release.src.rpm

安装后,使用rpmbuil命令制作成二进制格式的rpm包,而后在安装

源代码 --> 预处理 --> 编译(gcc)--> 汇编 --> 链接 --> 执行


编译安装三步骤:

./configure

1.通过选项传递参数,指定启用特性、安装路径等,执行时会参考用户的指定以及Makefile.in文件生成makefile

2.检查依赖到的外部环境

make

根据makefile文件,构建应用程序,调用编译器来完成编译

make install


编译C源代码:

前提:提供开发工具及开发环境

开发工具:make,gcc等

开发环境:开发库,头文件

glibc:标准库

通过"包组"提供开发组件:

CentOS 6:"Development Tools","Server Platform Development"

CentOS 7:"开发工具"

第一步:configure脚本

选项:指定安装位置、指定启用的特性

--help:获取其支持使用选项


安装路径设定:

--prefix=/PATH/TO/SOMEWHERE :指定默认安装位置,默认位为/usr/local

--sysconfdir=/PATH/TO/SOMEWHERE :配置文件安装路径

System types(系统类型): 交叉编译可以用到

Optional Features :可选特性

--disable-FEATURE 禁用某特性

--enable-FEATURE[=ARG] 启用某特性

Optional Packages:可选程序包,

--with-PACKAGE[=ARG] 定义依赖的程序包

--without-PACKAGE不需要依赖的程序包

第二步:make

第三步:make install


安装后的配置:

(1)导出二进制程序目录至PATH环境变量中

编辑文件/etc/profile.d/NAME.sh

export PATH=/PATH/TO/BIN:$PATH

(2)导出库文件路径

编辑/etc/ld.so.conf.d/NAME.conf

添加新的库文件所在目录至此文件中

/usr/local/apache2/lib

让系统重新生成缓存

ldconfig [-v]

(3)导出头文件到/usr/include

基于链接的方式实现:

ln -sv

导出目录为一个符号链接

(4)导出帮助手册

编辑/etc/man_db.conf文件

添加一个 MANPATH



这里以在CentOS 6.7上编译安装apache 2.2为例:

~]# cd httpd-2.2.29     --> 这里先切换到httpd目录下~]# ./configure --prefix=/usr/local/ --sysconfdir=/etc/httpd2.2   ~]# make ~]# make install~]# cd /usr/local~]# ./httpd    --> 启动http服务



6.开源程序的获取方式

官方自建站点:

apache.org(ASF项目)

mariadb.org

...

代码托管:

SourceForge

Github.com

code.google.com

...

程序 文件 配置 仓库 命令 开发 编译 特性 目录 管理 变量 环境 路径 检查 工具 常用 开发工具 方式 缓存 链接 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州为想互联网科技有限公司 互联网科技有限公司经营范围 厦门中拓互联网络科技有限公司 科技制造互联网公司 互联网金融公司科技 青岛互联网科技公司 小马过河互联网科技 互联网科技汛 新华互联网科技校企合作 互联网科技公司招聘 江苏南京365互联网科技 互联网科技项目计划书材料类 朱啸虎曾投资哪些互联网科技企业 明优互联网科技有限公司 互联网数据科技专业 众安科技工业互联网合作 皮皮虾互联网科技有限公司 广州智享互联网科技 福仕德教育科技互联网 科技互联网企业在行动 为想互联网科技怎么样 关于新基建和互联网科技 江苏南京365互联网科技 互联网科技实习生岗位职责 互联网对科技的发展 徐州市互联网科技有限公司 恒生互联网科技业指数调整周期 华中科技大学互联网的牛人 新氧科技和美国互联网有关系吗 西安有哪些互联网高科技企业
0