centos7-yum命令详解
阅读⽬录
1 安装
2 更新和升级
3 查和显⽰
4 删除程序
5 清除缓存
yum(全称为 Yellow dog Updater, Modified)是⼀个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器⾃动下载RPM包并且安装,可以⾃动处理依赖性关系,并且⼀次安装所有依赖的软体包,⽆须繁琐地⼀次次下载、安装。yum 提供了查、安装、删除某⼀个、⼀组甚⾄全部软件包的命令,⽽且命令简洁⽽⼜好记。
yum的命令形式⼀般是如下:yum [options] [command] [package ...]
其中的[options]是可选的,选项包括-h(帮助),-y(当安装过程提⽰选择全部为"yes"),-q(不显⽰安装的过程)等等。[command]为所要进⾏的操作,[package ...]是操作的对象。
概括了部分常⽤的命令包括:
⾃动搜索最快镜像插件: yum install yum-fastestmirror
安装yum图形窗⼝插件: yum install yumex
查看可能批量安装的列表: yum grouplist
1 安装
yum install 全部安装
yum install package1 安装指定的安装包package1
yum groupinsall group1 安装程序组group1
2 更新和升级
yum update 全部更新
yum update package1 更新指定程序包package1
yum check-update 检查可更新的程序
yum upgrade package1 升级指定程序包package1
yum groupupdate group1 升级程序组group1
3 查和显⽰
yum info package1 显⽰安装包信息package1
yum list 显⽰所有已经安装和可以安装的程序包
yum list package1 显⽰指定程序包安装情况package1
yum groupinfo group1 显⽰程序组group1信息yum search string 根据关键字string查安装包
4 删除程序
yum remove | erase package1 删除程序包package1
yum groupremove group1 删除程序组group1
yum deplist package1 查看程序package1依赖情况
5 清除缓存
yum clean packages 清除缓存⽬录下的软件包
yum clean headers 清除缓存⽬录下的 headers
yum clean oldheaders 清除缓存⽬录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除缓存⽬录下的软件包及旧的headers
⽐如,要安装游戏程序组,⾸先进⾏查:
#:yum grouplist
可以发现,可安装的游戏程序包名字是”Games and Entertainment“,这样就可以进⾏安装:
#:yum groupinstall "Games and Entertainment"
所有的游戏程序包就⾃动安装了。在这⾥Games and Entertainment的名字必须⽤双引号选定,因为linux下⾯遇到空格会认为⽂件名结束了,因此必须告诉系统安装的程序包的名字是“Games and Entertainment”⽽不是“Games"。
此外,还可以修改配置⽂件/f选择安装源。可见yum进⾏配置程序有多⽅便了吧。更多详细的选项和命令,当然只要在命令提⽰⾏下⾯:man yum
yum groupinstall "KDE (K Desktop Environment)"
yum install pirut k3b mikmod
yum groupinstall "Server Configuration Tools"
yum groupinstall "Sound and Video"
#yum groupinstall "GNOME Desktop Environment"
yum groupinstall "Legacy Software Support"
yum groupinstall "Development Libraries"
yum groupinstall "Development Tools"
#yum groupinstall "Windows File Server"
yum groupinstall "System Tools"
yum groupinstall "X Window System"
yum install php-gd
yum install gd-devel
yum groupinstall "Chinese Support"
#yum install samba-common //该执⾏会⼀起安装 samba-client
#yum install samba
yum install gcc
yum install cpp
yum install gcc-c++
yum install ncurses
yum install ncurses-devel
yum install gd-devel php-gd
yum install gd-devel
yum install gcc
yum install cpp
yum install gcc-c++
yum install ncurses
yum install ncurses-devel
yum install gd-devel php-gd
yum install gd-devel
yum install zlib-devel
yum install freetype-devel freetype-demos freetype-utils
yum install libpng-devel libpng10 libpng10-devel
yum install libjpeg-devel
yum install ImageMagick
yum install php-gd
yum install flex
yum install ImageMagick-devel
#yum install system-config-bind
#yum groupinstall "DNS Name Server" //安裝 bind 及 bind-chroot 套件
yum groupinstall "MySQL Database"'
yum clean all
-----------------------------------------------------------------------------------------------------------
装了个fedora linux不能⽤中⽂输⼊是⼀件很棘⼿的事,连搜解决⽅案都没法搜。只能勉强⽤⼏个拼⾳碰碰运⽓,看Google能不能识别了。⽽我就遇见了这样的事。
解决⽅案:
yum install scim* -y
yum 命令详解:
Redhat和Fedora的软件安装命令是rpm,但是⽤rpm安装软件最⼤的⿇烦就是需要⼿动寻安装该软件所需要的⼀系列依赖关系,超级⿇烦不说,要是软件不⽤了需要卸载的话由于卸载掉了某个依赖关系⽽导致其他的软件不能⽤是⾮常恼⼈的。令⼈⾼兴的是,Fedora终于推出了类似于 ubuntu中的apt的命令yum,令Fedora的软件安装变得简单容易。Yum 有以下特点:
*可以同时配置多个资源库(Repository)
*简洁的配置⽂件(/f)
*⾃动解决增加或删除rpm包时遇到的倚赖性问题
*使⽤⽅便
*保持与RPM数据库的⼀致性
yum,是Yellow dog Updater Modified的简称,起初是由yellow dog这⼀发⾏版的开发者Terra Soft研发,⽤python写成,那时还叫做
yup(yellow dog updater),后经杜克⼤学的Linux@Duke开发团队进⾏改进,遂有此名。yum的宗旨是⾃动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并⾃动提⽰⽤户解决。yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点,也可以是本地软件池,但必须包含rpm的header, header包括了rpm包的各种信息,包括描述,功能,提供的⽂件,依赖性等.正是收集了这些 header并加以分析,才能⾃动化地完成余下的任务。
1.yum的⼀切配置信息都储存在⼀个叫f的配置⽂件中,通常位于/etc⽬录下,这是整个yum系统的重中之重,我在的F9中查看了这⼀⽂件,⼤家⼀起来看下:
[hanlong@localhost F9常⽤⽂档]$ sudo more /f
[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
# PUT YOUR REPOS HERE OR IN separate files po
# in /pos.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。
yum update,这⼀步是必须的,yum会从服务器的header⽬录下载rpm的header,放在本地的缓存中,
这可能会花费⼀定的时间,但⽐起yum 给我们带来⽅便,这些时间的花费⼜算的了什么呢?header下载完毕,yum会判断是否有可更新的软件包,如果有,它会询问你的意见,是否更新,还是说 y吧,把系统始终up to date总是不错的,这时yum开始下载软件包并使⽤调⽤rpm安装,这可能要⼀定时间,取决于要更新软件的数⽬和⽹络状况,万⼀⽹络断了,也没关系,再进⾏⼀次就可以了。升级完毕,以后每天只要使⽤yum check-update检查⼀下有⽆跟新,如果有,就⽤yum update进⾏跟新,时刻保持系统为最新,堵住⼀切发现的漏洞。⽤yum update packagename 对某个单独包进⾏升级。
现在简单的把yum软件升级的⼀些命令罗列⼀下:
(更新:我在安装wine的时候是⽤rpm⼀个⼀个安装的,先安装以来关系,然后在安装wine的主包,但是刚刚在论坛上发现来⼀个好的帖⼦,就yum的本地安装。参数是-localinstall
yumlocalinstallwine−∗这样的话,yum会⾃动安装所有的依赖关系,⽽不⽤rpm⼀个⼀个的安装了,省了好多⼯作。还有⼀个与他类似的参数:yumlocalinstallwine−∗这样的话,yum会⾃动安装所有的依赖关系,⽽不⽤rpm⼀个⼀个的安装了,省了好多⼯作。还有⼀个与他类似的参数:yum localupdate wine-*
如果有wine的新版本,⽽且你也下载到来本地,就可以这样本地更新wine了。)
1.列出所有可更新的软件清单
命令:yum check-update
2.安装所有更新软件
命令:yum update
3.仅安装指定的软件
命令:yum install
4.仅更新指定的软件
命令:yum update
5.列出所有可安裝的软件清单
命令:yum list
3.使⽤yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的。
安装的命令是,yum install xxx,yum会查询数据库,有⽆这⼀软件包,如果有,则检查其依赖冲突关系,
如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提⽰,询问是否要同时安装依赖,或删除冲突的包,你可以⾃⼰作出判断
删除的命令是,yum remove xxx,同安装⼀样,yum也会查询数据库,给出解决依赖关系的提⽰。
1.⽤YUM安装软件包
命令:yum install
2.⽤YUM删除软件包
命令:yum remove
4.⽤yum查询想安装的软件
我们常会碰到这样的情况,想要安装⼀个软件,只知道它和某⽅⾯有关,但⼜不能确切知道它的名字。这时yum的查询功能就起作⽤了。你可以⽤ yum search keyword这样的命令来进⾏搜索,⽐如我们要则安装⼀个Instant Messenger,但⼜不知到底有哪些,这时不妨⽤ yum search messenger这样的指令进⾏搜索,yum会搜索所有可⽤rpm的描述,列出所有描述中和messeger有关的rpm包,于是我们可能得到gaim,kopete等等,并从中选择。
有时我们还会碰到安装了⼀个包,但⼜不知道其⽤途,我们可以⽤yum info packagename这个指令来获取信息。
1.使⽤YUM查软件包
命令:yum search
2.列出所有可安装的软件包
命令:yum list
3.列出所有可更新的软件包
命令:yum list updates
4.列出所有已安装的软件包
命令:yum list installed
5.列出所有已安装但不在 Yum Repository 內的软件包
命令:yum list extras
6.列出所指定的软件包
命令:yum list 7.使⽤YUM获取软件包信息
命令:yum info 8.列出所有软件包的信息
命令:yum info
9.列出所有可更新的软件包信息
命令:yum info updates
php软件安装包10.列出所有已安裝的软件包信息
命令:yum info installed
11.列出所有已安裝但不在 Yum Repository 內的软件包信息
命令:yum info extras
12.列出软件包提供哪些⽂件
命令:yum provides
5.清除YUM缓存
yum 会把下载的软件包和header存储在cache中,⽽不会⾃动删除。如果我们觉得它们占⽤了磁盘空间,可以使⽤yum clean指令进⾏清除,更精确的⽤法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all 清除所有
1.清除缓存⽬录(/var/cache/yum)下的软件包
命令:yum clean packages
2.清除缓存⽬录(/var/cache/yum)下的 headers
命令:yum clean headers
3.清除缓存⽬录(/var/cache/yum)下旧的 headers
命令:yum clean oldheaders
4.清除缓存⽬录(/var/cache/yum)下的软件包及旧的headers
命令:yum clean, yum clean all (= yum clean packages; yum clean oldheaders)
3、安装最快源 yum install yum-fastestmirror
资源真的是⾮常丰富,从Centos到Ubuntu,ISO镜像、升级包,应有尽有,上交的兄弟们真是幸福,羡慕啊。不过还好,我们好⽍也算是在教育⽹内,凑合着也可以沾点光,下载⼀些。
⽹址为:ftp://ftp.sjtu.edu/
相应的yum的repo为
[updates]
name=Fedora updates
baseurl=ftp://ftp.sjtu.edu/fedora/linux/updates/releasever/releasever/basearch/
enabled=1
gpgcheck=0
[fedora]
name=Fedora releasever−releasever−basearch
baseurl=ftp://ftp.sjtu.edu/fedora/linux/releases/releasever/Everything/releasever/Everything/basearch/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
如果在机器上安装了apt管理器,则相应的源为
repomd ftp://ftp.sjtu.edu/ fedora/linux/updates/(VERSION)/(VERSION)/(ARCH)/
repomd ftp://ftp.sjtu.edu/ fedora/linux/releases/(VERSION)/Everything/(VERSION)/Everything/(ARCH)/os/
这与前⾯yum的源的格式上有⼀些差别,需要加以注意。
下⾯介绍⼀下fedora 下安装 scim
1.什么输⼊法适合我?
fcitx和scim是⽬前⽐较好的输⼊法,但是他们的特点不同,fcitx只能输⼊中⽂,⽽scim可以根据需要,利⽤不同的码表达到中英⽇…等等各种语⾔的输⼊问题。如果你只懂中⽂,或者只会输⼊英⽂&中⽂,那么fcitx是⼀个不错的选择,因为它漂亮,⼩巧,实⽤。如果你还需要输⼊⽇⽂或者其他语⾔,那么你因该安装scim。通过合理的配置,他能够让你像在windows⾥⾯⼀样,想输⼊什么语⾔就能输⼊什么语⾔,同⼀种语⾔想⽤什么输⼊法就⽤什么输⼊法。Scim的扩充性很强,⽽且⽐较稳定,我就是选择的是scim.
2.安装⼀个新输⼊法前需要哪些准备?
如果你选择fcitx或者scim,那么我建议你删除系统⾃带的中⽂输⼊法。⽅法如下:
rpm –qa | grep iiimf | xargs rpm –e
rpm –qa | grep Chinput| xargs rpm –e
如果有哪⼀⾏提⽰rpm: no packages given for erase那表⽰本⾝你的系统⾥⾯没有该输⼊法,不⽤担⼼,继续往下看就⾏了。
说明:rpm –qa是列出所有安装的rpm包,grep iiimf是选择出其中名字含有iiimf的那些包,xargs rpm –e的意思是把前⾯列出的这些包删除掉。Xargs的作⽤就是把前⾯通过 | 传过来的数据作为下⾯命令的参数。
这就好⽐⼀个过滤器,⾸先是放着所有的安装包,然后grep以后,只留下了含有某些特定关键字的rpm包,然后通过 xargs和rpm –e的组合运⽤,把剩下的这些含有某特定关键字的包删掉。这样就达到了删除该输⼊法及相关包的⽬的。下⾯的Chinput也是如此,在此不再重复。如果你还安装了其他输⼊法,⽐如你原来装的是fcitx,现在想装scim,那么你最好模仿上⾯的样⼦把fcitx删除,⽅法就是把iiimf的位置改成 fcitx就可以了。
在安装新输⼊法之前,最好这样做⼀下,因为多种输⼊法同时存在⼀个系统中没有什么好处,你只可能去⽤⼀个,⽽且他们同时存在可能有的时候会出现问题,想想也知道,会互相竞争嘛。所以在此以后,你应该保证系统⾥⾯已经没有中⽂输⼊法了。通过类似以下⽅式验证:whereis fcitx
whereis scim
whereis miniChinput
…
3.输⼊法是何时被系统调⽤的?
很多⼈不知道输⼊法到底什么时候被load进来,不知道这个当然就不知道为什么有的时候呼不出输⼊法(因为可能根本没有调⼊)当然也不会知道如何配置能够符合⾃⼰的要求。
⼤家都知道,linux下⾯⽐较常⽤的有两个桌⾯系统,gnome和kde,这都⽆所谓,他们其实都是架在X系统之上的。简单的说X系统就是⼀个最核⼼,也是最底层的桌⾯系统,gnome也好,kde也罢,或者其他的什么fvwm之类的,都只不过是X系统和⽤户之间的另⼀层软件⽽已。所以要想达到不管使⽤什么桌⾯系统,都能调⼊输⼊法,就是要在X系统启动的时候,让输⼊法也启动起来,那么这样之后,⽆论你使⽤的是gnome还是kde或者其他什么桌⾯,都能够调⼊输⼊法。因为当轮到他们启动的时候,X系统已经启动好了,输⼊法已经被系统调⼊了。那么X系统⼜是如何启动的呢?让我们从startx开始说起。
⽆论你⽤什么桌⾯系统,都是通过startx启动的,那么startx究竟是什么呢?⼀个应⽤程序还是⼀个脚本⽂件?为什么它能够启动各种桌⾯系统,并且能够按照相应的配置⽂件来设置呢?带着疑问,我在console⾥⾯输⼊whereis startx.
在到了存放startx的路径以后,⽤编辑器打开它发现原来是⼀个脚本⽂件。这个脚本⽂件的内容可能根据发⾏版不同,会有差异,如果你懂⼀些shell的语⾔,那么你可以尝试看看,不⼀定要全部看懂,但是你⼤致看过以后会发现最后有⼀个xinit的命令,然后跟着⼀些参数。我尝试在console下⾯输⼊ xinit(注意,不要在图形界⾯下做此操作)
发现图形界⾯启动拉,但是很丑陋,什么功能都没有,⿏标可以动,还有⼀个可以输⼊命令的⼩窗⼝。怎么退出来?ctrl+alt+backspace. 原来如此,startx只是⼀个脚本,⾥⾯通过对⼀系列配置⽂件的分析设
置,最终利⽤xinit命令启动图形界⾯。不管是kde还是gnome,都是在这个脚本中完成的。那么让我们再打开startx脚本看看⾥⾯还做了些什么。你仔细看看,会发现有⼀个东西很显眼,就是/etc/X11/xinit /xinitrc,这个xinitrc好像很眼熟,在配置输⼊法的其他贴中总是看到,这⾥出现了肯定是⾥⾯运⾏了这个脚本。再看其他的⼀些东西,其实都是利⽤shell配置出⼀个xinit启动的参数,⽤来配置桌⾯系统⽤的,不⽤管它。⽬前已知的就是startx的时候它会去执⾏⼀个/etc/X11 /xinit/xinitrc的脚本,让我们打开来看看⾥⾯有什么。
打开⼀看,其中⼀段我觉得最有价值,是⼀个for循环,他依次执⾏了/etc /X11/xinit/xinitrc.d/下⾯的所有脚本。你可以耐⼼的⼀下,⼀定可以发现。那么这个⽬录⾥⾯有些什么内容呢?有⼀个⽂件看名字就知道和输⼊相关,他叫xinput。等等,让我们理⼀下,是怎么从startx到xinput的。
⾸先是执⾏startx这个脚本⽂件,⾥⾯他会执⾏xinitrc这个脚本,然后xinitrc脚本⾥⾯的,叫xinput。OK, 我们继续,打开xinput看看。
4.安装软件包
rpm -Uvh scim-0.8.2-1.i586.rpm
rpm -Uvh scim-chinese-0.2.6-1.i586.rpm
5.修改配置⽂件
接下来重要的⼀步就是,修改⼀下
/etc /X11/xinit/xinitrc.d/xinput⽂件,让SCIM在X启动的时候也启动。我看到⽹上很多⽂章也说过,但总是不得要领,经过⾃⼰试验,最简单的就是把xinput⽂件⾥的Chinput全部替换为SCIM,chinput替换为scim,保存重启X就可以了。
zh_CN*)
if [ -e /usr/bin/scim ]; then
XIM="SCIM"
elif [ -e /usr/X11R6/bin/xcin ] ; then
export LC_CTYPE=zh_CN.GB2312
XIM="xcin-zh_CN.GB2312"
fi
;;
..............................
SCIM)
XIM_PROGRAM=scim
XIM_ARGS="-d"
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论