Linux 基礎入門教程----Linux 下軟體安裝
介紹
介紹 Ubuntu 下軟體安裝的幾種方式,及 apt,dpkg 工具的使用。
一、Linux 上的軟體安裝
通常 Linux 上的軟體安裝主要有三種方式:
- 線上安裝
- 從磁碟安裝deb軟體包
- 從二進位軟體包安裝
- 從原始碼編譯安裝
這幾種安裝方式各有優劣,而大多數軟體包會採用多種方式發布軟體,所以我們常常需要全部掌握這幾種軟體安裝方式,以便適應各種環境。下面將介紹前三種安裝方式,從源碼編譯安裝你將在 Linux 程式設計中學習到。
二、線上安裝
試想一下,平時我們在使用 Windows 的時候,想要安裝一個軟體,我們需要在網上去下載對應軟體的安裝包,接著安裝的時候就是不斷的去點擊下一步,這些流程想必大家已經經曆的無數回了,但是在 Linux 下,一個命令加斷行符號,等待一下,軟體就安裝好了,這就是方便的線上安裝軟體的方式。在學習這種安裝方式之前有一點需要說明的是,在不同的linux發行版上面線上安裝方式會有一些差異包括使用的命令及它們的包管理工具,因為我們的開發環境是基於ubuntu的,所以這裡我們涉及的線上安裝方式將只適用於ubuntu發行版,或其它基於ubuntu的發行版如國內的ubuntukylin(優麒麟),ubuntu又是基於debian的發行版,它使用的是debian的包管理工具dpkg,所以一些操作也適用與debian。而在其它一些採用其它包管理工具的發行版如RedHat,CentOS,Fedora等將不適用(redhat和centos使用rpm)。
1. 先體驗一下
比如我們想安裝一個軟體,名字叫做 w3m(w3m是一個命令列的簡易網頁瀏覽器),那麼輸入如下命令:
$ sudo apt-get install w3m
這樣的操作你應該在前面的章節中看到過很多次了,它就表示將會安裝一個軟體包名為w3m的軟體
我們來看看命令執行後的效果:
$ w3m www.shiyanlou.com/faq
注意:如果你在安裝一個軟體之後,無法立即使用Tab鍵補全這可命令,你可以嘗試先執行source ~/.zshrc,然後你就可以使用補全操作。
2. apt 包管理工具介紹
APT是Advance Packaging Tool(進階封裝工具)的縮寫,是Debian及其派生髮行版的軟體包管理器,APT可以自動下載,配置,安裝二進位或者原始碼格式的軟體包,因此簡化了Unix系統上管理軟體的過程。APT最早被設計成dpkg的前端,用來處理deb格式的軟體包。現在經過APT-RPM組織修改,APT已經可以安裝在支援RPM的系統管理RPM包。這個包管理器包含以 apt- 開頭的的多個工具,如 apt-get apt-cache apt-cdrom 等,在Debian系列的發行版中使用。
當你在執行安裝操作時,首先apt-get 工具會在本地的一個資料庫中搜尋關於 w3m 軟體的相關資訊,並根據這些資訊在相關的伺服器上下載軟體安裝,這裡大家可能會一個疑問:既然是線上安裝軟體,為啥會在本地的資料庫中搜尋?要解釋這個問題就得提到幾個名詞了:
我們需要定期從伺服器上下載一個軟體包列表,使用 sudo apt-get update 命令來保持本地的軟體包列表是最新的(有時你也需要手動執行這個操作,比如更換了軟體源),而這個表裡會有軟體依賴資訊的記錄,對於軟體依賴,我舉個例子:我們安裝 w3m 軟體的時候,而這個軟體需要 libgc1c2 這個軟體包才能正常工作,這個時候 apt-get在安裝軟體的時候會一併替我們安裝了,以保證 w3m 能正常的工作。
3.apt-get
apt-get使用各用於處理apt包的公用程式集,我們可以用它來線上安裝、卸載和升級軟體包等,下面列出一些apt-get包含的常用的一些工具:
| 工具 |
說明 |
install |
其後加上軟體包名,用於安裝一個軟體包 |
update |
從軟體源鏡像伺服器上下載/更新用於更新本地軟體源的軟體包列表 |
upgrade |
升級本地可更新的全部軟體包,但存在依賴問題時將不會升級,通常會在更新之前執行一次update |
dist-upgrade |
解決依賴關係並升級(存在一定危險性) |
remove |
移除已安裝的軟體包,包括與被移除軟體包有依賴關係的軟體包,但不包含軟體包的設定檔 |
autoremove |
移除之前被其他軟體包依賴,但現在不再被使用的軟體包 |
purge |
與remove相同,但會完全移除軟體包,包含其設定檔 |
clean |
移除下載到本地的已經安裝的軟體包,預設儲存在/var/cache/apt/archives/ |
autoclean |
移除已安裝的軟體的舊版本軟體包 |
下面是一些apt-get常用的參數:
| 參數 |
說明 |
-y |
自動回應是否安裝軟體包的選項,在一些自動化安裝指令碼中使用這個參數將十分有用 |
-s |
類比安裝 |
-q |
靜默安裝方式,指定多個q或者-q=#,#表示數字,用於設定靜默層級,這在你不想要在安裝軟體包時螢幕輸出過多時很有用 |
-f |
修複損壞的依賴關係 |
-d |
只下載不安裝 |
--reinstall |
重新安裝已經安裝但可能存在問題的軟體包 |
--install-suggests |
同時安裝APT給出的建議安裝的軟體包 |
4.安裝軟體包
關於安裝,如前面示範的一樣你只需要執行apt-get install <軟體包名>即可,除了這一點,你還應該掌握的是如何重新安裝軟體包。 很多時候我們需要重新安裝一個軟體包,比如你的系統被破壞,或者一些錯誤的配置導致軟體無法正常工作。
你可以使用如下方式重新安裝:
$ sudo apt-get --reinstall install w3m
另一個你需要掌握的是,如何在不知道軟體包完整名的時候進行安裝。通常我們是使用Tab鍵補全軟體包名,後面會介紹更好的方法來搜尋軟體包。有時候你需要同時安裝多個軟體包,你還可以使用Regex匹配軟體包名進行大量安裝。
5.軟體升級
# 更新軟體源$ sudo apt-get update# 升級沒有依賴問題的軟體包$ sudo apt-get upgrade# 升級並解決依賴關係$ sudo apt-get dist-upgrade
6.卸載軟體
如果你現在覺得 w3m 這個軟體不合自己的胃口,或者是找到了更好的,你需要卸載它,那麼簡單!同樣是一個命令加斷行符號 sudo apt-get remove w3m ,系統會有一個確認的操作,之後這個軟體便“滾蛋了”。
或者,你可以執行
# 不保留設定檔的移除$ sudo apt-get purge w3m# 或者 sudo apt-get --purge remove# 移除不再需要的被依賴的軟體包$ sudo apt-get autoremove
7.軟體搜尋
當自己剛知道了一個軟體,想下載使用,需要確認軟體倉庫裡面有沒有,就需要用到搜尋功能了,命令如下:
sudo apt-cache search softname1 softname2 softname3……
apt-cache 命令則是針對本機資料進行相關操作的工具,search 顧名思義在本地的資料庫中尋找有關 softname1 softname2 …… 相關軟體的資訊。現在我們試試搜尋一下之前我們安裝的軟體 w3m ,
結果顯示了4個 w3m 相關的軟體,並且有相關軟體的簡介。
關於線上安裝的的內容我們就介紹這麼多,想瞭解