Linux下安裝軟件命令詳解

作者:xcbeyond
瘋狂源自夢(mèng)想,技術(shù)成就輝煌!微信公眾號(hào):《程序猿技術(shù)大咖》號(hào)主,專(zhuān)注后端開(kāi)發(fā)多年,擁有豐富的研發(fā)經(jīng)驗(yàn),樂(lè)于技術(shù)輸出、分享,現(xiàn)階段從事微服務(wù)架構(gòu)項(xiàng)目的研發(fā)工作,涉及架構(gòu)設(shè)計(jì)、技術(shù)選型、業(yè)務(wù)研發(fā)等工作。對(duì)于Java、微服務(wù)、數(shù)據(jù)庫(kù)、Docker有深入了解,并有大量的調(diào)優(yōu)經(jīng)驗(yàn)。 









   或許你對(duì)于linux還不夠了解,但是一旦你步入公司后,你就會(huì)發(fā)現(xiàn)linux是無(wú)處不在,好多東西都是基于于其它服務(wù)器(Linux,HP……)相連接來(lái)操作一系列的工作,而離不開(kāi)的就是用命令來(lái)操作一切了,下面我就說(shuō)說(shuō)如何在linux上安裝軟件吧!


LINUX 下安裝軟件方法命令方法

0、怎么安裝應(yīng)用軟件?
    我的軟件安裝在什么地方?
    如何刪除不要的應(yīng)用軟件?
    ……
    下面,我們就一起來(lái)認(rèn)識(shí)一下這些方面的問(wèn)題。
一、 解析Linux應(yīng)用軟件安裝包:
    通常Linux應(yīng)用軟件的安裝包有三種:
    1) tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系統(tǒng)的打包工具tar打包的。
    2) rpm包,如software-1.2.3-1.i386.rpm。它是Redhat Linux提供的一種包封裝格式。
    3) dpkg包,如software-1.2.3-1.deb。它是Debain Linux提供的一種包封裝格式。
         而且,大多數(shù)Linux應(yīng)用軟件包的命名也有一定的規(guī)律,它遵循:
    名稱(chēng)-版本-修正版-類(lèi)型
    例如:
    1) software-1.2.3-1.tar.gz 意味著:
    軟件名稱(chēng):software
    版本號(hào):1.2.3
    修正版本:1
     類(lèi)型:tar.gz,說(shuō)明是一個(gè)tar包。
    2) sfotware-1.2.3-1.i386.rpm
    軟件名稱(chēng):software
    版本號(hào):1.2.3
    修正版本:1
    可用平臺(tái):i386,適用于Intel 80x86平臺(tái)。
    類(lèi)型:rpm,說(shuō)明是一個(gè)rpm包。
    注:由于rpm格式的通常是已編譯的程序,所以需指明平臺(tái)。在后面會(huì)詳細(xì)說(shuō)明。
    而software-1.2.3-1.deb就不用再說(shuō)了吧!大家自己練習(xí)一下。
二、 了解包里的內(nèi)容:
    一個(gè)Linux應(yīng)用程序的軟件包中可以包含兩種不同的內(nèi)容:
    1) 一種就是可執(zhí)行文件,也就是解開(kāi)包后就可以直接運(yùn)行的。在Windows中所 有的軟件包都是這種類(lèi)型。安裝完這個(gè)程序后,你就可以使用,但你看不到源程序。而且下載時(shí)要注意這個(gè)軟件是否是你所使用的平臺(tái),否則將無(wú)法正常安裝。
    2) 另一種則是源程序,也就解開(kāi)包后,你還需要使用編譯器將其編譯成為可執(zhí)行文件。這在Windows系統(tǒng)中是幾乎沒(méi)有的,因?yàn)閃indows的思想是不開(kāi)放源程序的。
    通常,用tar打包的,都是源程序;而用rpm、dpkg打包的則常是可執(zhí)行程序。一般來(lái)說(shuō),自己動(dòng)手編譯源程序能夠更具靈活性,但也容易遇到各種問(wèn)題和困難。而相對(duì)來(lái)說(shuō),下載那些可執(zhí)行程序包,反而是更容易完成軟件的安裝,當(dāng)然那樣靈活性就差多了。所以一般一個(gè)軟件總會(huì)提供多種打包格式的安裝程序的。你可以根據(jù)自己的情況來(lái)選擇。
