溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

linux下的軟件包管理與源代碼方式安裝軟件

發(fā)布時(shí)間:2020-02-27 03:43:53 來(lái)源:網(wǎng)絡(luò) 閱讀:2368 作者:WuWeiZhu 欄目:系統(tǒng)運(yùn)維

1、什么是軟件包?
軟件包是指將應(yīng)用程序、配置文件和管理數(shù)據(jù)打包的產(chǎn)物。
2、Linux下常用的基本軟件包管理工具有兩種:dpkg工具和RPM工具。對(duì)應(yīng)于兩種不同格式的軟件包,即.deb格式與.rpm格式。dpkg軟件包工具主要用于Debian和Ubuntu這兩個(gè)發(fā)行版本。RPM工具用于絕大多數(shù)的Linux發(fā)行版本,如Red Hat、openSUSE等。
3、使用dpkg和rpm工具安裝軟件需要考慮軟件的依賴(lài)性問(wèn)題,只有應(yīng)用程序所依賴(lài)的所有庫(kù)和支持都已經(jīng)正確安裝好了,軟件才能被正確安裝。
4、dpkg工具的常用選項(xiàng):
--install(-i):安裝特定的軟件包。該選項(xiàng)會(huì)在安裝軟件包之前把系統(tǒng)上原有的舊版本刪除。
--force:強(qiáng)制安裝軟件包。系統(tǒng)將忽略一切依賴(lài)和兼容性問(wèn)題直到軟件包”安裝完畢“。請(qǐng)謹(jǐn)慎使用。
-l:查看已經(jīng)安裝的軟件包。假設(shè)需要查找當(dāng)前系統(tǒng)中的OpenSSH版本信息時(shí),可以使用如下命令:dpkg -l | grep openssh。
--search(-S):查看所安裝的軟件包究竟向系統(tǒng)中復(fù)制了哪些文件。以O(shè)penSSH為例:dpkg -S openssh。
--remove(-r):卸載已經(jīng)安裝的軟件包。卸載和安裝軟件均需提供軟件包的名字。例如要卸載安裝在系統(tǒng)中的Opera瀏覽器,首先使用dpkg -l | grep opera 查看opera瀏覽器的軟件包信息,然后使用sudo dpkg --remove opera 刪除opera瀏覽器。
注意:所卸載的軟件包可能含有其他軟件所依賴(lài)的庫(kù)和數(shù)據(jù)文件,在這種情況下,卸載將可能導(dǎo)致不可預(yù)計(jì)的后果。因此,在卸載前請(qǐng)確認(rèn)已經(jīng)解決了所有的依賴(lài)關(guān)系或者使用更高級(jí)的軟件包工具。
5、RPM工具的常用選項(xiàng):
-ivh:安裝軟件包。注意這是三個(gè)選項(xiàng)的組合使用。-i用于安裝一個(gè)軟件包。-v用于顯示rpm當(dāng)前正在執(zhí)行的工作。-h通過(guò)打印一系列的“#”提醒用戶(hù)當(dāng)前的安裝進(jìn)度。
--force:忽略一切依賴(lài)和兼容性問(wèn)題,強(qiáng)行安裝軟件包。
--nodeps:使rpm忽略軟件包相關(guān)性沖突繼續(xù)安裝軟件包。當(dāng)正在安裝的軟件包在其他一些軟件包的支持下才能正常工作時(shí),就會(huì)發(fā)生軟件包相關(guān)性沖突。
-U:用于升級(jí)一個(gè)軟件包。通常加上-v、-h一起使用(即-Uvh)。升級(jí)操作實(shí)際是卸載和安裝的組合。在升級(jí)軟件時(shí),rpm首先卸載老版本的軟件包,然后再安裝新版本的軟件包。rpm的升級(jí)操作會(huì)保留軟件的配置文件。
-q:查看已安裝的軟件包。
-e:卸載軟件包。這個(gè)命令接收軟件包的名字作為參數(shù),不帶有版本信息。
--test:要求rpm模擬刪除軟件包的全過(guò)程,但并不真的執(zhí)行刪除操作。
6、高級(jí)軟件包工具:APT(Advanced Package Tool)。
(1)APT可以自動(dòng)檢測(cè)軟件依賴(lài)問(wèn)題,下載和安裝所有文件。不需像使用dpkg與rpm工具那樣一個(gè)個(gè)的安裝所依賴(lài)的組件。
(2)系統(tǒng)第一次啟動(dòng)時(shí),需要運(yùn)行apt-get update更新緩存中的軟件包信息,此后,就可以使用apt-get install命令安裝軟件包了。推薦每次進(jìn)行軟件安裝和更新時(shí)都運(yùn)行apt-get update,以保證獲得的軟件包是最新的。
(3)常用選項(xiàng):
apt-get:用于執(zhí)行和軟件包安裝有關(guān)的所有操作。
apt-cache:用于查找軟件包的相關(guān)信息。
apt-get install:下載并安裝軟件包。
apt-get upgrade:下載并安裝在本系統(tǒng)上已有的軟件包的最新版本。
apt-get remove:卸載特定的軟件包。
apt-get source:下載特定的軟件源代碼。
apt-get clean:刪除所有已下載的包文件。
apt-get -h:列出apt-get的完整用法。
apt-cache search:搜索軟件包列表中特定的軟件包。
apt-cache depends:列出特定軟件包的依賴(lài)關(guān)系。
7、從源代碼編譯安裝軟件:
(1)從源代碼編譯安裝軟件沒(méi)有絕對(duì)的流程,不同的軟件有不同的編譯方式,但基本思想是一致的。
(2)從源代碼編譯安裝軟件通常能讓編譯者獲得更多的控制,例如軟件安裝的位置,開(kāi)啟和禁用軟件的某些功能等。
(3)大致步驟如下:
a:從網(wǎng)上下載到所需安裝軟件的源代碼。在Linux下,“.tar.bz2”和“.tar.gz”這樣的壓縮格式是發(fā)布源代碼的標(biāo)準(zhǔn)格式。
b:利用解壓縮工具解壓源代碼。
c:根據(jù)軟件提供的安裝文檔README或者INSTALL,使用configure腳本對(duì)軟件進(jìn)行個(gè)性化配置。Linux上所有的軟件都使用configure這個(gè)腳本來(lái)配置以源代碼形式發(fā)布的軟件。configure依據(jù)用戶(hù)提供相關(guān)參數(shù)生成對(duì)應(yīng)的makefile文件,然后makefile指導(dǎo)make命令正確地編譯軟件。
d:使用make工具進(jìn)行編譯。make是一種高級(jí)編譯工具,它可以依據(jù)makefile文件中的規(guī)則調(diào)用合適的編譯器編譯源代碼。因?yàn)榇笮蛙浖偸怯纱罅磕K組合在一起,其中源代碼文件的聯(lián)系錯(cuò)綜復(fù)雜,不可能逐一動(dòng)手編譯這些文件。使用make工具可以按照預(yù)先設(shè)定的步驟自動(dòng)執(zhí)行這一切。
e:運(yùn)行make install根據(jù)c步驟配置安裝軟件。
(4)如果出現(xiàn)問(wèn)題,不要慌亂,這是正常的,應(yīng)該首先閱讀安裝文檔,然后再互聯(lián)網(wǎng)上查找相關(guān)信息,一步步地解決所遇到的問(wèn)題。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI