主要语法
dpkg [option...] action
软件包信息
包状态
not-installed | 包没有被安装 |
config-files | 仅有配置文件存在 |
half-install | 安装了一半,没有完成安装 |
unpacked | 已经解包,但没有设置 |
half-configured | 已经解包并设置,但没有完成设置 |
triggers-awaited | 包等待其他包处理相关性 |
triggers-pending | 包已经设置好相关性 |
installed | 包已经被解开并设置完成 |
包已选择的状态
install | 包被选择要安装 |
hold | 包被设置此状态后,除非--force-hold,不能改动 |
deinstall | 包被选择要删除,保留配置文件 |
purge | 包被选择完全删除 |
包标志
reinst-required | 需要重装。--force-remove-reinstreq,不能删除 |
安装顺序
1 将control文件从软件包中提取出来
2 如果此软件有不同的版本已经安装,则执行原有版本的prerm脚本。
3 执行新软件包的preinst脚本。
4 解包新的软件包。同时备份原有版本的文件,防止有问题,可以恢复。
5 由于新的包安装的同时,原有的包文件将被删除,所以先执行新包的preinst脚本,后执行原有版本的postrm脚本。
6 设置软件包
action
-i,--install package-file 安装软件包
--configure package 设置软件包
只能设置未设置的软件包,如需要重设置,则dpkg-reconfigure。
-r,--remove,-P,--purge package 卸载软件包
-r,-remove将保留设置文件。
--get-selections [package-name-pattern] 得到已选包列表并且写入stout
--set-selections 设置软件包选择列表,从stdin输入
--clear--selections 设置所有软件包的selection state是deinstall,非基本软件包。
-c,--contents archive 显示软件包的内容
-I,--info archive [control-file...]显示软件包信息
-l,--list package-name-pattern 搜索符合条件的软件包
-s,--status package-name 显示软件包的状态
-L,--listfiles package-name 显示软件包已经安装的具体文件路径
option
-R,--recursive 在指定的文件夹内所有的.deb包,进行同样的操作
文件
/etc/dpkg/dpkg.cfg 默认设置
/var/log/dpkg.log 默认log文件
/var/lib/dpkg/available 显示可用的软件包信息
/var/lib/dpkg/status 显示可用软件包的信息,包括安装状态
用例
1 安装deb包
# dpkg --install google-chrome.deb
2 搜索所有含有python的软件包
# dpkg -l '*python*'
3 显示python2.7软件包的具体信息
# dpkg -s python2.7
4 显示python2.7软件包具体安装的路径
# dpkg -L python2.7
5 备份系统已经安装软件的清单
# dpkg --get-selections > dpkg_selections_backup
6 恢复软件的安装状态
# dpkg --clear-selections # dpkg --set-selections < dpkg_selections_backup
如果想要即可实现安装或卸载,还需要运行apt-get dselect-upgrade
相关推荐
Debian 软件包管理系统的 Leiningen 插件。 安装 通过 Clojars: ://clojars.org/lein-dpkg 用法 添加 Debian 控制文件 debian/DEBIAN/control Package: {{name}} Version: {{version}} Section: java Priority: ...
dpkg:Debian软件包管理器(镜像)
为您的Electron应用程序创建一个Debian软件包。 | | | | 要求 此工具需要Node 10或更高版本, fakeroot和dpkg来构建.deb软件包。 我建议在目标平台上构建软件包,但是如果您坚持使用Mac OS X,则可以通过安装这些...
dpkg是Debian软件包管理器的基础,它被伊恩·默多克创建于1993年。dpkg与RPM十分相似,同样被用于安装、卸载和供给.deb软件包相关的信息。 dpkg本身是一个底层的工具。上层的工具,如APT,被用于从远程获取软件包...
dpkg-query命令是Debian linux中软件包的查询工具,它从dpkg软件包数据库中查询并显示软件包的信息。 查询软件包时,软件包的名称支持通配符,如“gcc*”将查询所有以“gcc”开头的软件包。 语法格式: dpkg-query ...
来自Cargo项目的Debian软件包 这是一个 helper命令,可从Cargo项目自动创建二进制( .deb )。 安装 cargo install cargo-deb 需要Rust 1.42+,以及可选的dpkg , ldd和liblzma-dev 。与Ubuntu兼容。 用法 cargo deb...
:package:debpack超级简单的Debian软件包。 旨在使Lintian开心并在合理的情况下遵守《 Debian政策手册》,而不会因不必要的仪式而陷入困境。 仅取决于Bash和dpkg工具。 :package:debpack超级简单的Debian软件包。 ...
dpkg-deb命令是Debian linux下的软件包管理工具,它可以对软件包执行打包和解包操作以及提供软件包信息。 可以通过dpkg命令调用dpkg-deb命令的功能,dpkg命令的任何选项将被传递给dpkg-deb命令去执行。 语法格式: ...
该项目包括一个用于处理Debian软件包的库-解析和构建-以及用于在构建过程中使用该库功能的Maven插件。 该库和Maven插件都是100%本机Java,不需要任何dpkg二进制文件或Linux系统。 在您喜欢的任何系统上构建Debian...
众所周知,在debian及其衍生物中,dpkg是主要的软件包管理器。 一旦安装了软件包,就可以执行dpkg -l ,并注意已经安装了软件包。 有关软件包的信息通常保存在/ var / lib / dpkg / status中。 DPKG-Hider使您可以...
git-deb将 Debian 软件包的完整历史下载到 Git 中。 要求 Python 3.3、Pip、GPG、Git、Dpkg(特别是 dpkg-dev 子包) 在 Debian 和 Ubuntu 上 sudo apt-get install python3-{debian,isodate,pip,requests} dpkg-...
一个易于使用的样板debuild项目,用于使用或其他服务构建debian软件包。 我为什么需要它? dpkg --build dirname不够吗? dpkg --build dirname很好,但是debian打包策略提供了一个可靠的构建系统,可以轻松安装...
gearmanager_pecl.deb Gearmanager PECL Debian 软件包 这是Brian Moon 的gearman manager 的debian 包。... 该软件包适用于使用 dpkg-scanpackages 使用简单的本地存储库来简化创建 Gearman Worker 虚拟机的内部要求
graalvm-ce-deb Debian软件包生成器。怎么跑# Build with default settings (Java 8 JVM, amd64 architecture, Version 20.3.0)./build# Build with specific settings (Java 11 JVM, aarch64 architecture, Version...
从目录为debian创建.deb软件包的最简单方法。 目标 Deb(死)易于使用 顺其自然,不要以任何理由掏空 临时文件上的缓冲区,请勿使用任何写入磁盘的临时文件 学习,更好地了解golang + deb软件包 快速,成为在互联网...
dpkg-trigger命令是Debian linux下的软件包触发器。 dpkg-trigger命令只能应用在维护者脚本中,或者必须使用“- — by-package”参数。 语法格式 : dpkg-trigger [参数] [触发器] 常用参数: — -check-...
有必要提供一种方法来管理这些安装在机器上的软件包,当Debian诞生时,这样一个管理工具也就应运而生, 它被命名为dpkg。从而著名的“package”概念第一次出现在GNU/Linux 系统中,稍后RedHat 才决定开发自 己的...
apt-assist 是一个自由软件图形用户界面,它与“dpkg”核心一起处理本地 Debian 软件包索引。
这个项目的目标是提供一个灵活的工具来构建一个debian软件包,该软件包遵循debian标准并使用风暴发行版提供的默认配置。 打包的storm可以像在其他地方解压缩的storm zip一样容易使用,同时,还可以灵活地对其进行...
该存储库旨在用作Debian和Ubuntu的某种* BSD端口或Arch pkgbuild系统。 它非常简单,可以用于打包封闭源代码和非自由软件,还可以用于某些新项目,以及用于将某些带有嵌入式libav库的多媒体程序打包的方法。 用法:...