三、 搞定使用tar打包的應(yīng)用軟件
   1. 安裝:
    整個(gè)安裝過(guò)程可以分為以下幾步:
    1) 取得應(yīng)用軟件:通過(guò)下載、購(gòu)買(mǎi)光盤(pán)的方法獲得;
    2)解壓縮文件:一般tar包,都會(huì)再做一次壓縮,如gzip、bz2等,所以你需要先解壓。如果是最常見(jiàn)的gz格式,則可以執(zhí)行:“tar –xvzf 軟件包名”,就可以一步完成解壓與解包工作。如果不是,則先用解壓軟件,再執(zhí)行“tar –xvf 解壓后的tar包”進(jìn)行解包;
    3) 閱讀附帶的INSTALL文件、README文件;
    4) 執(zhí)行“./configure”命令為編譯做好準(zhǔn)備;
    5) 執(zhí)行“make”命令進(jìn)行軟件編譯;
    6) 執(zhí)行“make install”完成安裝;
    7) 執(zhí)行“make clean”刪除安裝時(shí)產(chǎn)生的臨時(shí)文件。
    好了,到此大功告成。我們就可以運(yùn)行應(yīng)用程序了。但這時(shí),有的讀者就會(huì)問(wèn),我怎么執(zhí)行呢?這也是一個(gè)Linux特色的問(wèn)題。其實(shí),一般來(lái)說(shuō), Linux的應(yīng)用軟件的可執(zhí)行文件會(huì)存放在/usr/local/bin目錄下!不過(guò)這并不是“放四海皆準(zhǔn)”的真理,最可靠的還是看這個(gè)軟件的 INSTALL和README文件,一般都會(huì)有說(shuō)明。





    2. 卸載:
    通常軟件的開(kāi)發(fā)者很少考慮到如何卸載自己的軟件,而tar又僅是完成打包的工作,所以并沒(méi)有提供良好的卸載方法。
    那么是不是說(shuō)就不能夠卸載呢!其實(shí)也不是,有兩個(gè)軟件能夠解決這個(gè)問(wèn)題,那就是Kinstall和Kife,它們是tar包安裝、卸載的黃金搭檔。它們的使用方法,筆者會(huì)另行文介紹。在此就不加贅述了。
四、 搞定使用rpm打包的應(yīng)用軟件
    rpm可謂是Redhat公司的一大貢獻(xiàn),它使Linux的軟件安裝工作變得更加簡(jiǎn)單容易。
  1. 安裝:
    我只需簡(jiǎn)單的一句話,就可以說(shuō)完。執(zhí)行:rpm –ivh rpm軟件包名
    更高級(jí)的,請(qǐng)見(jiàn)下表:
         rpm參數(shù) 參數(shù)說(shuō)明
          -i    安裝軟件
         -t     測(cè)試安裝,不是真的安裝
         -p   顯示安裝進(jìn)度
         -f     忽略任何錯(cuò)誤
         -U   升級(jí)安裝
         -v    檢測(cè)套件是否正確安裝
    這些參數(shù)可以同時(shí)采用。更多的內(nèi)容可以參考RPM的命令幫助。
  2. 卸載:
    我同樣只需簡(jiǎn)單的一句話,就可以說(shuō)完。執(zhí)行:
             rpm –e 軟件名
    不過(guò)要注意的是,后面使用的是軟件名,而不是軟件包名。例如,要安裝software-1.2.3-1.i386.rpm這個(gè)包時(shí),應(yīng)執(zhí)行:
             rpm –ivh software-1.2.3-1.i386.rpm
    而當(dāng)卸載時(shí),則應(yīng)執(zhí)行: rpm –e software。

         注:查詢(xún)系統(tǒng)已安裝的軟件
      rpm -q 軟件名
      查看系統(tǒng)中所有已經(jīng)安裝的包,要加 -a 參數(shù)

    另外,在Linux中還提供了象GnoRPM、kpackage等圖形化的RPM工具,使得整個(gè)過(guò)程會(huì)更加簡(jiǎn)單。這些軟件的具體應(yīng)用,筆者會(huì)另行文介紹。

五、 搞定使用deb打包的應(yīng)用程序
  這是Debian Linux提供的一個(gè)包管理器,它與RPM十分類(lèi)似。但由于RPM出現(xiàn)得更早,所以在各種版本的Linux都常見(jiàn)到。而debian的包管理器dpkg則只出現(xiàn)在Debina Linux中,其它Linux版本一般都沒(méi)有。我們?cè)诖司秃?jiǎn)單地說(shuō)明一下:
 1. 安裝
        dpkg –i deb軟件包名
      如:dpkg –i software-1.2.3-1.deb
   2. 卸載
         dpkg –e 軟件名
  如:dpkg –e software
    

