news 2026/5/10 17:15:40

Ubuntu和Centos中安装软件的命令

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu和Centos中安装软件的命令

Centos和Ubuntu虽然都是Linux系统,但它们的软件包管理工具不同,因此安装软件的命令也有所区别

核心区别如下:

  • Centos:使用yum或dnf命令,包格式为.rpm
  • Ubuntu:使用apt命令,包格式为.deb

包格式就是Linux系统中软件安装包的“文件类型”或“压缩包格式”,它决定了软件该如何打包、分发以及被系统识别和安装。

.exe是在Windows中,从“文件类型”上说它是可执行文件,它包含了能让CPU直接执行的机器码。任何.exe文件双击后“运行”是它的本质属性。从“功能”上说,.exe文件可以是一个游戏、一个文本编辑器,也可以是一个“安装引导程序”(我们常说的安装包)。Windows为了方便用户而做的一个设计选择:合并了“安装工具”和“运行程序”,运行一个.exe文件实现两种截然不同的逻辑(应用程序如notepad.ext、安装引导程序如setup.exe)

在Linux中,.rpm/.edb是软件包文件,本质上是一种压缩包(类似于.zip),里面包含了软件的文件和安装指令,它们不能被运行,只能被包管理工具(如rmp)去“解包”和“安装”

Linux 的设计哲学是“一个程序只做一件事,并做好它”。所以角色分工极其明确:

文件类型能不能直接“运行”?它的作用是什么?谁来处理它?
应用程序(如/usr/bin/vim)。双击或输入命令就能用。提供功能(编辑文字、浏览网页)。用户直接使用。
软件包(如vim.rpm)不能。双击会报错。提供“安装应用程序所需的材料”。包管理器(yum/apt) 负责处理。

简单总结:

  • .exe:是一个可执行程序的通用后缀。它既可以是一个“应用程序”(如notepad.exe),也可以是一个“安装引导程序”(如setup.exe)。

  • .rpm/.deb:是软件包的后缀。它们不是可执行程序,而是“安装材料包”。它们本身不能运行,必须由系统的包管理器来解包和安装。

1.yum

yum是CentOS7及更早版本中的核心包管理工具,它会自动处理软件依赖关系,让你从“手动找包、解决依赖”的繁琐工作中解放出来。

如果你是CentOS8或更高版本,yum命令只是一个指向dnf的连接,作为yum的下一代版本,dnf提供了更好的性能和依赖解析能力,虽然你仍可以输入yum,但实际指向的是dnf的功能

yum的语法格式:

yum [选项] [命令] [软件包名称...]

常用:

yum [-y] [install | remove | rearch] 软件名称
[root@master /]# wget -bash: /usr/bin/wget: No such file or directory
  • [root@master /]#:提示符,意思是root用户在名为master的服务器上,当前位于根目录(/)。

  • wget:你输入的命令,希望执行wget程序。

  • -bash: /usr/bin/wget: No such file or directoryBash解释器(命令行程序)的报错。它找遍了系统环境变量PATH中定义的所有目录(如/usr/bin),发现wget这个程序根本不存在。

[root@master /]# yum search wget Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile ======================================================================================= N/S matched: wget ======================================================================================== wget.x86_64 : A utility for retrieving files using the HTTP or FTP protocols Name and summary matches only, use "search all" for everything.
  • yum search wget:你使用yum在软件仓库中搜索包含wget关键词的软件包。

  • Loaded plugins: fastestmirroryum加载了一个插件,用于选择最快的镜像源,是正常信息。

  • Loading mirror speeds from cached hostfileyum正在读取缓存的镜像站速度信息。

  • N/S matched: wgetN/S代表Name/Summary (名称和简介都匹配)。yum找到了匹配的结果。

  • wget.x86_64:这是软件包的完整名称

    • wget:软件名。

    • x86_64:软件架构,适用于64位的Intel/AMD处理器。

  • : A utility for retrieving files using the HTTP or FTP protocols:软件包简介,“一个用于使用HTTP或FTP协议获取文件的工具”。

  • 最后一行:这是yum的一个提示:刚才只搜索了软件包的“名称”和“简介”。如果想搜索更详细的描述(如软件包的说明文档),可以使用yum search all wget

