当前位置: 首页 > news >正文

【Linux系统编程】软件包管理器

【Linux系统编程】软件包管理器

  • 1. 什么是软件包
  • 2. Linux软件生态
  • 3. yum和apt具体详解
    • 3.1 查看软件包
    • 3.2 安装软件
    • 3.3 卸载软件
  • 4. 安装一些好玩的命令
  • 5. 安装源(软件源)配置

1. 什么是软件包

在 Linux 的早期,安装软件通常意味着需要手动下载程序的源代码,并进行配置、编译和安装。这个过程繁琐且容易出错,尤其对新手来说门槛很高。

为了解决这个问题,​​软件包​​ 的概念应运而生。发行版的维护者或软件开发者会将软件提前编译好,并与其元信息(如版本、描述、依赖关系等)一起打包成一个文件。这类似于 Windows 系统中的 .exe安装程序或 macOS 中的 .dmg文件。

软件包管理器​​ 就是用于操作这些软件包的工具。它的核心职责包括:

  • 安装​​:从指定的服务器获取软件包并安装到系统中。
  • 卸载​​:清理已安装软件包的文件。
  • 更新​​:将已安装的软件升级到最新版本。
  • 解决依赖关系​​:自动处理软件运行所必需的其他库或软件,这是包管理器最核心的功能之一。

软件包和软件包管理器的关系,可以通俗地理解为智能手机上的 ​​“App”​​ 和 ​​“应用商店”​​ 的关系。

主流的 Linux 发行版使用不同的包管理器:

  • CentOS / Red Hat / Fedora​​ 等系列主要使用 ​​yum​​(Yellow dog Updater, Modified)。在新版本中,dnf是其下一代替代工具,但命令用法与 yum基本一致。
  • Ubuntu / Debian​​ 等系列主要使用 ​​apt​​(Advanced Package Tool)。

2. Linux软件生态

Linux 的软件获取流程可以概括为下面4个过程:
1.用户​​ 向本地的​​包管理器​​(如 yum或 apt)发出指令(例如,安装一个软件)。
2.包管理器​​ 根据系统中配置的​​软件源​​(即软件包服务器)地址,向服务器发送请求。
3.软件包服务器​​ 上存储着大量编译好的软件包。服务器响应请求,将所需的软件包及其依赖包一并返回。
4.包管理器​​ 在本地下载并完成安装和配置。

这个生态系统的健康运行,离不开强大的社区支持,包括官方文档、论坛、邮件列表等,它们共同确保了软件源的丰富性和可靠性。

3. yum和apt具体详解

以下操作示例将同时对比 CentOS(使用 yum)和 Ubuntu(使用 apt)两种系统。

3.1 查看软件包

在安装软件之前,我们通常需要先确认软件仓库中是否有我们需要的软件包。

# Centos
# 列出所有可用的软件包,并用 grep 进行过滤
sudo yum list | grep lrzsz

结果:
在这里插入图片描述

# Ubuntu
# 在软件仓库中搜索软件包
sudo apt search lrzsz
sudo apt list | grep lrzsz

3.2 安装软件

确认软件包存在后,即可进行安装。包管理器会自动解决依赖问题。

# Centos
sudo yum install -y lrzsz
# Ubuntu
sudo apt install -y lrzsz

参数 -y表示在确认提示时自动选择 “yes”,使安装过程无需中断。
出现"complete"字样或者中间未出现报错,说明安装完成。

注意事项:​​

  • ​​权限要求​​:安装软件需要向系统目录写入文件,因此必须使用 sudo或切换到 root用户。
    ​​- 独占性​​:yum或 apt在安装一个软件的过程中,无法同时安装另一个软件,必须等待当前操作完成。
  • ​​错误处理​​:如果安装过程报错(如网络问题、依赖冲突),请仔细阅读错误信息,并善用搜索引擎(如百度)查找解决方案。

3.3 卸载软件

# Centos
sudo yum remove -y lrzsz
# Ubuntu
sudo apt remove-y lrzsz

注意事项:
所有 yum或 apt操作的前提是主机(虚拟机)网络畅通!

操作前,可以通过以下命令验证网络连接:

ping www.baidu.con

在这里插入图片描述

虽然也存在离线安装的方式,但日常使用中均依赖于网络从软件源服务器获取数据。

4. 安装一些好玩的命令

火车动画

# Centos
sudo yum install sl
# Ubuntu
sudo apt-get install sl

请添加图片描述

这样好玩的命令还有很多,想玩的话可以看https://blog.csdn.net/xiaoxiaosutang/article/details/141053674

5. 安装源(软件源)配置

软件源服务器列表的配置文件存放在系统的特定目录下。

# Centos
# 软件源配置文件位于 /etc/yum.repos.d/目录下,通常以 .repo结尾。
ls /etc/yum.repos.d/

常见的文件包括:

  • CentOS-Base.repo:官方​​标准源​​,提供了系统核心软件。
  • epel.repo:​​扩展源​​(Extra Packages for Enterprise Linux),提供了大量额外软件。可以通过以下命令安装:
sudo yum install -y epel-release

在这里插入图片描述

# Ubuntu
# 软件源列表文件是 /etc/apt/sources.list
# 额外的源配置在 /etc/apt/sources.list.d/目录下。
cat /etc/apt/sources.list
ls /etc/apt/sources.list.d/

更新软件源​​:当软件源地址发生变化或需要获取最新的软件列表时,需要更新本地缓存。

# Centos
sudo yum makecache
# Ubuntu
sudo apt update

对于国内的云服务器或虚拟机,建议配置国内的镜像源(如清华源、阿里云源)以显著提升下载速度。

http://www.dtcms.com/a/519759.html

相关文章:

  • 怎么快速定位bug?如何编写测试用例?
  • NetIP,一款开源的快速网络信息查看工具
  • 有限元方法核心原理与学习路径:从一维基础到多维拓展(七步流程)
  • TCP(滑动窗口/拥塞窗口补充)
  • nginx前端部署与Vite环境变量配置指南
  • webrtc getStats 内部调用流程分析
  • 通过 Stdio(标准输入/输出)传输机制,实现 CrewAI 与本地 MCP 服务器的连接
  • 英文版网站建设方案手机app免费制作
  • 通过API网关部署FC函数
  • 单例模式精写
  • SQL sever数据库--第三次作业
  • XLM-R模型:大规模跨语言表示的突破与实践
  • GitLab 多安全漏洞可致攻击者触发拒绝服务状态
  • JAVA基础篇:分支结构——让程序学会“做选择”
  • SpringDataRedis 快速入门总结
  • 安徽省建设厅网站资料下载建了qq群 如何快速推广
  • 重庆做木门网站公司龙城区建设局网站
  • 手机网站支持微信支付做网站需要什么资料
  • P4766 [CERC2014] Outer space invaders 题解
  • CS5005:400mA,低噪声,电荷泵DC/DC转换电路
  • Spring 容器刷新流程(refresh)源码全解
  • 类型转换汇总 之C#
  • Python列表操作、条件判断、循环、函数定义
  • ps怎么在dw上做网站广州番禺发布网
  • UltraScale/+ FPGA实现万兆网的两种方式:GT核、10G Ethernet Subsystem核
  • 元宇宙重构社交生态:从平面互动到沉浸式情感连接
  • SaaS模式重构工业软件竞争规则,助力中小企业快速实现数字化转型
  • 利用AI大模型重构陈旧代码库 (Refactoring Legacy Codebase with AI)
  • 数字孪生技术 重构 智能仓储新生态
  • 从上下文工程到组织知识管理重构——HRBP在人机协同时代的新使命