debian系统里面 dpkg命令怎么使用

debian系统里面 dpkg命令怎么使用dpkg是Debian的中级软件包管理器,类似RPM.dpkg是Debian软件包管理系统的中流砥柱,负责安全卸载软件包,配置,以及维护已安装的软件包.也是Debian系统中众多软件包管理工具的后端.有关dpkg的更多介绍参阅:http://www.dpkg.org系统中所有packages的信息都在/var/lib/dpkg/目录下,其中子目录”/var/lib/dpkg/info”用于…

大家好,又见面了,我是你们的朋友全栈君。

dpkg是Debian的中级软件包管理器,类似RPM.

dpkg是Debian软件包管理系统的中流砥柱,负责安全卸载软件包,配置,以及维护已安装的软件包.也是Debian系统中众多软件包管理工具的后端.有关dpkg的更多介绍参阅:http://www.dpkg.org

系统中所有packages的信息都在/var/lib/dpkg/目录下,其中子目录”/var/lib/dpkg/info”用于保存各个软件包的配置文件列表.

.conffiles 记录了软件包的配置文件列表

.list 保存软件包中的文件列表,用户可以从.list的信息中找到软件包中文件的具体安装位置.

.md5sums 记录了软件包的md5信息,这个信息是用来进行包验证的.

.prerm 脚本在Debian报解包之前运行,主要作用是停止作用于即将升级的软件包的服务,直到软件包安装或升级完成.

.postinst脚本是完成Debian包解开之后的配置工作,通常用于执行所安装软件包相关命令和服务重新启动.

/var/lib/dpkg/available文件的内容是软件包的描述信息,该软件包括当前系统所使用的Debian安装源中的所有软件包,其中包括当前系统中已安装的和未安装的软件包.

==============================================================================================

dpkg

查询以安装的信息

查询当前系统所有已安装的deb包

dpkg –l 命令用于查询当前系统所有以安装的deb包的信息.,通过less和grep可以执行更复杂的查询工作.

例如查找跟vim有关的软件包,dpkg –l |grep –ivim

(如发现iU 表示软件包未安装成功,ii表示安装成功)

查看已安装软件包的详细情况

dpkg –s 命令查看软件包的详细情况,包括版本,依赖之类的

查询系统中所安装软件包所安装的文件

dpkg –L 命令用于查询系统中所安装软件包的安装的文件安装到系统的位置和安装了那些.

小提示: 如何可以看软件包装到哪个地方?

用apt-get install *

如何可以看软件包装到哪个地方?

dpkg -L package-name|more

查询系统中某个文件属于那个软件包

dpkg –S 命令用于了解当前的软件属于那个软件包

查询未安装的信息

查询未安装软件包详细信息

dpkg –I 命令用于查看未安装软件包的详细信息,以便了解该软件包是否需要安装.

查询deb包文件中所包含的文件

dpkg –c 显示未安装deb软件包所包含的文件列表,以及安装位置

安装软件包

安装deb软件包

dpkg –i 手工安装deb包到系统中,不过有时会存在Dpends关系,建议使用apt-get 来安装.

如果通过dpkg –i安装软件后由于Dpends关系没有安装成功,可通 过apt-get –f install解决

解决dpkg –i 安装deb包出现Dpends问题

apt-get –f install 解决Dpends问题.

例如:dpkg –i lftp_3.1.3-1_i386.deb

Selecting previously deselected package lftp.

(Reading database … 20654 files and directories currently installed.)

unpacking lftp (from lftp_3.1.3-1_i386.deb)…

dpkg:dependency problems prevent configuration of lftp:

ftp depends on libexpat1 (<=1.95.8);however

dpkg : error processing lftp (–install)

dependency problems –leaving unconfigured

Errors were encountered while processing:

lftp

//lftp软件包安装失败

dpkg –l |grep lftp

iU lftp 3.1.3-1 Sophisticated

command-line FTP/HTTP client p

//”dpkg -l” 查询信息表示lftp软件包未安装成功

(iU表示未安装成功,ii表示安装成功)

使用apt-get –f install解决

卸载deb软件包

卸载deb包

dpkg –r用于卸载指定的软件包,该命令只卸载软件包安装到系统中的文件,而不去删除软件包的配置文件,因此不是完全意义上的卸载.但是软件包保存在系统中,可以提供给以后在安装软件包时使用.