[root@master /]# yum install wget Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile c7-media | 3.6 kB 00:00:00 Resolving Dependencies --> Running transaction check ---> Package wget.x86_64 0:1.14-18.el7_6.1 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================================================================== Package Arch Version Repository Size ================================================================================================================================================================================================== Installing: wget x86_64 1.14-18.el7_6.1 c7-media 547 k Transaction Summary ================================================================================================================================================================================================== Install 1 Package Total download size: 547 k Installed size: 2.0 M Is this ok [y/d/N]:

yum询问Is this ok [y/d/N]:时,它提供了三种选项,分别代表了不同的确认行为。

核心回答

  • y(yes):确认执行。yum会按照计划开始下载和安装。

  • d(download only):仅下载。yum只会把软件包下载到本地缓存中(通常是/var/cache/yum/),不进行安装。下载完成后就退出。

  • N(No):取消操作。yum会放弃本次安装任务,不做任何更改,并返回到命令提示符。

注意提示符[y/d/N]中,N是大写的。这在 Linux 提示中是一个标准惯例:大写字母表示默认选项

  • 如果你直接按回车键 (Enter)而不输入任何字母,系统会默认选择N,即取消本次操作。

  • 这是为了安全考虑,防止你因误触回车键而执行了不想执行的操作。

CTRL C将运行过程停止(中断当前正在运行的命令,对系统没有影响,因为此时yum还没有开始下载和安装任何东西,它只是生成了一个“安装计划”并正在等待你的确认,CTRL C只是让它放弃这个计划),来看看-y选项的作用

yum -y install wget 的作用:告诉yum,自动对一切问题回到yes,静默地完成安装。

-y这个选项代表“yes”,会自动回答所有yum可能提出的交互式问题

[root@master /]# yum -y install wget Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Resolving Dependencies --> Running transaction check ---> Package wget.x86_64 0:1.14-18.el7_6.1 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================================================================== Package Arch Version Repository Size ================================================================================================================================================================================================== Installing: wget x86_64 1.14-18.el7_6.1 c7-media 547 k Transaction Summary ================================================================================================================================================================================================== Install 1 Package Total download size: 547 k Installed size: 2.0 M Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : wget-1.14-18.el7_6.1.x86_64 1/1 Verifying : wget-1.14-18.el7_6.1.x86_64 1/1 Installed: wget.x86_64 0:1.14-18.el7_6.1 Complete! [root@master /]# wget wget: missing URL Usage: wget [OPTION]... [URL]... Try `wget --help' for more options. [root@master /]# which wget /usr/bin/wget

📋yum命令速查表

这是yum最常用、最核心的命令,可以保存下来随时查阅:

功能类别命令示例 (yum开头)说明
更新软件源sudo yum update推荐首先执行,刷新仓库信息,并将已安装的软件包升级到最新版。
安装软件sudo yum install <软件名>最常用的安装方式,会自动解决依赖。
sudo yum install -y <软件名>-y参数跳过“确认”步骤,直接安装。
sudo yum localinstall <本地包.rpm>安装从网上下载的.rpm文件,并用网络仓库解决其依赖。
搜索查询yum search <关键词>在软件名称、描述中搜索关键词。
yum info <软件名>显示软件的详细信息,如版本、大小、简介等。
yum list installed列出系统上所有已安装的软件包。
yum provides <文件路径/命令>反向查找,当你知道某个文件或命令但不知道包名时使用。
卸载软件sudo yum remove <软件名>卸载软件,但依赖项会保留。
sudo yum autoremove清理在remove后变得不再需要的“孤儿”依赖包。
维护与清理sudo yum clean all常用,清除所有已下载的软件包和元数据缓存,能解决很多奇怪的安装问题,并释放磁盘空间。
yum history查看yum所有操作的记录,可用于回滚。
包组管理yum group list列出可用的软件包组(如 “Development Tools”)。
sudo yum group install "<组名>"安装整个包组。

2.apt

apt命令是 Ubuntu 和 Debian 系统中的核心包管理工具,相当于 CentOS 中的yum

