Linux系統下軟體包管理 提要: 在系統管理中,軟體包的管理是最重要的,是系統管理的基礎的基礎;只有我們學會軟體包的管理才能談得上其它的應用;軟體包的安裝、更新、查詢,以及幾個常用的軟體包管理工具,比如 system-cofig-packages 、yum 、apt 等 一、軟體包管理的基礎; 1、什麼是RPM,RPM有何用? 初次為Fedora /Redhat 安裝軟體,我們應該學會RPM的安裝和使用,也應該知道RPM是做什麼用的; RPM 是 Red Hat Package Manager 的縮寫,本意是Red Hat 軟體包管理,顧名思義是Red Hat 貢獻出來的軟體包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流發行版本,以及在這些版本基礎上二次開發出來的發行版採用; RPM包裡面都包含什麼?裡面包含可執行的二進位程序,這個程序和Windows的軟體包中的.exe文件類似是可執行的;RPM包中還包括程序運行時所需要的文件,這也和Windows的軟體包類似,Windows的程序的運行,除了.exe文件以外,也有其它的文件; 一個RPM 包中的應用程序,有時除了自身所帶的附加文件保證其正常以外,還需要其它特定版本文件,這就是軟體包的依賴關係;依賴關係並不是Linux特有的,Windows操作系統中也是同樣存在的;比如我們在Windows系統中運行3D遊戲,在安裝的時候,他可能會提示,要安裝Direct 9 ;Linux和Windows的系統原理是差不多的; 軟體安裝流程圖: 說明: 1、RPM管理的軟體的,對通過file.tar.gz 或file.tar.bz2源碼包用 make ;make install 安裝的軟體無效; 2、安裝軟體時,最好用各自發行版所提供的系統軟體包管理工具; 1)Fedora 系統管理軟體包工具 system-config-packages,方便的添加和移除系統安裝盤提供的軟體包; 2)Redhat 系統管理軟體包工具,新一點的系統應該是 redhat-config-packages ,用法system-config-packages一樣; 3)apt + synaptic 軟體包在線安裝、移除、升級工具; 4)yum 軟體包在線安裝、升級、移除工具; 目前 apt和yum 已經極為成熟了,建議我們安裝軟體時,採用 apt或者yum ;如果安裝系統盤提供的軟體包,可以用 system-config-packages 或redhat-config-packages ; 一、RPM包管理的用途; 1、可以安裝、刪除、升級和管理軟體;當然也支持在線安裝和升級軟體; 2、通過RPM包管理能知道軟體包包含哪些文件,也能知道系統中的某個文件屬於哪個軟體包; 3、可以在查詢系統中的軟體包是否安裝以及其版本; 4、作為開發者可以把自己的程序打包為RPM 包發布; 5、軟體包簽名GPG和MD5的導入、驗證和簽名發布 6、依賴性的檢查,查看是否有軟體包由於不兼容而擾亂了系統; 二、RPM 的使用許可權; RPM軟體的安裝、刪除、更新只有root許可權才能使用;對於查詢功能任何用戶都可以操作;如果普通用戶擁有安裝目錄的許可權,也可以進行安裝; 三、rpm 的一點簡單用法; 我們除了軟體包管理器以外,還能通過rpm 命令來安裝;是不是所有的軟體包都能通過rpm 命令來安裝呢?不是的,文件以.rpm 後綴結尾的才行; 一)初始化rpm 資料庫; 通過rpm 命令查詢一個rpm 包是否安裝了,也是要通過rpm 資料庫來完成的;所以我們要經常用下面的兩個命令來初始化rpm 資料庫; [root@localhost]# rpm --initdb [root@localhost]# rpm --rebuilddb 註:這個要花好長時間; 註:這兩個參數是極為有用,有時rpm 系統出了問題,不能安裝和查詢,大多是這裡出了問題; 二)RPM軟體包管理的查詢功能: 命令格式 rpm {-q|--query} [select-options] [query-options] RPM的查詢功能是極為強大,是極為重要的功能之一; 1、對系統中已安裝軟體的查詢; 1)查詢系統已安裝的軟體; 語法:rpm -q 軟體名 舉例: [root@localhost]# rpm -q gaim gaim-1.3.0-1.fc4 -q就是 --query ,中文意思是「問」,此命令表示的是,是不是系統安裝了gaim ;如果已安裝會有信息輸出;如果沒有安裝,會輸出gaim 沒有安裝的信息; 查看系統中所有已經安裝的包,要加 -a 參數 ; [root@localhost RPMS]# rpm -qa 如果分頁查看,再加一個管道 |和more命令; [root@localhost RPMS]# rpm -qa |more 在所有已經安裝的軟體包中查找某個軟體,比如說 gaim ;可以用 grep 抽取出來; [root@localhost RPMS]# rpm -qa |grep gaim 2)查詢一個已經安裝的文件屬於哪個軟體包; 語法 rpm -qf 文件名 註:文件名所在的絕對路徑要指出 舉例: [root@localhost RPMS]# rpm -qf /usr/lib/libacl.la libacl-devel-2.2.23-8 3)查詢已安裝軟體包都安裝到何處; 語法:rpm -ql 軟體名 或 rpm rpmquery -ql 軟體名 舉例: [root@localhost RPMS]# rpm -ql lynx [root@localhost RPMS]# rpmquery -ql lynx 4)查詢一個已安裝軟體包的信息 語法格式: rpm -qi 軟體名 舉例: [root@localhost RPMS]# rpm -qi lynx 5)查看一下已安裝軟體的配置文件; 語法格式:rpm -qc 軟體名 舉例: [root@localhost RPMS]# rpm -qc lynx 6)查看一個已經安裝軟體的文檔安裝位置: 語法格式: rpm -qd 軟體名 舉例: [root@localhost RPMS]# rpm -qd lynx 7)查看一下已安裝軟體所依賴的軟體包及文件; 語法格式: rpm -qR 軟體名 舉例: [root@localhost]# rpm -qR rpm-python 查詢已安裝軟體的總結:對於一個軟體包已經安裝,我們可以把一系列的參數組合起來用;比如 rpm -qil ;比如: [root@localhost RPMS]# rpm -qil lynx 2、對於未安裝的軟體包的查看: 查看的前提是您有一個.rpm 的文件,也就是說對既有軟體file.rpm的查看等; 1)查看一個軟體包的用途、版本等信息; 語法: rpm -qpi file.rpm 舉例: [root@localhost RPMS]# rpm -qpi lynx-2.8.5-23.i386.rpm 2)查看一件軟體包所包含的文件; 語法: rpm -qpl file.rpm 舉例: [root@localhost RPMS]# rpm -qpl lynx-2.8.5-23.i386.rpm 3)查看軟體包的文檔所在的位置; 語法: rpm -qpd file.rpm 舉例: [root@localhost RPMS]# rpm -qpd lynx-2.8.5-23.i386.rpm 5)查看一個軟體包的配置文件; 語法: rpm -qpc file.rpm 舉例: [root@localhost RPMS]# rpm -qpc lynx-2.8.5-23.i386.rpm 6)查看一個軟體包的依賴關係 語法: rpm -qpR file.rpm 舉例: [root@localhost archives]# rpm -qpR yumex_0.42-3.0.fc4_noarch.rpm /bin/bash /usr/bin/python config(yumex) = 0.42-3.0.fc4 pygtk2 pygtk2-libglade rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 usermode yum >= 2.3.2 三)軟體包的安裝、升級、刪除等; 1、安裝和升級一個rpm 包; [root@localhost]#rpm -vih file.rpm 註:這個是用來安裝一個新的rpm 包; [root@localhost]#rpm -Uvh file.rpm 註:這是用來升級一個rpm 包; 如果有依賴關係的,請解決依賴關係,其實軟體包管理器能很好的解決依賴關係,請看前面的軟體包管理器的介紹;如果您在軟體包管理器中也找不到依賴關係的包;那隻能通過編譯他所依賴的包來解決依賴關係,或者強制安裝; 語法結構: [root@localhost]# rpm -ivh file.rpm --nodeps --force [root@localhost]# rpm -Uvh file.rpm --nodeps --force 更多的參數,請查看 man rpm 舉例應用: [root@localhost RPMS]# rpm -ivh lynx-2.8.5-23.i386.rpm Preparing... ########################################### [100%] 1:lynx ########################################### [100%] [root@localhost RPMS]# rpm -ivh --replacepkgs lynx-2.8.5-23.i386.rpm Preparing... ########################################### [100%] 1:lynx ########################################### [100%] 註: --replacepkgs 參數是以已安裝的軟體再安裝一次;有時沒有太大的必要; 測試安裝參數 --test ,用來檢查依賴關係;並不是真正的安裝; [root@localhost RPMS]# rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm Preparing... ########################################### [100%] 由新版本降級為舊版本,要加 --oldpackage 參數; [root@localhost RPMS]# rpm -qa gaim gaim-1.5.0-1.fc4 [root@localhost RPMS]# rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm Preparing... ########################################### [100%] 1:gaim ########################################### [100%] [root@localhost RPMS]# rpm -qa gaim gaim-1.3.0-1.fc4 為軟體包指定安裝目錄:要加 -relocate 參數;下面的舉例是把gaim-1.3.0-1.fc4.i386.rpm指定安裝在 /opt/gaim 目錄中; [root@localhost RPMS]# rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm Preparing... ########################################### [100%] 1:gaim ########################################### [100%] [root@localhost RPMS]# ls /opt/ gaim 為軟體包指定安裝目錄:要加 -relocate 參數;下面的舉例是把lynx-2.8.5-23.i386.rpm 指定安裝在 /opt/lynx 目錄中; [root@localhost RPMS]# rpm -ivh --relocate /=/opt/lynx --badreloc lynx-2.8.5-23.i386.rpm Preparing... ########################################### [100%] 1:lynx ########################################### [100%] 我們安裝在指定目錄中的程序如何調用呢?一般執行程序,都放在安裝目錄的bin或者sbin目錄中;如果有錯誤輸出,就做相應的鏈接,用 ln -s ; 2、刪除一個rpm 包; 首先您要學會查詢rpm 包 ; [root@localhost]#rpm -e 軟體包名 舉例:我想移除lynx 包,完整的操作應該是: [root@localhost RPMS]# rpm -e lynx 如果有依賴關係,您也可以用--nodeps 忽略依賴的檢查來刪除。但儘可能不要這麼做,最好用軟體包管理器 systerm-config-packages 來刪除或者添加軟體; [root@localhost]# rpm -e lynx --nodeps 四、導入簽名: [root@localhost RPMS]# rpm --import 簽名文件 舉例: [root@localhost fc40]# rpm --import RPM-GPG-KEY [root@localhost fc40]# rpm --import RPM-GPG-KEY-fedora 關於RPM的簽名功能,詳情請參見 man rpm 五、RPM管理包管理器支持網路安裝和查詢; 比如我們想通過 Fedora Core 4.0 的一個鏡像查詢、安裝軟體包; 地址: http://mirrors.kernel.org/fedora/core/4/i386/os/Fedora/RPMS/ 舉例: 命令格式: rpm 參數 rpm包文件的http或者ftp的地址 # rpm -qpi http://mirrors.kernel.org/fedora/core/4/i386/os/ Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm # rpm -ivh http://mirrors.kernel.org/fedora/core/4/i386/os/ Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm 六、對已安裝軟體包查詢的一點補充; [root@localhost RPMS]# updatedb [root@localhost RPMS]# locate 軟體名或文件名 通過updatedb,我們可以用 locate 來查詢一些軟體安裝到哪裡了;系統初次安裝時要執行updatedb ,每隔一段時間也要執行一次;以保持已安裝軟體庫最新;updatedb 是slocate軟體包所有;如果您沒有這個命令,就得安裝slocate ; 舉例: [root@localhost RPMS]# locate gaim 七、從rpm軟體包抽取文件; 命令格式: rpm2cpio file.rpm |cpio -div 舉例: [root@localhost RPMS]# rpm2cpio gaim-1.3.0-1.fc4.i386.rpm |cpio -div 抽取出來的文件就在當用操作目錄中的 usr 和etc中; 其實這樣抽到文件不如指定安裝目錄來安裝軟體來的方便;也一樣可以抽出文件; 為軟體包指定安裝目錄:要加 -relocate 參數;下面的舉例是把gaim-1.3.0-1.fc4.i386.rpm指定安裝在 /opt/gaim 目錄中; [root@localhost RPMS]# rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm Preparing... ########################################### [100%] 1:gaim ########################################### [100%] [root@localhost RPMS]# ls /opt/ gaim 這樣也能一目了然;gaim的所有文件都是安裝在 /opt/gaim 中,我們只是把gaim 目錄備份一下,然後卸掉gaim;這樣其實也算提取文件的一點用法; 八、RPM的配置文件; RPM包管理的配置文件是 rpmrc ,我們可以在自己的系統中找到; 比如Fedora Core 4.0中的rpmrc 文件位於; [root@localhost RPMS]# locate rpmrc /usr/lib/rpm/rpmrc /usr/lib/rpm/redhat/rpmrc 九、src.rpm的用法: 可能會看到file.src.rpm 格式的軟體包,但不知道如何使用;現簡單介紹一下, 源碼包file.tar.gz、file.tar.bz2 或 file.src.rpm 包都可以編譯出我們可安裝執行的file.rpm包;有些軟體開發者自己會寫把軟體包的源碼包打包成file.src.rpm file.tar.gz file.tar.gz 等,也會寫可執行file.rpm 編譯的腳本文件file.spec; 如果我們技術可行,也是可以自己來寫編譯腳本file.spec文件;通過file.spec 文件,我們自己修改修改,就可以編譯出與自己系統適合的rpm 包; 一、 通過file.src.rpm和file.spec 編譯rpm 包為我所用; 我們在Fedora/Redhat或者其它基於RPM包管理的系統,可以看到 file.src.rpm 和file.rpm ;file.src.rpm 是源碼包的rpm格式;我們也可以安裝它,安裝后出現在 /usr/src/redhat/SOURCE的目錄; 舉例:比如我們要用unrar-3.5.2-1.2.fc4.src.rpm和unrar.spec來編譯出rpm包; [root@localhost]# ls unrar* unrar-3.5.2-1.2.fc4.src.rpm unrar.spec 安裝源碼包unrar-3.5.2-1.2.fc4.src.rpm;看一看安裝在哪了呢? [root@localhost]# rpm -ivh unrar-3.5.2-1.2.fc4.src.rpm 安裝在這裡: [root@localhost]# ls /usr/src/redhat/SOURCES/unrar unrar.1 unrarsrc-3.5.2.tar.gz 然後我們通過unrar.spec 來執行,其實他是一個寫好的編譯腳本; [root@localhost]# rpmbuild --ba unrar.spec 編譯完成: [root@localhost]# ls /usr/src/redhat/RPMS/i386/ unrar-3.5.2-1.i386.rpm unrar-debuginfo-3.5.2-1.i386.rpm [root@localhost]# rpm -ivh /usr/src/redhat/RPMS/i386/unrar-3.5.2-1.i386.rpm Preparing... ########################################### [100%] 1:unrar ########################################### [100%] [root@localhost]# unrar x mydoc.rar 清理垃圾文件:如果您經常用這種辦法編譯RPM 包,主要清理一下 /usr/src/redhat內各個目錄的內容; 二、 通過file.tar.gz 、file.tar.bz2 和 file.sepc 來編譯rpm ; 我們可以把file.tar.gz 或者 file.tar.bz2放到/usr/src/redhat/SOURCE 目錄中,然後執行file.spec 文件;有時有些軟體開發者會把file.spec 放在源碼包中;這時我們就要解壓後來查看是否是存在;如果有大多是用下面的辦法: [root@localhost]# cp file.tar.gz /usr/src/redhat/SOURCES/ [root@localhost]# tar zxvf file.tar.gz [root@localhost]# cd filedir [root@localhost]# rpmbuild --ba file.spec 三、如果沒有spec 文件,我應該怎麼辦? 如果您只是想安裝這個軟體,可以用下面的辦法; [root@localhost]# tar zxvf file.tar.gz 或者 tar file.tar.bz2 [root@localhost]# cd filedir [root@localhost]# ./configure --help 註:可以用--help 來查看參數;如果您不懂如何加,一般就默認就好,試著編譯幾個就知道了; [root@localhost]# make [root@localhost]# make install [root@localhost]# make clean 有些軟體只提供比較老的file.spec 文件,我們可以改造改造file.spec 文件,以適合軟體的新版本;您也可以到 http://svn.rpmforge.net/svn/trunk/rpms 查找是不是有對應的file.spec 文件; 有些軟體不提供file.spec 文件,並且您也在其實資源站上也找不到類似的文件,而且您還想從源碼包打一個file.rpm 包和大家交流,那隻好自己學習編寫了; 2、system-config-packages 本地軟體包管理工具; 如果您在安裝系統時,把有些必要的軟體忘記安裝了,我們可以通過 system-config-packages 來安裝;system-config-packages 是一個管理本地軟體包的工具;更直接一點system-config-packages是通過系統安裝盤來安裝、移除軟體;這個工具極為有用,能解決軟體包之間的依賴關係;Redhat 軟體包管理工具應該是 redhat-config-packages ,用法是一樣的; 一、system-config-packages的安裝和使用; 1、首先確認是不已經安裝 system-config-packages [root@localhost]# rpm -qa system-config-packages system-config-packages-1.2.25-1 如果有上面的提示,就是已經安裝; 如果沒有安裝,您可以通過如下的命令來安裝: [root@localhost]# rpm -ivh system-config-packages* 2、運行system-config-packages [root@localhost]# system-config-packages --help Usage: system-config-packages [--help] [--tree=PATH] [--isodir=PATH] 我們可以看到 system-config-packages的幫助,可以看到system-config-packages支持iso補裝或者刪除軟體包; 所以我們在運行這個命令時,要指定ISO的存放位置; [root@localhost]# system-config-packages --isodir=存放ISO光碟映像的目錄; 所以根據自己系統的情況,用軟體包管理器來添加和刪除軟體的命令是: [root@localhost]# system-config-packages --isodir=/mnt/wind 注意:如果您把四個ISO存放在某個目錄,必須把四個ISO同時放在一個目錄里;這樣才不會出現讓您播放某張光碟的情況; 二、如何在Linux中打開iso文件? 其實ISO也是一個打包文件,和rar以及zip文件類似,只是他們的格式不同罷了;我們除了用軟體包管理器以外,我們還能用把iso 掛載到一個目錄中;這樣我們也可以用手工來安裝我們所需要的包; 首先我們要把iso 載入到一個目錄,用的是 mount -o loop ISO文件名 目的目錄 比如我們要把 iso 臨時載入到 /mnt/temp目錄中,當然我們首先要建這個目錄 [root@localhost]# mkdir /mnt/temp 然後我們來載入FC4的第一張ISO文件; [root@localhost]# mount -o loop /mnt/wind/FC4-i386-disc1.iso /mnt/temp/ [root@localhost]# ls /mnt/temp/ autorun GPL README RPM-GPG-KEY RPM-GPG-KEY-fedora-rawhide TRANS.TBL eula.txt images README-Accessibility RPM-GPG-KEY-beta RPM-GPG-KEY-fedora-test Fedora isolinux RELEASE-NOTES RPM-GPG-KEY-fedora RPM-GPG-KEY-rawhide [root@localhost]# mkdir /mnt/hda10/fc40 [root@localhost]# cp -R /mnt/temp/* /mnt/hda10/fc40/ 然後我們再載入第二張ISO; [root@localhost]#umount /mnt/temp 註:先卸載第一個ISO; 我們載入第二個ISO;並和第一個ISO一樣,把所有的文件提出來,放到和第一個ISO提出來的文件存放在同一個目錄;如果遇到提示是不是覆蓋文件,覆蓋就行;第三張和第四張盤都是如此; 通過這個例子,我們知道提取出四張ISO內的所有文件都存放在 /mnt/hda10/fc40目錄中。所以我們想查看Fedora Core 4.0所有的RPM包,就可以到 /mnt/hda10/fc40/Fedora/RPMS目錄中查看,一個都不少,四張盤的都在; 如果想安裝什麼,就用 [root@localhost]#rpm -ivh file.rpm 註:file 是軟體包的名字; 三、其它軟體包管理器,具有在線升級、安裝、移除軟體包功能; 在Fedora 中,還有很兩個軟體包管理器yum 和apt; 3、如何編譯安裝源碼包軟體; 對非file.rpm 軟體包的安裝,我們也應該有點了解,至少下面的文檔能告訴您軟體包中大多有README、INSTALL等幫助文檔;本文還提到一些非file.rpm的軟體的安裝方法等; 源碼包軟體的安裝、卸載; 一、 什麼是源碼包軟體; 顧名思義,源碼包就是源代碼的可見的軟體包,基於Linux和BSD系統的軟體最常見;在國內源可見的軟體幾乎絕跡;大多開源軟體都是國外出品;在國內較為出名的開源軟體有fcitx;lumaqq;Lumaqq及scim等; 但軟體的源代碼可見並不等於軟體是開源的,我們還要以軟體的許可為準;比如有些軟體是源碼可見的,但他約定用戶只能按他約定的內容來修改;比如vbb論壇程序;所以一個軟體是否是開源軟體,得具備兩個條件;一是源代碼可見;二是要有寬鬆的許可證書,比如GPL證書等; 在GNU Linux或BSD社區中,開發人員在放出軟體的二進位軟體包的同時,也會為我們提供源代碼軟體包; 二、 源代碼有何用? 一個軟體的如果有源碼,是任何人都能看到他是怎麼開發而來的,開發者在給我們軟體的同時,也會告訴我們軟體是怎麼開發出來的;只要我們的水平足夠的高,所有的代碼都在那裡,我們就可以修改和定製軟體,以適合我們的需要;如果Windows開放源代碼,並以GPL發布,一樣是有人能造出來N多的Windows發行版;遺憾的是Windows並不是開源系統; 所以軟體的源代碼的用處無非是以下兩點; 1、軟體根據用戶的需要加以定製; 2、二次開發;註:要根據軟體的許可證書約定為準,開發者許可二次開發才行; 三、怎樣安裝以源碼包打包的軟體; 1、源碼包的打包格式; 源代碼一般以file.tar.gz file.tar.bz2或file.src.rpm 打包;file.tar.gz和file.tar.bz2格式的解包命令如下; [root@localhost]# tar jxvf file.tar.bz2 [root@localhost]# tar zxvf file.tar.gz 2、如何編譯安裝源碼包;(大多數) 1)解開軟體包查看幫助文檔; 我們解開一個包后,進入解壓包,一般都能發現README(或reame)和INSTALL( 或install);或doc(或DOC)目錄;看名字就知道個差不多; 比如我們下載一個比較新的fcitx 的軟體包,比如是 fcitx-3.2-050827.tar.bz2 我們在解開這個軟體包會會發現如下的文件; [root@localhost fcitx]# tar jxvf fcitx-3.2-050827.tar.bz2 [root@localhost fcitx]#cd fcitx [root@localhost fcitx]# ls aclocal.m4 config.guess configure debian INSTALL Makefile.in src xpm AUTHORS config.h.in configure.in depcomp install-sh missing THANKS autogen.sh config.rpath COPYING doc lib mkinstalldirs TODO ChangeLog config.sub data fcitx.spec.in Makefile.am README tools 所以我們就可以看fcitx的INSTALL 和doc目錄的安裝文檔了;裡面都告訴我們如何安裝; 2)編譯安裝軟體的條件; 首先我們在Linux系統中至少得把開發工具安裝上,比如gcc ;perl;python;glibc;gtk;make ;automake 等開發工具或基礎包;還要安裝一些相應的開發包,一般是文件名包括dev的,比如kernel-devel;還有一些開發庫,比如以lib開頭的;如果您在編譯軟體時,有時提示缺少什麼東西之類的,大多少的是這些開發工具和開發庫等;從光碟中找出安裝就是了;有時可能也會用到源碼包編譯安裝所依賴的包; 有時本來系統中已經安裝了所依賴的包,但系統提示找不到應該怎麼辦?這時需要我們設置一下PKG_CONFIG_PATH的環境變數就行了; #export PKG_CONFIG_PATH=/usr/lib/pkgconfig 或 #export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig 然後我們再來運行編譯的./configure ;make ;make install 用perl 開發的程序,是需要perl環境的,所以必須得把perl的包安裝上,python 也同理; 3)編譯安裝軟體的方法; 大多以tar.gz 和tar.bz2打包軟體,大多是通過 ./configure ;make ;make install 來安裝的;有的軟體是直接make;make install ; 我們可以通過./configure --help 來查看配置軟體的功能;大多軟體是提供./configure 配置軟體的功能的;少數的也沒有,如果沒有的就不用./configure ;直接make;make install 就行了; ./configure 比較重要的一個參數是 --prefix ,用--prefix 參數,我們可以指定軟體安裝目錄;當我們不需要這個軟體時,直接刪除軟體的目錄就行了; 比如我們可以指定fcitx 安裝到 /opt/fcitx 目錄中; [root@localhost fcitx]#./configure --prefix=/opt/fcitx 如果我們不需要fcitx 時,可以直接刪除 /opt/fcitx 目錄; 所以我們舉這個例子中,fcitx如果定製安裝到 /opt/fcitx目錄中,完整的安裝方法應該是: [root@localhost fcitx]# tar jxvf fcitx-3.2-050827.tar.bz2 [root@localhost fcitx]#cd fcitx [root@localhost fcitx]# ./configure --prefix=/opt/fcitx [root@localhost fcitx]# make [root@localhost fcitx]# make install 調用fcitx ,應該是 [root@localhost]#/opt/fcitx/bin/fcitx 如果您想要讓fcitx 只要執行fcitx ,就能調用,請配置環境變數,或者在/usr/bin 中做一個fcitx 的鏈接; 3.其它類型軟體; 1)基於perl 和python 的程序的安裝; 一般情況下,用 #perl file.pl安裝;比如:VMware 的Linux版本的安裝; [root@localhost vmware-distrib]# perl vmware-install.pl 基於python 開發,也得用 python file.py 來安裝 一般軟體包都有README和INSTALL 或者 DOC 文檔,看文檔安裝; 2)有些安裝程序是腳本型的調用;要用 #sh 文件名 比如NVdia驅動的安裝就是這樣的; [root@localhost]# sh NFORCE-Linux-x86-1.0-0306-pkg1.run 當然也能通過 chmod 755 NFORCE-Linux-x86-1.0-0306-pkg1.run ,然後 ./NFORCE-Linux-x86-1.0-0306-pkg1.run 來安裝; 也有一些是以file.bin 文件 [root@localhost]# chmod 755 file.bin [root@localhost]# ./file.bin 源碼包及特殊格式的軟體安裝主要還是以軟體的安裝文檔為準;安裝軟體時,如果只是簡單的應用,如果有rpm包,儘可能的用rpm包;主要是方便和易於管理; 目前 apt和yum 已經極為成熟了,建議我們安裝軟體時採用 apt或者yum ;如果安裝系統盤提供的軟體包,可以用 system-config-packages 或redhat-config-packages ; 4、file.src.rpm 是做什麼用的? file.src.rpm 是源碼包以rpm 包格式打包,了解一下file.src.rpm 也是有用的; 上面有簡單的介紹; 二、軟體包管理工具; 1、system-config-packages ; 再重提一下這個工具,放在軟體包基礎中顯示極重要性,放在這裡再提一下也適合; 2、yum 在線更新軟體包,也能管理本地已經安裝的軟體包工具; Fedora/Redhat 由於有yum 和apt,這兩個強大的在線更新工具以及Fedora 擴充計劃的推出,才使其有了第二生命力;yum和apt工具能自動解決依賴關係;常期以來由於軟體包的依賴關係不能得到很好的解決,使很多Fedora / Redhat 用戶投入到更容易解決軟體包依賴的發行版;yum 和apt 無疑是Fedora / Redhat 強心劑; 我們用的是Redhat/Fedora通過在線安裝更新軟體包,除了系統自帶的up2date以外,我們還有更為強大的在線升級工具 yum 和 apt-get 可用。主要資源有 freshrpms.net和 rpm.livna.org ; 一、 yum 的使用; 不用系統自帶的圖形化工具up2date來升級,卻要用 yum是因為up2date 真是奇慢無比,而且經常失去響應;造成機器假死的情況。所以我們還是試一試yum ;另外freshrpms.net 可能比官方站更快的更新升級源,也沒有理由不用 yum; 1、首先我們要到下面的地址下載與自己系統相對應的版本的 yum; http://ayo.freshrpms.net/ 比如我用的是Fedora core 4.0 就下載如下的包安裝; [root@localhost]# rpm -ivh freshrpms-release-1.1-1.fc.noarch.rpm warning: freshrpms-release-1.1-1.fc.noarch.rpm: Header V3 DSA signature: NOKEY, key ID e42d547b Preparing... ########################################### [100%] 1:freshrpms-release ########################################### [100%] 2、安裝軟體舉例; 比如我要安裝能聽mp3的 bmp-mp3,只要輸入下面的命令行即可,系統就自己工作了; [root@localhost]# yum install bmp-mp3 內容全景如下: [root@localhost]# yum install bmp-mp3 Setting up Install Process Setting up repositories updates-released 100% |=========================| 951 B 00:00 extras 100% |=========================| 1.1 kB 00:00 base 100% |=========================| 1.1 kB 00:00 freshrpms 100% |=========================| 951 B 00:00 Reading repository metadata in from local files primary.xml.gz 100% |=========================| 42 kB 00:03 freshrpms : ################################################## 122/122 Added 122 new packages, deleted 0 old in 0.72 seconds Parsing package install arguments Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Downloading header for bmp-mp3 to pack into transaction set. bmp-mp3-0.9.7-1.2.fc4.i38 100% |=========================| 2.9 kB 00:00 ---> Package bmp-mp3.i386 0:0.9.7-1.2.fc4 set to be updated --> Running transaction check --> Processing Dependency: libid3-3.8.so.3 for package: bmp-mp3 --> Processing Dependency: libbeep.so.2 for package: bmp-mp3 --> Processing Dependency: bmp >= 0.9.7 for package: bmp-mp3 --> Restarting Dependency Resolution with new changes. --> Populating transaction set with selected packages. Please wait. ---> Downloading header for id3lib to pack into transaction set. id3lib-3.8.3-11.fc4.i386. 100% |=========================| 38 kB 00:05 ---> Package id3lib.i386 0:3.8.3-11.fc4 set to be updated ---> Downloading header for bmp to pack into transaction set. bmp-0.9.7-10.fc4.i386.rpm 100% |=========================| 14 kB 00:03 ---> Package bmp.i386 0:0.9.7-10.fc4 set to be updated --> Running transaction check Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: bmp-mp3 i386 0.9.7-1.2.fc4 freshrpms 95 k Installing for dependencies: bmp i386 0.9.7-10.fc4 extras 912 k id3lib i386 3.8.3-11.fc4 extras 752 k Transaction Summary ============================================================================= Install 3 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 1.7 M Is this ok [y/N]: y Downloading Packages: (1/3): id3lib-3.8.3-11.fc 100% |=========================| 752 kB 01:04 (2/3): bmp-0.9.7-10.fc4.i 100% |=========================| 912 kB 02:14 (3/3): bmp-mp3-0.9.7-1.2. 100% |=========================| 95 kB 00:05 Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: bmp ######################### [1/3] Installing: id3lib ######################### [2/3] Installing: bmp-mp3 ######################### [3/3] Installed: bmp-mp3.i386 0:0.9.7-1.2.fc4 Dependency Installed: bmp.i386 0:0.9.7-10.fc4 id3lib.i386 0:3.8.3-11.fc4 Complete! 註:yum優點:軟體包依賴關係自行解決,比如上面的,我們可以看到本來我們只安裝的是bmp-mp3,結果yum 安裝也安裝了 id3lib ;bmp 一、 yum的一點小用法; 1、查詢軟體包; 面對成千上萬的軟體,我們可能無從下手,有時也不知道它的文件名;這時就要用到查詢;我們可以用 yum list 來列出yum升級源上的包有文件;然後我們再來查看 info有以下幾個組合可以用;比如; [root@localhost]# yum list |more 在顯示的軟體列表中,會有軟體名稱、版本、是否安裝等;仔細的看一下吧。熟悉了就好了。也沒有什麼難的。 [root@localhost]# yum list |more Setting up repositories Reading repository metadata in from local files Installed Packages 4Suite.i386 1.0-8.b1 installed Canna.i386 3.7p3-13 installed Canna-devel.i386 3.7p3-13 installed 如果想知道軟體的詳細信息,可能得用上info參數了。比如: 用法: [root@localhost]# yum info 軟體名 比如: [root@localhost]# yum info bmp-mp3 Setting up repositories updates-released 100% |=========================| 951 B 00:00 extras 100% |=========================| 1.1 kB 00:00 base 100% |=========================| 1.1 kB 00:00 freshrpms 100% |=========================| 951 B 00:00 Reading repository metadata in from local files Installed Packages Name : bmp-mp3 Arch : i386 Version: 0.9.7 Release: 1.2.fc4 Size : 234 k Repo : freshrpms Summary: MP3 playback plugin for the Beep Media Player Description: This package contains an MP3 playback plugin for BMP (Beep Media Player), a media player that uses a skinned user interface based on Winamp 2.x skins, and is based on ("forked off") XMMS. 在上面的例子中,如果Repo : freshrpms是這樣的,表示您的系統沒有安裝這個軟體,如果顯示的是:Repo : installed,表示已經安裝了。 查詢軟體包,也可以再加參數 grep ,比如我們想查詢升級源上是否有內核的新版本,則我們可以用下面的命令查詢;當然您也可以用 [root@localhost]# yum search kernel |more ,也就是yum --help提供的參數,也是一樣的; [root@localhost]# yum list |grep kernel 我們看一下機器工作的結果,如下: [root@localhost]# yum list |grep kernel GFS-kernel.i686 2.6.11.8-20050601.1526 installed cman-kernel.i686 2.6.11.5-20050601.1526 installed dlm-kernel.i686 2.6.11.5-20050601.1526 installed gnbd-kernel.i686 2.6.11.2-20050420.1331 installed kernel.i686 2.6.11-1.1369_FC4 installed kernel-devel.i686 2.6.11-1.1369_FC4 installed kernel-doc.noarch 2.6.11-1.1369_FC4 installed GFS-kernel.i586 2.6.11.8-20050601.1526 base GFS-kernel-debuginfo.i686 2.6.11.8-20050601.1526 updates-released GFS-kernel-debuginfo.i586 2.6.11.8-20050601.1526 updates-released GFS-kernel-smp.i686 2.6.11.8-20050601.1526 base GFS-kernel-xen0.i686 2.6.11.8-20050601.1526 base GFS-kernel-xenU.i686 2.6.11.8-20050601.1526 base cman-kernel.i586 2.6.11.5-20050601.1526 updates-released cman-kernel.i686 2.6.11.5-20050601.1526 updates-released cman-kernel-debuginfo.i586 2.6.11.5-20050601.1526 updates-released cman-kernel-debuginfo.i686 2.6.11.5-20050601.1526 updates-released cman-kernel-smp.i686 2.6.11.5-20050601.1526 updates-released cman-kernel-xen0.i686 2.6.11.5-20050601.1526 updates-released cman-kernel-xenU.i686 2.6.11.5-20050601.1526 updates-released dlm-kernel.i686 2.6.11.5-20050601.1526 updates-released dlm-kernel.i586 2.6.11.5-20050601.1526 updates-released dlm-kernel-debuginfo.i586 2.6.11.5-20050601.1526 updates-released dlm-kernel-debuginfo.i686 2.6.11.5-20050601.1526 updates-released dlm-kernel-smp.i686 2.6.11.5-20050601.1526 updates-released dlm-kernel-xen0.i686 2.6.11.5-20050601.1526 updates-released dlm-kernel-xenU.i686 2.6.11.5-20050601.1526 updates-released gnbd-kernel.i686 2.6.11.2-20050420.1331 updates-released gnbd-kernel.i586 2.6.11.2-20050420.1331 updates-released gnbd-kernel-debuginfo.i586 2.6.11.2-20050420.1331 updates-released gnbd-kernel-debuginfo.i686 2.6.11.2-20050420.1331 updates-released gnbd-kernel-smp.i686 2.6.11.2-20050420.1331 updates-released gnbd-kernel-xen0.i686 2.6.11.2-20050420.1331 updates-released gnbd-kernel-xenU.i686 2.6.11.2-20050420.1331 updates-released kernel.i586 2.6.12-1.1398_FC4 updates-released kernel.i686 2.6.12-1.1398_FC4 updates-released kernel-debuginfo.i686 2.6.12-1.1398_FC4 updates-released kernel-debuginfo.i586 2.6.12-1.1398_FC4 updates-released kernel-devel.i586 2.6.12-1.1398_FC4 updates-released kernel-devel.i686 2.6.12-1.1398_FC4 updates-released kernel-doc.noarch 2.6.12-1.1398_FC4 updates-released kernel-smp.i686 2.6.12-1.1398_FC4 updates-released kernel-smp-devel.i686 2.6.12-1.1398_FC4 updates-released kernel-xen0.i686 2.6.12-1.1398_FC4 updates-released kernel-xen0-devel.i686 2.6.12-1.1398_FC4 updates-released kernel-xenU.i686 2.6.12-1.1398_FC4 updates-released kernel-xenU-devel.i686 2.6.12-1.1398_FC4 updates-released 比如我們用的機器是單處理器的X86機,想看一下是否有新內核可用。所以咱們試一下下面的這個。看是否已經有了新內核可以升級的; [root@localhost]# yum info kernel.i686 Setting up repositories updates-released 100% |=========================| 951 B 00:00 extras 100% |=========================| 1.1 kB 00:00 base 100% |=========================| 1.1 kB 00:00 freshrpms 100% |=========================| 951 B 00:00 Reading repository metadata in from local files Installed Packages Name : kernel Arch : i686 Version: 2.6.11 Release: 1.1369_FC4 Size : 37 M Repo : installed Summary: Linux 內核(Linux 操作系統的核心)。 Description: kernel 軟體包包含 Linux 內核 (vmlinuz),Red Hat Linux 操作系統的核心。內核處理操作系統的基本功能: 分配內存、處理分配、設備的輸入和輸出等等。 Available Packages Name : kernel Arch : i686 Version: 2.6.12 Release: 1.1398_FC4 Size : 14 M Repo : updates-released Summary: The Linux kernel (the core of the Linux operating system) Description: The kernel package contains the Linux kernel (vmlinuz), the core of any Linux operating system. The kernel handles the basic functions of the operating system: memory allocation, process allocation, device input and output, etc. 通過上面的信息,我們可以看到 2.6.11的是已經安裝了,因為已經顯示的是Repo : installed ,下面還有一個Version: 2.6.12 ,告訴我們是Repo : updates-released,看來這個是升級用的了。 [root@localhost]# yum update kernel 升級內核全景如下: [root@localhost]# yum update kernel Setting up Upgrade Process Setting up repositories updates-released 100% |=========================| 951 B 00:00 extras 100% |=========================| 1.1 kB 00:00 base 100% |=========================| 1.1 kB 00:00 freshrpms 100% |=========================| 951 B 00:00 Reading repository metadata in from local files Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Downloading header for kernel to pack into transaction set. kernel-2.6.12-1.1398_FC4. 100% |=========================| 174 kB 00:18 ---> Package kernel.i686 0:2.6.12-1.1398_FC4 set to be installed --> Running transaction check Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: kernel i686 2.6.12-1.1398_FC4 updates-released 14 M Transaction Summary ============================================================================= Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 14 M Is this ok [y/N]: 是不是升級,只需要在 Is this ok [y/N]:行的後面輸入y或者N; 對於軟體包的查詢,還有,比如: [root@localhost]# yum list available 列出所有升級源上的包; [root@localhost]# yum list updates 列出所有升級源上的可以更新包; [root@localhost]# yum list installed 列出已經安裝的包; yum 的命令支持通配符; 比如; [root@localhost]# yum list mp* |more Setting up repositories Reading repository metadata in from local files Installed Packages mpage.i386 2.5.4-5 installed Available Packages mpc.i386 0.11.2-3 extras mpeg2dec.i386 0.4.0-5b.2.fc4 freshrpms mpeg2dec-devel.i386 0.4.0-5b.2.fc4 freshrpms mpg321.i386 0.2.10-6.2.fc4 freshrpms mplayer.i386 1.0-0.16.pre7.2.fc4 freshrpms mplayer-docs.i386 1.0-0.16.pre7.2.fc4 freshrpms mplayer-fonts.noarch 1.1-3.fc freshrpms mplayer-skins.noarch 1.7-1.fc freshrpms [root@localhost]# 2.安裝和升級軟體包; 安裝和升級分別是 install 和 update 參數;比如; [root@localhost]# yum update firefox 這樣我們就可以升級 firefox了。 [root@localhost]# yum update firefox Setting up Update Process Setting up repositories updates-released 100% |=========================| 951 B 00:00 extras 100% |=========================| 1.1 kB 00:00 base 100% |=========================| 1.1 kB 00:03 freshrpms 100% |=========================| 951 B 00:02 Reading repository metadata in from local files Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Package firefox.i386 0:1.0.6-1.1.fc4 set to be updated --> Running transaction check Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Updating: firefox i386 1.0.6-1.1.fc4 updates-released 18 M Transaction Summary ============================================================================= Install 0 Package(s) Update 1 Package(s) Remove 0 Package(s) Total download size: 18 M Is this ok [y/N]: 如果不加參數的 update 會是什麼呢?? [root@localhost]# yum update 試著運行一下看看?會好長時間,對系統進行全面更新,我們要進行y和N了。 3.移除軟體包要用到remove參數;比如; [root@localhost]# yum remove bmp-mp3 內容全景如下: [root@localhost]# yum remove bmp-mp3 Setting up Remove Process Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Package bmp-mp3.i386 0:0.9.7-1.2.fc4 set to be erased --> Running transaction check Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Removing: bmp-mp3 i386 0.9.7-1.2.fc4 installed 234 k Transaction Summary ============================================================================= Install 0 Package(s) Update 0 Package(s) Remove 1 Package(s) Total download size: 0 Is this ok [y/N]: 按y就移除了; 三、yum的圖形工具; 一、yum 在線安裝、移除、更新及管理rpm軟體包工具; 我們除了系統提供的軟體包管理工具 system-config-packages ,但這個軟體包管理工具,只能用於系統安裝盤提供的軟體的管理; Fedora也提供了 up2date升級工具,但這個工具明顯無任何優勢;升級速度慢,效率低下,大多人是忍受不了 up2date折磨的; yum 工具是Fedora 推薦使用的在線升級更新軟體包的工具,在安裝系統時,一般都是默認安裝;yum 是一個命令行式的工具,如果您不習慣命令行式的yum,您可以用yumex和kyum; yumex和kyum並不是獨立於yum的,而是yum的圖形前端,也就是說,我們在安裝和使用yumex和kyum同時,都是以yum的安裝和配置為基礎;您在用yumex或kyum 時,必須先安裝配置yum ; 二、安裝yumex; 註:您在用yumex或kyum 時,必須先安裝配置yum ; 如果您用 kde桌面,您可以用kyum,yunex和kyum二者任選其一,找一個自己習慣的就行; 1、yumex 的安裝和使用; 首先確認系統是不是有yumex [root@localhost]# rpm -q yumex yumex-0.42-3.0.fc4 如果沒有類似的輸出,請用下面的命令安裝,前提是您已經完成了前面說的yum的配置; [root@localhost]# yum install yumex 2、yumex的調用: [root@localhost]# yumex 3、yumex的操作;會點滑鼠就會用 yumex 三、安裝kyum ; 註:yumex 和kyum您只需選擇一個適合您的就行,沒有必要兩個都安裝,不過嘗試一下再做選擇也好; 1、安裝kyum ; [root@localhost]# yum install kyum 2、調用kyum ; [root@localhost]# kyum 3、用法圖示; 四、關於yum補充: yum主頁地址: http://www.linux.duke.edu/projects/yum 四、yum的幫助; [root@localhost]# yum --help Usage: yum [options] < update | install | info | remove | list | clean | provides | search | check-update | groupinstall | groupupdate | grouplist | groupinfo | groupremove | makecache | localinstall | shell > Options: -c [config file] - specify the config file to use -e [error level] - set the error logging level -d [debug level] - set the debugging level -y - answer yes to all questions -R [time in minutes] - set the max amount of time to randomly run in -C run from cache only - do not update the cache --installroot=[path] - set the install root (default '/') --version - output the version of yum --exclude=package to exclude --disablerepo=repository id to disable (overrides config file) --enablerepo=repository id to enable (overrides config file) -h, --help - this screen [root@localhost]#man yum 3、apt 在線更新軟體包,也能管理本地已經安裝的軟體包工具; apt+synaptic 小巧輕快,反應速度快,是最佳的搭檔; apt是輕量級的在線安裝升級的軟體包管理系統,synaptic 是圖形化的apt軟體包管理工具。能夠管理Fedora core 4.0 系統及升級源的所有的軟體包;是一個極為方便的軟體包管理工具;兩者配合,效果最佳; 一、apt的安裝和簡單用法; 1、apt的安裝; #rpm -ivh http://ftp.freshrpms.net/pub/fed ... cnc7-6.fc4.i386.rpm 2、導入GPG簽名; #rpm --import http://svn.rpmforge.net/svn/bran ... M-GPG-KEY.freshrpms #rpm --import http://rpm.livna.org/RPM-LIVNA-GPG-KEY 3、加Fedora core 4.0的源; 在/etc/apt/目錄中找到 sources.list,在裡面加如下的兩行; rpm http://ayo.freshrpms.net fedora/linux/4/i386 core extras updates freshrpms rpm http://rpm.livna.org/ fedora/4/i386 lvn 4.apt 簡單的應用; 1]安裝和配置好apt的第一步是執行 apt-get update ,目的是來從apt源中取回軟體包的列表;也就是我們上面說的那個sources.list提到的源; [root@localhost]# apt-get update You don't seem to have one or more of the needed GPG keys in your RPM database. Importing them now... Get:1 http://ayo.freshrpms.net fedora/linux/4/i386 release [1834B] Fetched 1834B in 8s (222B/s) Get:1 http://ayo.freshrpms.net fedora/linux/4/i386/core pkglist [518kB] Get:2 http://ayo.freshrpms.net fedora/linux/4/i386/core release [151B] Get:3 http://ayo.freshrpms.net fedora/linux/4/i386/extras pkglist [1262kB] Get:4 http://ayo.freshrpms.net fedora/linux/4/i386/extras release [155B] Get:5 http://ayo.freshrpms.net fedora/linux/4/i386/updates pkglist [1107kB] Get:6 http://ayo.freshrpms.net fedora/linux/4/i386/updates release [157B] Get:7 http://ayo.freshrpms.net fedora/linux/4/i386/freshrpms pkglist [65.3kB] Get:8 http://ayo.freshrpms.net fedora/linux/4/i386/freshrpms release [161B] Fetched 2952kB in 59s (49.9kB/s) Reading Package Lists... Done Building Dependency Tree... Done 2]安裝、升級、移除軟體包的用法; a)軟體包的安裝; [root@localhost]# apt-get install 軟體包名稱 註:不要加版本號,軟體名就好; 比如我們想安裝或者升級firefox ,就可以直接用 apt-get install firefox ; [root@localhost]# apt-get install firefox Reading Package Lists... Done Building Dependency Tree... Done The following packages will be upgraded firefox (1.0.4-4 => 1.0.6-1.1.fc4) 1 upgraded, 0 newly installed, 0 removed and 234 not upgraded. Need to get 19.2MB of archives. After unpacking 17.0kB of additional disk space will be used. Get:1 http://ayo.freshrpms.net fedora/linux/4/i386/updates firefox 0:1.0.6-1.1.fc4 [19.2MB] Fetched 19.2MB in 6m25s (49.8kB/s) Checking GPG signatures... ########################################### [100%] Committing changes... Preparing... ########################################### [100%] 1:firefox ########################################### [100%] Done. b)移除軟體包; [root@localhost]# apt-get remove 軟體包名 舉例: [root@localhost]# apt-get remove firefox c)對系統全面升級; [root@localhost]# apt-get upgrade [root@localhost]# apt-get dist-upgrade 這兩個功能差不多; d)常用的參數選項; [root@localhost]# apt-get install -y 軟體包名 比如: [root@localhost]# apt-get install -y gaim 註:如果意外中斷的包下載和安裝,可以用-y參數來繼續下載安裝,如上面gaim我下載到10%,可以用上面的命令接著來下載安裝或者升級; [root@localhost]# apt-get install -d 軟體包名 比如: [root@localhost]# apt-get install -d 註:只是下載軟體包,不解包,也不安裝,下載到本地機的目錄為 /var/cache/apt/archives 3]清理apt-get 後下載下來的包和未完成的包; [root@localhost]# apt-get clean 通過apt-get下載下來的包存放在 /var/cache/apt/archives目錄中;有時我們中斷一些正在apt-get 的包,這樣的包沒有完全下載下來;我們也可以清理掉;也可以用繼續接著下載安裝,也可以清理掉; 這樣apt-get clean 就會刪除 已經下載完成的位於/var/cache/apt/archives目錄的所有包;也會清理掉下載未完成的包位於/var/cache/apt/archives/partial/ 這個功能還是比較有用的,因為apt-get 下載和安裝量極大,要定期清理; 二、synaptic的安裝和用法; 相對 apt-get的命令行操作來說,synaptic的操作還是極為簡單的;synaptic全是點滑鼠可視化操作; 1]安裝: [root@localhost]# apt-get install synaptic Reading Package Lists... Done Building Dependency Tree... Done The following NEW packages will be installed: synaptic (0.57.2-1.fc4) 0 upgraded, 1 newly installed, 0 removed and 234 not upgraded. Need to get 1682kB of archives. After unpacking 4311kB of additional disk space will be used. Get:1 http://ayo.freshrpms.net fedora/linux/4/i386/extras synaptic 0.57.2-1.fc4 [1682kB] Fetched 1682kB in 46s (36.2kB/s) Checking GPG signatures... ########################################### [100%] Committing changes... Preparing... ########################################### [100%] 1:synaptic ########################################### [100%] Done. 2]用法 想安裝點什麼就安裝什麼;
[火星人
]
Linux系統下軟體包管理 已經有893 次圍觀
本文地址: http://coctec.com/docs/linux/show-post-202773.html