怎样在Linux中安装软件包?apt、yum和dnf包管理器使用大全

发布时间 - 2025-06-25 00:00:00    点击率:

linux系统中安装软件包依赖于发行版对应的包管理器。常见的有debian系使用apt,red hat系旧版本使用yum,新版本使用dnf。1. apt用于ubuntu、debian等系统,常用命令包括sudo apt update更新源,sudo apt install安装软件,sudo apt remove卸载软件,apt search搜索软件包;2. yum适用于centos 7及以前版本,基本操作如sudo yum install安装,sudo yum remove卸载,sudo yum clean清理缓存;3. dnf是现代red hat系系统的首选,支持更快的依赖解析和模块化版本切换,常用命令包括sudo dnf makecache同步源,sudo dnf install安装,sudo dnf upgrade升级,dnf history查看操作记录。选择合适的工具可提升软件管理效率。

在Linux系统中安装软件包,主要依赖于你所使用的发行版对应的包管理器。常见的有基于Debian的系统使用的apt,Red Hat系的yum和较新的dnf。了解它们的基本用法可以让你更高效地完成日常软件安装、更新与卸载操作。


apt:适用于Ubuntu、Debian等系统

apt(Advanced Package Tool)是Debian及其衍生系统(如Ubuntu)中最常用的包管理工具。它支持自动解决依赖关系,并提供方便的命令行接口。

常用操作如下:

  • 更新软件源列表
    在安装或升级前,通常需要先执行:

    sudo apt update
  • 安装软件包
    安装一个软件包非常简单,比如安装vim

    sudo apt install vim
  • 删除软件包 如果只是想卸载某个软件但保留其配置文件,可以使用:

    sudo apt remove vim

    想要彻底删除包括配置文件,则加上--purge参数。

  • 搜索软件包 比如查找所有包含“nginx”的软件包:

    apt search nginx

需要注意的是,apt会自动处理依赖关系,但有时可能会遇到冲突或版本问题,这时候可以尝试用aptitude替代。


yum:适用于CentOS 7及以前版本

yum(Yellowdog Updater Modified)曾是Red Hat系Linux中的主流包管理器,尤其在CentOS 7及更早版本中广泛使用。

基础命令如下:

  • 清理缓存并刷新仓库信息

    sudo yum clean all
    sudo yum makecache
  • 安装软件 例如安装httpd服务:

    sudo yum install httpd
  • 卸载软件

    sudo yum remove httpd
  • 查看可用仓库 可以通过以下命令列出当前启用的仓库:

    yum repolist

虽然yum功能强大,但在处理复杂依赖时效率略低。因此,在新版本的RHEL/CentOS中推荐使用dnf


dnf:现代Red Hat系系统的首选

dnfyum的下一代替代品,具有更快的速度和更强的依赖解析能力,适用于Fedora、RHEL 8+以及CentOS Stream等系统。

一些典型用法包括:

  • 同步软件源

    sudo dnf makecache
  • 安装软件包 安装curl示例:

    sudo dnf install curl
  • 升级所有已安装的软件包

    sudo dnf upgrade
  • 移除软件

    sudo dnf remove curl
  • 查看历史记录dnf还支持查看操作日志,便于回滚或排查问题:

    dnf history

值得一提的是,dnf默认启用了模块化支持,允许用户在同一台机器上切换不同版本的应用程序流(stream),这对开发环境特别有用。


总的来说,选择哪个包管理器取决于你的Linux发行版。如果你使用的是Debian/Ubuntu系列,就用apt;如果是RHEL系的老版本,可以用yum;而新版本则建议使用更高效的dnf。掌握这些基本命令后,软件安装与维护就会变得轻松许多了。基本上就这些,不复杂但容易忽略细节的地方还是得多注意下。


# linux  # centos  # nginx  # 工具  # red  # cURL  # 接口  # history  # vim  # ubuntu  # debian  # 软件包  # 的是  # 适用于  # 管理器  # 更快  # 发行版  # 新源  # 新版本  # 配置文件  # 就会 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 轻松掌握MySQL函数中的last_insert_id()  想要更高端的建设网站,这些原则一定要坚持!  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  网站优化排名时,需要考虑哪些问题呢?  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  如何构建满足综合性能需求的优质建站方案?  在Oracle关闭情况下如何修改spfile的参数  Laravel如何使用查询构建器?(Query Builder高级用法)  如何在云服务器上快速搭建个人网站?  如何在阿里云域名上完成建站全流程?  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  如何在阿里云通过域名搭建网站?  Laravel怎么实现模型属性的自动加密  微信小程序 闭包写法详细介绍  javascript基于原型链的继承及call和apply函数用法分析  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  Laravel怎么上传文件_Laravel图片上传及存储配置  中国移动官方网站首页入口 中国移动官网网页登录  Laravel如何自定义分页视图?(Pagination示例)  php打包exe后无法访问网络共享_共享权限设置方法【教程】  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  海南网站制作公司有哪些,海口网是哪家的?  JavaScript如何实现路由_前端路由原理是什么  JavaScript如何实现继承_有哪些常用方法  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  Laravel中的Facade(门面)到底是什么原理  免费视频制作网站,更新又快又好的免费电影网站?  JavaScript Ajax实现异步通信  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  node.js报错:Cannot find module 'ejs'的解决办法  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  桂林网站制作公司有哪些,桂林马拉松怎么报名?  Laravel如何创建自定义Artisan命令?(代码示例)  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  南京网站制作费用,南京远驱官方网站?  如何破解联通资金短缺导致的基站建设难题?  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  如何在万网利用已有域名快速建站?  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  如何用y主机助手快速搭建网站?  如何快速搭建支持数据库操作的智能建站平台?  PHP正则匹配日期和时间(时间戳转换)的实例代码  Android自定义控件实现温度旋转按钮效果  详解vue.js组件化开发实践  使用豆包 AI 辅助进行简单网页 HTML 结构设计  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?