首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【Linux基础开发工具 (一)】详解Linux软件生态与包管理器:从yum / apt原理到镜像源实战

【Linux基础开发工具 (一)】详解Linux软件生态与包管理器:从yum / apt原理到镜像源实战

作者头像
艾莉丝努力练剑
发布2025-11-18 14:21:04
发布2025-11-18 14:21:04
1650
举报
文章被收录于专栏:C / C++C / C++

前期提示

1 国内Linux软件安装源的一些官方链接



1 ~> 软件包管理器

1.1 软件包的概念

1、在Linux下安装软件,一个通常的办法是下载到程序的源代码,并进行编译,得到可执行程序; 2、但是这样太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解成windows上的安装程序)放在一个服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,直接进行安装; 3、软件包和软件包管理器,就好比"App"和"应用商店"这样的关系; 4、yum(Yellow dogUpdater,Modified)是Linux下非常常用的一种包管理器.主要应用在Fedora,RedHat,Centos等发行版上; 5、Ubuntu:主要使用apt(Advanced PackageTool)作为其包管理器。apt同样提供了自动解决依赖关系、下载和安装软件包的功能。

1.2 了解Linux软件生态

1.2.1 Linux下载软件的过程(Ubuntu、Centos、other)
1.2.2 操作系统的好坏评估——生态问题
1.2.3 为什么会有人免费特定社区提供软件,还发布?还提供云服务器让你下载?
1.2.4 软件包依赖的问题
1.2.5 镜像源:国内镜像源
1.2.6 生态问题

一个应用十几年前甚至几十年前就诞生了理念,这么多年还在稳定更新——相当于经过了十几年的DeBug——稳定;一个新的应用,没有经过时间验证——还不够稳定。

前者会放到稳定软件源,后者则会放到扩展软件源。

1.2.7 新软件变成老软件也会过渡到稳定软件源
代码语言:javascript
复制
sudo yum install -y epel-release

Unbuntu的扩展源很麻烦,好在不是很要紧。

1.3 最佳实践:yum具体操作

1.3.1 查看软件包

通过yumlist命令可以罗列出当前一共有哪些软件包,由于包的数目可能非常之多,这里我们需要使用grep命令只筛选出我们关注的包,例如:

代码语言:javascript
复制
# 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>
...

注意事项:

1、软件包名称:主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构; 2、"x86_64"后缀表示64位系统的安装包,"i686"后缀表示32位系统安装包.选择包时要和系统匹配; 3、"el7"表示操作系统发行版的版本."el7"表示的是centos7/redhat7, "el6"表示centos6/redhat6; 4、最后一列,base表示的是“软件源”的名称——谁提供的软件,类似于"小米应用商店","华为应用商店”这样的概念; 5、Ubuntu有上述有详细介绍。

1.3.2 安装软件

通过yum,我们可以通过很简单的一条命令完成gcc的安装——

代码语言:javascript
复制
# Centos
$ sudo yum install -y lrzsz

# Ubuntu
$ sudo apt install -y lrzsz

1、yum/apt会自动找到都有哪些软件包需要下载,这时候敲"y"确认安装; 2、出现"complete"字样或者中间未出现报错,说明安装完成。

注意事项:

(1)安装软件时由于需要向系统目录中写入内容,一般需要sudo或者切到root账户下才能完成; (2)yum / apt安装软件只能一个装完了再装另一个。正在yum / apt安装一个软件的过程中,如果再尝试用yum / apt安装另外一个软件,yum/apt会报错; (3)如果yum/apt报错,uu们可以去问一下AI。

1.3.3 卸载软件

我们也可以用一条命令解决——

代码语言:javascript
复制
# Centos
sudo yum remove [-y] lrzsz

# Ubuntu
sudo apt remove [-y] lrzsz
1.3.4 注意事项

关于yum / apt的所有操作,必须保证主机(虚拟机)网络畅通!!!

可以通过ping指令验证——

代码语言:javascript
复制
ping www.baidu.com

# 当天yum / apt也能离线安装,但是和我们当前⽆关,暂不关⼼。 

1.4 关于Linux / Windows下多用户软件安装次数的问题

