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)是:
- 開源锹雏,有能力的話可以對源碼進(jìn)行修改,所以可以自由選擇自己所需的功能术奖;
- 本機(jī)兼容性好逼侦,更加穩(wěn)定和高效,只要編譯通過腰耙,就不存在各種庫依賴的問題;
- 卸載方便铲球,直接刪除安裝目錄即可挺庞;
- ...
源碼包的缺點(diǎn)是:
- 安裝步驟多,容易出錯(cuò)稼病,解決問題麻煩选侨;
- 安裝編譯耗時(shí)過長,編譯麻煩然走;
- 缺乏自動(dòng)依賴管理援制,軟件升級(jí)麻煩;
2. rpm 包
介于源碼包安裝的種種局限性芍瑞,RedHat Linux 提供了一種對源碼編譯后二進(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 不檢測依賴性(不推薦使用)
- 升級(jí)命令(當(dāng)包未安裝時(shí)选酗,也可用作安裝命令):
rpm -Uvh <包全名>
-U(upgrade)升級(jí)
- 卸載命令:
rpm -e <包名>
-e(erase)卸載
--nodeps 不檢測依賴性(不推薦使用)
3. rpm 包查詢
- 查詢命令
rpm [參數(shù)] <包名>
-q(query)查詢
-i(information)軟件信息
-l(list)文件安裝目錄列表
-R(requires)包依賴性
-p(package)未安裝包信息
- 查詢所有已經(jīng)安裝的 rpm 包
該命令通常和管道符組合查詢已安裝的包
rpm -qa
-a(all) 所有
- 查詢文件屬于哪個(gè)軟件包
rpm -qf <文件名>
-f(file)查詢文件屬于哪個(gè)軟件包
- rpm 包通常安裝位置
目錄 | 說明 |
---|---|
/etc/ |
配置文件 |
/usr/bin/ |
可執(zhí)行命令 |
/usr/lib |
函數(shù)庫 |
/usr/share/doc/ |
使用手冊 |
/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軟件安裝管理