Debian Linux新手Apt-get/dpkg簡明入門
Debian是最早的Linux發行版之一。它能引起公眾注意就因為它讓安裝與卸載軟件非常簡單。在其他發行版還陷在依賴性的泥潭里時,Debian用戶因為有更好的包管理系統而免受這些困擾。
所有基于Debian的發行都使用這個包管理系統。Deb包可以把一個應用的文件包在一起,大體就如同Windows上的安裝文件。這里要介紹的就是如何使用安裝包處理軟件來達到我們的目的。
用apt-get的第一步就是引入必需的軟件庫,Debian的軟件庫也就是所有Debian軟件包的集合,它們存在互聯網上的一些公共站點上。把它們的地址加入,apt-get就能搜索到我們想要的軟件。/etc/apt/sources.list是存放這些地址列表的配置文件,其格式如下:
deb [web或ftp地址] [發行版名字][main/contrib/non-free]
比如Ubuntu是一個基于Debian的發行,它的Sources.list可以是這樣的:
deb http://in.archive.ubuntu.com/ubuntu breezy main restrcted
你可以自己加上自己的地址。apt-get.org 上面有一些不錯的地址列表。
設好地址之后,就要把本機上的軟件庫跟網上的庫同步(只是軟件描述信息,不包含軟件本身)。這樣,本機上就有了一個可用的軟件的清單,命令如下:
# apt-get update
運行成功之后,你就可以搜到在你的發行版中有哪些軟件了,命令是apt-cache,運行這個命令是在本機是檢索,而不連到網上。如:
# apt-cache search baseutils
這個命令可以列出baseutils這個軟件包的情況,有還是沒有,還有版本等。
看到庫里有這個軟件包后,就可以安裝它:
# apt-get install baseutils
這時我們就可以看到apt-get的威力了。如果baseutils依賴于某個另外的軟件,或者一個運行庫xyz.0.01.so,apt-get 會自動下載這個包(或含有這個庫的軟件包)。這叫做自動依賴性處理。通常,如果你只用Debian軟件庫內的軟件,是不會發生找不到包或包版本不對的情況的,除非用的是正在開發的Testing或Unstable版本。
卸載軟件:
# apt-get remove baseutils
如果想看一下庫里有多少軟件:
# apt-cache stats
Total package names : 22502 (900k)
Normal packages: 17632
Pure virtual packages: 281
Single virtual packages: 1048
Mixed virtual packages: 172
Missing: 3369
...
把本機所有軟件升級到最新版:
# apt-get upgrade
最后是最強力的--把整個發行版都升到新版本:
# apt-get dist-upgrade
升級時注意那些影響系統起動的東西,比如升級了內核,升級了grub或lilo等,這之后你應當重新運行grub或是lilo,讓它們指向正確的位置,否則升級之后會工作不正常的。
用apt-get安裝軟件時,它會從網上(在sources.list里指的那個站點)下載所用的軟件包,這個包將存在本機上,目錄是:/var /cache/apt/archives/。時間長了,這里會變得非常巨大,占用大量的硬盤空間。要想清理這個目錄,可以運行:
# apt-get clean
還有一個自動清理功能,它只清除那些沒用的或者是不完整的軟件包:
# apt-get autoclean
這樣在重裝某軟件時就依然能使用已經下載好的,而不是再到網上去下載。
dpkg - 底層一些的包管理工具
用上apt(高級包管理工具)之后,一般是不需要處理單個的deb文件的。如果需要,就要用dpkg命令。比如想自己裝gedit:
# dpkg -i gedit-2.12.1.deb
卸載:
# dpkg -r gedit
這里只寫名字即可。還可以加上--purge(-P)標志:
# dpkg -P gedit
這會連同gedit的配置文件一起刪除,只用-r的話是不刪除配置文件的。
如果不想安裝一個deb包,但想看一下它里面有什么文件:
# dpkg -c gedit-2.12.1.deb
如果想多看點信息:
# dpkg -I gedit-2.12.1.deb
也可以用通配符來列出機器上的軟件:
# dpkg -l gcc*
這會列出所有gcc開頭的軟件包:
Desired=Unknown/Install/Remove/Purge/Hold
Status=Not/Installed/Config-files/Unpacked/Failed-config/.
/ Err?=(none)/Hold/Reinst-required/X=both-problems
/ Name Version Description
+++-===============-==============-========================
ii gcc 4.0.1-3 The GNU C compiler
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解