会自动处理软件的依赖关系,让你能轻松地安装、更新和卸载软件。

📋apt命令速查表

这是apt最常用、最核心的命令,可以保存下来随时查阅:

功能类别命令示例 (sudo apt开头)说明
更新软件源sudo apt update极度重要,每次安装前建议先执行。从互联网仓库刷新软件包列表,让系统知道有哪些软件可以安装或更新。
升级已装软件sudo apt upgrade将系统中所有已安装的软件升级到最新版本。
sudo apt full-upgrade更智能的升级,如果升级某个包需要删除其他冲突的包,它会自动处理。
安装软件sudo apt install <软件名>最常用的安装方式,会自动解决依赖。
sudo apt install -y <软件名>-y参数跳过“确认”步骤,直接安装。
sudo apt install ./<本地包.deb>安装从网上下载的.deb文件,并用网络仓库解决其依赖。
搜索查询apt search <关键词>在软件名称和描述中搜索关键词。
apt show <软件名>显示软件的详细信息,如版本、大小、依赖、简介等。
apt list --installed列出系统上所有已安装的软件包。
apt list --upgradable列出所有可以升级的软件包。
卸载软件sudo apt remove <软件名>卸载软件,但会保留配置文件。
sudo apt purge <软件名>彻底卸载,连配置文件一起删除。
sudo apt autoremove常用,自动清理那些因依赖关系被安装、但现在不再被任何软件需要的孤立的包。

3.yum与wget的区别

它们的核心区别是:wget是“下载工具”,而yum是“包管理工具”

打个比方:

  • wget就像你浏览器里的“另存为...”功能。它只管把网上的文件(比如一个网页、一张图片、一个软件包)下载到你的电脑硬盘里,之后的事它就不管了。

  • yum则像一个“智能应用商店”。你告诉它要装什么软件,它会自动去网上的仓库把软件包和相关依赖都下载下来,然后自动帮你安装好,甚至以后还能帮你更新和卸载。

下面我们来详细拆解一下。

核心区别对比表

特性wgetyum
本质一个非交互式网络下载器一个包管理工具
主要功能从 HTTP、HTTPS、FTP 协议下载文件自动安装、升级、卸载软件,并处理依赖关系
处理依赖不会。只下载你指定的那个文件。自动下载并安装所有依赖
安装软件不会。下载完后,你需要手动安装 (如rpm -ivh)。下载后自动安装
软件来源需要你提供精确的URL 地址连接到配置好的软件仓库(repository)
常用场景下载网页、图片、压缩包、源码、公共数据集安装、更新或卸载系统软件,如nginx,python3,vim

什么时候用哪个?

  • yum的场景 (90% 的情况)

    • 你想安装、更新或卸载一个标准的系统软件。

    • 你希望软件能被系统统一管理,方便后续维护。

    • 这是 CentOS 上安装软件的首选和标准方式

  • wget的场景 (特殊需求)

    • 你想下载一个yum仓库里没有的第三方.rpm包,然后手动用rpm安装。

    • 你想下载一个软件的源码压缩包 (.tar.gz),准备手动编译安装 (执行./configure && make && make install)。

    • 你想从网上备份一个网页或文件:wget https://www.example.com/index.html

    • 你需要下载一个很大的文件,并且希望支持断点续传 (wget -c)。

    • 在写 Shell 脚本时,需要从某个 URL 获取内容或文件。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/10 17:15:27

使用Taotoken为你的Nodejs后端项目集成大模型能力

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 使用Taotoken为你的Nodejs后端项目集成大模型能力 1. 场景与需求 许多全栈开发者在构建Web应用或服务后端时&#xff0c;希望引入…

作者头像 李华
网站建设 2026/5/10 17:12:49

ComfyUI-Manager高效管理指南:专业节点管理实战

ComfyUI-Manager高效管理指南&#xff1a;专业节点管理实战 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various custom node…

作者头像 李华
网站建设 2026/5/10 17:10:08

如何永久保存微信聊天记录?WeChatMsg本地化解决方案完整指南

如何永久保存微信聊天记录&#xff1f;WeChatMsg本地化解决方案完整指南 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we…

作者头像 李华