简略翻译,原文在 All about Linuxçš„Blog上。其实,这里有个更全的早就翻译过的APT HOWTO,强烈推è??。
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
ii gcc-3.3-base 3.3.6-8ubuntu1 The GNU Compiler Colletio
un gcc-3.5 none (no description available)
å…¶ä¸ï¼Œç¬¬1个 i 表示希望安装,第2个 i 表示已ç»?安装,第3ä¸ªå—æ®µæ˜¯é—®é¢˜ï¼ˆå¦‚果有)(这3个å—çš„å?«ä¹‰å?¯ä»¥çœ‹ä¸Šé?¢é‚£3行,desired, status, err),å?Žé?¢æ˜¯å??å—,版本和æ??述。un就表示,Unknown, not-installed。
如果想看�包是�已�安装:
# dpkg -s gedit
如果想看�软件都有哪些文件,都装到了什么地方:
# dpkg -L gedit
如果å?ªæƒ³çœ‹å…¶ä¸çš„æŸ?äº›æ–‡ä»¶ï¼Œå°±åŠ ä¸ŠGrep:
# dpkg -L gedit grep png
当然还有aptitude和Aptitude,�者是终端上�行的带��的工具,�者是X窗�上�行的图形化的程�。
还有,列出�包的详情:apt-cache show gedit
一些强制的命令:dpkg –force-help