Linux詳解之軟體包管理與源,linux詳解軟體包
包管理與源是Linux學習中不可缺少的部分,同時也令很多初學者倍感困惑。本文整理了一些Linux相關的包管理與源方面的材料,希望對大家有協助。
Linux中的軟體包主要分為RPM軟體包及DEB軟體包兩類,其中Redhat Linux等系統使用RPM軟體包,Ubuntu Linux等系統使用Deb軟體包。本文主要側重介紹Ubuntu Linux的包管理方法。
首先要介紹幾個概念和理解:
(1)安裝就是把軟體送到一個特定的位置,並且配置好其周邊環境,使之能夠正確運行。
(2)Deb包就是一個壓縮起來的可以安裝的軟體包。
(3)源是提供軟體下載的網站,不同的源提供的軟體可能不同。
(4)Ubuntu建立本機資料庫,記錄軟體包之間的依賴關係。
(5)軟體包管理工具的作用是提供在作業系統中安裝、升級、卸載需要的軟體的方法,並提供對系統中所有軟體狀態資訊的查詢。
如果能夠理解上面的幾點,就可以對包管理有一個基本的認識。Ubuntu中使用的是Deb軟體包,在/etc/apt/sources.list設定檔中儲存了提供deb軟體包下載的網站,即源。由於該軟體包間可能存在依賴關係,一旦安裝的軟體包多至一定數量,手工的安裝與卸載將會非常繁瑣且容易出錯。為瞭解決這一問題,出現了很多進階軟體包管理工具,如apt-get、aptitude、yum、synaptic等。以apt-get為例,該工具會建立本機資料庫,記錄軟體包之間的依賴關係。當要安裝某軟體包時,會從源中搜尋並下載到本地,同時還會檢查該軟體包依賴的所有其他包,並安裝系統中尚未安裝的依賴包;刪除則採用類似的方式,從而簡化了包管理過程。值得注意的是,這些進階包管理工具最終都是調用dpkg來完成的。
另外,要介紹幾個包管理中常用到的命令,詳細用於可使用man command或command --help瞭解並學習。
(1)dpkg
是“debian package”的簡寫,是Debian軟體包管理器的基礎。
(2)apt-get
用於從遠程擷取軟體包以及處理複雜的軟體包關係。
apt-get update:在修改源後,需要運行該命令,此外也需要定期運行該命令以確保原生軟體包列表是最新的。
apt-get upgrade:用以更新軟體包
apt-get dist-upgrade:將系統升級到新版本。
apt-get source:下載原始碼。
(3)apt-cache
apt-cache search string:在軟體包列表中搜尋字串
apt-cache showpkg:顯示軟體包資訊
(4)alien
可完成rpm軟體包與deb軟體包之間的轉換。
alien -to-deb:轉換為deb軟體包
alien -to-rpm:轉換為rpm軟體包
最後,還有介紹幾種初學者常遇到問題的解決方案。
(1)怎樣安裝tar檔案?
一般情況下,這裡面儲存了軟體的原始碼,需要先用tar命令解壓並進行編譯,最後安裝。
解壓根據檔案打包格式使用相應命令,然後進入到解壓出的目錄,
一般依次執行./configure
make
sudo make install
即可完成安裝。
(2)怎樣安裝下載好的deb軟體包?
sudo dpkg -i package.deb或者
sudo alien -i package.deb
(3)怎樣在Ubuntu中安裝rpm軟體包?
首先,要使用alien將rpm包轉換為deb包。
sudo alien --to-deb package.rpm
接著按照deb軟體包安裝方式進行安裝。
(4)怎樣查詢本機已安裝的軟體包?
使用dpkg -l | more命令