`
ubuntu
  • 浏览: 107791 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

dpkg的介绍及命令使用

阅读更多
首先要学习debian的中层包管理dpkg,这是一个基础.


简介


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:


lftp 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
分享到:
评论

相关推荐

    linux的dpkg命令的使用

    在Linux系统中,dpkg命令作为底层的包管理工具,为用户提供了强大的功能,尤其是在处理.deb格式的软件包时。dpkg与apt等高级包管理工具相辅相成,但在某些特定场景下,掌握dpkg的基本操作对于系统管理和维护至关重要...

    用dpkg命令制作deb包1

    最后,使用dpkg命令将软件包打包到Deb文件中。 Debian包制作步骤: 1. 创建软件包的文件夹 2. 创建DEBIAN目录 3. 在DEBIAN目录中创建control文件 4. 使用dpkg命令将软件包打包到Deb文件中 例如,创建一个名为...

    dpkg-deb命令 Debian包管理器

    可以通过dpkg命令调用dpkg-deb命令的功能,dpkg命令的任何选项将被传递给dpkg-deb命令去执行。 语法格式: dpkg-deb [参数] [文件] 常用参数: -c 显示软件包中的文件列表 -e 将主控信息解压 -f 把字段内容...

    dpkg-trigger命令 软件包触发器

    dpkg-trigger命令只能应用在维护者脚本中,或者必须使用“- — by-package”参数。 语法格式 : dpkg-trigger [参数] [触发器] 常用参数: — -check-supported 检查运行的dpkg是否支持触发器,返回值为0,则...

    dpkg-split命令 分割软件包

    dpkg-split命令只能在Debian系统上使用,因为他需要调用dpkg-deb命令分析软件包的组成。 语法格式: dpkg-split [参数] [软件包] 常用参数: -S 设置分割后的每个小文件最大尺寸(以字节为单位) -s 分割软件包 ...

    dpkg-preconfigure命令 软件包安装之前询问问题

    dpkg-preconfigure命令用于在Debian linux中软件包安装之前询问问题。如果软件包不需要进行配置,则不会询问任何问题。 在非交互式环境下安装支持debconf的软件时,用户无法在线提供软件的配置项。因此用户需要通过...

    dpkg-divert命令 将文件安装到转移目录

    dpkg-divert命令是用于将引起冲突的文件安装到转移目录而非默认目录。 语法格式: dpkg-divert [参数] [文件] 常用参数: — -add 添加一个转移文件 — -remove 删除一个转移文件 — -list 列出匹配的转移 ...

    dpkg_1.16压缩包

    在dpkg的这个压缩包中,这个文件可能详细阐述了dpkg 1.16.1.1版本的更新内容、编译和安装步骤、可能遇到的问题及解决方法等。阅读这个文档对于理解和使用这个特定版本的dpkg至关重要。 **四、dpkg与apt的关系** ...

    dpkg-statoverride命令 改写所有权和模式

    使用dpkg-statoverride命令删除改写后,如果希望恢复旧的权限,需要手工设置权限或重新安装包含该文件的软件包。 语法格式: dpkg-statoverride [参数] 常用参数: -add 为文件添加一个改写 — -remove 为文件...

    dpkg-reconfigure命令 重新配置已安装的软件包

    当用户需要再次对软件包配置的时候,可以使用dpkg-reconfigure命令来对指定的软件包进行配置。 语法格式: dpkg-reconfigure [参数] [软件包] 常用参数: -a 重新配置所有的软件包 -u 仅显示未提过的问题 — ...

    dpkg命令 管理deb包

    dpkg命令的英文全称是“Debian package”,故名意思是Debian Linux系统用来安装、创建和管理软件包的实用工具。 语法格式:dpkg [参数] 常用参数: -i 安装软件包 -r 删除软件包 -l 显示已安装软件包...

    dpkg命令安装包,查看系统架构类型信息

    dpkg命令安装包,查看系统架构类型命令: dpkg --print-architecture

    dpkg-query命令 在dpkg数据库中查询软件包

    dpkg-query命令是Debian linux中软件包的查询工具,它从dpkg软件包数据库中查询并显示软件包的信息。 查询软件包时,软件包的名称支持通配符,如“gcc*”将查询所有以“gcc”开头的软件包。 语法格式: dpkg-query ...

    ubuntu dpkg制作安装包

    在Ubuntu系统中,dpkg...制作deb安装包是软件分发的重要环节,了解并掌握dpkg和deb的相关知识对于开发和维护Ubuntu及Debian生态系统的软件至关重要。通过以上步骤和工具,你可以更有效地管理和发布自定义的软件包。

    ubuntu安装和卸载软件命令

    本文将详细介绍 Ubuntu 中安装和卸载软件的命令,包括使用 apt-get 和 dpkg 两个常用的软件管理工具。 一、apt-get 命令 apt-get 是 Ubuntu 中最常用的软件管理工具,提供了安装、卸载、更新和搜索软件包的功能。 ...

    linuxUbuntu系统常用安装和卸载软件命令.pdf

    本文档总结了 Ubuntu 系统中常用的安装和卸载软件命令,包括使用 apt-get 和 dpkg 两个常用的包管理器。 安装软件命令 在 Ubuntu 系统中,使用 apt-get install 命令可以安装软件包,例如: ``` apt-get install ...

    Linux软件包管理工具-dpkg.pdf

    使用dpkg命令可以安装.deb软件包,例如: ``` sudo dpkg -i VS Code.deb ``` 这将安装名为VS Code的软件包。 三、卸载软件包 使用dpkg命令可以卸载软件包,例如: ``` sudo dpkg -r VS Code ``` 这将卸载名为VS ...

    dpkg,apt 和 aptitude 的使用

    ### dpkg,apt 和 aptitude 的使用 #### dpkg 基础介绍 - **dpkg** 是 Debian 软件包管理系统的核心组件,由 Ian Murdock 在 1993 年创建。它主要用于安装、卸载以及提供与 `.deb` 软件包相关的信息。 - 作为底层...

    ubuntu命令手册.pdf

    * 查看软件安装内容:使用 `dpkg -L` 命令查看软件安装内容 * 查找软件库中的软件:使用 `apt-cache search` 命令查找软件库中的软件 * 显示系统安装包的统计信息:使用 `dpkg -l` 命令显示系统安装包的统计信息 * ...

    ubuntu20.04无网dpkg安装libczmq-dev完整依赖包

    本教程将详细解释如何在无网络环境中使用dpkg命令安装`libczmq-dev`这个开发库,以及其完整的依赖包。首先,我们需要了解`libczmq-dev`和它的先决条件`libzmq3-dev`。 `libczmq-dev`是 CZMQ 库的开发头文件和库,它...

Global site tag (gtag.js) - Google Analytics