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

文章目录

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

apt-get/apt-cache

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

shell 复制代码
# 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中用于管理软件包的高级工具,能够处理依赖关系、更新软件包列表、安装、升级和卸载软件包等操作。

shell 复制代码
# 安装指定的软件包  
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格式)的基本工具。

shell 复制代码
# 安装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文件以及源码包

shell 复制代码
# 解压缩一个源码包,生成源码目录以便后续的修改和构建  
dpkg-source -x package.dsc  

# 根据给定的源码目录构建一个新的源码包,生成 .dsc 文件和压缩后的源码包文件
dpkg-source -b source-directory  

# 提交对源码包的修改
dpkg-source --commit  

debuild

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

shell 复制代码
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  
相关推荐
小卓笔记1 小时前
keepalived应用
linux·服务器·数据库
Hurry63 小时前
Rocky Linux 9.x 基于 kubeadm部署k8s 1.32
linux·运维·kubernetes
极客代码3 小时前
Unix 域套接字(本地套接字)
linux·c语言·开发语言·unix·socket·unix域套接字·本地套接字
zxnbmk4 小时前
ansible速查手册
linux·服务器·ansible
小卓笔记4 小时前
DNS主从服务器
运维·服务器
Muisti4 小时前
TCP 通信流程图
服务器·网络·windows
巷子里的童年ya4 小时前
Ansible模块
linux·centos·ansible
阿正的梦工坊4 小时前
Linux 命令:按内存使用大小排序查看 PID 的完全指南
linux·运维·服务器
神秘的土鸡4 小时前
Centos搭建Tomcat服务器:我的实战经验分享(成功版本 详细!)
linux·开发语言·python·tomcat·web
IT小饕餮5 小时前
linux 基础网络配置文件
linux·服务器·网络