yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器垮兑∷咄撸基於RPM包管理川队,能夠從指定的服務(wù)器自動下載RPM包并且安裝,可以自動處理依賴性關(guān)系睬澡,并且一次安裝所有依賴的軟體包固额,無須繁瑣地一次次下載、安裝煞聪。yum提供了查找斗躏、安裝、刪除某一個米绕、一組甚至全部軟件包的命令瑟捣,而且命令簡潔而又好記。
yum的命令形式一般是如下:yum [options] [command] [package ...]
其中的[options]是可選的栅干,選項(xiàng)包括-h(幫助)迈套,-y(當(dāng)安裝過程提示選擇全部為"yes"),-q(不顯示安裝的過程)等等碱鳞。[command]為所要進(jìn)行的操作桑李,[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 顯示所有已經(jīng)安裝和可以安裝的程序包
yum list package1 顯示指定程序包安裝情況package1
yum groupinfo group1 顯示程序組group1信息yum search string 根據(jù)關(guān)鍵字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
比如窿给,要安裝游戲程序組贵白,首先進(jìn)行查找:
#:yum grouplist
可以發(fā)現(xiàn),可安裝的游戲程序包名字是”Games and Entertainment“崩泡,這樣就可以進(jìn)行安裝:
#:yum groupinstall "Games and Entertainment"
所 有的游戲程序包就自動安裝了禁荒。在這里Games and Entertainment的名字必須用雙引號選定,因?yàn)閘inux下面遇到空格會認(rèn)為文件名結(jié)束了角撞,因此必須告訴系統(tǒng)安裝的程序包的名字是“Games and Entertainment”而不是“Games"呛伴。
此外勃痴,還可以修改配置文件/etc/yum.conf選擇安裝源∪瓤担可見yum進(jìn)行配置程序有多方便了吧沛申。更多詳細(xì)的選項(xiàng)和命令姐军,當(dāng)然只要在命令提示行下面: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 //該執(zhí)行會一起安裝 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不能用中文輸入是一件很棘手的事铁材,連搜解決方案都沒法搜。只能勉強(qiáng)用幾個拼音碰碰運(yùn)氣奕锌,看Google能不能識別了著觉。而我就遇見了這樣的事。
解決方案:
yum install scim* -y
yum 命令詳解:
Redhat和Fedora的軟件安裝命令是rpm歇攻,但是用rpm安裝軟件最大的麻煩就是需要手動尋找安裝該軟件所需要的一系列依賴關(guān)系固惯,超級 麻煩不說,要是軟件不用了需要卸載的話由于卸載掉了某個依賴關(guān)系而導(dǎo)致其他的軟件不能用是非常惱人的缴守。令人高興的是葬毫,F(xiàn)edora終于推出了類似于 ubuntu中的apt的命令yum,令Fedora的軟件安裝變得簡單容易屡穗。Yum 有以下特點(diǎn):
*可以同時配置多個資源庫(Repository)
*簡潔的配置文件(/etc/yum.conf)
*自動解決增加或刪除rpm包時遇到的倚賴性問題
*使用方便
*保持與RPM數(shù)據(jù)庫的一致性
yum贴捡,是Yellow dog Updater Modified的簡稱,起初是由yellow dog這一發(fā)行版的開發(fā)者Terra Soft研發(fā)村砂,用python寫成烂斋,那時還叫做yup(yellow dog updater),后經(jīng)杜克大學(xué)的Linux@Duke開發(fā)團(tuán)隊進(jìn)行改進(jìn)础废,遂有此名汛骂。yum的宗旨是自動化地升級,安裝/移除rpm包评腺,收集rpm包的相關(guān)信息帘瞭,檢查依賴性并自動提示用戶解決。yum的關(guān)鍵之處是要有可靠的repository蒿讥,顧名思義蝶念,這是軟件的倉庫,它可以是http或ftp站點(diǎn)芋绸, 也可以是本地軟件池媒殉,但必須包含rpm的header, header包括了rpm包的各種信息摔敛,包括描述廷蓉,功能,提供的文件马昙,依賴性等.正是收集了這些 header并加以分析苦酱,才能自動化地完成余下的任務(wù)售貌。
1.yum的一切配置信息都儲存在一個叫yum.conf的配置文件中,通常位于/etc目 錄下疫萤,這是整個yum系統(tǒng)的重中之重,我在的F9中查看了這一文件敢伸,大家一起來看下:
[hanlong@localhost 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包和數(shù)據(jù)庫,一般是/var/cache/yum池颈。
debuglevel:除錯級別尾序,0──10,默認(rèn)是2
logfile:yum的日志文件,默認(rèn)是/var/log/yum.log躯砰。
exactarch每币,有兩個選項(xiàng)1和0,代表是否只升級和你安裝軟件包c(diǎn)pu體系一致的包,如果設(shè)為1琢歇,則如你安裝了一個i386的rpm兰怠,則yum不會用686的包來升級。
gpgchkeck= 有1和0兩個選擇李茫,分別代表是否是否進(jìn)行g(shù)pg校驗(yàn)揭保,如果沒有這一項(xiàng),默認(rèn)好像也是檢查的魄宏。
2.好了秸侣,接下來就是yum的使用了,首先用yum來升級軟件宠互,yum的操作大都須有超級用戶的權(quán)限味榛,當(dāng)然可以用sudo。
yum update予跌,這一步是必須的搏色,yum會從服務(wù)器的header目錄下載rpm的header,放在本地的緩存中匕得,這可能會花費(fèi)一定的時間继榆,但比起yum 給我們帶來方便,這些時間的花費(fèi)又算的了什么呢汁掠?header下載完畢略吨,yum會判斷是否有可更新的軟件包,如果有考阱,它會詢問你的意見翠忠,是否更新,還是說 y吧乞榨,把系統(tǒng)始終up to date總是不錯的秽之,這時yum開始下載軟件包并使用調(diào)用rpm安裝当娱,這可能要一定時間,取決于要更新軟件的數(shù)目和網(wǎng)絡(luò)狀況考榨,萬一網(wǎng)絡(luò)斷了跨细,也沒關(guān)系,再 進(jìn)行一次就可以了河质。升級完畢冀惭,以后每天只要使用yum check-update檢查一下有無跟新,如果有掀鹅,就用yum update進(jìn)行跟新散休,時刻保持系統(tǒng)為最新,堵住一切發(fā)現(xiàn)的漏洞乐尊。用yum update packagename 對某個單獨(dú)包進(jìn)行升級戚丸。
現(xiàn)在簡單的把yum軟件升級的一些命令羅列一下:
(更新:我在安裝wine的時候是用rpm一個一個安裝的,先安裝以來關(guān)系扔嵌,然后在安裝wine的主包限府,但是剛剛在論壇上發(fā)現(xiàn)來一個好的帖子,就yum的本地安裝对人。參數(shù)是-localinstall
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會查詢數(shù)據(jù)庫回溺,有無這一軟件包春贸,如果有,則檢查其依賴沖突關(guān)系遗遵,如果沒有依賴沖突萍恕,那么最好,下載安裝;如果有车要,則會給出提示允粤,詢問是否要同時安裝依賴,或刪除沖突的包,你可以自己作出判斷
刪除的命令是类垫,yum remove xxx司光,同安裝一樣,yum也會查詢數(shù)據(jù)庫悉患,給出解決依賴關(guān)系的提示残家。
1.用YUM安裝軟件包
命令:yum install
2.用YUM刪除軟件包
命令:yum remove
4.用yum查詢想安裝的軟件
我們常會碰到這樣的情況,想要安裝一個軟件购撼,只知道它和某方面有關(guān)跪削,但又不能確切知道它的名字。這時yum的查詢功能就起作用了迂求。你可以用 yum search keyword這樣的命令來進(jìn)行搜索,比如我們要則安裝一個Instant Messenger晃跺,但又不知到底有哪些揩局,這時不妨用 yum search messenger這樣的指令進(jìn)行搜索,yum會搜索所有可用rpm的描述掀虎,列出所有描述中和messeger有關(guān)的rpm包凌盯,于是我們可能得到 gaim,kopete等等烹玉,并從中選擇驰怎。
有時我們還會碰到安裝了一個包,但又不知道其用途二打,我們可以用yum info packagename這個指令來獲取信息县忌。
1.使用YUM查找軟件包
命令:yum search
2.列出所有可安裝的軟件包
命令:yum list
3.列出所有可更新的軟件包
命令:yum list updates
4.列出所有已安裝的軟件包
命令:yum list installed
5.列出所有已安裝但不在 Yum Repository 內(nèi)的軟件包
命令:yum list extras
6.列出所指定的軟件包
命令:yum list 7.使用YUM獲取軟件包信息
命令:yum info 8.列出所有軟件包的信息
命令:yum info
9.列出所有可更新的軟件包信息
命令:yum info updates
10.列出所有已安裝的軟件包信息
命令:yum info installed
11.列出所有已安裝但不在 Yum Repository 內(nèi)的軟件包信息
命令:yum info extras
12.列出軟件包提供哪些文件
命令:yum provides
5.清除YUM緩存
yum 會把下載的軟件包和header存儲在cache中,而不會自動刪除继效。如果我們覺得它們占用了磁盤空間症杏,可以使用yum clean指令進(jìn)行清除,更精確的用法是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)
以上所有命令參數(shù)的使用都可以用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鏡像、升級包溉仑,應(yīng)有盡有挖函,上交的兄弟們真是幸福,羨慕啊。不過還好怨喘,我們好歹也算是在教育網(wǎng)內(nèi)津畸,湊合著也可以沾點(diǎn)光,下載一些必怜。
網(wǎng)址為:ftp://ftp.sjtu.edu.cn/
相應(yīng)的yum的repo為
[updates]
name=Fedora updates
baseurl=ftp://ftp.sjtu.edu.cn/fedora/linux/updates/basearch/
enabled=1
gpgcheck=0
[fedora]
name=Fedora basearch
baseurl=ftp://ftp.sjtu.edu.cn/fedora/linux/releases/basearch/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
如果在機(jī)器上安裝了apt管理器肉拓,則相應(yīng)的源為
repomd ftp://ftp.sjtu.edu.cn/ fedora/linux/updates/(ARCH)/
repomd ftp://ftp.sjtu.edu.cn/ fedora/linux/releases/(ARCH)/os/
這與前面yum的源的格式上有一些差別,需要加以注意梳庆。
下面介紹一下fedora 下安裝 scim
1. 什么輸入法適合我暖途?
fcitx和scim是目前比較好的輸入法, 但是他們的特點(diǎn)不同膏执,fcitx只能輸入中文驻售,而scim可以根據(jù)需要,利用不同的碼表達(dá)到中英日…等等各種語言的輸入問題更米。如果你只懂中文欺栗,或者只會輸 入英文&中文,那么fcitx是一個不錯的選擇征峦,因?yàn)樗脸偌福∏桑瑢?shí)用栏笆。如果你還需要輸入日文或者其他語言类腮,那么你因該安裝scim。通 過合理的配置蛉加,他能夠讓你像在windows里面一樣蚜枢,想輸入什么語言就能輸入什么語言,同一種語言想用什么輸入法就用什么輸入法七婴。Scim的擴(kuò)充性很 強(qiáng)祟偷,而且比較穩(wěn)定,我就是選擇的是scim.
2. 安裝一個新輸入法前需要哪些準(zhǔn)備打厘?
如果你選擇fcitx或者scim修肠,那么我建議你刪除系統(tǒng)自帶的中文輸入法。方法如下:
rpm –qa | grep iiimf | xargs rpm –e
rpm –qa | grep Chinput| xargs rpm –e
如果有哪一行提示rpm: no packages given for erase那表示本身你的系統(tǒng)里面沒有該輸入法户盯,不用擔(dān)心嵌施,繼續(xù)往下看就行了。
說 明:rpm –qa是列出所有安裝的rpm包莽鸭,grep iiimf是選擇出其中名字含有iiimf的那些包吗伤,xargs rpm –e的意思是把前面列出的這些包刪除掉。Xargs的作用就是把前面通過 | 傳過來的數(shù)據(jù)作為下面命令的參數(shù)硫眨。這就好比一個過濾器足淆,首先是放著所有的安裝包,然后grep以后,只留下了含有某些特定關(guān)鍵字的rpm包巧号,然后通過 xargs和rpm –e的組合運(yùn)用族奢,把剩下的這些含有某特定關(guān)鍵字的包刪掉。這樣就達(dá)到了刪除該輸入法及相關(guān)包的目的丹鸿。下面的Chinput也是如此越走,在此不再重復(fù)。如果你還安裝了其他輸入法靠欢,比如你原來裝的是fcitx廊敌,現(xiàn)在想裝scim,那么你最好模仿上面的樣子把fcitx刪除门怪,方法就是把iiimf的位置改成 fcitx就可以了骡澈。
在安裝新輸入法之前,最好這樣做一下掷空,因?yàn)槎喾N輸入法同時存在一個系統(tǒng)中沒有什么好處秧廉,你只可能去用一個,而且他們同時存在可能有的時候會出現(xiàn)問題拣帽,想想也知道,會互相競爭嘛嚼锄。所以在此以后减拭,你應(yīng)該保證系統(tǒng)里面已經(jīng)沒有中文輸入法了行瑞。通過類似以下方式驗(yàn)證:
whereis fcitx
whereis scim
whereis miniChinput
…
3. 輸入法是何時被系統(tǒng)調(diào)用的盖文?
很多人不知道輸入法到底什么時候被load進(jìn)來,不知道這個當(dāng)然就不知道為什么有的時候呼不出輸入法(因?yàn)榭赡芨緵]有調(diào)入)當(dāng)然也不會知道如何配置能夠符合自己的要求朽缴。
大 家都知道沧侥,linux下面比較常用的有兩個桌面系統(tǒng)可霎,gnome和kde,這都無所謂宴杀,他們其實(shí)都是架在X系統(tǒng)之上的癣朗。簡單的說X系統(tǒng)就是一個最核心,也 是最底層的桌面系統(tǒng)旺罢,gnome也好旷余,kde也罷,或者其他的什么fvwm之類的扁达,都只不過是X系統(tǒng)和用戶之間的另一層軟件而已正卧。所以要想達(dá)到不管使用什 么桌面系統(tǒng),都能調(diào)入輸入法跪解,就是要在X系統(tǒng)啟動的時候炉旷,讓輸入法也啟動起來,那么這樣之后,無論你使用的是gnome還是kde或者其他什么桌面窘行,都能 夠調(diào)入輸入法饥追。因?yàn)楫?dāng)輪到他們啟動的時候,X系統(tǒng)已經(jīng)啟動好了抽高,輸入法已經(jīng)被系統(tǒng)調(diào)入了判耕。那么X系統(tǒng)又是如何啟動的呢?讓我們從startx開始說起翘骂。
無論你用什么桌面系統(tǒng)壁熄,都是通過startx啟動的,那么startx究竟是什么呢碳竟?一個應(yīng)用程序還是一個腳本文件草丧?為什么它能夠啟動各種桌面系統(tǒng),并且能夠按照相應(yīng)的配置文件來設(shè)置呢莹桅?帶著疑問昌执,我在console里面輸入whereis startx.
在 找到了存放startx的路徑以后,用編輯器打開它發(fā)現(xiàn)原來是一個腳本文件诈泼。這個腳本文件的內(nèi)容可能根據(jù)發(fā)行版不同懂拾,會有差異,如果你懂一些shell的 語言铐达,那么你可以嘗試看看岖赋,不一定要全部看懂,但是你大致看過以后會發(fā)現(xiàn)最后有一個xinit的命令瓮孙,然后跟著一些參數(shù)唐断。我嘗試在console下面輸入 xinit(注意,不要在圖形界面下做此操作)
發(fā)現(xiàn)圖形界面啟動拉杭抠,但是很丑陋脸甘,什么功能都沒有,鼠標(biāo)可以動偏灿,還有一個可以輸入命令的小窗口丹诀。怎 么退出來?ctrl+alt+backspace. 原來如此菩混,startx只是一個腳本忿墅,里面通過對一系列配置文件的分析設(shè)置,最終利用xinit命令啟動圖形界面沮峡。不管是kde還是gnome疚脐,都是在這 個腳本中完成的。那么讓我們再打開startx腳本看看里面還做了些什么邢疙。你仔細(xì)看看棍弄,會發(fā)現(xiàn)有一個東西很顯眼望薄,就是/etc/X11/xinit /xinitrc,這個xinitrc好像很眼熟呼畸,在配置輸入法的其他貼中總是看到痕支,這里出現(xiàn)了肯定是里面運(yùn)行了這個腳本。再看其他的一些東西蛮原,其實(shí)都是利用shell配置出一個xinit啟動的參數(shù)卧须,用來配置桌面系統(tǒng)用的,不用管它儒陨。目前已知的就是startx的時候它會去執(zhí)行一個/etc/X11 /xinit/xinitrc的腳本花嘶,讓我們打開來看看里面有什么。
打開一看蹦漠,其中一段我覺得最有價值椭员,是一個for循環(huán),他依次執(zhí)行了/etc /X11/xinit/xinitrc.d/下面的所有腳本笛园。你可以耐心的找一下隘击,一定可以發(fā)現(xiàn)。那么這個目錄里面有些什么內(nèi)容呢研铆?有一個文件看名字就知道和輸入相關(guān)埋同,他叫xinput。等等棵红,讓我們理一下莺禁,是怎么從startx到xinput的。
首先是執(zhí)行startx這個腳本文件窄赋,里面他會執(zhí)行xinitrc這個腳本,然后xinitrc腳本里面的楼熄,叫xinput忆绰。OK, 我們繼續(xù),打開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啟動的時候也啟動缕粹。我看到網(wǎng)上很多文章也說過稚茅,但總是不得要領(lǐng),經(jīng)過自己試 驗(yàn)平斩,最簡單的就是把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"
可能表示輸入英文時也使用該輸入法
安裝完畢后運(yùn)行scim-setup,將輸入法的切換鍵改為ctrl+space
</article>
</main>