Debian Linux新手Apt-get/dpkg簡明入門_Linux教程
Debian是最早的Linux發(fā)行版之一。它能引起公眾注意就因?yàn)樗尠惭b與卸載軟件非常簡單。在其他發(fā)行版還陷在依賴性的泥潭里時(shí),Debian用戶因?yàn)橛懈玫陌芾硐到y(tǒng)而免受這些困擾。
所有基于Debian的發(fā)行都使用這個(gè)包管理系統(tǒng)。Deb包可以把一個(gè)應(yīng)用的文件包在一起,大體就如同Windows上的安裝文件。這里要介紹的就是如何使用安裝包處理軟件來達(dá)到我們的目的。
用apt-get的第一步就是引入必需的軟件庫,Debian的軟件庫也就是所有Debian軟件包的集合,它們存在互聯(lián)網(wǎng)上的一些公共站點(diǎn)上。把它們的地址加入,apt-get就能搜索到我們想要的軟件。/etc/apt/sources.list是存放這些地址列表的配置文件,其格式如下:
deb [web或ftp地址] [發(fā)行版名字][main/contrib/non-free]
比如Ubuntu是一個(gè)基于Debian的發(fā)行,它的Sources.list可以是這樣的:
deb http://in.archive.ubuntu.com/ubuntu breezy main restrcted
你可以自己加上自己的地址。apt-get.org 上面有一些不錯(cuò)的地址列表。
設(shè)好地址之后,就要把本機(jī)上的軟件庫跟網(wǎng)上的庫同步(只是軟件描述信息,不包含軟件本身)。這樣,本機(jī)上就有了一個(gè)可用的軟件的清單,命令如下:
# apt-get update
運(yùn)行成功之后,你就可以搜到在你的發(fā)行版中有哪些軟件了,命令是apt-cache,運(yùn)行這個(gè)命令是在本機(jī)是檢索,而不連到網(wǎng)上。如:
# apt-cache search baseutils
這個(gè)命令可以列出baseutils這個(gè)軟件包的情況,有還是沒有,還有版本等。
看到庫里有這個(gè)軟件包后,就可以安裝它:
# apt-get install baseutils
這時(shí)我們就可以看到apt-get的威力了。如果baseutils依賴于某個(gè)另外的軟件,或者一個(gè)運(yùn)行庫xyz.0.01.so,apt-get 會(huì)自動(dòng)下載這個(gè)包(或含有這個(gè)庫的軟件包)。這叫做自動(dòng)依賴性處理。通常,如果你只用Debian軟件庫內(nèi)的軟件,是不會(huì)發(fā)生找不到包或包版本不對(duì)的情況的,除非用的是正在開發(fā)的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
...
把本機(jī)所有軟件升級(jí)到最新版:
# apt-get upgrade
最后是最強(qiáng)力的--把整個(gè)發(fā)行版都升到新版本:
# apt-get dist-upgrade
升級(jí)時(shí)注意那些影響系統(tǒng)起動(dòng)的東西,比如升級(jí)了內(nèi)核,升級(jí)了grub或lilo等,這之后你應(yīng)當(dāng)重新運(yùn)行g(shù)rub或是lilo,讓它們指向正確的位置,否則升級(jí)之后會(huì)工作不正常的。
用apt-get安裝軟件時(shí),它會(huì)從網(wǎng)上(在sources.list里指的那個(gè)站點(diǎn))下載所用的軟件包,這個(gè)包將存在本機(jī)上,目錄是:/var /cache/apt/archives/。時(shí)間長了,這里會(huì)變得非常巨大,占用大量的硬盤空間。要想清理這個(gè)目錄,可以運(yùn)行:
# apt-get clean
還有一個(gè)自動(dòng)清理功能,它只清除那些沒用的或者是不完整的軟件包:
# apt-get autoclean
這樣在重裝某軟件時(shí)就依然能使用已經(jīng)下載好的,而不是再到網(wǎng)上去下載。
dpkg - 底層一些的包管理工具
用上apt(高級(jí)包管理工具)之后,一般是不需要處理單個(gè)的deb文件的。如果需要,就要用dpkg命令。比如想自己裝gedit:
# dpkg -i gedit-2.12.1.deb
卸載:
# dpkg -r gedit
這里只寫名字即可。還可以加上--purge(-P)標(biāo)志:
# dpkg -P gedit
這會(huì)連同gedit的配置文件一起刪除,只用-r的話是不刪除配置文件的。
如果不想安裝一個(gè)deb包,但想看一下它里面有什么文件:
# dpkg -c gedit-2.12.1.deb
如果想多看點(diǎn)信息:
# dpkg -I gedit-2.12.1.deb
也可以用通配符來列出機(jī)器上的軟件:
# dpkg -l gcc*
這會(huì)列出所有g(shù)cc開頭的軟件包:
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
ii gcc-3.3-base 3.3.6-8ubuntu1 The GNU Compiler Colletio
un gcc-3.5 none (no description available)
其中,第1個(gè) i 表示希望安裝,第2個(gè) i 表示已經(jīng)安裝,第3個(gè)字段是問題(如果有)(這3個(gè)字的含義可以看上面那3行,desired, status, err),后面是名字,版本和描述。un就表示,Unknown, not-installed。
如果想看某包是否已經(jīng)安裝:
# dpkg -s gedit
如果想看某軟件都有哪些文件,都裝到了什么地方:
# dpkg -L gedit
如果只想看其中的某些文件,就加上Grep:
# dpkg -L gedit grep png
當(dāng)然還有aptitude和Aptitude,前者是終端上運(yùn)行的帶菜單的工具,后者是X窗口上運(yùn)行的圖形化的程序。
還有,列出某包的詳情:apt-cache show gedit
一些強(qiáng)制的命令:dpkg --force-help
- Linux系統(tǒng)下TOP命令使用與分析詳解
- 安裝Linux我們需要改變20件事情
- 使用Linux系統(tǒng)架設(shè)VSFTP服務(wù)器
- Linux系統(tǒng)上架設(shè)POP3服務(wù)器
- Linux中“Networking Disabled”的解決方法(解決Ubuntu等系統(tǒng)無法上網(wǎng))
- ubuntu系統(tǒng)清理磁盤教程
- linux下搭建pxe自動(dòng)化安裝環(huán)境
- BIOS不支持導(dǎo)致Linux內(nèi)核耗電增加
- Debian GNU/Linux系統(tǒng)卡片
- Linux操作系統(tǒng)開機(jī)自行啟動(dòng)項(xiàng)目詳細(xì)解析
- Linux菜鳥入門級(jí)命令大全
- Linux操作系統(tǒng)中讀取目錄文件信息的過程
- 相關(guān)鏈接:
- 教程說明:
Linux教程-Debian Linux新手Apt-get/dpkg簡明入門。