`

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

 

 

 

分享到:
评论

相关推荐

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

    dpkg是Debian和Ubuntu等Linux发行版中用于管理软件包的基本包管理工具。它提供了一些常用命令,通过这些命令,你可以有效地管理你的Linux系统上的软件包。然而,需要注意的是,在使用dpkg时需要谨慎,因为它不会自动...

    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软件包管理系统** `dpkg` 是 Debian 操作系统中的核心组件,全称为 Debian Package Manager。它是 Debian 系统中用于安装、配置、查询和卸载软件包的基本工具。dpkg 提供了一个低级别的接口,用于...

    gcc2.95debian软件包

    在Debian中,通常可以使用`apt`或`dpkg`工具来管理软件包,但在安装旧版本的GCC时,可能需要手动处理依赖关系,以避免与系统中其他版本的GCC冲突。 总的来说,GCC2.95 Debian软件包是为了满足那些需要使用旧版...

    debian参考手册,debian管理员使用

    - **pool目录**:这是一个重要的目录,包含了软件包池,是Debian软件包管理的核心部分。 - **上载到incoming中的软件包**:新软件包被上传到incoming目录进行初步检查后,会被移动到pool目录。 - **找回旧软件包**:...

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

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

    使用Oracle的Debian软件包在Linux上安装MySQL.pdf

    6. **dpkg命令**:用于安装特定的Debian软件包。 7. **apt-get命令**:用于解决依赖关系问题。 8. **MySQL配置文件位置**:通常位于/etc/mysql。 9. **MySQL二进制文件位置**:位于/usr/bin和/usr/sbin。 10. **...

    简介ubuntu(debian)的软件包管理

    在Linux世界中,Ubuntu和Debian是两个非常流行的开源操作系统,它们都基于Debian软件包管理系统,这使得软件的安装、更新和管理变得极其高效。本文将深入介绍Ubuntu(Debian)的软件包管理机制,帮助用户更好地理解...

    在 Ubuntu 10.10 中安装 MariaDB Debian 软件包

    在Ubuntu 10.10中安装MariaDB Debian软件包涉及到一系列的步骤,包括安装先决条件包、下载特定版本的MariaDB软件包、配置和安装这些软件包,以及后续的安装后配置。以下是对这些知识点的详细解释。 ### MariaDB简介...

    Linux软件包管理器.pdf

    dpkg是Debian系列系统中的软件包管理工具,专门用于安装、卸载和管理deb格式的软件包。dpkg与apt-get的关系是,dpkg是基础命令,而apt-get是基于dpkg之上,提供了自动处理依赖关系的功能。dpkg的基本命令包括“dpkg ...

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

    此外,RPM软件包的格式和管理方式也为其他Linux发行版所采用,如openSUSE的zypper和Debian/Ubuntu的dpkg。 总之,RPM是Linux世界中不可或缺的软件包管理工具,它使得软件的安装、管理和维护变得更加高效和便捷。...

    linux的dpkg命令的使用

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

    linux软件包管理

    - **dpkg**:用于安装、卸载、维护Debian软件包。 - **apt**:高级包装工具,基于dpkg之上,提供更高级的软件包管理功能,如自动解决依赖关系、方便的软件包升级等。 ##### Debian系软件包管理命令 - **安装软件包...

    Debian Packer 1.2.1 For Windows x86 (Windows 平台下首款能对 Debian 数据包直接解包、封包的工具软件)

    **dpkg详解**:dpkg是Debian的核心组件之一,它处理.deb格式的包,这是Debian软件包的标准格式。dpkg可以安装、升级、配置和卸载软件包,以及查询已安装软件的信息。它不涉及网络功能,但为APT提供了底层支持。 **...

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

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

    Debian 中文手册[无乱码版]

    **2.2 Debian软件包管理系统** - **Debian软件包概述**:概述了Debian软件包的概念及其重要性。 - **Debian软件包格式**:详细介绍了Debian软件包的文件格式,如`.deb`文件。 - **软件包命名约定**:阐述了Debian...

    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命令去执行。 语法格式: ...

Global site tag (gtag.js) - Google Analytics