Linux 安裝方式匯總

Linux.png

Linux系統(tǒng)中,軟件通常以源代碼或者預(yù)編譯包的形式提供。

  1. 軟件源代碼需要編譯為二進制的機器代碼才能夠使用,安裝比較耗時,不過您可以自行調(diào)節(jié)編譯選項,決定需要的功能或組件,或者針對硬件平臺作一些優(yōu)化。在Linux中,它不像Windows中軟件資源豐富,有的時候就需要將某個代碼修改,以符合當(dāng)前平臺。
  2. 預(yù)編譯的軟件包,通常是由軟件的發(fā)布者進行編譯,您只要將軟件拷貝到系統(tǒng)中就可以了。考慮到預(yù)編譯軟件包的適用性,預(yù)編譯軟件包通常不會針對某種硬件平臺優(yōu)化。它所包含的功能和組件也是通用的組合。

Linux 安裝軟件大概的過程如下:

  1. 建立安裝目錄
  2. 拷貝類庫
  3. 拷貝可執(zhí)行程序
  4. 根據(jù)需要選擇性配置和啟動服務(wù)
  • Linux 下的 /usr/bin 目錄相當(dāng)于 Windows 下的 ProgramFile 目錄
  • Linux 下的動態(tài)庫后綴是 .soWindows 下是 .dll

安裝方式就按某種標(biāo)準(zhǔn)依次介紹(什么標(biāo)準(zhǔn)?朕喜歡的就是標(biāo)準(zhǔn))。

一、源碼安裝

.tar.gz.tgz.bz2形式軟件包的安裝

  1. 解壓:

    tar zxvf *.tar.gz

    tar xvfz *.tgz

    tar xvfj *.tar.bz2

  2. 解壓后用ls命令可以看到解壓縮后的文件,通常在解壓縮后產(chǎn)生的文件中,有名為"INSTALL"的文件。該文件為純文本文件,詳細(xì)講述了該軟件包的安裝方法。

  3. 對于多數(shù)需要編譯的軟件,其安裝的方法大體相同。執(zhí)行解壓縮后產(chǎn)生的一個名為configure的可執(zhí)行腳本程序。它是用于檢查系統(tǒng)是否有編譯時所需的庫,以及庫的版本是否滿足編譯的需要等安裝所需要的系統(tǒng)信息。為隨后的編譯工作做準(zhǔn)備。命令為:./configure
    其中--prefix選項是配置安裝目錄,如果不配置該選項,安裝后可執(zhí)行文件默認(rèn)放在/usr /local/bin,庫文件默認(rèn)放在/usr/local/lib,配置文件默認(rèn)放在/usr/local/etc,其它的資源文件放在/usr /local/share,比較凌亂。
    使用--prefix選項的另一個好處是方便卸載軟件或移植軟件;當(dāng)某個安裝的軟件不再需要時,只須簡單的刪除該安裝目錄,就可以把軟件卸載得干干凈凈;而移植軟件只需拷貝整個目錄到另外一個機器即可(相同的操作系統(tǒng)下)。

  4. 如果檢查過程中,發(fā)現(xiàn)有錯誤,configure將給予提示,并停止檢查。你可以跟據(jù)提示對系統(tǒng)進行配置。再重新執(zhí)行該程序。檢查通過后,將生成用于編譯的MakeFile文件。此時,可以開始進行編譯了。編譯的過程視軟件的規(guī)模和計算機的性能的不同,所耗費的時間也不同。命令為:make

    make原理是執(zhí)行一個叫(所生成的)Makefile文件里的指令,make的基本用處是自動根據(jù)makefile里的指令來編譯源文件。它還可以用來做比如安裝軟件,卸載軟件等事情,但前提是作者在makefile里寫了。

  5. 成功編譯后,鍵入如下的命令開始安裝:make install

  6. 安裝完畢,應(yīng)清除編譯過程中產(chǎn)生的臨時文件和配置過程中產(chǎn)生的文件。鍵入如下命令:make cleanmake distclean

    make clean清除上次的make命令所產(chǎn)生的object文件(后綴為“.o”的文件)及可執(zhí)行文件。make distclean類似make clean,但同時也將configure生成的文件全部刪除掉,包括Makefile。

如果沒有configure文件,那應(yīng)該有Makefile文件。那就更簡單了,省的上面的麻煩事了。

建議:

不要將源碼刪除,在卸載軟件的時候需要使用可能。另外在./configure的時候養(yǎng)成--prefix指定安裝目錄的好習(xí)慣,在安裝的時候也可以選擇將安裝日志進行輸出。沒啥大用,卸載方便。

二、apt

高級包裝工具(英語:Advanced Packaging Tools,縮寫為APT)是Debian及其派生發(fā)行版的軟件包管理器。APT可以自動下載,配置,安裝二進制或者源代碼格式的軟件包,因此簡化了Unix系統(tǒng)上管理軟件的過程。APT最早被設(shè)計成dpkg的前端,用來處理deb格式的軟件包。現(xiàn)在經(jīng)過APT-RPM組織修改,APT已經(jīng)可以安裝在支持RPM的系統(tǒng)管理RPM包。與紅帽中的yum工具非常類似。

