您的位置:首页 > 其它

Ubuntu下用apt-get 与aptitude管理软件包(全)

2013-01-10 11:15 537 查看
apt-get手册: http://www.debian.org/doc/manuals/apt-howto/index.zh-cn.html#contents
apt-get install**
会下载文件放在 /var/cache/apt/archives目录下

用apt-get的第一步就是引入必需的软件库,/etc/apt/sources.list是存放这些地址列表的配置文件,其格式如下:

deb [web或ftp地址] [发行版名字][main/contrib/non-free]

如:deb http://in.archive.ubuntu.com/ubuntu breezy main restrcted

*apt-getupdate ——在修改/etc/apt/sources.list或者/etc/apt/preferences之後运行该命令,确保软件包列表是最新的。

-------------------------------------------------------------------------------------------------------------------------------

安装

# apt-get install packagename ——安装一个新软件包(参见下文的aptitude

# apt-get -d install package_name ——只下载不安装

# apt-get install package_name --dry-run ——安装前进行测试

# apt-get source package_name —— 下载软件包的的源码版本。

Debian软件包的名字和软件名不同,所以在安装前如不知道软件包的名字,可到Debian的官方软件库查询,网址是:http://www.debian.org/distrib/packages/。或者用下apt-cache search package_name命令来查询。

-------------------------------------------------------------------------------------------------------------------------------

更新升级

* apt-get upgrade ——更新所有已安装的软件包

* apt-get dist-upgrade ——更新整个Debian系统。可从网络或本地更新整个系统。它会重新安排好包的依赖性。

* apt-get dselect-upgrade ——通过dselect的“建议”和“推荐”功能更新系统。

dselect是Debian中一个功能强大的包管理工具。它可帮助用户选择软件包来安装,其中一个有用功能是它会建议和推荐安装其它相关软件包。

如果有些包由于一些原因实在不能更新,我们可通过以下命令查询原因:

* apt-get -o Debug::pkgProblemResolver=yes dist-upgrade

-------------------------------------------------------------------------------------------------------------------------------

卸载删除

* apt-get remove packagename ——卸载一个已安装的软件包(保留配置文件)

* apt-get --purge remove packagename ——卸载一个已安装的软件包(删除配置文件)

* dpkg --force-all --purge packagename ——有些软件很难卸载,而且还阻止了别的软件的应用,就可以用这个,不过有点冒险。

* apt-get autoclean 删除已下载的旧版本的软件包

* apt-get clean 会把安装包的备份也删除,无论是新版还是旧版

-------------------------------------------------------------------------------------------------------------------------------

依赖关系

# apt-get check ——检查系统中已安装软件包的依赖性

# apt-cache depends wireshark ——可以得到Wireshark的详细依赖关系列表。

-------------------------------------------------------------------------------------------------------------------------------

查询

* apt-get check ——检查系统中已安装软件包的依赖性

* apt-cache search string——在软件包列表中搜索字符串

* apt-cache showpkg pkgs——显示软件包信息。

* apt-cache dumpavail ——打印可用软件包列表。

* apt-cache show pkgs ——显示软件包记录,类似于dpkg –print-avail。

* apt-cache pkgnames ——打印软件包列表中所有软件包的名称。

* dpkg -l |grep xxx ——查询已安装

* dpkg -l package-name-pattern——列出所有与模式相匹配的软件包。可以使用通配符,如“*package-name-pattern*”。

* dpkg -S file——这个文件属于哪个已安装软件包。

* dpkg -L package——列出软件包中的所有文件。

* apt-file search filename ——查找包含特定文件的软件包(不一定是已安装的),这些文件的文件名中含有指定的字符串。

apt-file是一个独立的软件包。必须先使用apt-get install来安装它

如果apt-file search filename输出的内容太多,您可以尝试使用

apt-file search filename | grep -w filename(只显示指定字符串作为完整的单词出现在其中的那些文件名)

或者类似方法,例如:

apt-file search filename | grep /bin/ (只显示位于诸如/bin或/usr/bin这些文件夹中的文件,如果您要查找的是某个特定的执行文件的话,这样做是有帮助的)。

-------------------------------------------------------------------------------------------------------------------------------

提高命令行方式下的工作效率

您可以通过定义别名(alias)来提高这些命令的输入速度。例如,您可以在您的*~/.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'

-------------------------------------------------------------------------------------------------------------------------------

典型应用

我是个赛车发烧友,想装个赛车类游戏玩玩。有哪些赛车类游戏可供选择呢?

apt-cache search racing game

出来了一大堆结果。看看有没有更多关于torcs这个游戏的信息。

apt-cache show torcs

看上去不错。这个游戏是不是已经安装了?最新版本是多少?它属于哪一类软件,universe还是main?

apt-cache policy torcs

好吧,现在我要来安装它!

apt-get install torcs

在 控制台下我应该调用什么命令来运行这个游戏呢?在这个例子中,直接用torcs就行了,但并不是每次都这么简单。我们可一通过查找哪些文件被安 装到了 “/usr/bin”文件夹下来确定二进制文件名。对于游戏软件,这些二进制文件将被安装到“/usr/games”下面。对于系统管理工具相应的文件夹 是“/usr/sbin”。

dpkg -L torcs|grep /usr/games/

这个命令的前面一部分显示软件包“torcs”安装的所有文件(您自己试试看)。通过命令的第二部分,我们告诉系统只显示前一部分的输出结果中含有“/usr/games”的那些行。

这个游戏很酷哦。说不定还有其他赛道可玩的?

apt-cache search torcs

我的磁盘空间不够用了。我得把apt的缓存空间清空才行。

apt-get clean

哦不,老妈叫我把机器上的所有游戏都删掉。但是我想把配置文件保留下来,这样待会我只要重装一下就可以继续玩了。

apt-get remove torcs

如果我想连配置文件一块删除:

apt-get remove --purge torcs

额外的软件包

deborphan和debfoster工具可以找出已经安装在系统上的不会被用到的软件包。

-----------------------------------------------------------------------------------------------------------

aptitude

aptitude是在主控台 (Console) 上的套件管理程式的第一选择。aptitude 支援了大部份的 apt-get 在命令列上的操作指令,且在处理相依问题上,通过在安装时在相关包上加标注使它在卸载时表现优於 apt-get。Debian对于aptitude也是很推崇的。

  aptitude并不是apt-get的前端程序,他有自己的一套算法。(aptitude在ubuntu下也有。)

aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些。举例来说,aptitude 在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。以下是笔者总结的一些常用 aptitude 命令,仅供参考。

命令 作用

aptitude update 更新可用的包列表

aptitude upgrade 升级可用的包

aptitude dist-upgrade 将系统升级到新的发行版

aptitude install pkgname 安装包

aptitude remove pkgname 删除包

aptitude purge pkgname 删除包及其配置文件

aptitude search string 搜索包

aptitude show pkgname 显示包的详细信息

aptitude clean 删除下载的包文件

aptitude autoclean 仅删除过期的包文件

当然,你也可以在文本界面模式中使用 aptitude。

-------------------------------------------- reference --------------------------------------------------------
http://www.cnblogs.com/bigfish--/archive/2012/01/07/2315987.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: