debian下的两种包管理工具dpkg和apt之比较

dpkg和apt这两种都是在debian下常用的包管理机制,下面具体分析一下两者的区别和用途。

dpkg及apt介绍

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

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

dpkg及apt用法

dpkg的用法

dpkg -l 查看当前系统中已经安装的软件包的信息
dpkg -L (软件包名称)查看系统中已经安装的软件文件的详细列表
dpkg -s 查看已经安装的指定软件包的详细信息
dpkg -S 查看系统中的某个文件属于那个软件包;
dpkg -i  *.deb文件的安装
dpkg -r *.deb文件的卸载;
dpkg -P 彻底的卸载 包括软件的配置文件等等
查看没有安装的deb包命令
dpkg -c 查询deb包文件中所包含的文件  rpm -qlp
dpkg -I 查询deb包的详细信息
添加说明:

最常用的就是-i,-r。简单,安装/卸载。

apt的用法

apt-cache search package 搜索包
apt-cache show package 获取包的相关信息,如说明、大小、版本等
apt-get install package 安装包
apt-get install package - - reinstall 重新安装包
apt-get -f install 强制安装
apt-get remove package 删除包
apt-get remove package - - purge 删除包,包括删除配置文件等
apt-get autoremove 自动删除不需要的包
apt-get update 更新源
apt-get upgrade 更新已安装的包
apt-get dist-upgrade 升级系统
apt-get dselect-upgrade 使用 dselect 升级
apt-cache depends package 了解使用依赖
apt-cache rdepends package 了解某个具体的依赖
apt-get build-dep package 安装相关的编译环境
apt-get source package 下载该包的源代码
apt-get clean && sudo apt-get autoclean 清理下载文件的存档
apt-get check 检查是否有损坏的依赖

【搜索软件包】
 apt-cache search package

【查看二进制包基本信息】
 apt-cache showpkg package

【查看二进制包详细信息】
 apt-cache show package  用来出这个软件包的详细信息及其用途的完整描述如果你的系统中已安装 了某个软件包而系统又搜索到它的新版本,系统会将它们的详细信息一并列出。
 

【查看源码包信息】
 apt-cache showsrc package

【查看软件包的依赖关系】
 apt-cache depends package

【查看可以更新的软件包】
 apt-show-versions

【安装和删除软件包】
 假如用户不小心损坏了已安装的软件包而想修复它,或者仅仅想重新安装软件包中某 些文件的最新版本,这是可以做到的,你可以用如下的--reinstall选项:
 $ apt-get --reinstall install gdm

时间: 2024-11-02 09:09:28

debian下的两种包管理工具dpkg和apt之比较的相关文章

Linux中Debian系包管理工具apt-get用法

虽然网络上关于Debian的包管理工具apt-get的文章已经多到爆了,文武双全还是决定要总结一下apt-get的用法大全.这个东西,作为学习linux来说特别是debian是非常有用的.Ubuntu系操作系统,也是基于debian的发行版,因此本方法也适用.apt本身是英文Advanced Package Tool的首字母缩写,译为高级包管理工具,主要用于Debian系Linux发行版的软件包查询.安装.卸载.升级等.Centos发行版,使用yum包管理工具,本方法并不适用. 命令:apt-g

JS新包管理工具yarn和npm的对比与使用入门_javascript技巧

