Linux基础开发工具(yum篇)

目录

1.Linux软件包管理器yum

1.1Linux中安装软件:

1.2什么是软件包

什么是包管理器?

1.3Linux软件生态

Linux上的软件,谁提供的?

如何理解这个过程

以下是一些国内Linux软件安装源的官方链接:

1.4yum具体操作

1.在操作yum之前我们先来安装一个好玩的,娱乐的软件

2.查看软件包

3.安装软件

4.卸载软件

5.注意事项

1.5安装源


1.Linux软件包管理器yum

1.1Linux中安装软件:

1.源码安装 不推荐
2.软件包安装---rpm 不太推荐
程序之间是存在依赖的,用软件包安装可能存在依赖缺失问题---还有版本兼容性问题
3.包管理器yum(centos) apt/apt-get(ubuntu) ---会自动给我们解决包的依赖问题!
a.网络下载
b.安装(就是拷贝)
必须使用root权限---安装到系统里面,只要安装一次,任何人都能使用

1.2什么是软件包

什么是包管理器?

类似于我们手机上面的应用商店
•在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.

• 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上 的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.

• 软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.

• yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat, Centos等发行版上.

• Ubuntu:主要使用apt(Advanced Package Tool)作为其包管理器。apt同样提供了自动解决依赖关系、下载和安装软件包的功能。

1.3Linux软件生态

Linux上的软件,谁提供的?

如何去评估一款操作系统的好坏
内核版本
社区 文档 人群 问题.... ----生态---一款操作系统背后的配套软件算生态的一环

开发者为了让自己的操作系统让更多人使用,这些开发者一定会直接或间接为我们编写

属于生态的一环,变相让自己的操作系统让更多人使用,避免无人使用无法继续的情况

如何理解这个过程

我们的Linux 社区提供,www.cenots/ubuntu.org 开发者
yum/apt.... 软件 软件<-源码

云服务器?钱?

开源:本质是一种商业模式

我的机器,怎么知道对应的下载链接?--操作系统内部,内置链接 www.centos.org

那这些centos Ubuntu一般都是在国外的,使用魔法也不尽方便

那该怎么办呢?

所以有大佬在国内建立了一套生态,把国外的网站镜像过来,同时更改下链接,这样就不卡

更改下载链接,切换镜像源

像阿里云、清华镜像源.....

生态

• Linux下载软件的过程(Ubuntu、Centos、other)

• 操作系统的好坏评估--- 生态问题

• 软件包依赖的问题

• 国内镜像源

以下是一些国内Linux软件安装源的官方链接:

  1. 阿里云官方镜像站

◦ 官方链接:https://developer.aliyun.com/mirror/

◦ 阿里云提供了丰富的Linux发行版镜像,包括CentOS、Ubuntu、Debian等,用户可以通过该镜像站快速下载和更新软件包。

  1. 清华大学开源软件镜像站

◦ 官方链接:https://mirrors.tuna.tsinghua.edu.cn/

◦ 清华大学镜像站提供了多种Linux发行版的镜像,以及Python、Perl、Ruby等编程语言的扩展包。该镜像站还提供了丰富的文档和教程,帮助用户更好地使用这些软件包。

  1. 中国科学技术大学开源镜像站

◦ 官方链接:http://mirrors.ustc.edu.cn/

◦ 中科大镜像站提供了多种Linux发行版的镜像,以及常用的编程语言和开发工具。用户可以通过该镜像站方便地获取所需的软件包和工具。

  1. 北京交通大学自由与开源软件镜像站

◦ 官方链接:https://mirror.bjtu.edu.cn/

◦ 北交大镜像站提供了多种Linux发行版的镜像,以及相关的软件仓库和工具。该镜像站还提供了详细的文档和指南,帮助用户配置和使用这些软件源。

  1. 中国科学院软件研究所镜像站(ISCAS)

◦ 官方链接:http://mirror.iscas.ac.cn/

◦ ISCAS镜像站提供了多种Linux发行版、编程语言和开发工具的镜像。用户可以通过该镜像站快速获取所需的软件包和更新。

  1. 上海交通大学开源镜像站

◦ 官方链接:https://ftp.sjtu.edu.cn/

◦ 上海交大镜像站提供了丰富的Linux软件资源,包括多种发行版的镜像和软件仓库。用户可以通过该镜像站方便地下载和安装所需的软件包。

  1. 网易开源镜像站

