Debian常用包管理命令用法详解

2024-08-26 23:12

本文主要是介绍Debian常用包管理命令用法详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • apt-get/apt-cache
    • apt
    • dpkg
    • dpkg-source
    • debuild

dpkg和apt是两个不同的工具用于管理Debian系列Linux发行版上的软件包。dpkg是底层工具,负责直接安装、删除和管理软件包文件(.deb)。它不会自动处理软件包的依赖关系,需要用户手动处理。apt是一个高级工具,自动处理软件包依赖,能够从软件仓库中下载和安装软件包,进行更新和升级。apt依赖dpkg来实际执行软件包的安装和卸载。

apt-get/apt-cache

在Debian和Ubuntu及其衍生发行版中,apt-get 和 apt-cache 是两个常用的命令行工具,用于管理和查询软件包。

# apt-get 旧版本的命令
# 更新源文件  
apt-get update
# 升级已安装所有包
apt-get upgrade
# 升级指定的包
apt-get install packagename --only-upgrade# 安装指定包
apt-get install packagename
# 重新安装指定包  
apt-get install packagename --reinstall
# 删除对应包
apt-get remove packagename  
# 删除包及配置文件  
apt-get remove packagename -- purge# 安装指定版本的包 
# 查询可用版本列表
apt-cache policy <package_name>
# 安装指定版本
apt-get install <package_name>=<version_number># 安装相关的编译环境
apt-get build-dep packagename
# 下载对应包的源码 
apt-get source packagename # 查询指定的包
apt-cache search packagename    
# 了解包的版本信息   
apt-cache show packagename 
# 了解使用该包依赖哪些包  
apt-cache depends packagename
# 查看该包被哪些包依赖   
apt-cache rdepends packagename 

apt

apt是Debian中用于管理软件包的高级工具,能够处理依赖关系、更新软件包列表、安装、升级和卸载软件包等操作。

# 安装指定的软件包  
sudo apt install <package_name>
sudo apt install <package_1> <package_2> <package_3>  # 删除指定的软件包  
sudo apt remove <package_name>   
# 移除软件包和配置文件  
sudo apt purge <package_name>  # 列出所有可更新的软件清单
sudo apt update    
# 升级软件包
sudo apt upgrade
# 更新指定的软件
sudo apt update <package_name># 查找软件包
sudo apt search <keyword>  
# 显示软件包具体信息,例如:版本号,安装大小,依赖关系等等
sudo apt show <package_name># 列出可更新的软件包及版本信息
apt list --upgradable
# 列出所有安装的软件包    
apt list --installed  
# 列出所有已安装的包的版本信息
apt list --all-versions

dpkg

dpkg命令是Debian Linux发行版中用于管理二进制软件包(.deb格式)的基本工具。

# 安装deb包  
dpkg -i package.deb  
# 卸载deb包  
dpkg -r package-name
# 重新安装软件包并覆盖缺失的配置文件,但保留现有的配置文件  
dpkg -i --force-confmiss package.deb  # 显示指定包的安装信息   
dpkg -l package-name  
# 列出安装包的文件清单  
dpkg -L package-name 
# 查找给定文件属于哪个已安装的软件包  
dpkg -S filename   
# 显示特定软件包的详细信息,包括描述、版本、依赖等
dpkg -p package-name  

dpkg-source

dpkg-source 命令是用于处理Debian源码软件包的工具,主要用于构建和管理.dsc文件以及源码包

# 解压缩一个源码包,生成源码目录以便后续的修改和构建  
dpkg-source -x package.dsc  # 根据给定的源码目录构建一个新的源码包,生成 .dsc 文件和压缩后的源码包文件
dpkg-source -b source-directory  # 提交对源码包的修改
dpkg-source --commit  

debuild

debuild是一个用于构建Debian软件包的工具,它通过调用其他底层工具(如 dpkg-buildpackage)来简化构建过程。它会处理构建过程中的常见步骤,包括生成.deb文件、.dsc文件和其他相关文件。debuild 主要用于在开发和测试阶段构建和打包Debian软件包。

debulid [options]  #构建deb包  
# -a [archname]  指定debuild构建的系统架构类型   # -b  仅构建二进制包,不构建源包  
# 生成的文件包括: deb二进制安装包  ddeb调试信息包(类似win-pdb)  buildinfo 包含了构建环境的信息和软件包的构建细节
# .changes文件,记录了构建过程中的变更和版本信息  
# 普通包-提供运行程序所需的文件,供最终用户使用。-dev包-提供开发和编译软件所需的文件,供开发人员使用# -S  仅构建源包,不构建二进制包 生成的文件包括:   
# .dsc文件 包含包的基本信息、版本、依赖关系等   
# tar.gz 或tar.xz 源码信息 
#.changes 记录包的构建信息、版本号和变更日志。# -us 构建未签名的源包   
# -uc 构建未签名的 .changes 文件。与 -us 类似,这个选项跳过对 .changes 文件的签名  # -kKEYID  指定用于签名的 GPG 密钥  
# -nc 构建之前不清理source tree  
# --pre-clean 构建之前清理代码树  
# -tc / --post-clean 构建之后清理代码树  
# -sa / --source --all 包含所有的源码文件  # 构建未签名的源包和 .changes 文件
# 默认构建源码包和二进制包,构建完成之后清理中间文件     
debuild -us -uc -tc #把所有的源码文件打包  并且不清理中间文件  
debuild -sa -S -nc  

这篇关于Debian常用包管理命令用法详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1109950

相关文章

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

java中反射(Reflection)机制举例详解

《java中反射(Reflection)机制举例详解》Java中的反射机制是指Java程序在运行期间可以获取到一个对象的全部信息,:本文主要介绍java中反射(Reflection)机制的相关资料... 目录一、什么是反射?二、反射的用途三、获取Class对象四、Class类型的对象使用场景1五、Class

golang 日志log与logrus示例详解

《golang日志log与logrus示例详解》log是Go语言标准库中一个简单的日志库,本文给大家介绍golang日志log与logrus示例详解,感兴趣的朋友一起看看吧... 目录一、Go 标准库 log 详解1. 功能特点2. 常用函数3. 示例代码4. 优势和局限二、第三方库 logrus 详解1.

一文详解如何从零构建Spring Boot Starter并实现整合

《一文详解如何从零构建SpringBootStarter并实现整合》SpringBoot是一个开源的Java基础框架,用于创建独立、生产级的基于Spring框架的应用程序,:本文主要介绍如何从... 目录一、Spring Boot Starter的核心价值二、Starter项目创建全流程2.1 项目初始化(

Spring Boot3虚拟线程的使用步骤详解

《SpringBoot3虚拟线程的使用步骤详解》虚拟线程是Java19中引入的一个新特性,旨在通过简化线程管理来提升应用程序的并发性能,:本文主要介绍SpringBoot3虚拟线程的使用步骤,... 目录问题根源分析解决方案验证验证实验实验1:未启用keep-alive实验2:启用keep-alive扩展建

Java异常架构Exception(异常)详解

《Java异常架构Exception(异常)详解》:本文主要介绍Java异常架构Exception(异常),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. Exception 类的概述Exception的分类2. 受检异常(Checked Exception)