dpkg、apt、rpm、yum、dnf使用

2023-11-29 12:36
文章标签 使用 yum apt rpm dnf dpkg

本文主要是介绍dpkg、apt、rpm、yum、dnf使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. yum参数以及使用

yum 命令是在 Fedora 和 RedHat 以及 SUSE 中基于 rpm 的软件包管理器,它可以使系统管理人员交互和自动化地更新与管理 RPM 软件包,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

# yum(选项)(参数)
$ yum --help
Loaded plugins: fastestmirror, langpacks
Usage: yum [options] COMMAND# 选项
-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(0-10);
-e:设置错误等级(0-10);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。# 参数
install:安装rpm软件包;
update:更新rpm软件包;
check-update:检查是否有可用的更新rpm软件包;
remove:删除指定的rpm软件包;
list:显示软件包的信息;
search:检查软件包的信息;
info:显示指定的rpm软件包的描述信息和概要信息;
clean:清理yum过期的缓存;
shell:进入yum的shell提示符;
resolvedep:显示rpm软件包的依赖关系;
localinstall:安装本地的rpm软件包;
localupdate:显示本地rpm软件包进行更新;
deplist:显示rpm软件包的所有依赖关系。使用例子
# 安装
$ yum install             # 全部安装
$ yum install package1    # 安装指定的安装包package1
$ yum groupinsall group1  # 安装程序组group1# 更新和升级
$ yum update              # 全部更新
$ yum update package1     # 更新指定程序包package1
$ yum check-update        # 检查可更新的程序
$ yum upgrade package1    # 升级指定程序包package1
$ yum groupupdate group1  # 升级程序组group1# 查找显示
$ yum list installed | grep mysql
$ yum list installed mysql*
$ yum info package1     # 显示安装包信息package1
$ yum list              # 显示所有已经安装和可以安装的程序包
$ yum list package1     # 显示指定程序包安装情况package1
$ yum groupinfo group1  # 显示程序组group1信息# 删除程序
$ yum remove/erase package1  # 删除程序包package1
$ yum groupremove group1     # 删除程序组group1
$ yum deplist package1       # 查看程序package1依赖情况# 清除缓存
$ yum clean packages    # 清除缓存目录下的软件包
$ yum clean headers     # 清除缓存目录下的 headers
$ yum clean oldheaders  # 清除缓存目录下旧的 headers

2. rpm参数以及使用

rpm 命令是 RPM 软件包的管理工具。rpm 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。

# rpm(选项)(参数)
$ rpm --help
Usage: rpm [OPTION...]# 选项
-a:查询所有套件
-c:只列出组态配置文件,本参数需配合"-l"参数使用
-d:只列出文本文件,本参数需配合"-l"参数使用
-e<套件档>或--erase<套件档>:删除指定的套件
-f<文件>+:查询拥有指定文件的套件
-h或--hash:套件安装时列出标记
-i:显示套件的相关信息
-i<套件档>或--install<套件档>:安装指定的套件档
-l:显示套件的文件列表
-p<套件档>+:查询指定的RPM套件档
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户
-R:显示套件的关联性信息
-s:显示文件状态,本参数需配合"-l"参数使用
-U<套件档>或--upgrade<套件档>:升级指定的套件档
-v:显示指令执行过程
-vv:详细显示指令执行过程,便于排错# 参数
软件包:指定要操纵的rpm软件包使用例子# 安装
$ rpm -ivh your-package.rpm# 强制安装
$ rpm --force -ivh your-package.rpm# 卸载
$ rpm -e proftpd-1.2.8# 列出所有安装过的包
$ rpm -qa
$ rpm -qa | grep sql# rpm包中的文件安装到那里
$ rpm -ql ***.rpm
# 一个没有安装过的软件包
$ rpm -qlp ***.rpm
# 一个已经安装过的软件包
$ rpm -ql ***.rpm# 某个程序是哪个软件包安装
$ rpm -qf `which 程序名`   # 返回软件包的全名
$ rpm -qif `which 程序名`  # 返回软件包的有关信息
$ rpm -qlf `which 程序名`  # 返回软件包的文件列表

3. apt参数以及使用

apt-get 命令是 Debian Linux 发行版中的 APT 软件包管理工具。所有基于 Debian 的发行都使用这个包管理系统。deb 包可以把一个应用的文件包在一起,大体就如同 Windows 上的安装文件。

# apt-get(选项)(参数)
$ apt --help
Usage: apt [options] command# 选项
-c:指定配置文件# 参数
管理指令:对APT软件包的管理操作
软件包:指定要操纵的软件包使用例子# 更新所有已安装的软件包
$ apt-get upgrade# 将系统升级到新版本
$ apt-get dist-upgrade# 更新
$ apt-get update# 安装一个新软件包
$ apt-get install packagename# 卸载一个已安装的软件包(保留配置文件)
$ apt-get remove packagename# 卸载一个已安装的软件包(删除配置文件)
$ apt-get –purge remove packagename# 来删除你已经删掉的软件
$ apt-get autoclean apt# 会把安装的软件的备份也删除
$ apt-get clean# 列出已安装软件包
$ sudo apt list --installed
$ sudo apt list --installed | less
$ sudo apt list --installed | grep tmux

