yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。
基於RPM包管理。可以从指定的server自己主动下载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 依据keywordstring查找安装包
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"。
此外,还能够改动配置文件/etc/yum.conf选择安装源。
可见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的软件安装变得简单easy。Yum 有下面特点:
*能够同一时候配置多个资源库(Repository)
*简洁的配置文件(/etc/yum.conf)
*自己主动解决添加或删除rpm包时遇到的倚赖性问题
*使用方便
*保持与RPM数据库的一致性
yum,是Yellow dog Updater Modified的简称。起初是由yellow dog这一发行版的开发人员Terra Soft研发,用python写成,那时还叫做yup(yellow dog updater)。后经杜克大学的[email protected]开发团队进行改进。遂有此名。yum的宗旨是自己主动化地升级。安装/移除rpm包。收集rpm包的相关信息。检查依赖性并自己主动提示用户解决。yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它能够是http或ftp网站。
也能够是本地软件池,但必须包含rpm的header。 header包含了rpm包的各种信息,包含描写叙述,功能。提供的文件,依赖性等.正是收集了这些 header并加以分析。才干自己主动化地完毕余下的任务。
1.yum的一切配置信息都储存在一个叫yum.conf的配置文件里,通常位于/etc目 录下,这是整个yum系统的重中之重。我在的F9中查看了这一文件,大家一起来看下:
[[email protected] F9经常使用文档]$ sudo more /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
# PUT YOUR REPOS HERE OR IN separate files named file.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。
yum update。这一步是必须的,yum会从server的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
$yum localinstall wine-*
这种话,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
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)
以上全部命令參数的使用都能够用man来查看:
1、安装图形版yumex:yum install yumex。
2、安装额外的软件仓库:
rpm.livna.org 的软件包仓库:
rpm -ivh http://livna-dl.reloumirrors.net … ease-7-2.noarch.rpm
freshrpms.net 的软件包仓库:
rpm –ivh http://ftp.freshrpms.net/pub/fre … 1.1-1.fc.noarch.rpm
3、安装最快源 yum install yum-fastestmirror
资源真的是很丰富。从Centos到Ubuntu,ISO镜像、升级包。应有尽有,上交的兄弟们真是幸福,羡慕啊。只是还好,我们好歹也算是在教育网内,凑合着也能够沾点光,下载一些。
网址为:ftp://ftp.sjtu.edu.cn/
对应的yum的repo为
[updates]
name=Fedora updates
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-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
假设在机器上安装了apt管理器,则对应的源为
repomd ftp://ftp.sjtu.edu.cn/ fedora/linux/updates/$(VERSION)/$(ARCH)/
repomd ftp://ftp.sjtu.edu.cn/ fedora/linux/releases/$(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以后。仅仅留下了含有某些特定keyword的rpm包。然后通过 xargs和rpm –e的组合运用,把剩下的这些含有某特定keyword的包删掉。这样就达到了删除该输入法及相关包的目的。以下的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"
;;
然后改动/etc/gtk-2.0/gtk.immodules,找到这一行:
"xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:zh"
改为:
"xim" "X Input Method" "gtk20" "/usr/share/locale" "en:ko:ja:zh"
可能表示输入英文时也使用该输入法
安装完成后执行scim-setup,将输入法的切换键改为ctrl+space