dpkg ---- apt-get ------ aptitude 三种方式的区别 及命令格式

7人阅读 评论(0) 收藏 举报

dpkg绕过apt包管理数据库对软件包进行操作,所以你用dpkg安装过的软件包用apt可以再安装一遍,系统不知道之前安装过了,将会覆盖之前dpkg的安装。

dpkg是用来安装.deb文件,但不会解决模块的依赖关系,且不会关心ubuntu的软件仓库内的软件,可以用于安装本地的deb文件

apt会解决和安装模块的依赖问题,并会咨询软件仓库, 但不会安装本地的deb文件, apt是建立在dpkg之上的软件管理工具

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


安装软件包

dpkg          -i                package_name.deb #安装本地软件包,不解决依赖关系
apt-get     install      package #
在线安装软件包
aptitude   install      pattern #
同上

apt-get       install    package   --reinstall   #重新安装软件包
apitude     reinstall    package      #
同上

移除软件包

dpkg          -r         package #删除软件包
apt-get      remove       package #
同上
aptitude     remove    package #
同上

dpkg         -P             #删除软件包及配置文件
apt-get     remove       package --purge      #
删除软件包及配置文件
apitude     purge         pattern #
同上

自动移除软件包

apt-get autoremove #删除不再需要的软件包
注:aptitude 没有,它会自动解决这件事

清除下载的软件包

apt-get         clean #清除 /var/cache/apt/archives目录
aptitude       clean #
同上

apt-get       autoclean #清除 /var/cache/apt/archives目录,不过只清理过时的包
aptitude        autoclean #
同上

编译相关   apt-get source package #获取源码

apt-get          build-dep   package #解决编译源码 package的依赖关系
aptitude        build-dep    pattern #
解决编译源码 pattern的依赖关系

平台相关

apt-cross --arch ARCH --show package 显示属于 ARCH 构架的 package软件包信息
apt-cross --arch ARCH --get package #
下载属于 ARCH构架的 package 软件包
apt-cross --arch ARCH --install package #
安装属于 ARCH构架的 package 软件包
apt-cross --arch ARCH --remove package #
移除属于 ARCH构架的 package 软件包
apt-cross --arch ARCH --purge package #
移除属于 ARCH构架的 package 软件包
apt-cross --arch ARCH --update #
升级属于 ARCH构架的 package 软件包

注:慎重考虑要不要用这种方法来安装不同构架的软件包,这样会破坏系统。对于 amd64的用户可能需要强制安装某些 i386的包,千万不要把原来 amd64本身的文件给 replace 了。最好只是安装一些 lib /usr/lib32 目录下。同样地,可以用 apt-file看某个其它构架的软件包包含哪些文件,或者是文件属于哪个包,不过记得最先要用 apt-file --architecture ARCH update来升级 apt-file 的数据库,在 search show时也要指定 ARCH

更新源

apt-get       update #更新源
aptitude     update #
同上

更新系统

apt-get             upgrade #更新已经安装的软件包
aptitude           safe-upgrade #
同上
apt-get            dist-upgrade #
升级系统
aptitude          full-upgrade #




* apt-get update——在修改/etc/apt/sources.list或者/etc/apt/preferences之後运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的。
* apt-get install packagename——安装一个新软件包(参见下文的aptitude )
* apt-get remove packagename——卸载一个已安装的软件包(保留配置文件)
* apt-get –purge remove packagename——卸载一个已安装的软件包(删除配置文件)
* dpkg –force-all –purge packagename 有些软件很难卸载,而且还阻止了别的软件的应用 ,就可以用这个,不过有点冒险。
* apt-get autoclean apt会把已装或已卸的软件都备份在硬盘上,所以如果需要空间 的话,可以让这个命令来删除你已经删掉的软件
* apt-get clean 这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的。
* apt-get upgrade——更新所有已安装的软件包
* apt-get dist-upgrade——将系统升级到新版本
* apt-cache search string——在软件包列表中搜索字符串
* dpkg -l package-name-pattern——列出所有与模式相匹配的软件包。如果您不知道软件包的全名,您可以使用“*package-name-pattern*”。
* aptitude——详细查看已安装或可用的软件包。与apt-get类似,aptitude可以通过命令行方式调用,但仅限于某些命令——最常见的有安装和卸载命令。由于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——列出软件包中的所有文件。

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 仅删除过期的包文件
查看评论

