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

🔥艾莉丝努力练剑:个人主页
❄专栏传送门:《C语言》、《数据结构与算法》、C/C++干货分享&学习过程记录、Linux操作系统编程详解、笔试/面试常见算法:从基础到进阶
⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平
🎬艾莉丝的简介:

🎬艾莉丝的Linux专栏简介:

目录
前期回顾
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.3 最佳实践:yum具体操作
1.3.1 查看软件包
1.3.2 安装软件
1.3.3 卸载软件
1.3.4 注意事项
1.4 最佳实践:安装源
1.5 图解yum / apt:包管理器
博主手记
结尾
前期回顾
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 镜像源:国内镜像源
  
 


sudo yum install -y epel-release1.3 最佳实践:yum具体操作
1.3.1 查看软件包
通过yumlist命令可以罗列出当前一共有哪些软件包,由于包的数目可能非常之多,这里我们需要使用grep命令只筛选出我们关注的包,例如:
# 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 minicomlrzsz/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的安装——
# Centos
$ sudo yum install -y lrzsz# Ubuntu
$ sudo apt install -y lrzsz1、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 卸载软件
我们也可以用一条命令解决——
# Centos
sudo yum remove [-y] lrzsz# Ubuntu
sudo apt remove [-y] lrzsz1.3.4 注意事项
关于yum / apt的所有操作,必须保证主机(虚拟机)网络畅通!!!
可以通过ping指令验证——
ping www.baidu.com# 当天yum / apt也能离线安装,但是和我们当前⽆关,暂不关⼼。 1.4 最佳实践:安装源
Cetnos安装源路径——
$ 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-releaseUbuntu安装源路径——
$ cat /etc/apt/sources.list # 标准源 
$ ll /etc/apt/sources.list.d/ # 扩展源# ubuntu 安装扩展源,就结合未来具体场景关于更新安装源,能够说明原理即可。云服务器不用考虑,因为软件源都是国内的了。
1.5 图解yum / apt:包管理器
  
 
博主手记
   
  
  
 
  
 
结尾
uu们,本文的内容到这里就全部结束了,艾莉丝再次感谢您的阅读!
往期回顾:
【Linux权限 (二)】Linux权限机制深度解析:umask如何决定默认权限与粘滞位的妙用
结语:本期我们在前一篇博客的基础上继续深入学习了Linux中的指令篇,希望对学习Linux指令相关内容的uu有所帮助,不要忘记给博主“一键四连”哦!
🗡博主在这里放了一只小狗,大家看完了摸摸小狗放松一下吧!🗡
૮₍ ˶ ˊ ᴥ ˋ˶₎ა


