Linux 軟件安裝管理

Linux 也存在類似 Windows 的圖形化軟件安裝方式;
但是經(jīng)常作為服務(wù)器操作系統(tǒng)的 Linux,經(jīng)常不會(huì)安裝圖形化操作界面;
所以使用命令行成為 Linux 最常用最方便的軟件安裝方式;
下面我們主要介紹 Linux 使用命令行進(jìn)行軟件安裝和管理;

軟件管理簡介

1. 源碼包

源碼包常見的安裝包為 tar 包,比如 httpd-2.4.33.tar.gz,它是使用 Unix 的打包工具 tar 打包的;
只要 Linux 安裝了 gcc 等編譯器都支持源碼包的安裝;

源碼包的優(yōu)點(diǎn)是:

  • 開源,有能力的話可以對(duì)源碼進(jìn)行修改,所以可以自由選擇自己所需的功能;
  • 本機(jī)兼容性好,更加穩(wěn)定和高效,只要編譯通過,就不存在各種庫依賴的問題;
  • 卸載方便,直接刪除安裝目錄即可;
  • ...

源碼包的缺點(diǎn)是:

  • 安裝步驟多,容易出錯(cuò),解決問題麻煩;
  • 安裝編譯耗時(shí)過長,編譯麻煩;
  • 缺乏自動(dòng)依賴管理,軟件升級(jí)麻煩;

2. rpm 包

介于源碼包安裝的種種局限性,RedHat Linux 提供了一種對(duì)源碼編譯后二進(jìn)制文件封裝的格式 rpm,比如
httpd-2.4.6-80.el7.centos.x86_64.rpm,現(xiàn)在全稱為 RPM Package Manager,以前叫 RedHat Package Manager;
rpm 的優(yōu)點(diǎn)缺點(diǎn)與源碼包安裝相反,各有優(yōu)缺,需要用戶自行判斷選擇使用哪種安裝方式;

3. 腳本安裝

當(dāng)我們安裝復(fù)雜大型的軟件時(shí),可以使用別人寫好的 shell 腳本進(jìn)行批量自動(dòng)化安裝;
腳本安裝時(shí)安裝的依然是源碼包和 rpm 包;
優(yōu)點(diǎn)是安裝簡單快捷,缺點(diǎn)則是丟失了安裝的自定義;

rpm 命令管理

1. 命名規(guī)則

rpm 包擁有統(tǒng)一的命名規(guī)則,比如:httpd-2.4.6-80.el7.centos.x86_64.rpm

命名 說明
httpd 包名稱
-2.4.6 版本
-80 發(fā)布的次數(shù)
el7.centos 適合的 Linux 發(fā)行版本
x86_64 適合的硬件平臺(tái)
rpm 包擴(kuò)展名

2. 安裝、升級(jí)與卸載命令

  • 安裝命令:
rpm -ivh <包全名>

-i(install)安裝
-v(verbose)顯示詳細(xì)信息
-h(hash)顯示進(jìn)度
--nodeps 不檢測(cè)依賴性(不推薦使用)
  • 升級(jí)命令(當(dāng)包未安裝時(shí),也可用作安裝命令):
rpm -Uvh <包全名>

-U(upgrade)升級(jí)
  • 卸載命令:
rpm -e <包名>

-e(erase)卸載
--nodeps 不檢測(cè)依賴性(不推薦使用)

3. rpm 包查詢

  1. 查詢命令
rpm [參數(shù)] <包名>

-q(query)查詢
-i(information)軟件信息
-l(list)文件安裝目錄列表
-R(requires)包依賴性
-p(package)未安裝包信息
rpm -qi <包名>
rpm -ql <包名>
rpm -qR <包名>
  1. 查詢所有已經(jīng)安裝的 rpm 包
    該命令通常和管道符組合查詢已安裝的包
rpm -qa

-a(all) 所有
  1. 查詢文件屬于哪個(gè)軟件包
rpm -qf <文件名>

-f(file)查詢文件屬于哪個(gè)軟件包
  1. rpm 包通常安裝位置
目錄 說明
/etc/ 配置文件
/usr/bin/ 可執(zhí)行命令
/usr/lib 函數(shù)庫
/usr/share/doc/ 使用手冊(cè)
/usr/share/man/ 幫助文件

4. rpm 包校驗(yàn)

rpm -V <包名>

-V(verify)校驗(yàn)指定包中的文件

當(dāng) rpm 包文件被修改后,使用校驗(yàn)命令會(huì)返回被修改的信息:

  • 驗(yàn)證內(nèi)容中信息具體說明:
驗(yàn)證信息 說明
S 文件大小是否改變
M 文件類型或權(quán)限是否改變
5 文件md5校驗(yàn)值是否改變
D 設(shè)備主從代碼是否改變
L 文件路徑是否改變
U 文件所有者是否改變
G 文件用戶組是否改變
T 文件修改時(shí)間是否改變
  • 文件類型說明:
文件類型 說明
c 配置文件(config file)
d 普通文件(documentation)
g 不屬于這個(gè) rpm 包(ghost file)
L 授權(quán)文件(license file)
r 描述文件(read me)

yum 在線安裝

由于 rpm 包安裝時(shí)的各種依賴問題導(dǎo)致的不方便,yum 安裝方式應(yīng)運(yùn)而生;
當(dāng)使用 yum 目錄命令進(jìn)行軟件包安裝時(shí),Linux 會(huì)從指定的 yum 源下載安裝 rpm 包,并且自動(dòng)解決各種包依賴的問題;

1. yum 源文件

yum 源文件位于 /etc/yum.repos.d/ 目錄中,默認(rèn)生效文件為 CentOS-Base.repo

yum 源文件內(nèi)容說明:

說明
[base] 容器名稱,寫在 [ ]
name 容器說明
enabled 是否生效,值為1或者不寫時(shí)為生效,0不生效
baseurl 源服務(wù)器地址
gpgcheck 為1表示 rpm 數(shù)字證書生效
gpgkey 數(shù)字證書公鑰文件保存位置

2. yum 命令

# 列出所有可用軟件包列表
yum list
# 列出所有可用的軟件組列表
yum grouplist

# 搜索所有和關(guān)鍵詞相關(guān)的包
yum search <關(guān)鍵詞>

# 安裝
yum -y install <包名> # -y 遇到確認(rèn)時(shí)自動(dòng)回答 yes
# 安裝指定軟件組
yum groupinstall <軟件組名>

# 升級(jí)(不建議使用)
yum -y update <包名>

# 卸載(不建議使用)
yum -y remove <包名>
# 卸載指定軟件組
yum groupremove <軟件組名>

源碼包安裝

源碼包通常保存位置為 /usr/local/src/
源碼包通常安裝位置為 /usr/local/包名/

# 安裝C語言編譯器
yum -y install gcc

# 下載源碼包

# 解壓源碼包
tar -zxvf httpd-2.4.33.tar.gz

# 進(jìn)入解壓目錄
cd httpd-2.4.33

# 軟件配置與檢查 --prefix指定安裝位置
./configure --prefix=/usr/local/apache2

# 編譯
make

# 安裝
make install

腳本安裝

以安裝 LNMP 為例:https://lnmp.org/install.html

參考:
慕課網(wǎng) Linux軟件安裝管理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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