linux yum命令詳解-轉

yum(全稱爲 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。基於RPM包管理,可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的軟體包,無須繁瑣地一次次下載、安裝。yum提供了查找、安裝、刪除某一個、一組甚至所有軟件包的命令,並且命令簡潔而又好記。php

yum的命令形式通常是以下:yum [options] [command] [package ...]
其中的[options]是可選的,選項包括-h(幫助),-y(當安裝過程提示選擇所有爲"yes"),-q(不顯示安裝的過程)等等。[command]爲所要進行的操做,[package ...]是操做的對象。前端

歸納了部分經常使用的命令包括:python

自動搜索最快鏡像插件:   yum install yum-fastestmirror
安裝yum圖形窗口插件:    yum install yumex
查看可能批量安裝的列表: yum grouplistlinux

1 安裝
yum install 所有安裝
yum install package1 安裝指定的安裝包package1
yum groupinsall group1 安裝程序組group1c++

2 更新和升級
yum update 所有更新
yum update package1 更新指定程序包package1
yum check-update 檢查可更新的程序
yum upgrade package1 升級指定程序包package1
yum groupupdate group1 升級程序組group1shell

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依賴狀況ubuntu

5 清除緩存
yum clean packages 清除緩存目錄下的軟件包
yum clean headers 清除緩存目錄下的 headers
yum clean oldheaders 清除緩存目錄下舊的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除緩存目錄下的軟件包及舊的headerswindows

好比,要安裝遊戲程序組,首先進行查找:
#: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的軟件安裝變得簡單容易。Yum 有如下特色:
*能夠同時配置多個資源庫(Repository)
*簡潔的配置文件(/etc/yum.conf)
*自動解決增長或刪除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的一切配置信息都儲存在一個叫yum.conf的配置文件中,一般位於/etc目 錄下,這是整個yum系統的重中之重,我在的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包和數據庫,通常是/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
$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來查看:
一、安裝圖形版yumex:yum install yumex。
二、安裝額外的軟件倉庫:
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

三、安裝最快源 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之後,只留下了含有某些特定關鍵字的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"
;;


而後修改/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

相關文章
相關標籤/搜索