Linux yum 命令
yum(全称为YellowdogUpdater,Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
yum的命令形式一般是如下:yum[options][command][package...]
其中的[options]是可选的,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。[command]为所要进行的操作,[package...]是操作的对象。
概括了部分常用的命令包括:
自动搜索最快镜像插件:yuminstallyum-fastestmirror
安装yum图形窗口插件:yuminstallyumex
查看可能批量安装的列表:yumgrouplist
1安装
yuminstall全部安装
yuminstallpackage1安装指定的安装包package1
yumgroupinsallgroup1安装程序组group1
2更新和升级
yumupdate全部更新
yumupdatepackage1更新指定程序包package1
yumcheck-update检查可更新的程序
yumupgradepackage1升级指定程序包package1
yumgroupupdategroup1升级程序组group1
3查找和显示
yuminfopackage1显示安装包信息package1
yumlist显示所有已经安装和可以安装的程序包
yumlistpackage1显示指定程序包安装情况package1
yumgroupinfogroup1显示程序组group1信息yumsearchstring根据关键字string查找安装包
4删除程序
yumremove|erasepackage1删除程序包package1
yumgroupremovegroup1删除程序组group1
yumdeplistpackage1查看程序package1依赖情况
5清除缓存
yumcleanpackages清除缓存目录下的软件包
yumcleanheaders清除缓存目录下的headers
yumcleanoldheaders清除缓存目录下旧的headers
yumclean,yumcleanall(=yumcleanpackages;yumcleanoldheaders)清除缓存目录下的软件包及旧的headers
比如,要安装游戏程序组,首先进行查找:
#:yumgrouplist
可以发现,可安装的游戏程序包名字是”GamesandEntertainment“,这样就可以进行安装:
#:yumgroupinstall"GamesandEntertainment"
所有的游戏程序包就自动安装了。在这里GamesandEntertainment的名字必须用双引号选定,因为linux下面遇到空格会认为文件名结束了,因此必须告诉系统安装的程序包的名字是“GamesandEntertainment”而不是“Games"。
此外,还可以修改配置文件/etc/yum.conf选择安装源。可见yum进行配置程序有多方便了吧。更多详细的选项和命令,当然只要在命令提示行下面:manyum
yumgroupinstall"KDE(KDesktopEnvironment)"
yuminstallpirutk3bmikmod
yumgroupinstall"ServerConfigurationTools"
yumgroupinstall"SoundandVideo"
#yumgroupinstall"GNOMEDesktopEnvironment"
yumgroupinstall"LegacySoftwareSupport"
yumgroupinstall"DevelopmentLibraries"
yumgroupinstall"DevelopmentTools"
#yumgroupinstall"WindowsFileServer"
yumgroupinstall"SystemTools"
yumgroupinstall"XWindowSystem"
yuminstallphp-gd
yuminstallgd-devel
yumgroupinstall"ChineseSupport"
#yuminstallsamba-common//该执行会一起安装samba-client
#yuminstallsamba
yuminstallgcc
yuminstallcpp
yuminstallgcc-c++
yuminstallncurses
yuminstallncurses-devel
yuminstallgd-develphp-gd
yuminstallgd-devel
yuminstallgcc
yuminstallcpp
yuminstallgcc-c++
yuminstallncurses
yuminstallncurses-devel
yuminstallgd-develphp-gd
yuminstallgd-devel
yuminstallzlib-devel
yuminstallfreetype-develfreetype-demosfreetype-utils
yuminstalllibpng-devellibpng10libpng10-devel
yuminstalllibjpeg-devel
yuminstallImageMagick
yuminstallphp-gd
yuminstallflex
yuminstallImageMagick-devel
#yuminstallsystem-config-bind
#yumgroupinstall"DNSNameServer"//安裝bind及bind-chroot套件
yumgroupinstall"MySQLDatabase"'
yumcleanall
-----------------------------------------------------------------------------------------------------------
装了个fedoralinux不能用中文输入是一件很棘手的事,连搜解决方案都没法搜。只能勉强用几个拼音碰碰运气,看Google能不能识别了。而我就遇见了这样的事。
解决方案:
yuminstallscim*-y
yum命令详解:
Redhat和Fedora的软件安装命令是rpm,但是用rpm安装软件最大的麻烦就是需要手动寻找安装该软件所需要的一系列依赖关系,超级麻烦不说,要是软件不用了需要卸载的话由于卸载掉了某个依赖关系而导致其他的软件不能用是非常恼人的。令人高兴的是,Fedora终于推出了类似于ubuntu中的apt的命令yum,令Fedora的软件安装变得简单容易。Yum有以下特点:
*可以同时配置多个资源库(Repository)
*简洁的配置文件(/etc/yum.conf)
*自动解决增加或删除rpm包时遇到的倚赖性问题
*使用方便
*保持与RPM数据库的一致性
yum,是YellowdogUpdaterModified的简称,起初是由yellowdog这一发行版的开发者TerraSoft研发,用python写成,那时还叫做yup(yellowdogupdater),后经杜克大学的Linux@Duke开发团队进行改进,遂有此名。yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决。yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点,也可以是本地软件池,但必须包含rpm的header,header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是收集了这些header并加以分析,才能自动化地完成余下的任务。
1.yum的一切配置信息都储存在一个叫yum.conf的配置文件中,通常位于/etc目录下,这是整个yum系统的重中之重,我在的F9中查看了这一文件,大家一起来看下:
[hanlong@localhostF9常用文档]$sudomore/etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
metadata_expire=1800
#PUTYOURREPOSHEREORINseparatefilesnamedfile.repo
#in/etc/yum.repos.d
下面简单的对这一文件作简要的说明:
cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。
debuglevel:除错级别,0──10,默认是2
logfile:yum的日志文件,默认是/var/log/yum.log。
exactarch,有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用686的包来升级。
gpgchkeck=有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认好像也是检查的。
2.好了,接下来就是yum的使用了,首先用yum来升级软件,yum的操作大都须有超级用户的权限,当然可以用sudo。
yumupdate,这一步是必须的,yum会从服务器的header目录下载rpm的header,放在本地的缓存中,这可能会花费一定的时间,但比起yum给我们带来方便,这些时间的花费又算的了什么呢?header下载完毕,yum会判断是否有可更新的软件包,如果有,它会询问你的意见,是否更新,还是说y吧,把系统始终uptodate总是不错的,这时yum开始下载软件包并使用调用rpm安装,这可能要一定时间,取决于要更新软件的数目和网络状况,万一网络断了,也没关系,再进行一次就可以了。升级完毕,以后每天只要使用yumcheck-update检查一下有无跟新,如果有,就用yumupdate进行跟新,时刻保持系统为最新,堵住一切发现的漏洞。用yumupdatepackagename对某个单独包进行升级。
现在简单的把yum软件升级的一些命令罗列一下:
(更新:我在安装wine的时候是用rpm一个一个安装的,先安装以来关系,然后在安装wine的主包,但是刚刚在论坛上发现来一个好的帖子,就yum的本地安装。参数是-localinstall
$yumlocalinstallwine-*
这样的话,yum会自动安装所有的依赖关系,而不用rpm一个一个的安装了,省了好多工作。
还有一个与他类似的参数:
$yumlocalupdatewine-*
如果有wine的新版本,而且你也下载到来本地,就可以这样本地更新wine了。)
1.列出所有可更新的软件清单
命令:yumcheck-update
2.安装所有更新软件
命令:yumupdate
3.仅安装指定的软件
命令:yuminstall
4.仅更新指定的软件
命令:yumupdate
5.列出所有可安裝的软件清单
命令:yumlist
3.使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的。
安装的命令是,yuminstallxxx,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断
删除的命令是,yumremovexxx,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。
1.用YUM安装软件包
命令:yuminstall
2.用YUM删除软件包
命令:yumremove
4.用yum查询想安装的软件
我们常会碰到这样的情况,想要安装一个软件,只知道它和某方面有关,但又不能确切知道它的名字。这时yum的查询功能就起作用了。你可以用yumsearchkeyword这样的命令来进行搜索,比如我们要则安装一个InstantMessenger,但又不知到底有哪些,这时不妨用yumsearchmessenger这样的指令进行搜索,yum会搜索所有可用rpm的描述,列出所有描述中和messeger有关的rpm包,于是我们可能得到gaim,kopete等等,并从中选择。
有时我们还会碰到安装了一个包,但又不知道其用途,我们可以用yuminfopackagename这个指令来获取信息。
1.使用YUM查找软件包
命令:yumsearch
2.列出所有可安装的软件包
命令:yumlist
3.列出所有可更新的软件包
命令:yumlistupdates
4.列出所有已安装的软件包
命令:yumlistinstalled
5.列出所有已安装但不在YumRepository內的软件包
命令:yumlistextras
6.列出所指定的软件包
命令:yumlist7.使用YUM获取软件包信息
命令:yuminfo8.列出所有软件包的信息
命令:yuminfo
9.列出所有可更新的软件包信息
命令:yuminfoupdates
10.列出所有已安裝的软件包信息
命令:yuminfoinstalled
11.列出所有已安裝但不在YumRepository內的软件包信息
命令:yuminfoextras
12.列出软件包提供哪些文件
命令:yumprovides
5.清除YUM缓存
yum会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yumclean指令进行清除,更精确的用法是yumcleanheaders清除header,yumcleanpackages清除下载的rpm包,yumcleanall清除所有
1.清除缓存目录(/var/cache/yum)下的软件包
命令:yumcleanpackages
2.清除缓存目录(/var/cache/yum)下的headers
命令:yumcleanheaders
3.清除缓存目录(/var/cache/yum)下旧的headers
命令:yumcleanoldheaders
4.清除缓存目录(/var/cache/yum)下的软件包及旧的headers
命令:yumclean,yumcleanall(=yumcleanpackages;yumcleanoldheaders)
以上所有命令参数的使用都可以用man来查看:
1、安装图形版yumex:yuminstallyumex。
2、安装额外的软件仓库:
rpm.livna.org的软件包仓库:
rpm-ivhhttp://livna-dl.reloumirrors.net…ease-7-2.noarch.rpm
freshrpms.net的软件包仓库:
rpm–ivhhttp://ftp.freshrpms.net/pub/fre…1.1-1.fc.noarch.rpm
3、安装最快源yuminstallyum-fastestmirror
资源真的是非常丰富,从Centos到Ubuntu,ISO镜像、升级包,应有尽有,上交的兄弟们真是幸福,羡慕啊。不过还好,我们好歹也算是在教育网内,凑合着也可以沾点光,下载一些。
网址为:ftp://ftp.sjtu.edu.cn/
相应的yum的repo为
[updates]
name=Fedoraupdates
baseurl=ftp://ftp.sjtu.edu.cn/fedora/linux/updates/$releasever/$basearch/
enabled=1
gpgcheck=0
[fedora]
name=Fedora$releasever-$basearch
baseurl=ftp://ftp.sjtu.edu.cn/fedora/linux/releases/$releasever/Everything/$basearch/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedorafile:///etc/pki/rpm-gpg/RPM-GPG-KEY
如果在机器上安装了apt管理器,则相应的源为
repomdftp://ftp.sjtu.edu.cn/fedora/linux/updates/$(VERSION)/$(ARCH)/
repomdftp://ftp.sjtu.edu.cn/fedora/linux/releases/$(VERSION)/Everything/$(ARCH)/os/