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

相关文章

Mysql数据库聚簇索引与非聚簇索引举例详解

《Mysql数据库聚簇索引与非聚簇索引举例详解》在MySQL中聚簇索引和非聚簇索引是两种常见的索引结构,它们的主要区别在于数据的存储方式和索引的组织方式,:本文主要介绍Mysql数据库聚簇索引与非... 目录前言一、核心概念与本质区别二、聚簇索引(Clustered Index)1. 实现原理(以 Inno

使用python生成固定格式序号的方法详解

《使用python生成固定格式序号的方法详解》这篇文章主要为大家详细介绍了如何使用python生成固定格式序号,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录生成结果验证完整生成代码扩展说明1. 保存到文本文件2. 转换为jsON格式3. 处理特殊序号格式(如带圈数字)4

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

MyBatis常用XML语法详解

《MyBatis常用XML语法详解》文章介绍了MyBatis常用XML语法,包括结果映射、查询语句、插入语句、更新语句、删除语句、动态SQL标签以及ehcache.xml文件的使用,感兴趣的朋友跟随小... 目录1、定义结果映射2、查询语句3、插入语句4、更新语句5、删除语句6、动态 SQL 标签7、ehc

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础