例如:dpkg –r prozilla 移除后再用dpkg –l |grep prozilla 查看

会看到rc proc 1.3.6-3woody3 multi-thraded download accelerator

表示软件包已经被卸载,但配置文件仍在“rc”带表配置文件仍在.

卸载软件包并清除配置文件

dpkg –P 用于卸载软件包同时也删除配置文件,dpkg –P 不能解决Dpends问题,建议卸载时使用apt-get操作

重新配置软件包

对于Debian系统中的众多软件包(尤其是系统和服务器软件包)来说,在第一次安装该软件包时候会显示对话框窗口,提示用户输入必要的配置信息.当用户需要再次对软件包配置的时候,可以使用dpkg-reconfigure来对指定的软件包进行配置.

比如dpkg-reconfigure locales

用于配置语言

alien包转换工具

如果我们有很喜欢的RPM包,而又没有deb版本

怎么办~?

可以同过alien来转换或者直接安装,这个小家伙可是个很方便的东西!

基本命令如下:

首先通过apt-get install alien来安装.

然后alien -i name-of-the-pakage.rpm /*用来直接安装rpm包

alien -d , –to-deb /*Make debian packages,This is the default

例:alien –d package.rpm

alien –r , –to-rpm /*Make rpm packages

例:alien –r package.deb

alien –p , –to-pkg /*Make Solaris pkg packages

alien –-to-slp /*Make slp packages

alien –t , –to-tgz /*Make tgz packages

alien –T 检测

alien –-patch=patch 设置patch
===========================================================================================

在终端界面输入 : dpkg –help  

则有关dpkg的用法 全部都可以列出来  具体的用法如下:

PC:~/Desktop$ dpkg –help
用法:dpkg [<选项> …] <命令>

命令:
  -i|–install       <.deb 文件名> … | -R|–recursive <目录> …
  –unpack           <.deb 文件名> … | -R|–recursive <目录> …
  -A|–record-avail  <.deb 文件名> … | -R|–recursive <目录> …
  –configure        <软件包名>    … | -a|–pending
  –triggers-only    <软件包名>    … | -a|–pending
  -r|–remove        <软件包名>    … | -a|–pending
  -P|–purge         <软件包名>    … | -a|–pending
  -V|–verify <软件包名> …       检查包的完整性。
  –get-selections [<表达式> …]  把已选中的软件包列表打印到标准输出。
  –set-selections                 从标准输入里读出要选择的软件。
  –clear-selections               取消选中所有不必要的软件包。
  –update-avail <软件包文件>      替换现有可安装的软件包信息。
  –merge-avail  <软件包文件>      把文件中的信息合并到系统中。
  –clear-avail                    清除现有的软件包信息。
  –forget-old-unavail             忘却已被卸载的不可安装的软件包。
  -s|–status      <软件包名> …  显示指定软件包的详细状态。
  -p|–print-avail <软件包名> …  显示可供安装的软件版本。
  -L|–listfiles   <软件包名> …  列出属于指定软件包的文件。
  -l|–list  [<表达式> …]        简明地列出软件包的状态。
  -S|–search <表达式> …         搜索含有指定文件的软件包。
  -C|–audit [<表达式> …]        检查是否有软件包残损。
  –yet-to-unpack                  列出标记为待解压的软件包。
  –predep-package                 列出待解压的预依赖。
  –add-architecture    <体系结构> 添加 <体系结构> 到体系结构列表。
  –remove-architecture <体系结构> 从架构列表中移除 <体系结构>。
  –print-architecture             显示 dpkg 体系结构。
  –print-foreign-architectures    显示已启用的异质体系结构。
  –assert-<特性>                  对指定特性启用断言支持。
  –validate-<属性> <字符串>       验证一个 <属性>的 <字符串>。
  –compare-vesions <a> <关系> <b> 比较版本号 – 见下。
  –force-help                     显示本强制选项的帮助信息。
  -Dh|–debug=help                 显示有关出错调试的帮助信息。

  -?, –help                       显示本帮助信息。
      –version                    显示版本信息。

Assert 特性: support-predepends, working-epoch, long-filenames,
  multi-conrep, multi-arch, versioned-provides.

可验证的属性:pkgname, archname, trigname, version.

调用 dpkg 并带参数 -b, –build, -c, –contents, -e, –control, -I, –info,
  -f, –field, -x, –extract, -X, –vextract, –ctrl-tarfile, –fsys-tarfile
是针对归档文件的。 (输入 dpkg-deb –help 获取帮助)

选项:
  –admindir=<目录>          使用 <目录> 而非 /var/lib/dpkg。
  –root=<目录>              安装到另一个根目录下。
  –instdir=<目录>           改变安装目录的同时保持管理目录不变。
  –path-exclude=<表达式>    不要安装符合Shell表达式的路径。
  –path-include=<表达式>    在排除模式后再包含一个模式。
  -O|–selected-only         忽略没有被选中安装或升级的软件包。
  -E|–skip-same-version     忽略版本与已安装软件版本相同的软件包。
  -G|–refuse-downgrade      忽略版本早于已安装软件版本的的软件包。
  -B|–auto-deconfigure      就算会影响其他软件包,也要安装。
  –[no-]triggers            跳过或强制随之发生的触发器处理。
  –verify-format=<格式>     检查输出格式(‘rpm’被支持)。
  –no-debsig                不去尝试验证软件包的签名。
  –no-act|–dry-run|–simulate
                             仅报告要执行的操作 – 但是不执行。
  -D|–debug=<八进制数>      开启调试(参见 -Dhelp 或者 –debug=help)。
  –status-fd <n>            发送状态更新到文件描述符<n>。
  –status-logger=<命令>     发送状态更新到 <命令> 的标准输入。
  –log=<文件名>             将状态更新和操作信息到 <文件名>。
  –ignore-depends=<软件包>,…
                             忽略关于 <软件包> 的所有依赖关系。
  –force-…                忽视遇到的问题(参见 –force-help)。
  –no-force-…|–refuse-…
                             当遇到问题时中止运行。
  –abort-after <n>          累计遇到 <n> 个错误后中止。

可供–compare-version 使用的比较运算符有:
 lt le eq ne ge gt        (如果版本号为空,那么就认为它先于任意版本号);
 lt-nl le-nl ge-nl gt-nl  (如果版本号为空,那么就认为它后于任意版本号);
 < << <= = >= >> >        (仅仅是为了与主控文件的语法兼容)。

‘apt’ 和 ‘aptitude’ 提供了更为便利的软件包管理。
 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/143494.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 可以外链的网络相册

    可以外链的网络相册1.Yupoo简介:Yupoo已非早前的Yupoo,现在已经开始商业起来,免费账户的外链图片会被打上水印,月上传的流量为61M,外链流量为500M,通过博客认证后外链流量为1G。关于VIP的详细数据如下:http://www.yupoo.com/payment/introduce 总的来说现在的每年30元的VIP账户就是以前的免费账户。重要一点是月外链流量大于30G时即便你购买的是18…

  • 检测网络接口

    检测网络接口

    2021年12月30日
  • Arduino智能小车设计(一)「建议收藏」

    Arduino智能小车设计(一)「建议收藏」这一个月来距离实验室纳新后,已经过去一个月左右了。听取了学长的建议,这段时间也一直在搞Arduino这个软件,还算不错的认识了这个开源软件。(自我认为。。)但是现在的依旧是一个小萌新,不说在软件代码的掌握程度,现在连有些最基本的硬件的名字也都叫不上来几个。。。不过还好,自己也不是单打独斗,通过和同组成员的讨论也还算是一点一点进步吧。最幸运的是,每次我遇到不会的东西,他们都可以帮我解答。从今天…

    2022年10月17日
  • 访问服务器出现406问题[通俗易懂]

    解决方式1、查看Jackson包是否存在2、如果url后缀是.html是不能响应json数据的,需要修改后缀名

  • 日期的工具类

    日期的工具类

  • resultset类所有方法_resultset获取列名,和对应值

    resultset类所有方法_resultset获取列名,和对应值 chenjieuniqueResult()返回唯一结果(这种一般只会返一条实体类对象信息)Result()返回结果(展示所有结果)   publicTQuaAcceptancegetTQuaAcceptance(StringqaId){       //sql语句      Stringhql="fromTQuaAcceptance…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号