Linux下軟體安裝

2puT發表於2016-07-26
Linux下軟體安裝 - 實驗樓
https://www.shiyanlou.com/courses/document/356
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
1 of 10
08/17/2015 07:47 PMLinux下軟體安裝 - 實驗樓
https://www.shiyanlou.com/courses/document/356
這樣的操作你應該在前面的章節中看到過很多次了,它就表示將會安
裝一個軟體包名為 w3m 的軟體
我們來看看命令執行後的效果:
$ w3m www.shiyanlou.com/faq
注意:如果你在安裝一個軟體之後,無法立即使用 Tab 鍵補全這可命
令,你可以嘗試先執行 source ~/.zshrc ,然後你就可以使用補全操
作。
2. apt 包管理工具介紹
2 of 10
08/17/2015 07:47 PMLinux下軟體安裝 - 實驗樓
https://www.shiyanlou.com/courses/document/356
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
clean
autoclean
移除已安裝的軟體包,包括與被移除軟體包有依賴關係的軟體包,但
不包含軟體包的配置檔案
移除之前被其他軟體包依賴,但現在不再被使用的軟體包
與remove相同,但會完全移除軟體包,包含其配置檔案
移除下載到本地的已經安裝的軟體包,預設儲存在/var/cache/apt
/archives/
移除已安裝的軟體的舊版本軟體包
下面是一些 apt-get 常用的引數:
引數
3 of 10
說明
08/17/2015 07:47 PMLinux下軟體安裝 - 實驗樓
https://www.shiyanlou.com/courses/document/356
引數
-y
-s
-q
說明
自動迴應是否安裝軟體包的選項,在一些自動化安裝指令碼中使用這
個引數將十分有用
模擬安裝
靜默安裝方式,指定多個 q 或者 -q=# ,#表示數字,用於設定靜默
-f 級別,這在你不想要在安裝軟體包時螢幕輸出過多時很有用
修復損壞的依賴關係
-d 只下載不安裝
--reinstall 重新安裝已經安裝但可能存在問題的軟體包
--install-
suggests
同時安裝APT給出的建議安裝的軟體包
4.安裝軟體包
關於安裝,如前面演示的一樣你只需要執行 apt-get install <軟體
包名> 即可,除了這一點,你還應該掌握的是如何重新安裝軟體包。
很多時候我們需要重新安裝一個軟體包,比如你的系統被破壞,或者
一些錯誤的配置導致軟體無法正常工作。
你可以使用如下方式重新安裝:
$ sudo apt- get --reinstall install w3m
另一個你需要掌握的是,如何在不知道軟體包完整名的時候進行安
裝。通常我們是使用 Tab 鍵補全軟體包名,後面會介紹更好的方法來
搜尋軟體包。有時候你需要同時安裝多個軟體包,你還可以使用正則
表示式匹配軟體包名進行批量安裝。
5.軟體升級
# 更新軟體源
$ sudo apt- get update
# 升級沒有依賴問題的軟體包
$ sudo apt- get upgrade
# 升級並解決依賴關係
$ sudo apt- get dist-upgrade
6.解除安裝軟體
如果你現在覺得 w3m 這個軟體不合自己的胃口,或者是找到了更好
的,你需要解除安裝它,那麼簡單!同樣是一個命令加回車 sudo
apt-get remove w3m ,系統會有一個確認的操作,之後這個軟體便
“滾蛋了”。
4 of 10
08/17/2015 07:47 PMLinux下軟體安裝 - 實驗樓
https://www.shiyanlou.com/courses/document/356
或者,你可以執行
# 不保留配置檔案的移除
$ 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 相關的軟體,並且有相關軟體的簡介。
關於線上安裝的的內容我們就介紹這麼多,想了解更多關於APT的內
容,你可以參考:
APT HowTo (http://www.debian.org/doc/manuals/apt-howto
/index.zh-cn.html#contents)
三、使用 dpkg 從本地磁碟安裝
5 of 10
08/17/2015 07:47 PMLinux下軟體安裝 - 實驗樓
https://www.shiyanlou.com/courses/document/356
deb 軟體包
1.dpkg 介紹
dpkg 是 Debian 軟體包管理器的基礎,它被伊恩·默多克建立於
1993 年。dpkg 與 RPM 十分相似,同樣被用於安裝、解除安裝和
供給和 .deb 軟體包相關的資訊。
dpkg 本身是一個底層的工具。上層的工具,像是 APT,被用於
從遠端獲取軟體包以及處理複雜的軟體包關係。"dpkg"
是"Debian Package"的簡寫。
我們經常可以在網路上簡單以 deb 形式打包的軟體包,就需要使用
dpkg 命令來安裝。
dpkg 常用引數介紹:
引數說明
-i 安裝指定deb包
-R 後面加上目錄名,用於安裝該目錄下的所有deb安裝包
-r remove,移除某個已安裝的軟體包
-I 顯示 deb 包檔案的資訊
-s 顯示已安裝軟體的資訊
-S 搜尋已安裝的軟體包
-L 顯示已安裝軟體包的目錄資訊
2.使用dpkg安裝deb軟體包
我們先使用 apt-get 加上 -d 引數只下載不安裝,下載emacs編輯器
的deb包,下載完成後,我們可以檢視/var/cache/apt/archives/目錄下
的內容,如下圖:
然後我們將第一個 deb 拷貝到home目錄下,並使用 dpkg 安裝
6 of 10
08/17/2015 07:47 PMLinux下軟體安裝 - 實驗樓
https://www.shiyanlou.com/courses/document/356
$ cp /var/cache/apt/archives/emacs24_24 .3 + 1 - 4u buntu
1_amd64.deb ~
# 安裝之前參看deb包的資訊
$ sudo dpkg -I emacs24_24 .3 + 1 - 4u buntu1_amd64.deb
如你所見,這個包還額外依賴了一些軟體包,這意味著,如果主機目
前沒有這些被依賴的軟體包,直接使用dpkg安裝可能會存在一些問
題,因為 dpkg 並不能為你解決依賴關係。
# 使用dpkg安裝
$ sudo dpkg -i emacs24_24 .3 + 1 - 4u buntu1_amd64.deb
跟前面預料的一樣,這裡你可能出現了一些錯誤:
我們將如何解決這個錯誤了,這就要用到 apt-get 了,使用它的 -f
引數了,修復依賴關係的安裝
$ sudo apt-get -f install
沒有任何錯誤,這樣我們就安裝成功了,然後你可以執行emacs程式
7 of 10
08/17/2015 07:47 PMLinux下軟體安裝 - 實驗樓
https://www.shiyanlou.com/courses/document/356
3.檢視已安裝軟體包的安裝目錄
如果你依然在糾結到底linux將軟體安裝到了什麼地方,那麼很幸運你
將可以通過 dpkg 找到答案
使用 dpkg -L 檢視 deb 包目錄資訊
$ sudo dpkg - L emacs
dpkg 還有一些其他的引數,這裡將作為練習題由你自己來學習
8 of 10
08/17/2015 07:47 PMLinux下軟體安裝 - 實驗樓
https://www.shiyanlou.com/courses/document/356
四、從二進位制包安裝
二進位制包的安裝比較簡單,我們需要做的只是將從網路上下載的二進
制包解壓後放到合適的目錄,然後將包含可執行的主程式檔案的目錄
新增進 PATH 環境變數即可,如果你不知道該放到什麼位置,請重新復
習第四節關於 Linux 目錄結構的內容。
作業
這一節是本課程的最後一節,所以這裡我們給大家介紹一個很有趣的
命令。
安裝:
$ sudo apt- get install bb
動手做實驗,輕鬆學IT。
實驗樓-通過動手實踐的方式學會IT技術。
公司簡介 (/aboutus) 聯絡我們 (/contact) 常見問題 (/faq#howtostart) 加入我們 (/hire) 隱私協議 (/privacy)
會員條款 (/terms)
站長統計 (http://www.cnzz.com/stat/website.php?web_id=5902315)
蜀ICP備13019762號 (http://www.miibeian.gov.cn/)
(http://www.anquan.org/authenticate/cert/?site=www.shiyanlou.com&at=realname)
9 of 10
08/17/2015 07:47 PMLinux下軟體安裝 - 實驗樓
https://www.shiyanlou.com/courses/document/356
QQ群
微信
微博
(http://weibo.com/shiyanlou2013)
10 of 10
08/17/2015 07:47 PM

相關文章