`

Debian软件包管理工具,dpkg

 
阅读更多

主要语法

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

 

 

 

分享到:
评论

相关推荐

    lein-dpkg:Debian 软件包管理系统的 Leiningen 插件

    Debian 软件包管理系统的 Leiningen 插件。 安装 通过 Clojars: ://clojars.org/lein-dpkg 用法 添加 Debian 控制文件 debian/DEBIAN/control Package: {{name}} Version: {{version}} Section: java Priority: ...

    dpkg:Debian软件包管理器(镜像)

    dpkg:Debian软件包管理器(镜像)

    electron-installer-debian:为您的Electron应用程序创建Debian软件包

    为您的Electron应用程序创建一个Debian软件包。 | | | | 要求 此工具需要Node 10或更高版本, fakeroot和dpkg来构建.deb软件包。 我建议在目标平台上构建软件包,但是如果您坚持使用Mac OS X,则可以通过安装这些...

    dpkg离线安装包,包括arm和X86版本安装包

    dpkg是Debian软件包管理器的基础,它被伊恩·默多克创建于1993年。dpkg与RPM十分相似,同样被用于安装、卸载和供给.deb软件包相关的信息。 dpkg本身是一个底层的工具。上层的工具,如APT,被用于从远程获取软件包...

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

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

    cargo-deb:一个cargo子命令,可从Cargo.toml中的信息生成Debian软件包

    来自Cargo项目的Debian软件包 这是一个 helper命令,可从Cargo项目自动创建二进制( .deb )。 安装 cargo install cargo-deb 需要Rust 1.42+,以及可选的dpkg , ldd和liblzma-dev 。与Ubuntu兼容。 用法 cargo deb...

    超级简单的Debian软件包-Linux开发

    :package:debpack超级简单的Debian软件包。 旨在使Lintian开心并在合理的情况下遵守《 Debian政策手册》,而不会因不必要的仪式而陷入困境。 仅取决于Bash和dpkg工具。 :package:debpack超级简单的Debian软件包。 ...

    dpkg-deb命令 Debian包管理器

    dpkg-deb命令是Debian linux下的软件包管理工具,它可以对软件包执行打包和解包操作以及提供软件包信息。 可以通过dpkg命令调用dpkg-deb命令的功能,dpkg命令的任何选项将被传递给dpkg-deb命令去执行。 语法格式: ...

    Java Dpkg:一个Debian软件包库,包括一个Maven插件。-开源

    该项目包括一个用于处理Debian软件包的库-解析和构建-以及用于在构建过程中使用该库功能的Maven插件。 该库和Maven插件都是100%本机Java,不需要任何dpkg二进制文件或Linux系统。 在您喜欢的任何系统上构建Debian...

    dpkg-hider:轻松隐藏dpkg软件包!

    众所周知,在debian及其衍生物中,dpkg是主要的软件包管理器。 一旦安装了软件包,就可以执行dpkg -l ,并注意已经安装了软件包。 有关软件包的信息通常保存在/ var / lib / dpkg / status中。 DPKG-Hider使您可以...

    git-deb:Git 克隆 Debian 软件包

    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-...

    dpkg-deb-boilerplate:一个易于使用的样板构建项目,用于使用Lanuchpad或其他服务构建debian软件包

    一个易于使用的样板debuild项目,用于使用或其他服务构建debian软件包。 我为什么需要它? dpkg --build dirname不够吗? dpkg --build dirname很好,但是debian打包策略提供了一个可靠的构建系统,可以轻松安装...

    gearmanmanager_pecl.deb:Gearmanager PECL Debian 软件包

    gearmanager_pecl.deb Gearmanager PECL Debian 软件包 这是Brian Moon 的gearman manager 的debian 包。... 该软件包适用于使用 dpkg-scanpackages 使用简单的本地存储库来简化创建 Gearman Worker 虚拟机的内部要求

    graalvm-ce-deb:graalvm社区版的debian软件包

    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...

    debbie:将目录转换为简单的debian软件包

    从目录为debian创建.deb软件包的最简单方法。 目标 Deb(死)易于使用 顺其自然,不要以任何理由掏空 临时文件上的缓冲区,请勿使用任何写入磁盘的临时文件 学习,更好地了解golang + deb软件包 快速,成为在互联网...

    dpkg-trigger命令 软件包触发器

    dpkg-trigger命令是Debian linux下的软件包触发器。 dpkg-trigger命令只能应用在维护者脚本中,或者必须使用“- — by-package”参数。 语法格式 : dpkg-trigger [参数] [触发器] 常用参数: — -check-...

    Debian APT HOWTO.pdf

    有必要提供一种方法来管理这些安装在机器上的软件包,当Debian诞生时,这样一个管理工具也就应运而生, 它被命名为dpkg。从而著名的“package”概念第一次出现在GNU/Linux 系统中,稍后RedHat 才决定开发自 己的...

    apt-assist:用于本地 Debian 软件包归档准备的基于 Qt4 的 GUI-开源

    apt-assist 是一个自由软件图形用户界面,它与“dpkg”核心一起处理本地 Debian 软件包索引。

    storm-debian-packaging:使用dpkg-buildpackage的Storm Debian包装

    这个项目的目标是提供一个灵活的工具来构建一个debian软件包,该软件包遵循debian标准并使用风暴发行版提供的默认配置。 打包的storm可以像在其他地方解压缩的storm zip一样容易使用,同时,还可以灵活地对其进行...

    debian-packaging:创建非自由,封闭源代码和其他软件的Debian软件包

    该存储库旨在用作Debian和Ubuntu的某种* BSD端口或Arch pkgbuild系统。 它非常简单,可以用于打包封闭源代码和非自由软件,还可以用于某些新项目,以及用于将某些带有嵌入式libav库的多媒体程序打包的方法。 用法:...

Global site tag (gtag.js) - Google Analytics