这篇文章会通过以下几个方面介绍yarn的: yarn对比npm解决了什么问题,带来哪些便利. 获取yarn的正确姿势 yarn的使用入门(介绍一些常用的命令 个人使用心得 yarn对比npm的优点 根据官方文档yarn具有6大优点 1.离线模式 yarn会有一个缓存目录,会缓存以前安装过的软件包,再次安装时就不必从网络下载了,大大加速安装速度. 这一点很重要,npm 饱受诟病的一点就是,每次安装依赖,都需要从网络下载一大堆东西,而且是全部重新下载,工程多的时候比较烦人. 我司部署node项目,是

《开源思索集》一基于包管理工具的开源生态圈

基于包管理工具的开源生态圈 开源思索集2005年,我还是一个典型的Java程序员.一个偶然的机会,我看到了一篇文章--<Ruby on Rails实践>. 在简单的试用之后,我于2005年05月27日在当年的JavaEye社区写了一篇热情洋溢的帖子:Java社群该向Ruby on Rails学习些什么? 当时的JavaEye站长Robbin回复到:"Python/Ruby是下一代的编程语言,Java是这一代的编程语言,要等到Python/Ruby流行,至少5年以后.正因为5年以后,所

Python 包管理工具解惑

本文转载自http://zengrong.net/post/2169.htm,感谢原作者. 一.困惑 作为一个 Python 初学者,我在包管理上感到相当疑惑(嗯,是困惑).主要表现在下面几个方面: 这几个包管理工具有什么不同? distutils setuptools distribute disutils2 distlib pip 什么时候该用pip,什么时候该用 setup.py ,它们有关系么? easy_install.ez_setup.py.setup.py.setup.cfg 分别

SQL服务器内存有两种基本管理方法:动态分配和静态分配

动态|服务器|静态 SQL服务器内存有两种基本管理方法:动态分配和静态分配 控制程序可使用的内存数量.动态分配允许管理员声明一块内存的大小:考虑到它的实际使用,SQL服务器可以分配给其需要占用的内存的最大值,并且(理论上)在没有使用内存的情况下将其释放.静态分配则是创建一块固定的内存空间,提供给SQL Server使用--不再进行分配. 在默认情况下,SQL Server被设置成动态分配,分配给其正在运行的计算机内所有可用的物理内存.许多管理员注意到SQL Server内存随时间的流逝被逐渐消耗

保证Web登录安全的四种密码管理工具

好的密码往往是指一定长度并包含不同类型字符的密码,虽然使用不同的密码来登录每一个需要输入 密码登录的网站,是一个很好的做法,但是要想记住所有的密码确实是件很困难的事情.当然,你可以通 过将这些不同网站的登录密码保存在电脑加密的文件中来减轻自己的负担,在本文中,我们将分别看看四 种密码保护程序,这些保护程序能够在你需要密码的时候让你轻松获取密码,并且能够保护密码文件本身 . 当然,将密码保存在电脑中也必然有一定风险,而且密码保护程序可能会出错,程序使用的密码库也 可能会出问题,并且你将那些你存储在

Linux包管理工具yum简介

什么是yum: Yum(全称为 Yellow dog Updater, Modified)是redhat系列linux系统的包管理工具.就是类似windows下安装软件那个下一步下一步的东西.由于linux的开源,所以linux下的软件有大量组件依赖.这导致了linux安装一个软件必须先安装各依赖包,yum就是帮助我们解决这个的. yum的基础是RPM,RPM是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装.查询.卸载.升级等工作.但是RPM软件包之间的依赖性问题往往会很

Web前端开发工具——bower依赖包管理工具_javascript技巧

Bower 是 twitter 推出的一款包管理工具,基于nodejs的模块化思想,把功能分散到各个模块中,让模块和模块之间存在联系,通过 Bower 来管理模块间的这种联系. 包管理工具一般有以下的功能: a)注册机制:每个包需要确定一个唯一的 ID 使得搜索和下载的时候能够正确匹配,所以包管理工具需要维护注册信息,可以依赖其他平台. b)文件存储:确定文件存放的位置,下载的时候可以找到,当然这个地址在网络上是可访问的. c)上传下载:这是工具的主要功能,能提高包使用的便利性.比如想用 jqu

深入php-fpm的两种进程管理模式详解_php实例

php-fpm的两种进程管理模式php-fpm的进程数也是可以根据设置分为动态和静态的.一种是直接开启指定数量的php-fpm进程,不再增加或者减少:另一种则是开始的时候开启一定数量的php-fpm进程,当请求量变大的时候,动态的增加php-fpm进程数到上限,当空闲的时候自动释放空闲的进程数到一个下限.这两种不同的执行方式,可以根据服务器的实际需求来进行调整.这里先说一下涉及到这个的几个参数吧,他们分别是pm.pm.max_children.pm.start_servers.pm.min_sp