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

           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


posted @ 2013-01-03 14:34  Moonwolf  阅读(1265)  评论(0编辑  收藏  举报