4. dpkg参数及使用

dpkg 命令是 Debian Linux 系统用来安装、创建和管理软件包的实用工具。

# dpkg(选项)(参数)
$ dpkg --help
Usage: dpkg [<option> ...] <command># 选项
-i:安装软件包
-r:删除软件包
-P:删除软件包的同时删除其配置文件
-L:显示于软件包关联的文件
-l:显示已安装软件包列表
--unpack:解开软件包
-c:显示软件包内文件列表
--confiugre:配置软件包# 参数
Deb软件包:指定要操作的.deb软件包使用例子# 安装包
$ dpkg -i package.deb# 删除包
$ dpkg -r package# 删除包(包括配置文件)
$ dpkg -P package# 列出与该包关联的文件
$ dpkg -L package# 显示该包的版本
$ dpkg -l package# 解开deb包的内容
$ dpkg --unpack package.deb# 搜索所属的包内容
$ dpkg -S keyword# 列出当前已安装的包
$ dpkg -l# 列出deb包的内容
$ dpkg -c package.deb# 配置包
$ dpkg --configure package# 列出已安装软件包
$ sudo dpkg-query -l
$ sudo dpkg-query -l | less
$ sudo dpkg-query -l | grep tmux

5. dnf参数及使用

DNF 使用 libsolv 进行依赖解析,由 SUSE 开发和维护,旨在提高性能。YUM主要是用 Python 编写的,它有自己的应对依赖解析的方法。它的 API 没有完整的文档,它的扩展系统只允许 Python 插件。Yum 是 RPM 的前端工具,它管理依赖关系和资源库,然后使用 RPM 来安装、下载和删除包。

# 依赖
$ yum install -y epel-release# 安装
$ yum install -y dnf# 检查
$ dnf –version使用例子
# 安装软件包
$ dnf install nano# 升级软件包
$ dnf update systemd# 升级所有系统软件包
$ dnf update
$ dnf upgrade# 检查系统软件包的更新
$ dnf check-update# 删除软件包
$ dnf remove nano
$ dnf erase nano# 删除无用孤立的软件包
$ dnf autoremove# 删除缓存的无用软件包
$ dnf clean all# 查看系统中可用的DNF软件库
$ dnf repolist# 查看系统中可用和不可用的所有的DNF软件库
$ dnf repolist all# 列出所有RPM包
$ dnf list# 列出所有安装了的RPM包
$ dnf list installed# 列出所有可供安装的RPM包
$ dnf list available# 搜索软件库中的RPM包
$ dnf search nano# 查找某一文件的提供者
$ dnf provides /bin/bash# 查看软件包详情
$ dnf info nano# 查看所有的软件包组
$ dnf grouplist# 安装一个软件包组
$ dnf groupinstall 'Educational Software'# 升级一个软件包组中的软件包
$ dnf groupupdate 'Educational Software'# 删除一个软件包组
$ dnf groupremove 'Educational Software'# 重新安装特定软件包
$ dnf reinstall nano# 回滚某个特定软件的版本
$ dnf downgrade acpid# 查看DNF命令的执行历史
$ dnf history# 查看所有的DNF命令及其用途
$ dnf help# 获取有关某条命令的使用帮助
$ dnf help clean

这篇关于dpkg、apt、rpm、yum、dnf使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

prometheus如何使用pushgateway监控网路丢包

《prometheus如何使用pushgateway监控网路丢包》:本文主要介绍prometheus如何使用pushgateway监控网路丢包问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录监控网路丢包脚本数据图表总结监控网路丢包脚本[root@gtcq-gt-monitor-prome

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

SpringBoot中如何使用Assert进行断言校验

《SpringBoot中如何使用Assert进行断言校验》Java提供了内置的assert机制,而Spring框架也提供了更强大的Assert工具类来帮助开发者进行参数校验和状态检查,下... 目录前言一、Java 原生assert简介1.1 使用方式1.2 示例代码1.3 优缺点分析二、Spring Fr

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected

C++ Log4cpp跨平台日志库的使用小结

《C++Log4cpp跨平台日志库的使用小结》Log4cpp是c++类库,本文详细介绍了C++日志库log4cpp的使用方法,及设置日志输出格式和优先级,具有一定的参考价值,感兴趣的可以了解一下... 目录一、介绍1. log4cpp的日志方式2.设置日志输出的格式3. 设置日志的输出优先级二、Window

Ubuntu如何分配​​未使用的空间

《Ubuntu如何分配​​未使用的空间》Ubuntu磁盘空间不足,实际未分配空间8.2G因LVM卷组名称格式差异(双破折号误写)导致无法扩展,确认正确卷组名后,使用lvextend和resize2fs... 目录1:原因2:操作3:报错5:解决问题:确认卷组名称​6:再次操作7:验证扩展是否成功8:问题已解