Linux下軟件安裝
開始
試想一下沥曹,平時(shí)我們?cè)谑褂?Windows 的時(shí)候悠汽,想要安裝一個(gè)軟件舞蔽,我們需要在網(wǎng)上去下載對(duì)應(yīng)軟件的安裝包贩据,接著安裝的時(shí)候就是不斷的去點(diǎn)擊下一步栋操,這些流程想必大家已經(jīng)經(jīng)歷無數(shù)回了,但是在 Linux 下饱亮,一個(gè)命令加回車矾芙,等待一下,軟件就安裝好了近上,這就是方便的在線安裝軟件的方式蠕啄。在學(xué)習(xí)這種安裝方式之前有一點(diǎn)需要說明的是,**在不同的 linux 發(fā)行版上面在線安裝方式會(huì)有一些差異包括使用的命令及它們的包管理工具,因?yàn)槲覀兊拈_發(fā)環(huán)境是基于 ubuntu 的歼跟,所以這里我們涉及的在線安裝方式將只適用于 ubuntu 發(fā)行版,或其它基于 ubuntu 的發(fā)行版如國(guó)內(nèi)的 ubuntukylin(優(yōu)麒麟)格遭,ubuntu 又是基于 debian 的發(fā)行版哈街,它使用的是 debian 的包管理工具 dpkg,所以一些操作也適用于 debian拒迅。而在一些采用其它包管理工具的發(fā)行版如 redhat骚秦,centos,fedora 等將不適用(redhat 和 centos 使用 rpm)**璧微。
提醒:非會(huì)員用戶不能鏈接外網(wǎng)作箍,若在線安裝的軟件需從非阿里云的源下載將無法安裝。
先體驗(yàn)一下
比如我們想安裝一個(gè)軟件前硫,名字叫做 w3m(w3m 是一個(gè)命令行的簡(jiǎn)易網(wǎng)頁(yè)瀏覽器)胞得,那么輸入如下命令:
sudo apt-get install w3m
這樣的操作你應(yīng)該在前面的章節(jié)中看到過很多次了,它就表示將會(huì)安裝一個(gè)軟件包名為 w3m 的軟件屹电。
我們來看看命令執(zhí)行后的效果:
w3m https://www.lanqiao.cn/faq
注意:如果你在安裝一個(gè)軟件之后阶剑,無法立即使用 Tab 鍵補(bǔ)全這個(gè)命令,你可以嘗試先執(zhí)行 source ~/.zshrc危号,然后你就可以使用補(bǔ)全操作牧愁。
apt 包管理工具介紹
APT 是 Advance Packaging Tool(高級(jí)包裝工具)的縮寫,是 Debian 及其派生發(fā)行版的軟件包管理器外莲,APT 可以自動(dòng)下載猪半,配置,安裝二進(jìn)制或者源代碼格式的軟件包偷线,因此簡(jiǎn)化了 Unix 系統(tǒng)上管理軟件的過程磨确。APT 最早被設(shè)計(jì)成 dpkg 的前端,用來處理 deb 格式的軟件包×苷眩現(xiàn)在經(jīng)過 APT-RPM 組織修改俐填,APT 已經(jīng)可以安裝在支持 RPM 的系統(tǒng)管理 RPM 包。這個(gè)包管理器包含以 apt- 開頭的多個(gè)工具翔忽,如 apt-get apt-cache apt-cdrom 等英融,在 Debian 系列的發(fā)行版中使用。
當(dāng)你在執(zhí)行安裝操作時(shí)歇式,首先 apt-get 工具會(huì)在本地的一個(gè)數(shù)據(jù)庫(kù)中搜索關(guān)于 w3m 軟件的相關(guān)信息驶悟,并根據(jù)這些信息在相關(guān)的服務(wù)器上下載軟件安裝,這里大家可能會(huì)一個(gè)疑問:既然是在線安裝軟件材失,為啥會(huì)在本地的數(shù)據(jù)庫(kù)中搜索痕鳍?要解釋這個(gè)問題就得提到幾個(gè)名詞了:
軟件源鏡像服務(wù)器
軟件源
我們需要定期從服務(wù)器上下載一個(gè)軟件包列表,使用 sudo apt-get update 命令來保持本地的軟件包列表是最新的(有時(shí)你也需要手動(dòng)執(zhí)行這個(gè)操作,比如更換了軟件源)笼呆,而這個(gè)表里會(huì)有軟件依賴信息的記錄熊响,對(duì)于軟件依賴,我舉個(gè)例子:我們安裝 w3m 軟件的時(shí)候诗赌,而這個(gè)軟件需要 libgc1c2 這個(gè)軟件包才能正常工作汗茄,這個(gè)時(shí)候 apt-get 在安裝軟件的時(shí)候會(huì)一并替我們安裝了,以保證 w3m 能正常的工作铭若。
apt-get
apt-get 是用于處理 apt包的公用程序集洪碳,我們可以用它來在線安裝、卸載和升級(jí)軟件包等叼屠,下面列出一些 apt-get 包含的常用的一些工具:
下面是一些apt-get常用的參數(shù):
安裝軟件包
關(guān)于安裝瞳腌,如前面演示的一樣你只需要執(zhí)行 apt-get install <packagename> 即可,除了這一點(diǎn)镜雨,你還應(yīng)該掌握的是如何重新安裝軟件包嫂侍。
很多時(shí)候我們需要重新安裝一個(gè)軟件包,比如你的系統(tǒng)被破壞冷离,或者一些錯(cuò)誤的配置導(dǎo)致軟件無法正常工作吵冒。你可以使用如下方式重新安裝:
sudo apt-get --reinstall install <packagename>
另一個(gè)你需要掌握的是,如何在不知道軟件包完整名的時(shí)候進(jìn)行安裝西剥。通常我們是使用 Tab 鍵補(bǔ)全軟件包名痹栖,后面會(huì)介紹更好的方法來搜索軟件包。有時(shí)候你需要同時(shí)安裝多個(gè)軟件包瞭空,你還可以使用正則表達(dá)式匹配軟件包名進(jìn)行批量安裝揪阿。
軟件升級(jí)
# 更新軟件源
sudo apt-get update
# 升級(jí)沒有依賴問題的軟件包
sudo apt-get upgrade
# 升級(jí)并解決依賴關(guān)系
sudo apt-get dist-upgrade
卸載軟件
如果你現(xiàn)在覺得 w3m 這個(gè)軟件不合自己的胃口或者是找到了更好的,你需要卸載它咆畏。那么簡(jiǎn)單南捂,同樣是一個(gè)命令加回車 sudo apt-get remove w3m,系統(tǒng)會(huì)有一個(gè)確認(rèn)的操作旧找,之后這個(gè)軟件就被卸載了溺健。
或者,你可以執(zhí)行
# 不保留配置文件的移除
sudo apt-get purge w3m
# 或者
sudo apt-get --purge remove w3m
# 移除不再需要的被依賴的軟件包
sudo apt-get autoremove
軟件搜索
當(dāng)自己剛知道了一個(gè)軟件钮蛛,想下載使用鞭缭,需要確認(rèn)軟件倉(cāng)庫(kù)里面有沒有,就需要用到搜索功能了魏颓,命令如下:
sudo apt-cache search softname1 softname2 softname3……
apt-cache 命令則是針對(duì)本地?cái)?shù)據(jù)進(jìn)行相關(guān)操作的工具岭辣,search 顧名思義在本地的數(shù)據(jù)庫(kù)中尋找有關(guān) softname1,softname2 相關(guān)軟件的信息〉楸ィ現(xiàn)在我們?cè)囋囁阉饕幌轮拔覀儼惭b的軟件 w3m沦童,如圖:
結(jié)果顯示了 4 個(gè)
w3m
相關(guān)的軟件仑濒,并且有相關(guān)軟件的簡(jiǎn)介。
關(guān)于在線安裝的內(nèi)容我們就介紹這么多偷遗,想了解更多關(guān)于 APT 的內(nèi)容墩瞳,你可以參考:
APT HowTo
使用 dpkg
本節(jié)講解如何使用 dpkg 從本地磁盤安裝 deb 軟件包。
dpkg 介紹
dpkg 是 Debian 軟件包管理器的基礎(chǔ)鹦肿,它被伊恩·默多克創(chuàng)建于 1993 年矗烛。dpkg 與 RPM 十分相似,同樣被用于安裝箩溃、卸載和供給和 .deb 軟件包相關(guān)的信息。
dpkg 本身是一個(gè)底層的工具碌嘀。上層的工具涣旨,像是 APT,被用于從遠(yuǎn)程獲取軟件包以及處理復(fù)雜的軟件包關(guān)系股冗。"dpkg"是"Debian Package"的簡(jiǎn)寫霹陡。
我們經(jīng)常可以在網(wǎng)絡(luò)上見到以deb形式打包的軟件包止状,就需要使用dpkg命令來安裝烹棉。
dpkg常用參數(shù)介紹:
使用 dpkg 安裝 deb 軟件包
我們先使用apt-get加上-d參數(shù)只下載不安裝,下載 emacs 編輯器的 deb 包:
sudo apt-get update
sudo apt-get -d install -y emacs
下載完成后怯疤,我們可以查看/var/cache/apt/archives/目錄下的內(nèi)容浆洗,如下圖:
然后我們將第一個(gè)deb拷貝到 /home/shiyanlou 目錄下,并使用dpkg安裝
cp /var/cache/apt/archives/emacs24_24.5+1-6ubuntu1.1_amd64.deb ~
# 安裝之前參看deb包的信息
sudo dpkg -I emacs24_24.5+1-6ubuntu1.1_amd64.deb
如你所見集峦,這個(gè)包還額外依賴了一些軟件包伏社,這意味著,如果主機(jī)目前沒有這些被依賴的軟件包塔淤,直接使用 dpkg 安裝可能會(huì)存在一些問題摘昌,因?yàn)閐pkg并不能為你解決依賴關(guān)系。
# 使用dpkg安裝
sudo dpkg -i emacs24_24.5+1-6ubuntu1.1_amd64.deb
跟前面預(yù)料的一樣高蜂,這里你可能出現(xiàn)了一些錯(cuò)誤:
我們將如何解決這個(gè)錯(cuò)誤呢聪黎?這就要用到apt-get了,使用它的-f參數(shù)了备恤,修復(fù)依賴關(guān)系的安裝
sudo apt-get update
sudo apt-get -f install -y
沒有任何錯(cuò)誤稿饰,這樣我們就安裝成功了,然后你可以運(yùn)行 emacs 程序
查看已安裝軟件包的安裝目錄
如果你依然在糾結(jié)到底 linux 將軟件安裝到了什么地方烘跺,那么很幸運(yùn)你將可以通過dpkg找到答案
使用dpkg -L查看deb包目錄信息
sudo dpkg -L emacs24
從二進(jìn)制包安裝
二進(jìn)制包的安裝比較簡(jiǎn)單湘纵,我們需要做的只是將從網(wǎng)絡(luò)上下載的二進(jìn)制包解壓后放到合適的目錄,然后將包含可執(zhí)行的主程序文件的目錄添加進(jìn)PATH環(huán)境變量即可滤淳,如果你不知道該放到什么位置梧喷,請(qǐng)重新復(fù)習(xí)第四節(jié)關(guān)于 Linux 目錄結(jié)構(gòu)的內(nèi)容。
作業(yè)
這一節(jié)是本課程的最后一節(jié),所以這里我們給大家介紹一個(gè)很有趣的命令铺敌。
安裝:
sudo apt-get update
sudo apt-get install bb
/usr/games/bb