前言
一个linux菜鸟往往因为对与linux安装软件的复杂而望而却步,特别是从windows到linux的用户肯定表示接受不了。确实linux下装软件想做到win下下一步下一步完成目前来说是不可能的。
linux下软件安装有3种方法: 一种是源码安装,需要用户自己手动编译,另一种是RPM包(RedHat Linux Packet Manager),通过RPM命令就可以实现安装。还有一种为*.bin文件。
现在我们就来说一下rpm包:rpm是RedHat Linux Packet Manager的缩写。RPM 是以一种数据库记录的方式来将您所需要的套件安装到您的Linux
主机的一套管理程序。也就是说,您的linux系统中存在着一个关于RPM的数据库,它记录了安装的包以及包与包之间依赖相关性。RPM包是预先在linux机器上编译好并打包好的文件,安装起来非常快捷。但是也有一些缺点,比如安装的环境必须与编译时的环境一致或者相当;包与包之间存在着相互依赖的情况;简而言之就是用rpm安装文件往往存在依赖关系。几个例子要安装a软件依赖b包(系统没有),b包又依赖c包(系统没有)。。。。依赖解决起来非常麻烦,这也在很长时间内成了一个世界难题。、
这时yum工具出现了。
-
what is 这是什么?
1、首先在shell中键入如下命令
[root@desperadochn ~]# man yum
从返回结果可知:
NAME
yum – Yellowdog Updater Modified
yum是Yellowdog Updater Modified的缩写,其意是黄狗升级工具的意思。
二、why 为什么使用它?
DESCRIPTION
yum is an interactive, rpm based, package manager. It can automatically
perform system updates, including dependency analysis and obsolete pro‐
cessing based on "repository" metadata. It can also perform installa‐
tion of new packages, removal of old packages and perform queries on
the installed and/or available packages among many other commands/ser‐
vices (see below). yum is similar to other high level package managers
like apt-get and smart.
从yum命令的man手册中可知:yum是一个交互式的,基于rpm的包管理器。它可以自动的执行系统升级,包括依赖分析和基于软件仓库的元数据分析。它同样可以用来执行新包的安装,移除旧包,查询已经安装的包/许多其他命令之间可用的包/服务(见下文)。yum就好像其他相似的高级包管理工具一样,如apt-get和smart
总而言之yum是一个高级的包管理工具,他可以安装、更新、删除、显示软件包和软件包组。yum可以自动进行系统更新,基于软件仓库的元数据分析,解决软件包依赖关系。
三、when 何时使用?
1、当你需要安装某些软件却无法解决依赖关系时
2、当你的shell当中缺少默写命令时
3、当你想删除某个包时又被依赖关系搞得头大时
4、当你想更新某个包时。
5、当你缺少某个工具时却又不知道安装那个包时
。。。。。。。。。。。。。。。。。等等,请试试yum工具
四、where 在哪里使用(环境)
1、redhat系列的linux发行版
2、系统已联网
3、配置可用的yum源
五、who 谁会用
1、系统管理员
2、想要安装软件却不想因为软件依赖浪费时间的人、缺少命令或工具又不知从何下手的人。
3、yum软件节省了许多在软件安装上的大量不必要时间,是运维人员必须熟练掌握的技能。
六、how 如何实现,如何使用
-
检查yum工具是否安装
[root@desperadochn ~]# rpm -qa |grep yum
yum-plugin-fastestmirror-1.1.31-34.el7.noarch
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-3.4.3-132.el7.centos.0.1.noarch
若出现类似输出表示yum已经安装成功,若没有任何提示,表示系统还没安装yum工具,yum安装包可以在centos系统光盘中找到,执行如下指令进行安装:
[root@desperadochn ~]# rpm -ivh yum-*.noarch.rpm
安装yum需要python-elementtree,python-sqlite,urlgrabber,yumconf等软件包的支持,这些软件包均在centos光盘中可以找到,若出现依赖性问题逐次安装即可。
II、yum配置文件详解
-
yum 的配置文件有主文件/etc/yum.conf和源配置文件/etc/yum.repos.d
-
Yum的配置一般有两种方式,一种是直接配置/etc/yum.conf文件,另外一种是在/etc/yum.repos.d目录下增加repo文件的方式配置yum源
-
/etc/yum.conf文件详解
以下是etc/yum.conf文件的部分默认内容:
[main] cachedir=/var/cache/yum/$basearch/$releasever #yum下载RPM包时的缓存目录 keepcache=0 #缓存是否需要保存 1表示保存 0表示不保存 debuglevel=2 #调试级别 默认为2 logfile=/var/log/yum.log #定义yum默认日志文件名称 exactarch=1 #是否只升级与和安装软件包的cpu体系一致的包 obsoletes=1 #是否允许更新陈旧的RPM包 1为允许,2为不允许 gpgcheck=1 #是否执行GPG签名检查,1表示执行,0表示不执行(注1) plugins=1 #是否允许使用插件 1允许 0不允许 installonly_limit=5 #允许保留多少个内核包
4、/etc/yum.repos.d/ CentOS-Sources.repo文件详解
repo文件是linux系统中yum源(软件仓库)的配置文件。一般repo文件定义了一个或者多个软件仓库的细节内容,如从哪里下载需要安装或者升级的RPM包,该文件中的设置内容将被yum读取和应用。
用以下命令查看/etc/yum.repos.d/目录是,有如下发现:
[root@desperadochn ~]# ls /etc/yum.repos.d/ CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
以下是/etc/yum.repos.d/CentOS-Sources.repo 文件中的部分默认内容:
[base-source] #方括号里面的是软件源的名称,会被yum识别 name=CentOS-$releasever - Base Sources #这里定义了软件仓库的名称,通常是为了方便阅读配置文件,$ releasever变量定义了发行版本。 baseurl=http://vault.centos.org/centos/$releasever/os/Source/ #指定RPM软件包来源,支持的协议有http:// ftp:// file://(本地源) gpgcheck=1 #是否执行GPG签名检查,1表示执行,0表示不执行 enabled=0 #表示软件仓库定义的源是否启用 0表示禁用 1表示启用 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #定义用于校验的GPG秘钥
iii、yum命令使用方法:
1、命令格式
yum [选项] [命令]
命令中各选项表示的含义如表显示:
选项 |
选项含义 |
-y |
所有交互式提问都选yes |
-q |
安静模式操作 |
–version |
显示yum版本 |
-v |
显示详细信息 |
-x<软件包> |
排除软件包 |
–noplugins |
禁用yum插件 |
–nogpgcheck |
禁用GPG签名检查 |
–installroot=<路径> |
设置安装根目录路径 |
-c |
指定配置文件的位置,可以是http、ftp的url 也可以是本地的文件路径 |
-C |
从当地的缓冲区中运行。如非必要不会更新或下载头文件 |
-d [num] |
指定调试级别为设定的数字num,这些通常在0-10之间,用来指定输出多少调试信息,配置参数是debuglevel |
–disableplugin=plugin |
禁用指定插件 |
–disablerepo=repoid |
禁止一个通过id或者glob指定的软件库。配置选项为enabled |
-e[num] |
错误级别设置为数字num,这里的num通常是0-10之间的数字,0时只输出临界错误。1时输出使用错误 |
–enablerepo=repoid |
启用一个通过id或者glob指定的软件库。配置选项为enabled |
-h [command],–help [command] |
显示该命令的帮助信息并退出。 |
-R [minutes] |
设置命令等待的最长时间 |
yum命令的命令部分描述如下表:
install <软件包名> |
安装指定的软件包 * |
groupinstall <软件包组名> |
安装指定的软件包组 * |
reinstall <软件包名> |
重新安装软件包 * |
localinstall <软件包名> |
安装本地软件包 * |
search <软件包名> |
搜索软件包 * |
list |
列出目前yum所管理的所有的软件包名称与版本 * |
list <软件包名> |
在清单中搜索软件包 * |
list installed |
列出系统中已安装的软件包 * |
list installed <正则表达式> |
用正则表达式列出系统中已安装的软件包 |
list extras |
列出所有已安装但不在yum仓库中的软件包 |
list extras <正则表达式> |
用正则表达式匹配已安装但不在yum仓库中的软件包 |
list updates |
列出所有可更新的软件包 |
list updates<正则表达式> |
用正则表达式匹配可更新的软件包 |
list available |
列出软件仓库中可以用于安装的软件包 |
list available<正则表达式> |
用正则表达式匹配仓库中可以用于安装的软件包 |
list recent |
列出最近被添加到软件仓库中的软件包 |
grouplist |
列出目前所有已安装和可以使用未安装的软件包组 |
info |
列出目前yum所管理的所有软件的名称、版本和详细信息 |
info <软件包名> |
列出目前指定的软件的名称、版本和详细信息 |
Info installed |
列出所有已安装的软件包与详细信息 |
Info extras |
列出所有已安装但不在yum软件仓库内的软件包 |
Info updates |
列出所有可更新的软件包信息。 |
groupinfo <软件包组名> |
列出该软件包组详细信息 |
provides 或 whatprovides <软件包名>或<命令> |
列出软件包提供那些文件或那些命令有何种软件包提供 * |
deplist <软件包名> |
查看指定软件包的依赖情况 |
update |
全部更新 |
update <软件包名> |
更新指定的软件包 * |
check-update |
检查可更新的软件包 * |
upgrade <软件包名> |
升级指定的软件包 * |
groupupdate <软件包组名> |
升级指定的软件包组 * |
updateinfo |
显示软件仓库更新信息 |
localupdate <软件包名> |
本地更新软件包 |
remove <软件包名> |
删除指定软件包 |
erase <软件包名> |
从系统中删除一个或多个软件包 |
groupremove <软件包组名> |
删除软件包组 |
clean packages |
清除缓存目录下的软件包 |
clean headers |
清除缓存目录下的软件包 |
clean |
清除缓存数据 |
clean all |
清除缓存目录下的软件包及旧的头文件 |
version |
显示机器或可用仓库的版本 |
help |
显示yum命令帮助信息 |
shell |
运行交互式的yum shell * |
history |
显示yum使用历史 * |
Load-transaction |
从文件名加载保存的设置 |
makecache |
生成源数据缓存 |
repolist |
显示配置的软件仓库 |
resolvedep |
确定那个软件包提供了给定的依赖 |
distribution-synchronization |
同步安装软件包到最新版本 |
iv、实例
0、至关重要的的实例-当你缺少某些命令时不知道是何种rpm提供的?其解决方法如下
[root@desperadochn ~]# yum whatprovides wc 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.pubyun.com * extras: mirrors.skyshe.cn * updates: mirrors.pubyun.com extras/7/x86_64/filelists_db | 258 kB 00:00:04 coreutils-8.22-15.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts 源 :base 匹配来源: 文件名 :/usr/bin/wc coreutils-8.22-15.el7_2.1.x86_64 : A set of basic GNU tools commonly used in shell scripts 源 :updates 匹配来源: 文件名 :/usr/bin/wc coreutils-8.22-15.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts 源 :@anaconda 匹配来源: 文件名 :/usr/bin/wc
顺藤摸瓜:
[root@desperadochn ~]# yum install coreutils-8.22-15.el7_2.1.x86_64 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.pubyun.com * extras: mirrors.skyshe.cn * updates: mirrors.pubyun.com 正在解决依赖关系 --> 正在检查事务 ---> 软件包 coreutils.x86_64.0.8.22-15.el7 将被 升级 ---> 软件包 coreutils.x86_64.0.8.22-15.el7_2.1 将被 更新 --> 解决依赖关系完成 依赖关系解决 ========================================================================================================================================================================== Package 架构 源 大小 ========================================================================================================================================================================== 正在更新: coreutils x86_64 事务概要 =========================================================================================================================================================================== 升级 1 软件包 总下载量:3.2 M Is this ok [y/d/N]: y Downloading packages: Delta RPMs disabled because /usr/bin/applydeltarpm not installed. coreutils-8.22-15.el7_2.1.x86_64.rpm | 3.2 MB 00:00:23 Running transaction check Running transaction test Transaction test succeeded Running transaction 正在更新 : coreutils-8.22-15.el7_2.1.x86_64 1/2 清理 : coreutils-8.22-15.el7.x86_64 2/2 验证中 : coreutils-8.22-15.el7_2.1.x86_64 1/2 验证中 : coreutils-8.22-15.el7.x86_64 2/2 更新完毕: coreutils.x86_64 0:8.22-15.el7_2.1 完毕!
测试:
cat /etc/passwd |wc -l 22
1、列出所有可用的包(考虑到到篇幅问题只列出头50个)
[root@desperadochn ~]# yum list |head -n 50 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.pubyun.com * extras: mirrors.skyshe.cn * updates: mirrors.pubyun.com 已安装的软件包 NetworkManager.x86_64 1:1.0.6-27.el7 @anaconda NetworkManager-libnm.x86_64 1:1.0.6-27.el7 @anaconda NetworkManager-team.x86_64 1:1.0.6-27.el7 @anaconda NetworkManager-tui.x86_64 1:1.0.6-27.el7 @anaconda acl.x86_64 2.2.51-12.el7 @anaconda aic94xx-firmware.noarch 30-6.el7 @anaconda alsa-firmware.noarch 1.0.28-2.el7 @anaconda alsa-lib.x86_64 1.0.28-2.el7 @anaconda alsa-tools-firmware.x86_64 1.0.28-2.el7 @anaconda audit.x86_64 2.4.1-5.el7 @anaconda audit-libs.x86_64 2.4.1-5.el7 @anaconda authconfig.x86_64 6.2.8-10.el7 @anaconda avahi-autoipd.x86_64 0.6.31-15.el7 @anaconda avahi-libs.x86_64 0.6.31-15.el7 @anaconda basesystem.noarch 10.0-7.el7.centos @anaconda bash.x86_64 4.2.46-19.el7 @anaconda bind-libs-lite.x86_64 32:9.9.4-29.el7 @anaconda bind-license.noarch 32:9.9.4-29.el7 @anaconda binutils.x86_64 2.23.52.0.1-55.el7 @anaconda biosdevname.x86_64 0.6.2-1.el7 @anaconda btrfs-progs.x86_64 3.19.1-1.el7 @anaconda bzip2-libs.x86_64 1.0.6-13.el7 @anaconda ca-certificates.noarch 2015.2.4-71.el7 @anaconda centos-logos.noarch 70.0.6-3.el7.centos @anaconda centos-release.x86_64 7-2.1511.el7.centos.2.10 @anaconda chkconfig.x86_64 1.3.61-5.el7 @anaconda coreutils.x86_64 8.22-15.el7 @anaconda cpio.x86_64 2.11-24.el7 @anaconda cracklib.x86_64 2.9.0-11.el7 @anaconda cracklib-dicts.x86_64 2.9.0-11.el7 @anaconda cronie.x86_64 1.4.11-14.el7 @anaconda cronie-anacron.x86_64 1.4.11-14.el7 @anaconda crontabs.noarch 1.11-6.20121102git.el7 @anaconda cryptsetup-libs.x86_64 1.6.7-1.el7 @anaconda curl.x86_64 7.29.0-25.el7.centos @anaconda cyrus-sasl-lib.x86_64 2.1.26-19.2.el7 @anaconda dbus.x86_64 1:1.6.12-13.el7 @anaconda dbus-glib.x86_64 0.100-7.el7 @anaconda dbus-libs.x86_64 1:1.6.12-13.el7 @anaconda dbus-python.x86_64 1.1.1-9.el7 @anaconda device-mapper.x86_64 7:1.02.107-5.el7 @anaconda device-mapper-event.x86_64 7:1.02.107-5.el7 @anaconda device-mapper-event-libs.x86_64 7:1.02.107-5.el7 @anaconda device-mapper-libs.x86_64 7:1.02.107-5.el7 @anaconda 由于管道被破坏而退出
限于篇幅只能列出头50个 list命令先从从上例中可以看到有 “base: mirrors.pubyun.com” 信息出现,这是在告诉用户,它是从base: mirrors.pubyun.com这里下载到的rpm包资源。从上面的例子中您还可以看到最左侧是rpm包名字,中间是版本信息,最右侧是安装信息,如果安装了就显示类似 “@anaconda-CentOS”, “@base”
或者 “@extras”, 他们前面都会有一个 “@” 符号,这很好区分。未安装则显示base或者extras,
如果是该rpm包已安装但需要升级则显示updates. 如果您看的仔细会发现,”yum list” 会先列出已经安装的包(Installed Packages)
然后再列出可以安装的包(Available Packages)。你要知道这时一个巨大的工程 你会遇到海量的信息让你眼花缭乱。但是我们可以借助管道符改变这一点。
[root@desperadochn ~]# yum list |head -n 100 |grep "dbus" #在结果中匹配结果带“dbus”字符的包 dbus.x86_64 1:1.6.12-13.el7 @anaconda dbus-glib.x86_64 0.100-7.el7 @anaconda dbus-libs.x86_64 1:1.6.12-13.el7 @anaconda dbus-python.x86_64 1.1.1-9.el7 @anaconda
2、搜索一个rpm包
[root@desperadochn ~]# yum search vim 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.pubyun.com * extras: mirrors.skyshe.cn * updates: mirrors.pubyun.com ============================================================================================================= N/S matched: vim ======================================= protobuf-vim.x86_64 : Vim syntax highlighting for Google Protocol Buffers descriptions vim-X11.x86_64 : The VIM version of the vi editor for the X Window System vim-common.x86_64 : The common files needed by any version of the VIM editor vim-enhanced.x86_64 : A version of the VIM editor which includes recent enhancements vim-filesystem.x86_64 : VIM filesystem layout vim-minimal.x86_64 : A minimal version of the VIM editor 同样支持grep过滤 [root@desperadochn ~]# yum list |grep 'vim' vim-minimal.x86_64 2:7.4.160-1.el7 @anaconda golang-vim.noarch 1.3.3-2.el7_0 extras protobuf-vim.x86_64 2.5.0-8.el7 base vim-X11.x86_64 2:7.4.160-1.el7 base vim-common.x86_64 2:7.4.160-1.el7 base vim-enhanced.x86_64 2:7.4.160-1.el7 base vim-filesystem.x86_64 2:7.4.160-1.el7 base
3、安装一个包名
[root@desperadochn ~]# yum install nano
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.pubyun.com
* extras: mirrors.skyshe.cn
* updates: mirrors.pubyun.com
正在解决依赖关系
–> 正在检查事务
—> 软件包 nano.x86_64.0.2.3.1-10.el7 将被 安装
–> 解决依赖关系完成
依赖关系解决
=============================================================================================================================================================================================================================================
Package 架构 版本 源 大小
=============================================================================================================================================================================================================================================
正在安装:
nano x86_64 2.3.1-10.el7 base 440 k
事务概要
=============================================================================================================================================================================================================================================
安装 1 软件包
总下载量:440 k
安装大小:1.6 M
Is this ok [y/d/N]: y
Downloading packages:
nano-2.3.1-10.el7.x86_64.rpm | 440 kB 00:00:04
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : nano-2.3.1-10.el7.x86_64 1/1
验证中 : nano-2.3.1-10.el7.x86_64 1/1
已安装:
nano.x86_64 0:2.3.1-10.el7
完毕!
3、卸载一个包
[root@desperadochn ~]# yum remove -y nano 已加载插件:fastestmirror 正在解决依赖关系 --> 正在检查事务 ---> 软件包 nano.x86_64.0.2.3.1-10.el7 将被 删除 --> 解决依赖关系完成 依赖关系解决 ========================================================================================================================================================================== Package 架构 源 大小 =========================================================================================================================================================================== 正在删除: nano x86_64 @base 1.6 M 事务概要 ============================================================================================================================================================================ 安装大小:1.6 M Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction 正在删除 : nano-2.3.1-10.el7.x86_64 1/1 验证中 : nano-2.3.1-10.el7.x86_64 1/1 删除: nano.x86_64 0:2.3.1-10.el7 完毕!
4、升级一个包
[root@desperadochn ~]# yum update python-perf 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.pubyun.com * extras: mirrors.skyshe.cn * updates: mirrors.pubyun.com 正在解决依赖关系 --> 正在检查事务 ---> 软件包 python-perf.x86_64.0.3.10.0-327.el7 将被 升级 ---> 软件包 python-perf.x86_64.0.3.10.0-327.10.1.el7 将被 更新 --> 解决依赖关系完成 依赖关系解决 ========================================================================================================================================================================== Package 架构 源 大小 ========================================================================================================================================================================== 正在更新: python-perf x86_64 2.4 M 事务概要 ========================================================================================================================================================================== 升级 1 软件包 总下载量:2.4 M Is this ok [y/d/N]: y Downloading packages: Delta RPMs disabled because /usr/bin/applydeltarpm not installed. python-perf-3.10.0-327.10.1.el7.x86_64.rpm | 2.4 MB 00:00:23 Running transaction check Running transaction test Transaction test succeeded Running transaction 正在更新 : python-perf-3.10.0-327.10.1.el7.x86_64 1/2 清理 : python-perf-3.10.0-327.el7.x86_64 2/2 验证中 : python-perf-3.10.0-327.10.1.el7.x86_64 1/2 验证中 : python-perf-3.10.0-327.el7.x86_64 2/2 更新完毕: python-perf.x86_64 0:3.10.0-327.10.1.el7 完毕!
5、检查可更新的包
[root@desperadochn ~]# yum check-update 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.pubyun.com * extras: mirrors.skyshe.cn * updates: mirrors.pubyun.com avahi-autoipd.x86_64 updates avahi-libs.x86_64 updates bind-libs-lite.x86_64 updates bind-license.noarch updates ca-certificates.noarch updates coreutils.x86_64 updates cyrus-sasl-lib.x86_64 updates device-mapper.x86_64 updates device-mapper-event.x86_64 updates device-mapper-event-libs.x86_64 updates device-mapper-libs.x86_64 updates dracut.x86_64 updates dracut-config-rescue.x86_64 updates dracut-network.x86_64 updates glibc.x86_64 updates glibc-common.x86_64 updates gmp.x86_64 updates gnutls.x86_64 updates grub2.x86_64 updates grub2-tools.x86_64 updates kernel.x86_64 updates kernel-tools.x86_64 updates kernel-tools-libs.x86_64 updates kexec-tools.x86_64 updates libgudev1.x86_64 updates libxml2.x86_64 updates logrotate.x86_64 updates lvm2.x86_64 updates lvm2-libs.x86_64 updates nss.x86_64 updates nss-sysinit.x86_64 updates nss-tools.x86_64 updates numactl-libs.x86_64 updates openssh.x86_64 updates openssh-clients.x86_64 updates openssh-server.x86_64 updates openssl.x86_64 updates openssl-libs.x86_64 updates polkit.x86_64 updates procps-ng.x86_64 updates python-pyudev.noarch updates rdma.noarch updates selinux-policy.noarch updates selinux-policy-targeted.noarch updates systemd.x86_64 updates systemd-libs.x86_64 updates systemd-sysv.x86_64 updates tuned.noarch tzdata.noarch updates
6、要大规模的升级版本
[root@desperadochn ~]# yum upgrade |head -n 50 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.pubyun.com * extras: mirrors.skyshe.cn * updates: mirrors.pubyun.com 正在解决依赖关系 --> 正在检查事务 ---> 软件包 avahi-autoipd.x86_64.0.0.6.31-15.el7 将被 升级 ---> 软件包 avahi-autoipd.x86_64.0.0.6.31-15.el7_2.1 将被 更新 ---> 软件包 avahi-libs.x86_64.0.0.6.31-15.el7 将被 升级 ---> 软件包 avahi-libs.x86_64.0.0.6.31-15.el7_2.1 将被 更新 ---> 软件包 bind-libs-lite.x86_64.32.9.9.4-29.el7 将被 升级 ---> 软件包 bind-libs-lite.x86_64.32.9.9.4-29.el7_2.2 将被 更新 ---> 软件包 bind-license.noarch.32.9.9.4-29.el7 将被 升级 ---> 软件包 bind-license.noarch.32.9.9.4-29.el7_2.2 将被 更新 ---> 软件包 ca-certificates.noarch.0.2015.2.4-71.el7 将被 升级 ---> 软件包 ca-certificates.noarch.0.2015.2.6-70.1.el7_2 将被 更新 ---> 软件包 coreutils.x86_64.0.8.22-15.el7 将被 升级 ---> 软件包 coreutils.x86_64.0.8.22-15.el7_2.1 将被 更新 ---> 软件包 cyrus-sasl-lib.x86_64.0.2.1.26-19.2.el7 将被 升级 ---> 软件包 cyrus-sasl-lib.x86_64.0.2.1.26-20.el7_2 将被 更新 ---> 软件包 device-mapper.x86_64.7.1.02.107-5.el7 将被 升级 ---> 软件包 device-mapper.x86_64.7.1.02.107-5.el7_2.1 将被 更新 ---> 软件包 device-mapper-event.x86_64.7.1.02.107-5.el7 将被 升级 ---> 软件包 device-mapper-event.x86_64.7.1.02.107-5.el7_2.1 将被 更新 ---> 软件包 device-mapper-event-libs.x86_64.7.1.02.107-5.el7 将被 升级 ---> 软件包 device-mapper-event-libs.x86_64.7.1.02.107-5.el7_2.1 将被 更新 ---> 软件包 device-mapper-libs.x86_64.7.1.02.107-5.el7 将被 升级 ---> 软件包 device-mapper-libs.x86_64.7.1.02.107-5.el7_2.1 将被 更新 ---> 软件包 dracut.x86_64.0.033-359.el7 将被 升级 ---> 软件包 dracut.x86_64.0.033-360.el7_2 将被 更新 ---> 软件包 dracut-config-rescue.x86_64.0.033-359.el7 将被 升级 ---> 软件包 dracut-config-rescue.x86_64.0.033-360.el7_2 将被 更新 ---> 软件包 dracut-network.x86_64.0.033-359.el7 将被 升级 ---> 软件包 dracut-network.x86_64.0.033-360.el7_2 将被 更新 ---> 软件包 glibc.x86_64.0.2.17-105.el7 将被 升级 ---> 软件包 glibc.x86_64.0.2.17-106.el7_2.4 将被 更新 ---> 软件包 glibc-common.x86_64.0.2.17-105.el7 将被 升级 ---> 软件包 glibc-common.x86_64.0.2.17-106.el7_2.4 将被 更新 ---> 软件包 gmp.x86_64.1.6.0.0-11.el7 将被 升级 ---> 软件包 gmp.x86_64.1.6.0.0-12.el7_1 将被 更新 ---> 软件包 gnutls.x86_64.0.3.3.8-12.el7_1.1 将被 升级 ---> 软件包 gnutls.x86_64.0.3.3.8-14.el7_2 将被 更新 ---> 软件包 grub2.x86_64.1.2.02-0.29.el7.centos 将被 升级 ---> 软件包 grub2.x86_64.1.2.02-0.34.el7.centos 将被 更新 ---> 软件包 grub2-tools.x86_64.1.2.02-0.29.el7.centos 将被 升级 ---> 软件包 grub2-tools.x86_64.1.2.02-0.34.el7.centos 将被 更新 ---> 软件包 kernel.x86_64.0.3.10.0-327.10.1.el7 将被 安装 ---> 软件包 kernel-tools.x86_64.0.3.10.0-327.el7 将被 升级 ---> 软件包 kernel-tools.x86_64.0.3.10.0-327.10.1.el7 将被 更新
限于篇幅只列出前50个内容,此条命令是大规模的升级版本,与yum update不同的是,陈旧的包也会升级
7、列出资源库中所有可以安装或更新的rpm包的信息:
[root@desperadochn ~]# yum info |head -n 50 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.pubyun.com * extras: mirrors.skyshe.cn * updates: mirrors.pubyun.com 已安装的软件包 名称 :NetworkManager 架构 :x86_64 时期 :1 版本 :1.0.6 发布 :27.el7 大小 :9.1 M 源 :installed 来自源:anaconda 简介 : Network connection manager and user applications 网址 :http://www.gnome.org/projects/NetworkManager/ 协议 : GPLv2+ 描述 : NetworkManager is a system service that manages network interfaces : and connections based on user or automatic configuration. It supports : Ethernet, Bridge, Bond, VLAN, Team, InfiniBand, Wi-Fi, mobile : broadband (WWAN), PPPoE and other devices, and supports a variety of : different VPN services. 名称 :NetworkManager-libnm 架构 :x86_64 时期 :1 版本 :1.0.6 发布 :27.el7 大小 :1.5 M 源 :installed 来自源:anaconda 简介 : Libraries for adding NetworkManager support to applications (new : API). 网址 :http://www.gnome.org/projects/NetworkManager/ 协议 : GPLv2+ 描述 : This package contains the libraries that make it easier to use some : NetworkManager functionality from applications. This is the new : NetworkManager API. See also NetworkManager-glib. 名称 :NetworkManager-team 架构 :x86_64 时期 :1 版本 :1.0.6 发布 :27.el7 大小 :32 k 源 :installed 来自源:anaconda 简介 : Team device plugin for NetworkManager 网址 :http://www.gnome.org/projects/NetworkManager/ 协议 : GPLv2+ 由于管道被破坏而退出
这是一个巨大的工程,我的屏幕闪的不停,它会产生海量信息因此限于篇幅只能列出前50行输出内容
8、列出资源库特定的可以安装或更新以及已经安装的rpm包信息
[root@desperadochn ~]# yum info tree 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.pubyun.com * extras: mirrors.skyshe.cn * updates: mirrors.pubyun.com 已安装的软件包 名称 :tree 架构 :x86_64 版本 :1.6.0 发布 :10.el7 大小 :87 k 源 :installed 来自源:base 简介 : File system tree viewer 网址 :http://mama.indstate.edu/users/ice/tree/ 协议 : GPLv2+ 描述 : The tree utility recursively displays the contents of directories in a : tree-like format. Tree is basically a UNIX port of the DOS tree : utility.
9、列出资源库中所有可以更新的rpm包信息
[root@desperadochn ~]# yum info updates |head -n 50 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.pubyun.com * extras: mirrors.skyshe.cn * updates: mirrors.pubyun.com 更新的软件包 名称 :avahi-autoipd 架构 :x86_64 版本 :0.6.31 发布 :15.el7_2.1 大小 :39 k 源 :updates/7/x86_64 简介 : Link-local IPv4 address automatic configuration daemon (IPv4LL) 网址 :http://avahi.org 协议 : LGPLv2+ 描述 : avahi-autoipd implements IPv4LL, "Dynamic Configuration of IPv4 : Link-Local Addresses" (IETF RFC3927), a protocol for automatic IP : address configuration from the link-local 169.254.0.0/16 range : without the need for a central server. It is primarily intended to be : used in ad-hoc networks which lack a DHCP server. 名称 :avahi-libs 架构 :x86_64 版本 :0.6.31 发布 :15.el7_2.1 大小 :61 k 源 :updates/7/x86_64 简介 : Libraries for avahi run-time use 网址 :http://avahi.org 协议 : LGPLv2+ 描述 : The avahi-libs package contains the libraries needed : to run programs that use avahi. 名称 :bind-libs-lite 架构 :x86_64 时期 :32 版本 :9.9.4 发布 :29.el7_2.2 大小 :724 k 源 :updates/7/x86_64 简介 : Libraries for working with the DNS protocol 网址 :http://www.isc.org/products/BIND/ 协议 : ISC 描述 : Contains lite version of BIND suite libraries which are used by : various programs to work with DNS protocol. 名称 :bind-license 架构 :noarch 时期 :32 版本 :9.9.4 由于管道被破坏而退出
这是一个巨大的工程,我的屏幕闪的不停,它会产生海量信息因此限于篇幅只能列出前50行输出内容
10、列出所有已安装的rpm包信息
[root@desperadochn ~]# yum info installed |head -n 50 已加载插件:fastestmirror 已安装的软件包 名称 :NetworkManager 架构 :x86_64 时期 :1 版本 :1.0.6 发布 :27.el7 大小 :9.1 M 源 :installed 来自源:anaconda 简介 : Network connection manager and user applications 网址 :http://www.gnome.org/projects/NetworkManager/ 协议 : GPLv2+ 描述 : NetworkManager is a system service that manages network interfaces : and connections based on user or automatic configuration. It supports : Ethernet, Bridge, Bond, VLAN, Team, InfiniBand, Wi-Fi, mobile : broadband (WWAN), PPPoE and other devices, and supports a variety of : different VPN services. 名称 :NetworkManager-libnm 架构 :x86_64 时期 :1 版本 :1.0.6 发布 :27.el7 大小 :1.5 M 源 :installed 来自源:anaconda 简介 : Libraries for adding NetworkManager support to applications (new : API). 网址 :http://www.gnome.org/projects/NetworkManager/ 协议 : GPLv2+ 描述 : This package contains the libraries that make it easier to use some : NetworkManager functionality from applications. This is the new : NetworkManager API. See also NetworkManager-glib. 名称 :NetworkManager-team 架构 :x86_64 时期 :1 版本 :1.0.6 发布 :27.el7 大小 :32 k 源 :installed 来自源:anaconda 简介 : Team device plugin for NetworkManager 网址 :http://www.gnome.org/projects/NetworkManager/ 协议 : GPLv2+ 描述 : This package contains NetworkManager support for team devices. 名称 :NetworkManager-tui 架构 :x86_64 由于管道被破坏而退出
这是一个巨大的工程,我的屏幕闪的不停,它会产生海量信息因此限于篇幅只能列出前50行输出内容
11、列出已经安装但是不包含在资源库中的包
[root@desperadochn ~]# yum info extras 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.pubyun.com * extras: mirrors.skyshe.cn * updates: mirrors.pubyun.com
然而并没有。
12、列出资源库中所有可以更新的rpm包
[root@desperadochn ~]# yum list updates |head -n 50 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.pubyun.com * extras: mirrors.skyshe.cn * updates: mirrors.pubyun.com 更新的软件包 avahi-autoipd.x86_64 0.6.31-15.el7_2.1 updates avahi-libs.x86_64 0.6.31-15.el7_2.1 updates bind-libs-lite.x86_64 32:9.9.4-29.el7_2.2 updates bind-license.noarch 32:9.9.4-29.el7_2.2 updates ca-certificates.noarch 2015.2.6-70.1.el7_2 updates coreutils.x86_64 8.22-15.el7_2.1 updates cyrus-sasl-lib.x86_64 2.1.26-20.el7_2 updates device-mapper.x86_64 7:1.02.107-5.el7_2.1 updates device-mapper-event.x86_64 7:1.02.107-5.el7_2.1 updates device-mapper-event-libs.x86_64 7:1.02.107-5.el7_2.1 updates device-mapper-libs.x86_64 7:1.02.107-5.el7_2.1 updates dracut.x86_64 033-360.el7_2 updates dracut-config-rescue.x86_64 033-360.el7_2 updates dracut-network.x86_64 033-360.el7_2 updates glibc.x86_64 2.17-106.el7_2.4 updates glibc-common.x86_64 2.17-106.el7_2.4 updates gmp.x86_64 1:6.0.0-12.el7_1 updates gnutls.x86_64 3.3.8-14.el7_2 updates grub2.x86_64 1:2.02-0.34.el7.centos updates grub2-tools.x86_64 1:2.02-0.34.el7.centos updates kernel.x86_64 3.10.0-327.10.1.el7 updates kernel-tools.x86_64 3.10.0-327.10.1.el7 updates kernel-tools-libs.x86_64 3.10.0-327.10.1.el7 updates kexec-tools.x86_64 2.0.7-38.el7_2.1 updates libgudev1.x86_64 219-19.el7_2.4 updates libxml2.x86_64 2.9.1-6.el7_2.2 updates logrotate.x86_64 3.8.6-7.el7_2 updates lvm2.x86_64 7:2.02.130-5.el7_2.1 updates lvm2-libs.x86_64 7:2.02.130-5.el7_2.1 updates nss.x86_64 3.19.1-19.el7_2 updates nss-sysinit.x86_64 3.19.1-19.el7_2 updates nss-tools.x86_64 3.19.1-19.el7_2 updates numactl-libs.x86_64 2.0.9-6.el7_2 updates openssh.x86_64 6.6.1p1-23.el7_2 updates openssh-clients.x86_64 6.6.1p1-23.el7_2 updates openssh-server.x86_64 6.6.1p1-23.el7_2 updates openssl.x86_64 1:1.0.1e-51.el7_2.2 updates openssl-libs.x86_64 1:1.0.1e-51.el7_2.2 updates polkit.x86_64 0.112-6.el7_2 updates procps-ng.x86_64 3.3.10-5.el7_2 updates python-pyudev.noarch 0.15-7.el7_2.1 updates rdma.noarch 7.2_4.1_rc6-2.el7 updates selinux-policy.noarch 3.13.1-60.el7_2.3 updates selinux-policy-targeted.noarch 3.13.1-60.el7_2.3 updates
由于输出过多,只显示前50行。
GPG:GPG :(全称 GnuPG )
是一款非对称加密(PGP)的免费软件,非对称加密方式简单讲就是指用公钥加密文件,用私钥解密文件。如果你想给谁发送加密信息,首先你要得到他的公钥,然后通过该公钥加密后传给他,对方利用自已的私钥就可解密并读取文件了。
v、参考文献
《循序渐进linux》第二版 高俊峰
《linux应用大全-基础与管理》 於岳
《linux技术手册》第六版 , , ,
原创文章,作者:Net17_desperado,如若转载,请注明出处:http://www.178linux.com/11841
评论列表(1条)
5w1h的自我发问非常棒,能做进行样式优化突出显示作为文章核心价值点会很赞,格式上做细致整理可以推公众号了,加油