介绍
首先,.tar.gz.的用户如果希望在自己的GNU/Linux 系统下使用这些软件必须编译每个项目。Debian的诞生,使人们有理由相信这个系统拥有一种管理安装包裹(package)的方法,使得这些包裹可以安装到机器上。这个系统被叫做dpkg。由此安装包裹(package)第一次被引入到了GNU/Linux上,而此时的红帽子自己的’rpm’系统还在酝酿之中。
一个新的难题挡在了GNU/Linux的设计者面前。他们需要一个快速,实效性强,并且有效率的方式来安装这些安装包裹,并且希望它能够在升级时自动而独立的配置这些安装包裹升级中的文件。在这里重申一下,Debian直接导致了APT的诞生,即 Advanced Packaging Tool。 从那时起它就和rpm一起被使用在Conectiva中,同时它也被不少其他的分布式系统所采用。
怎样使用Debian的APT
可使用的命令
所有的这些命令都需要sudo!
apt-get update - 在改变了/etc/apt/sources.list或者/etc/apt/preferences之后运行。你也应该定期的运行它以保证你的source list是最新的。
apt-get install packagename - 安装一个新的安装包裹(参见下面的aptitude行)
apt-get remove packagename - 移除一个已经安装了的安装包裹(运行后configfiles仍然会留下来)
apt-get --purge remove packagename - 移除一个已经安装了的安装包裹(运行后configfiles也会被删除)
apt-get upgrade - 更新所有已经安装了的安装包裹
apt-get dist-upgrade - 更新整个系统到一个更新的发行版本
apt-cache search string - 在一系列已知的安装包裹中找寻字符串
dpkg -l package-name-pattern - 列出匹配模式的安装包裹
aptitude - 详细的查看已经安装或者可以使用的安装包裹。 Aptitude能够使用和apt-get相类似的方式用在命令行中,但是只有一些命令可用-最常用的安装和移除命令。但是因为aptitude比起 apt-get来保留了更多的跟踪信息,它在安装和移除系统时拥有更好的表现。
apt-cache showpkg pkgs - 显示安装包裹的信息。
apt-cache dumpavail - 打印一个可用的安装包裹名单。
apt-cache show pkgs - 显示安装包裹的记录,和dpkg –print-avail功能相似。
apt-cache pkgnames - 快速列出每个在系统中的安装包裹。
dpkg -S file - 哪个已经安装的安装包裹包含这个文件。
dpkg -L package - 列出在这个包裹中所有文件。
apt-file search filename - 查找包含此文件名的安装包裹(不需要是已经安装的)。apt-file是一个包含自身的安装包裹。你必须先用apt-get install来安装,然后还需要运行apt-file update。如果apt-file search filename一次显示了过多的内容,使用apt-file search filename|grep –w filename(这样只会显示包含文件名字的内容)或者使用apt-file search filename|grep /bin/ 那些在固定文件夹中的文件,比如/bin或者/usr/bin,如果你查找一个特殊的执行文件的话,这会非常有帮助)。
apt-get autoclean - 定期运行这个命令来清除那些已经不在你的系统中的安装包裹中的.deb文件夹。你通过这个方式能够重新获得不少的磁盘空间。如果你狂热的对磁盘空间有需求的话,apt-get clean是十分激进的,它甚至会移除那些现在已经安装了的安装包裹中的.deb文件。但是大部分的时间你不需要.debs,所以如果你为磁盘空间感到焦头烂额,运行它还是很值得的。
其余的安装包裹
deborphan和debfoster是查找可以被移除的没有什么用处的安装包裹的良好工具。
注意
通过编辑/etc/apt/sources.list你能够调出一个不同的库。具体的方法是替换其中的’stable’为’unstable’(或者其他什么文字)然后运行/apt-get update。但是这种方法是一种老方法,更新的办法是pinning(销连接)。下面是一个unstable配置文件的例子。
用命令行来加速我们的工作吧,^_^
命令行是很有有效,不过打字太慢了,所以把你的命令变得更小巧吧。你最好把以下的内容输入*~/.bashrc*
alias acs='apt-cache search'
alias agu='sudo apt-get update'
alias agg='sudo apt-get upgrade'
alias agd='sudo apt-get dist-upgrade'
alias agi='sudo apt-get install'
alias agr='sudo apt-get remove'
但是看看上面有关aptitude的介绍,我们有理由使用alias agi='sudo aptitude install'来替代alias agi='sudo apt-get install'