apt-get 其實就是一個在線安裝軟件的工具,它的主要作用是:通過本地的 Linux 連接到網(wǎng)絡(luò)上的 apt 倉庫(源)來下載軟件并自動安裝。在國內(nèi)訪問官方源速度較慢,一般安裝完系統(tǒng)首先會更新源。apt 鏡像站點地址列表是放在下列文件下的:

/etc/apt/sources.list

而apt 的下載的 deb 包會保存到這里

/var/cache/apt/archives

軟件包安裝完成后,這些deb安裝包基本上就沒有什么用處了.a(chǎn)pt-get clean命令可以幫你刪除這些deb安裝包.

常用apt命令:

apt-get命令一般需要root權(quán)限執(zhí)行,所以一般跟著sudo命令例sudo apt-get xxxx

apt-get install packagename——安裝一個新軟件包(還有一個aptitude軟件)

apt-get remove packagename——卸載一個已安裝的軟件包(保留配置文件)

apt-get --purge remove packagename——卸載一個已安裝的軟件包(刪除配置文件)

apt-get --force-all --purge packagename ——有些軟件很難卸載,而且還阻止了別的軟件的應(yīng)用,就可以用這個,不過有點冒險。

apt-get autoremove——因為apt會把已裝或已卸的軟件都備份在硬盤上,所以如果需要空間的話,可以讓這個命令來刪除你已經(jīng)刪掉的軟件。

apt-get autoclean——定期運行這個命令來清除那些已經(jīng)卸載的軟件包的.deb文件。通過這種方式,可以釋放大量的磁盤空間。如果需求十分迫切,可以使用apt-get clean以釋放更多空間。這個命令會將已安裝軟件包裹的.deb文件一并刪除。

apt-get clean——這個命令會把安裝的軟件的備份也刪除,不過這樣不會影響軟件的使用的。

apt-get upgrade——更新所有已安裝的軟件包

apt-get dist-upgrade——將系統(tǒng)升級到新版本

apt-cache search string——在軟件包列表中搜索字符串

apt-cache showpkg pkgs——顯示軟件包信息。

apt-cache stats——查看庫里有多少軟件

apt-cache dumpavail——打印可用軟件包列表。

apt-cache show pkgs——顯示軟件包記錄,類似于dpkg –print-avail。

apt-cache pkgnames——打印軟件包列表中所有軟件包的名稱

(需要定期運行這一命令以確保您的軟件包列表是最新的)

簡單的說: dpkg只能安裝已經(jīng)下載到本地機器上的deb包. apt-get能在線下載并安裝deb包,能更新系統(tǒng),

且還能自動處理包與包之間的依賴問題,這個是dpkg工具所不具備的。

三、yum

yum,是Yellow dog Updater, Modified 的簡稱,是杜克大學(xué)為了提高RPM 軟件包安裝性而開發(fā)的一種軟件包管理器。

yum命令是在Fedora和RedHat以及SUSE中基于rpm的軟件包管理器,它可以使系統(tǒng)管理人員交互和自動化地更細(xì)與管理RPM軟件包,能夠從指定的服務(wù)器自動下載RPM包并且安裝,可以自動處理依賴性關(guān)系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。

yum提供了查找、安裝、刪除某一個、一組甚至全部軟件包的命令。使用和apt-get相似。

語法 yum(選項)(參數(shù))

選項

-h:顯示幫助信息; 
-y:對所有的提問都回答“yes”; 
-c:指定配置文件; 
-q:安靜模式; 
-v:詳細(xì)模式; 
-d:設(shè)置調(diào)試等級(0-10); 
-e:設(shè)置錯誤等級(0-10); 
-R:設(shè)置yum處理一個命令的最大等待時間; 
-C:完全從緩存中運行,而不去下載或者更新任何頭文件。

參數(shù)

install:安裝rpm軟件包; 
update:更新rpm軟件包; 
check-update:檢查是否有可用的更新rpm軟件包; 
remove:刪除指定的rpm軟件包; 
list:顯示軟件包的信息; 
search:檢查軟件包的信息; 
info:顯示指定的rpm軟件包的描述信息和概要信息; 
clean:清理yum過期的緩存; 
shell:進入yum的shell提示符; 
resolvedep:顯示rpm軟件包的依賴關(guān)系; 
localinstall:安裝本地的rpm軟件包; 
localupdate:顯示本地rpm軟件包進行更新; 
deplist:顯示rpm軟件包的所有依賴關(guān)系。

四、deb

deb是 ubuntu 、debian 的格式,是debian發(fā)行版的軟件包,ubuntu是基于debian 發(fā)行的 所以可以用。

dpkg 是Debian Package的簡寫,是為Debian 專門開發(fā)的套件管理系統(tǒng),方便軟件的安裝、更新及移除。所有源自Debian的Linux發(fā)行版都使用dpkg,例如Ubuntu等。
以下是一些 Dpkg 的普通用法:

