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)


相关推荐

  • Eclipse—–jrebel实现jetty热部署

    Eclipse—–jrebel实现jetty热部署

  • pycharm怎么安装python库_win10专业版怎么安装

    pycharm怎么安装python库_win10专业版怎么安装准备开始的时候,发现没下载库有些库直接下载是不行的解决办法(社区版)第一步:打开Pycharm第二步:点File->DefaultSettings->ProjectInterpreter->点加号第三步:搜索Pygame->InstallPackage不同于社区版,专业版是直接搜pythonInterpreter点加号,搜想要的库,点击Install直接起飞…

  • EC20 AT指令

    EC20 AT指令由文档Quectel_WCDMA&LTE_Linux_USB_Driver_User_Guide_V1.8.pdf由上可知,ttyUSB2是用来发送AT指令的,ttyUSB3是用来发送ppp

  • XOR问题

    XOR问题在Rosenblatt单层感知机中已经对异或问题做了介绍,并论证说明了只适用于线性分类问题的Rosenblatt感知机无法对异或问题进行分类。然而非线性问题是普遍存在的,下面就使用带隐藏节点的神经网络来解决异或问题。异或问题:异或(XOR)问题可以看做是单位正方形的四个角,响应的输入模式为(0,0),(0,1),(1,1),(1,0)。第一个和第三个模式属于类0,即和…

  • 关于我转生变成史莱姆这档事_kicker.de

    关于我转生变成史莱姆这档事_kicker.de1  请问什么所kworker进程 清理旧版本的软件缓存:  sudoapt-getautoclean这个进程是干什么的? 我的机器刚装11.04没次卡的时候top一下就发现kworker这个进程占用CPU很大,基本上都能到75%左右youmaytrytodisableallpowersavingcon

  • 苹果无线网服务器绕过id,最新绕过苹果id方法[通俗易懂]

    苹果无线网服务器绕过id,最新绕过苹果id方法[通俗易懂]1.先将设备进入DFU模式,将你的iPhone关机,同时按住开关机键和Home键,当你看见白色的苹果Logo时,请松开开关机键,并继续保持按住Home键。2.使用Checkra1n进行越狱,越狱工具下载地址:checkra.in。3.在端口爱思上使用ssh,同时删除或者重命名Applications文件夹内的setup.app。4.执行killall-9SpringBoard.Boom注销后即…

发表回复

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

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