===================================================================================
六、軟件的安裝
  ---- Linux下軟件的安裝主要有兩種不同的形式。第一種安裝文件名為filename.tar.gz。另一種安裝文件名為 filename.i386.rpm。以第一種方式發(fā)行的軟件多為以源碼形式發(fā)送的。第二種方式則是直接以二進(jìn)制形式發(fā)行的。i386即表示該軟件是按 Inter 386指令集編譯生成的。
  ---- 對(duì)于第一種,安裝方法如下:
  ---- 首先,將安裝文件拷貝至你的目錄中。例如,如果你是以root身份登錄上的,就將軟件拷貝至/root中。
  ---- #cp filename.tar.gz /root
  ---- 由于該文件是被壓縮并打包的,所以,應(yīng)對(duì)其解壓縮。命令為:
  ---- #tar xvzf filename.tar.gz
  ---- 執(zhí)行該命令后,安裝文件按路徑,解壓縮在當(dāng)前目錄下。用ls命令可以看到解壓縮后的文件。通常在解壓縮后產(chǎn)生的文件中,有名為"INSTALL"的文件。該文件為純文本文件,詳細(xì)講述了該軟件包的安裝方法。
  ---- 對(duì)于多數(shù)需要編譯的軟件,其安裝的方法大體相同。執(zhí)行解壓縮后產(chǎn)生的一個(gè)名為configure的可執(zhí)行腳本程序。它是用于檢查系統(tǒng)是否有編譯時(shí)所需的庫(kù),以及庫(kù)的版本是否滿(mǎn)足編譯的需要等安裝所需要的系統(tǒng)信息。為隨后的編譯工作做準(zhǔn)備。命令為:
  ---- #./configure
  ---- 如果檢查過(guò)程中,發(fā)現(xiàn)有錯(cuò)誤,configure將給予提示,并停止檢查。你可以跟據(jù)提示對(duì)系統(tǒng)進(jìn)行配置。再重新執(zhí)行該程序。檢查通過(guò)后,將生成用于編譯的MakeFile文件。此時(shí),可以開(kāi)始進(jìn)行編譯了。編譯的過(guò)程視軟件的規(guī)模和計(jì)算機(jī)的性能的不同,所耗費(fèi)的時(shí)間也不同。命令為:
  ---- #make
  ---- 成功編譯后,鍵入如下的命令開(kāi)始安裝:
  ---- #make install
  ---- 安裝完畢,應(yīng)清除編譯過(guò)程中產(chǎn)生的臨時(shí)文件和配置過(guò)程中產(chǎn)生的文件。鍵入如下命令:
  #make clean
  #make distclean
  至此,軟件的安裝結(jié)束。
  ---- 對(duì)于第二種,其安裝方法要簡(jiǎn)單的多。
  ---- 同第一種方式一樣,將安裝文件拷貝至你的目錄中。然后使用rpm來(lái)安裝該文件。命令如下:
  ---- #rpm -i filename.i386.rpm
  ---- rpm將自動(dòng)將安裝文件解包,并將軟件安裝到缺省的目錄下。并將軟件的安裝信息注冊(cè)到rpm的數(shù)據(jù)庫(kù)中。參數(shù)i的作用是使rpm進(jìn)入安裝模式。
  ---- 另外,還有一些Linux平臺(tái)下的商業(yè)軟件。在其安裝文件中,有Setup安裝程序,其安裝方法同Windows平臺(tái)下的一樣。如:Corel WordPerfect。
  軟件的卸載
  ---- 軟件的卸載主要是使用rpm來(lái)進(jìn)行的。卸載軟件首先要知道軟件包在系統(tǒng)中注冊(cè)的名稱(chēng)。鍵入命令:
  ---- #rpm -q -a
  ---- 即可查詢(xún)到當(dāng)前系統(tǒng)中安裝的所有的軟件包。參數(shù)q的作用是使rpm進(jìn)入查詢(xún)命令模式。參數(shù)a是查詢(xún)模式的子參數(shù),意為全部(ALL)。查詢(xún)到的信息較多,可使用less人屏顯示。
  ---- 確定了要卸載的軟件的名稱(chēng),就可以開(kāi)始實(shí)際卸載該軟件了。鍵入命令:
  ---- #rpm -e [package name]
  ---- 即可卸載軟件。參數(shù)e的作用是使rpm進(jìn)入卸載模式。對(duì)名為[package name]的軟件包進(jìn)行卸載。由于系統(tǒng)中各個(gè)軟件包之間相互有依賴(lài)關(guān)系。如果因存在依賴(lài)關(guān)系而不能卸載,rpm將給予提示并停止卸載。你可以使用如下的命令來(lái)忽略依賴(lài)關(guān)系,直接開(kāi)始卸載:
  ---- #rpm -e [package name] -nodeps
  ---- 忽略依賴(lài)關(guān)系的卸載可能會(huì)導(dǎo)致系統(tǒng)中其它的一此軟件無(wú)法使用。你可以使用
  ---- #rpm -e [package name] -test
  ---- 使rpm進(jìn)行一次卸載預(yù)演,而不是真正卸載。這樣可以使你檢查一下軟件是否存在有依賴(lài)關(guān)系。卸載過(guò)程中是否有錯(cuò)誤。