dpkg -i <package.deb>——安裝一個 Debian 軟件包,如你手動下載的文件,(其中-i等價于--install)

dpkg -c <package.deb>——列出<package.deb> 的內(nèi)容中包含的文件結(jié)構(gòu)(其中-c等價于--contents)

dpkg - I <package.deb>——從<package.deb> 中提取包裹信息的詳細(xì)信息,包括軟件名稱、版本以及大小等(其中-I等價于--info)

dpkg -r <package>——移除一個已安裝的包裹(軟件名稱可通過dpkg -I命令查看,其中-r等價于--remove)

dpkg -P <package>——完全清除一個已安裝的包裹。和 remove 不同的是,remove 只是刪掉數(shù)據(jù)和可執(zhí)行文件,purge 另外還刪除所有的配制文件。

dpkg -L <package>——列出 <package> 安裝的軟件包安裝的所有文件(軟件名稱可通過dpkg -I命令查看,其中-L等價于--listfiles)

dpkg -l <package>——查看<package>軟件包的信息(軟件名稱可通過dpkg -I命令查看,其中-l等價于--list)

dpkg -s <package>——顯示已安裝包裹的詳細(xì)信息。同時請看 apt-cache 顯示 Debian 存檔中的包裹信息,以及 dpkg -I 來顯示從一個 .deb 文件中提取的包裹信息。(軟件名稱可通過dpkg -I命令查看,其中-s等價于--status)

dpkg-reconfigure <package>——重新配制一個已經(jīng)安裝的包裹,如果它使用的是 debconf (debconf 為包裹安裝提供了一個統(tǒng)一的配制界面)。

注:dpkg命令無法自動解決依賴關(guān)系。如果安裝的deb包存在依賴包,則應(yīng)避免使用此命令,或者按照依賴關(guān)系順序安裝依賴包。

五、rpm

rpm是 redhat 、fedora、suse 的格式。全稱為Redhat PackageManager ,是由Redhat 公司提出的,用于管理Linux下軟件包的軟件。Linux 安裝時,除了幾個核心模塊以外,其余幾乎所有的模塊均通過RPM 完成安裝。

rpm -i <package.rpm>——安裝軟件

例:

rpm -i example.rpm 安裝 example.rpm 包;

rpm -iv example.rpm 安裝 example.rpm 包并在安裝過程中顯示正在安裝的文件信息;

rpm -ivh example.rpm 安裝 example.rpm 包并在安裝過程中顯示正在安裝的文件信息及安裝進度;

rpm -q …——查詢軟件信息

a 查詢所有已經(jīng)安裝的包以下兩個附加命令用于查詢安裝包的信息;

i 顯示安裝包的信息;

l 顯示安裝包中的所有文件被安裝到哪些目錄下;

s 顯示安裝版中的所有文件狀態(tài)及被安裝到哪些目錄下;

以下兩個附加命令用于指定需要查詢的是安裝包還是已安裝后的文件;

p 查詢的是安裝包的信息;

f 查詢的是已安裝的某文件信息;

例:

rpm -qa | grep tomcat4 查看 tomcat4 是否被安裝;

rpm -qip example.rpm 查看 example.rpm 安裝包的信息;

rpm -qif /bin/df 查看/bin/df 文件所在安裝包的信息;

rpm -qlf /bin/df 查看/bin/df 文件所在安裝包中的各個文件分別被安裝到哪個目錄下;

rpm -e ...——需要卸載的安裝包

在卸載之前,通常需要使用rpm -q …命令查出需要卸載的安裝包名稱。

例:

rpm -e tomcat4 卸載 tomcat4 軟件包

rpm -U <package.rpm>——需要升級的包

例:

rpm -Uvh example.rpm 升級 example.rpm 軟件包

rpm -V ...——需要驗證的包

例:

rpm -Vf /etc/tomcat4/tomcat4.conf

輸出信息類似如下:

S.5....T c /etc/tomcat4/tomcat4.conf

其中,S 表示文件大小修改過,T 表示文件日期修改過。更多的驗證信息請參考rpm 幫助文件:man rpm

注:RPM 的其他附加命令

--force 強制操作如強制安裝刪除等;

--requires 顯示該包的依賴關(guān)系;

--nodeps 忽略依賴關(guān)系并繼續(xù)操作;

此外還有一些安裝文件:

.bin/.run

還有一些軟件解壓后生成的文件夾內(nèi)包含很多文件,一般文件夾內(nèi)有install.sh、setup.py等安裝文件方式,此種方式類似windows的exe安裝方式。

這樣的軟件第一步授權(quán)可執(zhí)行,第二步運行就可以了。

如有錯誤,歡迎指正。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,362評論 6 537
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,013評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,346評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,421評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 72,146評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,534評論 1 325
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,585評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,767評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,318評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,074評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,258評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,828評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,486評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,916評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,156評論 1 290
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,993評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,234評論 2 375

推薦閱讀更多精彩內(nèi)容