吐血整理_Linux軟體包的安裝
Linux軟體包,常見的格式包括有rpm,deb,tar,gz,tgz,zip,bz2等等。幾乎每個linux軟體都會提供tar的格式的軟體包,因為這種格式的軟體包任何版本的linux都支援,所以大家至少要了解tar和rpm的使用方法。至於deb可用alien工具轉換成tgz或rpm方式。bz2可用bunzip2解包即可。
一、RPM檔案的安裝
RPM 是RedHat Package Manager(RedHat軟體包管理工具)的縮寫.
RPM檔案在Linux系統中的安裝最為簡便。以著名的影像處理軟體XV為例: 在Terminal中,基本的安裝指令如下: rpm -i xv-3.10a-13.i386.rpm 如果你的連網速度足夠快,也可以直接從網路上安裝應用軟體,只需要在軟體的檔名前加上適當的URL路徑: rpm -i ftp://ftp.xxx.com/xx/xx.i386.rpm 作為一個軟體包管理工具,RPM管理著系統已安裝的所有RPM程式元件的資料。我們也可以使用RPM來解除安裝相關的應用程式。 rpm -e xv RPM的常用引數還包括: -vh:顯示安裝進度; -U:升級軟體包; -qpl:列出RPM軟體包內的檔案資訊; -qpi:列出RPM軟體包的描述資訊; -qf:查詢指定檔案屬於哪個RPM軟體包; -Va:校驗所有的RPM軟體包,查詢丟失的檔案; 更為詳盡的引數及其用法可以檢視RPM的幫助文件。 在X-Window中,RPM檔案的圖形化安裝及管理方式對使用者來說,顯得更為友好。在kde上先安裝好kpackage後,安裝rpm僅僅是按一下滑鼠就可以了,比windows 98更方便。但是這必須先安裝kde. 我還是介紹更常用的方法吧,仍以XV軟體為例,在Linux的檔案管理器中找到xv-3.10a-13.i386.rpm檔案之後,用滑鼠右擊它,在彈出選單中就可以找到專為RPM軟體包準備的三個指令:Show Info、Upgrade、Install。 選擇“Show Info”之後,我們將可以看到如圖所示的軟體包資訊視窗。視窗分為三個部分,頂端顯示的是軟體名、大小、建立及安裝日期以及開發者網站等相關資訊;在中間的方框內,是關於軟體的概述;而下面顯示的則是軟體包內包含的所有檔案及其路徑資訊,它會告訴你軟體包內的各個檔案將被安裝到系統的哪些目錄中, 留意這些資訊的好處是,你可以很容易地找到啟動程式的路徑。 此時點選底部的“Install”或者“Upgrade”按鈕之後,將開始進行軟體的安裝或者升級,此時還會彈出一個提示安裝進度的視窗。 RPM軟體包較之於其他型別的軟體包,有著許多優勢,但是並不是說RPM軟體的安裝都是一帆風順的。常見的錯誤包括試圖安裝一個已經安裝好了的軟體、所要安裝的軟體需要其他軟體或者系統庫檔案的支援(此時應該先行安裝這些相關軟體或者系統庫檔案)等,情形都和Windows類似。 二,tar的安裝 tar.gz、tar.Z、tgz、bz2等檔案格式要先解壓為tar後再用tar解包安裝。解壓縮及解包指令舉例簡述如下: 1.解xx.tar.gz:tar zxf xx.tar.gz 2.解xx.tar.Z:tar zxf xx.tar.Z 3.解xx.tgz:tar zxf xx.tgz 4.解xx.bz2:bunzip2 xx.bz2 5.解xx.tar:tar xf xx.tar 解包後得到的一堆檔案,通常都會存放在一個目錄裡面。視軟體作者的不同,有些會是已經編譯好的程式,更多的則是需要自己再行編譯的原始碼。進入相應目錄後,使用“ls -F -color”指令,可執行程式將會以帶“*”標記的亮綠色顯示,對於已編譯好的程式,直接鍵入帶路徑的指令行即可執行程式。 建議解壓後先閱讀說明檔案,應該先用vi等文書編輯器閱讀一下軟體目錄中的Readme、Install等重要的相關文件,在這裡你會找到軟體詳盡的編譯步驟及注意事項,可以瞭解安裝有哪些需求,有必要時還需改動編譯配置。 有些軟體包的原始碼在編譯安裝後可以用make install命令來進行解除安裝,如果不提供此功能,則軟體的解除安裝必須手動刪除。由於軟體可能將檔案分散地安裝在系統的多個目錄中,往往很難把它刪除乾淨,那你應該在編譯前進行配置,指定軟體將要安裝到目標路徑:./configure --prefix=目錄名,這樣可以使用“rm -rf 軟體目錄名”命令來進行乾淨徹底的解除安裝。與其它安裝方式相比,需要使用者自己編譯安裝是最難的,它適合於使用Linux已有一定經驗的人,一般不推薦初學者使用。 通常的編譯步驟會是這樣: ./configure make make install(需要取得root身份才能執行此指令) 解除安裝可用:make uninstall 或 手動刪除 編譯完成之後,在當前目錄或者是名為src的子目錄下,可以很容易地發現軟體的可執行程式。至此,軟體的安裝便告一段落。 三、關於src原始碼檔案包 Linux軟體的原始碼src是指提供了該軟體所有程式原始碼的釋出形式,需要使用者自己編譯成可執行的二進位制程式碼bin並進行安裝,其優點是配置靈活,可以隨意去掉或保留某些功能/模組,適應多種硬體/作業系統平臺及編譯環境,缺點是難度較大,一般不適合初學者使用。 怎麼知道一個tar.gz/bz2包是二進位制檔案包呢還是原始碼包?要分辨它到底是什麼最好的辦法就是檢視包裡的檔案清單,使用命令tar ztvf .tar.gz解壓縮及解包後,進入新生成的目錄下。 原始碼包裡的檔案往往會含有種種原始碼檔案,標頭檔案.h、c程式碼原始檔.c、C++程式碼原始檔.cc/*.cpp等;而二進位制包裡的檔案則會有可執行檔案(與軟體同名的往往是主執行檔案),標誌是其所在路徑含有名為bin的目錄(僅有少數例外)。 如果是src.tar可在解包後,在新生成的目錄下編譯,方法前面已介紹過了,現在講一講src.rpm的安裝和協載: 安裝:rpm -rebuild xx.src.rpm cd /usr/src/redhat/RPMS/ rpm -ivh *.rpm 解除安裝:rpm -e xx 說明:rpm --rebuild *.src.rpm命令將原始碼編譯並/usr/src/redhat/RPMS下生成二進位制的rpm包,然後再安裝該二進位制包即可。 1、原始碼包的安裝 tar -zvxf xx.tar.gz (解壓) cd xx ./configure (配置) ----./configure --help(檢視configure選項) make (編譯) make install (安裝) make clean (解除安裝) 注:典型的原始碼包可以這樣安裝,但不都是這樣,如webmin 要執行其目錄下./setup.sh進入互動式配置安裝,解除安裝用uninstall程式,具體如果不清楚看要安裝的包下的README檔案,這裡提醒configure的配置需要注意。 2、RPM包的安裝 RPM軟體包的一個例子: foo-1.0-1.i386.rpm 其中包括軟體包的名稱(foo),版本號(1.0),發行號(1),和硬體平臺(i386)。 (1)安裝 # rpm -ivh foo-1.0-1.i386.rpm foo ####################### A. 軟體包已被安裝 # rpm -ivh foo-1.0-1.i386.rpm foo package foo-1.0-1 is already installed error: foo-1.0-1.i386.rpm cannot be installed 如果你仍舊要安裝該軟體包,你可以在命令列上使用--replacepkgs 選項,這將忽略該錯誤資訊。 B. 檔案衝突 如果要安裝的軟體包中有一個檔案已在安裝其它軟體包時安裝,會出現以下錯誤資訊: # rpm -ivh foo-1.0-1.i386.rpm foo /usr/bin/foo conflicts with file from bar-1.0-1 error: foo-1.0-1.i386.rpm cannot be installed 要想讓RPM 忽略該錯誤資訊, 請使用--replacefiles 命令列選項 C.未解決依賴關係 RPM軟體包可能依賴於其它軟體包, 在安裝了特定的軟體包之後才能安裝該軟體包。 # rpm -ivh bar-1.0-1.i386.rpm failed dependencies: foo is needed by bar-1.0-1 你必須安裝完所依賴的軟體包,才能解決這個問題。如果想強制安裝 (但是,這樣安裝後的軟體包未必能正常執行),請使用-nodeps 命令列選項。 (2) 解除安裝 # rpm -e foo 注意:這裡使用軟體包的名字foo,而不是軟體包檔案的名字“foo-1.0-1.i386.rpm”. 如果其它軟體包依賴於你要解除安裝的軟體包,解除安裝時則會產生錯誤資訊。如: # rpm -e foo removing these packages would break dependencies: foo is needed by bar-1.0-1 要想RPM忽略該錯誤資訊繼續解除安裝的話 (但是,依賴於該軟體包的程式可能無法執行), 請使用-nodeps 命令列選項。 (3)升級 # rpm -Uvh foo-2.0-1.i386.rpm foo ############################### 當使用舊版本的軟體包來升級新版本的軟體時,會產生以下錯誤資訊: # rpm -Uvh foo-1.0-1.i386.rpm foo package foo-2.0-1 (which is newer) is already installed error: foo-1.0-1.i386.rpm cannot be installed 要使RPM 堅持這樣“升級”,可使用--oldpackage 命令列引數。 (4)查詢 # rpm -q foo foo-2.0-1 軟體包指定選項: -a 查詢所有已安裝的軟體包. -f 將查詢包含有檔案的軟體包 -p 查詢軟體包檔名為的軟體包 資訊選擇選項: -i 顯示軟體包資訊,如描述, 發行號, 尺寸, 構建日期, 安裝日期, 平臺, 以及其它各類資訊。 -l 顯示軟體包中的檔案列表。 -s 顯示軟體包中所有檔案的狀態。 -d 顯示被標註為文件的檔案列表(man 手冊, info 手冊, README's, etc). -c 顯示被標註為配置檔案的檔案列表。這些是要在安裝完畢以後加以定製的檔案(sendmail.cf, passwd, inittab, etc)。 對於那些要顯示檔案列表的檔案,可以增加-v 命令列選項以獲得如同 ls -l 格式的輸出。 (5)驗證 驗證軟體包是通過比較軟體包中安裝的檔案和軟體包中的原始檔案資訊來進行的。除了其它一些東西,驗證主要是比較檔案的尺寸, MD5 校驗碼, 檔案許可權, 型別, 屬主和使用者組等。 rpm -V命令用來驗證一個軟體包,如 rpm -V foo 驗證包含特定檔案的軟體包: rpm -Vf /bin/vi 驗證所有已安裝的軟體包: rpm -Va 根據一個RPM來驗證某個軟體包: rpm -Vp foo-1.0-1.i386.rpm 如果你擔心RPM資料庫已被破壞,就可以使用這種方式。如果一切校驗均正常將不會產生任何輸出。如果有不一致的地方,就會顯示出來。 輸出格式是8位長字串,c 用以指配置檔案,接著是檔名. 8位字元的每一個用以表示檔案與RPM資料庫中一種屬性的比較結果。“.” (點)表示測試通過。 以下字元表示某種測試的失敗: 5 MD5 校驗碼 S 檔案尺寸 L 符號連線 T 檔案修改日期 D 裝置 U 使用者 G 使用者組 M 模式e (包括許可權和檔案型別) 如果有資訊輸出,應當認真加以考慮,是刪除,重新安裝,還是修正出現的問題。 6)RPM應用的幾個例子 A. 如你誤刪了一些檔案, 但是不能肯定到底刪除了哪些檔案。如果你想驗證一下整個系統看看都丟失了哪些檔案的話,可以鍵入: rpm –Va B.若是一些檔案丟失了或已被損壞, 就可以重新安裝或先解除安裝再安裝該軟體包。如果碰到了一個自己不認識的檔案,要想查處它屬於哪個軟體包,可以輸入以下命令: rpm -qf /usr/X11R6/bin/xjewel 而輸出的結果會是: xjewel-1.6-1 C. 如果發生綜合以上兩個例子的情況,如文/usr/bin/paste出了問題。你想驗證一下擁有該檔案的軟體包,可又不知道軟體包的名字,這時可以簡單的鍵入: rpm -Vf /usr/bin/paste 這樣相應的軟體包就會被驗證。 D. 如果你想了解一個正在使用的程式的詳細資訊,可以鍵入如下命令來獲得擁有該程式的軟體包中的文件資訊: rpm -qdf /usr/bin/ispell 輸出結果為: /usr/man/man4/ispell.4 /usr/man/man4/english.4 ………………………………………………………… E. 如果你發現了一個新的koules RPM,但是不知道它是什麼東西,可以鍵入如下命令: rpm -qip koules-1.2-2.i386.rpm F. 現在你想了解koules RPM 所安裝的檔案。可以鍵入: rpm -qlp koules-1.2-2.i386.rpm 圖形管理工具:kpackage 3、shell或java指令碼安裝 基於圖形介面的安裝,一般基於SHELL或Java語言編寫,主要應用於一些辦公軟體和製圖軟體及安裝程式,如staroffice、oracle的安裝,很容易,和windows一樣 以上內容如有錯誤,請多多指教.這也是綜合了之前同學的筆記整理的,在此表示感謝!
相關文章
- 安裝的 Linux 軟體包有多少?Linux
- linux mint 19安裝 kvm 軟體包Linux
- Linux下軟體包的多種安裝方式Linux
- Linux軟體安裝Linux
- 如何在 Linux 上使用 dnf 命令安裝軟體包?Linux
- 『學了就忘』Linux軟體包管理 — 47、Linux原始碼包的安裝和解除安裝Linux原始碼
- 【 Linux 軟體安裝 】- 1 JDK安裝LinuxJDK
- 如何在 Linux 上安裝/解除安裝一個檔案中列出的軟體包?Linux
- conda可安裝的軟體包列表
- Linux中什麼是軟體包?如何解除安裝?Linux
- Linux中軟體包安裝、查詢用哪個命令?Linux
- linux解除安裝軟體的命令Linux
- 如何在 Arch Linux 中查詢已安裝的專有軟體包?Linux
- linux18-軟體安裝Linux
- 在Linux中安裝軟體Linux
- Linux 軟體安裝的三種方式Linux
- debian軟體解除安裝|deb包解除安裝|dpkg命令
- Linux下怎麼安裝.deb格式的安裝包?Linux系統下.deb格式安裝包的安裝教程Linux
- 吐血整理,良心推薦!這些Mac常用軟體,打包送你!Mac
- 四、yum獲取安裝的軟體包及依賴包
- linux操作之軟體安裝(一)Linux
- Linux安裝flux護眼軟體Linux
- Linux檢視已安裝軟體Linux
- Linux centOS軟體安裝的三種方式LinuxCentOS
- Linux 的 軟體包的管理Linux
- yum安裝軟體之後如何儲存rpm安裝包
- Linux,Mac OS,Windows下 node gm 包安裝、使用語句整理LinuxMacWindows
- 在Linux中,如何升級系統內所有已安裝軟體包?Linux
- 徹底解除安裝rpm軟體包的指令碼指令碼
- Photoshop CC 2018 軟體安裝包+破解教程
- 安裝 pip 輕鬆管理 PyPI 軟體包
- Linux系統中常用的軟體安裝方式Linux
- 如何從 Linux 命令列安裝軟體Linux命令列
- Linux 學習筆記 - 軟體安裝Linux筆記
- Linux 軟體安裝位置選擇指南Linux
- 前端學習 linux —— 軟體安裝(Ubuntu)前端LinuxUbuntu
- 如何列出 Ubuntu 和 Debian 上已安裝的軟體包Ubuntu
- Multisim14--軟體簡介及安裝教程(內含安裝包)
- 將 DEB 軟體包轉換成 Arch Linux 軟體包Linux