1.4.1 Linux中软件安装如果有多个用户,要安装几次?

一次。

usr/bin目录下——(sudo / root)root账号安装,安装一次就够了。

Linux中yum / apt不能同时安装多个软件,会报错;只能一个装完再装另一个。

1.4.2 Windows中软件安装如果有多个用户,要安装几次?

Windows在安装软件的时候会询问是多用户安装还是单用户安装,前者和Linux一样,装了就所有的用户都装好了,后者则只会安装指定用户。

Windows系统一般只有一个用户。

Windows系统中做好了软件隔离,可以同时安装各种软件。

1.5 最佳实践:安装源

1.5.1 安装源路径

Cetnos安装源路径——

代码语言:javascript
复制
$ ll /etc/yum.repos.d/
total 16
-rw-r--r-- 1 root root 676 Oct 8 20:47 CentOS-Base.repo # 标准源 
-rw-r--r-- 1 root root 230 Aug 27 10:31 epel.repo # 扩展源 
# 安装扩展源,方便演⽰ 
# $ sudo yum install -y epel-release

Ubuntu安装源路径——

代码语言:javascript
复制
$ cat /etc/apt/sources.list # 标准源 
$ ll /etc/apt/sources.list.d/ # 扩展源

# ubuntu 安装扩展源,就结合未来具体场景
1.5.2 软件源更新问题

软件源更新的本质:这个新的配置文件会替换系统的,如果你想保留,可以对老的备份一下——sudo mv;否则就直接覆盖老的——sudo cp。

关于更新安装源,能够说明原理即可。云服务器不用考虑,因为软件源都是国内的了。

CentOs已经是停更的状态了。

Wget:去特定的网址获取内容。

1.5.3 更新要清理原缓存

1、更新配置文件;

2、清理安装原缓存——

代码语言:javascript
复制
[root@VM-4-17-centos ~]# sudo yum clean all

3、使用新的配置,重新形成缓存——

代码语言:javascript
复制
[root@VM-4-17-centos ~]# sudo yum makecache

1.6 图解yum / apt:包管理器


博主手记

在Linux操作系统中安装、查找、卸载软件的问题——

Linux软件包生态问题——

包管理器:yum / apt——


结尾

uu们,本文的内容到这里就全部结束了,艾莉丝再次感谢您的阅读!

往期回顾:

【Linux权限 (二)】Linux权限机制深度解析:umask如何决定默认权限与粘滞位的妙用

结语:本期我们在前一篇博客的基础上继续深入学习了Linux中的指令篇,希望对学习Linux指令相关内容的uu有所帮助,不要忘记给博主“一键四连”哦!

🗡博主在这里放了一只小狗,大家看完了摸摸小狗放松一下吧!🗡 ૮₍ ˶ ˊ ᴥ ˋ˶₎ა

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前期提示
    • 1 国内Linux软件安装源的一些官方链接
  • 1 ~> 软件包管理器
    • 1.1 软件包的概念
    • 1.2 了解Linux软件生态
      • 1.2.1 Linux下载软件的过程(Ubuntu、Centos、other)
      • 1.2.2 操作系统的好坏评估——生态问题
      • 1.2.3 为什么会有人免费特定社区提供软件,还发布?还提供云服务器让你下载?
      • 1.2.4 软件包依赖的问题
      • 1.2.5 镜像源:国内镜像源
      • 1.2.6 生态问题
      • 1.2.7 新软件变成老软件也会过渡到稳定软件源
    • 1.3 最佳实践:yum具体操作
      • 1.3.1 查看软件包
      • 1.3.2 安装软件
      • 1.3.3 卸载软件
      • 1.3.4 注意事项
    • 1.4 关于Linux / Windows下多用户软件安装次数的问题
      • 1.4.1 Linux中软件安装如果有多个用户,要安装几次?
      • 1.4.2 Windows中软件安装如果有多个用户,要安装几次?
    • 1.5 最佳实践:安装源
      • 1.5.1 安装源路径
      • 1.5.2 软件源更新问题
      • 1.5.3 更新要清理原缓存
    • 1.6 图解yum / apt:包管理器
  • 博主手记
  • 结尾
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档