◦ 官方链接:http://mirrors.163.com/

◦ 网易镜像站提供了多种Linux发行版的镜像,以及相关的软件仓库和工具。该镜像站还提供了便捷的搜索功能,帮助用户快速找到所需的软件包。

此外,还有一些其他的国内镜像源,如搜狐开源镜像站等,但可能由于时间变化或政策调整,部分镜像站的链接或状态可能有所变动。因此,建议在使用前访问官方网站或咨询相关社区以获取最新的信息和帮助。

1.4yum具体操作

1.在操作yum之前我们先来安装一个好玩的,娱乐的软件

sudo yum -y install sl

安装成功后,输入命令sl

就会得到

2.查看软件包

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

注意事项:

• 软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.

• "x86_64" 后缀表示64位系统的安装包, "i686" 后缀表示32位系统安装包. 选择包时要和系统匹配.

• "el7" 表示操作系统发行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6.

• 最后一列, base 表示的是 "软件源" 的名称, 类似于 "华为应用商店", "小米应用商店" 这样的概念.

3.安装软件

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

# Centos

sudo yum install -y lrzsz

# Ubuntu

sudo apt install -y lrzsz

• yum/apt 会自动找到都有哪些软件包需要下载, 这时候敲 "y" 确认安装.

• 出现 "complete" 字样或者中间未出现报错, 说明安装完成
注意事项:

• 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.

• yum/apt安装软件只能一个装完了再装另一个. 正在yum/apt安装一个软件的过程中, 如果再尝试用 yum/apt安装另外一个软件, yum/apt会报错.

4.卸载软件

# Centos

sudo yum remove [-y] lrzsz

# Ubuntu

sudo apt remove [-y] lrzsz

5.注意事项

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

可以通过 ping 指令验证 ping www.baidu.com

怎么确定自己联网了呢?

ping -c3 www.baidu.com

输入命令有回音就可

1.5安装源

Cetnos 安装源路径:

ll /etc/yum.repos.d/ 会列出该目录下的所有 yum软件源配置文件(通常以 .repo 结尾)。这些文件定义了 yum 命令从哪里下载软件包。

user1@iZ5waahoxw3q2bZ \~\]$ ll /etc/yum.repos.d/ total 8 -rw-r--r-- 1 root root 2523 Apr 12 10:49 CentOS-Base.repo **#标准源** -rw-r--r-- 1 root root 230 Apr 11 20:10 epel.repo **#扩展源** **base ---稳定软件 epel ---扩展软件源**

我们可以进入看看

vim /etc/yum.repos.d/CentOS-Base.repo

都是一些网址

sudo yum install -y epel-release
目的是在你的 CentOS 系统上安装并启用 EPEL (Extra Packages for Enterprise Linux) 软件源。

简单来说,EPEL 是一个由 Fedora 社区维护的"第三方应用商店" ,它专门为 RHEL(红帽企业 Linux)及其衍生发行版(如 CentOS、Rocky Linux、AlmaLinux)提供官方源里没有的大量、高质量的软件包。像 nginxCertbot 等许多流行软件都可以通过 EPEL 方便地安装。

今天我们Linux基础开发工具(yum篇)就到此结束,期待我们下次再见!

相关推荐
HY小海11 分钟前
【Linux】进程概念
linux·运维·服务器
王八八。28 分钟前
linux后台java、postSQL部署命令
java·linux·运维
瑞熙贝通实验室综合管理平台1 小时前
实验动物管理系统|以痛点为核心 构建动物房数字化管理新体系
linux
眠りたいです2 小时前
现代C++:C++14中的新语言特性和库特性
c语言·开发语言·c++
黄筱筱筱筱筱筱筱3 小时前
LINUX-防火墙
linux·服务器·网络
сокол4 小时前
【网安-Web渗透测试-靶场系列】AWD-Platform(ctf-hub)
linux·服务器·ubuntu·网络安全·docker
utf8mb4安全女神4 小时前
Linux系统服务相关命令【定时任务设置】【任务进程管理】【防火墙区域应用】
linux·运维·服务器
ytttr8735 小时前
OPC UA 协议栈 C 语言实现
c语言·开发语言·mfc
song5015 小时前
Ascend C 算子开发:从入门到上手
c语言·开发语言·图像处理·人工智能·分布式·flutter·交互
小a杰.6 小时前
Ascend C编程语言进阶:高性能算子开发技巧
android·c语言·开发语言