Linux Linux 軟件安裝與管理入門(deb系) 楊博遠
- 源代碼編譯
- 下載安裝包
- 軟件源
軟件源可以是網絡服務器,是光盤,甚至 是可以硬盤上的一個目錄。
- 發行二進制包 .deb
sudo apt-get install - 軟件包管理系統 自動安裝軟件
包管理系統: 后端/前 | 發行版 | 包后綴名 |
---|---|---|
dpkg/apt | Debian,Ubuntu及其衍生版,如Mint等 | .deb |
rpm/yum | Fedora,RHEL,CentOS,RedFlag,Mandriva 等 | .rpm |
rpm/ZYpp/ YaST | OpenSUSE | .rpm |
pacman | Arch | .pkg .* |
deb系(Debian Ubuntu)
- dpkg 不會解決依賴問題 apt 可以解決依賴問題
- dpkg
dpkg -i <名字>.deb
dpkg -l 查詢當前系統所有已安裝deb包的信息, 并通過less和grep以執行更復雜的查詢工 作
例
# | | 這兩個是bash管道部分的內容 ii表示安裝好了 iu沒安好
$ dpkg -l | grep vi | less
ii libblkid1:amd64 2.20.1-5.1ubuntu20.3 amd64 block device id library
ii libdrm-intel1:amd64 2.4.56-1~ubuntu1 amd64 Userspace interface to intel-specific kernel DRM services -- runtime
ii libdrm-radeon1:amd64 2.4.56-1~ubuntu1 amd64 Userspace interface to radeon-specific kernel DRM services -- runtime
ii libdrm2:amd64 2.4.56-1~ubuntu1 amd64 Userspace interface to kernel DRM services -- runtime
ii libmount1:amd64 2.20.1-5.1ubuntu20.3 amd64 block device id library
ii libntdb1:amd64 1.0-2ubuntu1 amd64 New Trivial Database - shared library
ii libtdb1:amd64 1.2.12-1 amd64 Trivial Database - shared library
ii makedev 2.3.1-93ubuntu1 all creates device files in /dev
ii samba-dsdb-modules 2:4.1.6+dfsg-1ubuntu2.14.04.3 amd64 Samba Directory Services Database
ii sudo 1.8.9p5-1ubuntu1 amd64 Provide limited super user privileges to specific users
ii sysvinit-utils 2.88dsf-41ubuntu6 amd64 System-V-like utilities
ii tar 1.27.1-1 amd64 GNU version of the tar archiving u
tility
ii tdb-tools 1.2.12-1 amd64 Trivial Database - bundled binarie
s
ii tzdata 2014i-0ubuntu0.14.04 all time zone and daylight-saving time
data
ii vim 2:7.4.052-1ubuntu3 amd64 Vi IMproved - enhanced vi editor
ii vim-common 2:7.4.052-1ubuntu3 amd64 Vi IMproved - Common files
ii vim-runtime 2:7.4.052-1ubuntu3 all Vi IMproved - Runtime files
- apt
apt-get apt-cache apt-file
sudo apt-get install <軟件名> 安裝軟件
sudo apt-get install <軟件名> - - reinstall 重新安裝某軟件
sudo apt-get remove <軟件名> 卸載軟件
sudo apt-get purge <軟件名> 卸載某軟件,并清理其遺留配置文件
apt-cache search <字符串> 搜索名稱含字符串的軟件包
#軟件包的名字和軟件的名字可能不一樣,這時可以搜
sudo apt-get update 更新軟件包列表信息
sudo apt-get upgrade 僅對已安裝的包進行更新
sudo apt-get dist-upgrade 對發行版進行更新,可能有新軟件包的安裝 與舊軟件包的刪除(Ubuntu) 發行版升級(Debian)
sudo do-release-upgrade 手動發行版升級(Ubuntu)
sudo apt-get autoremove 移除無用的軟件包(非手動安裝而不被依 賴)
sudo apt-get autoclean 自動清理無用的本地安裝包緩存
sudo apt-get clean 清理所有的本地安裝包緩存
# 緩存位于 /var/cache/apt/archives
注意
每次編輯配置文件后都應手動運行 sudo apt-get update 使配置立即生效
遇到依賴問題選用aptitude替代apt-get,會自動提出 解決方案供你選擇
- 軟件源
根據不同的系統搜索,改就好了
#格式 deb [軟件源地址] [發行版名字] [包類型]
#下面是 Ubuntu 的幾行典型配置 trusty是版本 main是包類型
deb http://mirrors.ustc.edu.cn/ubuntu/ trusty main
deb-src http://mirrors.ustc.edu.cn/ubuntu trusty main restricted #這是注釋
分類
縱向分類:看軟件的性質
- Ubuntu: main: Canonical公司支持的免費和開源軟件 universe:社區維護的免費和開源軟件 restricted:設備的專有驅動 multiverse:有版權和合法性問題的軟件
- 對Debian來說,則是以下幾類: main: 系統必要和符合自由軟件規范的軟件包 contrib:這些軟件可以在Debian系統內運行,但多半 依賴于某些非自由軟件 non-free:不屬于自由軟件范疇的軟件
橫向分類:從軟件的穩定性/新舊進行分類
- 以Ubuntu舉例:
重要安全更新:"security" ? 推薦的更新:"updates" ? 提前釋放出的更新:"proposed" ? 不支持的更新:"backports"
rpm系
前端 yum 后端rpm