目录
一、前言
二、软件包管理器
1.什么是软件包
2.Linux软件生态
1.Linux下载软件的过程(Ubuntu、Centos、other)
2.Linux软件包生态问题
1. 操作系统自身(内核与基础架构)
2. 软件体系(应用生态)
3. 官网文档(开发与使用指南)
4. 社区论坛(用户互助与氛围)
5. 维护更新速度(生命周期与信任度)
6. 富有针对性的客户群体(市场定位)
3.yum/apt的具体操作
1.搜索软件包
2.安装软件包
3.卸载软件包
4.软件依赖问题
编辑
4.安装源
提问:在使用yum/apt安装软件时,它们是怎样找到目标软件包的具体位置的?
三、小结
一、前言
以下是⼀些国内Linux软件安装源的官⽅链接[由⽂⼼⼀⾔⽣成]:1.阿⾥云官⽅镜像站官⽅链接:https://developer.aliyun.com/mirror/阿⾥云提供了丰富的Linux发⾏版镜像,包括CentOS、Ubuntu、Debian等,⽤⼾可以通过该镜像站快速下载和更新软件包。2.清华⼤学开源软件镜像站官⽅链接:https://mirrors.tuna.tsinghua.edu.cn/清华⼤学镜像站提供了多种Linux发⾏版的镜像,以及Python、Perl、Ruby等编程语⾔的扩展包。该镜像站还提供了丰富的⽂档和教程,帮助⽤⼾更好地使⽤这些软件包。3.中国科学技术⼤学开源镜像站官⽅链接:http://mirrors.ustc.edu.cn/中科⼤镜像站提供了多种Linux发⾏版的镜像,以及常⽤的编程语⾔和开发⼯具。⽤⼾可以通过该镜像站⽅便地获取所需的软件包和⼯具。4.北京交通⼤学⾃由与开源软件镜像站官⽅链接:https://mirror.bjtu.edu.cn/北交⼤镜像站提供了多种Linux发⾏版的镜像,以及相关的软件仓库和⼯具。该镜像站还提供了详细的⽂档和指南,帮助⽤⼾配置和使⽤这些软件源。5.中国科学院软件研究所镜像站(ISCAS)官⽅链接:http://mirror.iscas.ac.cn/ISCAS镜像站提供了多种Linux发⾏版、编程语⾔和开发⼯具的镜像。⽤⼾可以通过该镜像站快速获取所需的软件包和更新。6.上海交通⼤学开源镜像站官⽅链接:https://ftp.sjtu.edu.cn/上海交⼤镜像站提供了丰富的Linux软件资源,包括多种发⾏版的镜像和软件仓库。⽤⼾可以通过该镜像站⽅便地下载和安装所需的软件包。7.⽹易开源镜像站官⽅链接:http://mirrors.163.com/⽹易镜像站提供了多种Linux发⾏版的镜像,以及相关的软件仓库和⼯具。该镜像站还提供了便捷的搜索功能,帮助⽤⼾快速找到所需的软件包。此外,还有⼀些其他的国内镜像源,如搜狐开源镜像站等,但可能由于时间变化或政策调整,部分镜像站的链接或状态可能有所变动。因此,建议⽤⼾在使⽤前访问官⽅⽹站或咨询相关社区以获取最新的信息和帮助。
二、软件包管理器
1.什么是软件包
2.Linux软件生态
1.Linux下载软件的过程(Ubuntu、Centos、other)
2.Linux软件包生态问题
评判一个操作系统的好坏,核心是看这个操作系统的生态是否完整。
操作系统生态包含哪些部分?
1. 操作系统自身(内核与基础架构)
这是生态的基石。
核心内容:内核的稳定性、性能、安全性、硬件兼容性(驱动支持)、资源调度能力等。
说明:操作系统本身如果不稳定、漏洞百出或对硬件支持极差,整个生态就无从谈起。它是支撑起上层建筑的地基。例如,Windows的易用性、macOS的软硬结合、Linux的开源与高度可定制,构成了各自生态的底色。
2. 软件体系(应用生态)
这是决定用户是否愿意使用该操作系统的核心驱动力。
核心内容:办公软件、游戏、开发工具、行业专业软件等。
说明:用户买电脑/服务器不是为了用操作系统本身,而是为了用上面的软件。著名的例子是微软的Windows Phone,它失败的核心原因就是软件体系贫瘠(缺少主流App),导致用户流失。反之,Windows和Android之所以强大,正是因为它们拥有海量的软件支持。
3. 官网文档(开发与使用指南)
这是连接系统与开发者的桥梁。
核心内容:API文档、系统架构说明、最佳实践教程、故障排查手册等。
说明:高质量的官方文档可以极大降低开发者的学习门槛,吸引更多人基于该系统开发软件,从而反哺“软件体系”。例如,Apple和微软的开发者文档极其详尽,这保证了第三方开发者的开发效率。
4. 社区论坛(用户互助与氛围)
这是生态的活水与黏合剂。
核心内容:开发者问答、用户经验分享、开源社区、Bug反馈、技术讨论等。
说明:官网文档通常是冰冷和官方的,而社区(如Stack Overflow、Reddit、国内的各种开发者社区)提供的是实战经验的交流。一个活跃的社区能快速解决问题,甚至反向推动系统迭代。Linux生态的繁荣,很大程度上得益于其极其庞大和活跃的开源社区(如Arch Wiki)。
5. 维护更新速度(生命周期与信任度)
这是用户和开发者安全感的来源。
核心内容:系统补丁发布频率、漏洞修复速度、大版本迭代节奏、长期支持(LTS)策略等。
说明:没有绝对安全的系统,只有不断修补的系统。如果更新太慢,会被黑客攻击和抛弃;更新太快,则可能导致系统不稳定,或者让开发者疲于适配。如何平衡“快速迭代”与“稳定可靠”,是操作系统维护的核心课题。
6. 富有针对性的客户群体(市场定位)
这是生态的指路明灯。
核心内容:定位目标用户(如服务器运维、游戏玩家、设计师、办公白领、嵌入式设备等)。
说明:没有任何一个操作系统能满足所有人。Windows主打大众办公与游戏,macOS主打创意设计与开发者,Linux主打服务器与极客,鸿蒙(HarmonyOS)主打万物互联。精准的客户群体定位,决定了系统该优先发展什么软件、提供什么样的文档、以及如何制定更新策略。
3.yum/apt的具体操作
1.搜索软件包
Centos:yum list | grep 包Ubuntu:apt search 包
# Centos $ yum list | grep lrzsz lrzsz.x86_64 0.12.20-36.el7 @base # Ubuntu $ apt search lrzsz Sorting... Done Full Text Search... Done cutecom/focal 0.30.3-1build1 amd64 Graphical serial terminal, like minicom lrzsz/focal,now 0.12.21-10 amd64 [installed] Tools for zmodem/xmodem/ymodem file transfer $ apt show lrzsz Package: lrzsz Version: 0.12.21-10 Priority: optional Section: universe/comm Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Martin A. Godisch <godisch@debian.org> ...注意事项:软件包名称: 主版本号.次版本号.源程序发⾏号-软件包的发⾏号.主机平台.cpu架构。"x86_64" 后缀表⽰64位系统的安装包, "i686" 后缀表⽰32位系统安装包. 选择包时要和系统匹配。"el7" 表⽰操作系统发⾏版的版本. "el7" 表⽰的是 centos7/redhat7. "el6" 表⽰ centos6/redhat6。最后⼀列, base 表⽰的是 "软件源" 的名称, 类似于 "⼩⽶应⽤商店", "华为应⽤商店" 这样的概念。Ubuntu 有上述有详细介绍。
2.安装软件包
# Centos$ sudo yum install -y 包# Ubuntu$ sudo apt install -y 包
3.卸载软件包
# Centos1sudo yum remove [-y] 包# Ubuntusudo apt remove [-y] 包
4.软件依赖问题
什么是软件依赖?
一个程序很少是完全自包含的。它通常会:
调用系统提供的动态链接库(Linux 下
.so,Windows 下.dll)依赖某个运行环境(如 Python、Java、.NET)
依赖其他第三方库(如 OpenSSL、zlib、Qt)
甚至依赖特定版本的编译器运行时
比如你在 Linux 上装一个
nginx,它可能依赖libpcre、zlib、openssl等。如果这些库没装或版本不对,nginx就启动不了。
包管理器yum、apt会自动下载并安装所有依赖,还会处理版本冲突。
4.安装源
提问:在使用yum/apt安装软件时,它们是怎样找到目标软件包的具体位置的?
引出->配置文件:
安装软件前,系统里已经配置好了软件仓库(repo)。这些配置写在:
yum:
/etc/yum.repos.d/下的.repo文件(稳定软件源和拓展软件源)apt:
/etc/apt/sources.list和/etc/apt/sources.list.d/下的文件
注意:拓展软件源默认没有安装,需要大家手动安装。
三、小结
到这里,关于Linux软件安装与包管理器的内容就告一段落啦!回顾一下,我们从国内常用的镜像源讲起,解决了“下载慢”的痛点;接着弄懂了软件包和包管理器的关系——yum和apt就像是Linux世界的“应用商店”,帮我们自动解决依赖、下载和安装。
更重要的是,我们深入探讨了操作系统生态的六大核心部分,明白了评判一个系统的好坏,绝不仅仅是看内核,更要看软件体系、社区、文档等全方位的建设。最后,我们还揭开了yum/apt“找包”的底层逻辑:仓库配置 + 元数据索引 + 相对路径拼接 = 最终下载地址。
当然,实战部分也不能少。yum list | grep搜索、yum install -y安装、yum remove卸载,这些命令虽然简单,但却是日常运维中使用频率最高的操作。
如果这篇文章对你有帮助,不妨点赞、收藏、关注三连支持一下,你的鼓励是我持续更新的最大动力!我们下篇见!