dpkg ---- apt-get ------ aptitude 三种方式的区别 及命令格式

dpkg绕过apt包管理数据库对软件包进行操作,所以你用dpkg安装过的软件包用apt可以再安装一遍,系统不知道之前安装过了,将会覆盖之前dpkg的安装   dpkg是用来安装.deb文件,但不会...
  • xiaoyanghuaban
  • xiaoyanghuaban
  • 2014-04-04 16:59:28
  • 24030

apt-get和dpkg区别

两者的区别是dpkg绕过apt包管理数据库对软件包进行操作,所以你用dpkg安装过的软件包用apt可以再安装一遍,系统不知道之前安装过了,将会覆盖之前dpkg的安装。1、dpkg是用来安装.deb文件...
  • Heaven_Evil
  • Heaven_Evil
  • 2017-03-13 11:39:48
  • 660

aptitude和apt-get的区别和联系【转,有添加和修改】

起初GNU/Linux系统中只有.tar.gz。用户 必须自己编译他们想使用的每一个程序。在Debian出现之後,人们认为有必要在系统 中添加一种机 制用来管理 安装在计算机上的软件包。人们将这套系统...
  • u010670794
  • u010670794
  • 2015-01-08 09:42:20
  • 3509

ubuntu下安装软件命令apt-get与dpkg命令的区别

本文为大家介绍Ubuntu与Debian下apt-get软件安装与删除的相关命令,有需要的朋友可以参考下 安装软件 命令: apt-get install softname1 softname2…...
  • fx_abc
  • fx_abc
  • 2016-07-02 21:49:36
  • 6852

Ubuntu(Debian)的aptitude与apt-get的基本用法

original url: http://www.cnblogs.com/yuxc/archive/2012/08/02/2620003.html       最近在使用Puppe...
  • junmuzi
  • junmuzi
  • 2016-09-27 20:47:56
  • 1087

dpkg、rpm 和 apt-get、yum 的区别及使用

一般来说著名的 Linux 系统基本上分两大类: RedHat 系列:Redhat、Centos、Fedora 等 Debian 系列:Debian、Ubuntu 等 Dpkg (Debian系):U...
  • luckydarcy
  • luckydarcy
  • 2016-07-22 14:21:14
  • 6848

ubuntu下安装命令的区别(dpkg、apt-get、aptitude)

此博客已迁移到新博客欢迎大家访问关注,谢谢!!! dpkg绕过apt包管理数据库对软件包进行操作,所以你用dpkg安装过的软件包用apt可以再安装一遍,系统不知道之前安装过了,将会覆盖之前dpk...
  • zy943453722
  • zy943453722
  • 2017-05-17 09:56:47
  • 121

ubuntu 的使用(四)—— apt-get 与 dpkg

apt-get (1)彻底删除sudo apt-get remove --purge ** (2)获取包的源码sudo apt-get source dpkgdeb是 debian linus 的安...
  • lanchunhui
  • lanchunhui
  • 2016-05-18 18:44:09
  • 1227

apt-get 与 aptitude 及 dpkg

1. 概述     apt-get 与 aptitude 都是 Debian 下软件安装升级的工具.     但 aptitude 在处理依赖问题上更好。aptitude 在删除一个包时...
  • perfect5085
  • perfect5085
  • 2012-02-04 21:47:49
  • 593

ubuntu包管理命令apt和dpkg总结

使用linux系列的系统,你不可避免的会涉及一些包的管理,这里我整理了一下ubuntu下常用的包管理命令,与大家分享。 apt-get命令: apt-get是debian,ubuntu发行版的包管理...
  • scaleqiao
  • scaleqiao
  • 2015-04-11 20:41:03
  • 2808
    个人资料
    等级:
    访问量: 41万+
    积分: 5701
    排名: 5711
    最新评论