Bootstrap

【Linux系统编程】第十弹---软件包管理器 yum

  ✨个人主页: 熬夜学编程的小林

💗系列专栏: 【C语言详解】 【数据结构详解】【C++详解】【Linux系统编程】

目录

1、yum是什么?

2、软件包是什么?

3、三种安装软件包方式

4、yum的相关操作

4.1、搜索软件

4.2、安装软件 

 4.3、卸载软件

5、yum 本地配置

 6、rzsz 工具

 6.1、关于 rzsz

6.2、查看软件包

总结


1、yum是什么?

yum是一个软件下载安装管理的一个客户端,例如:小米应用商城、华为应用商城...

Linux中软件包可能有依赖关系——yum会帮我们解决依赖关系的问题!

2、软件包是什么?

在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.
但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装。软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.
yum(Yellow dog Updater, Modified)是Linux下非常常用的一种软件包管理器. 主要应用在Fedora, RedHat,Centos等发行版上。

3、三种安装软件包方式

1、源代码安装:非常不方便,还得自己编译生成可执行程序。
2、rpm安装:把源代码提前在各种不同环境中编译好,形成rpm包(是一种压缩包),是直接下载可执行程序就能安装好。但是万一下载的软件不全,可能还有一些库也需要你自己安装,把不全的软件安装好之后,然后再安装可执行程序就ok了,需要解决软件之间依赖的问题。
3、yum安装:会解决软件之间的依赖关系。

4、yum的相关操作


注意事项
关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!!!
可以通过 ping 指令验证
 

[lin@VMCentos7 ~]$ ping www.baidu.com  # 使用ping指令
PING www.a.shifen.com (220.181.38.150) 56(84) bytes of data.
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=1 ttl=54 time=8.93 ms  # 表示联网
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=2 ttl=54 time=8.96 ms
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=3 ttl=54 time=8.95 ms

4.1、搜索软件

语法:

yum list  


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

yum list | grep sl

结果如下:

4.2、安装软件 

语法:

sudo yum install [选项] 软件名 (普通用户)

常见选项:

-y : 强制下载

举例:安装sl 的软件 

[lin@VMCentos7 ~]$ sudo yum install sl.x86_64  # 安装sl软件
[sudo] password for lin: 
Last metadata expiration check: 2:20:41 ago on Sat 30 Mar 2024 01:18:42 PM CST.
Package sl-5.02-1.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!  # 安装成功

 使用该软件:

[lin@VMCentos7 ~]$ sl

运行结果:

会出现一辆小火车。 

 4.3、卸载软件

语法:

sudo yum remove [选项] 软件名

举例:卸载sl软件

输入命令 : sudo yum remove -y sl   

5、yum 本地配置

yum会根据/etc/yum.repos.d/该路径下面的配置文件,来构成自己的下载链接,(根据OS版本,根据你要下载的软件),yum会帮住我们下载;安装一般的机器,内置的地址链接是CentOS的官网,软件链接都指向的是国外的,yum可能会比较满,所以需要配置。

那么如何配置?本质就是更改文件,或者更改文件内容。

就是把软件源里的地址链接,从国外的地址链接更新成国内的。

1、 sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

2、清理缓存,生成缓存,升级更新

sudo yum clear all

sudo yum makecache

sudo yum -y update

注意:

wget -O:把远端的链接上的配置文件下载下来;
在本地指定的路径下,形成一个CentOS-Base.repo
-O:把远端下载下来的文件名更改成CentOS-Base.repo

 6、rzsz 工具

 6.1、关于 rzsz

rzsz 工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件。安装完毕之后可以通过拖拽的方式将文件上传过去。

6.2、查看软件包

[lin@VMCentos7 ~]$ sudo yum list | grep lrzsz
[sudo] password for lin: 
lrzsz.x86_64              0.12.20-43.2.al8                 @alinux3-os  

注意事项:

软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构。
"x86_64" 后缀表示64位系统的安装包, "i686" 后缀表示32位系统安装包。选择包时要和系统匹配."el7" 表示操作系统发行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6.最后一列, base 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念。

安装软件

sudo yum install [-y] lrzsz

yum 会自动找到都有哪些软件包需要下载, 这时候敲 "y" 确认安装。出现 "complete" 字样, 说明安装完成。也可以直接加-y选项强制下载。


注意事项:


安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.
yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错.


使用命令:

1.将Linux中文件下载到Windows中(sz 命令)

sz 文件名

2.将本地文件上传到Linux中(rz 命令)

方法一:

直接拖拽

 方法二:

在终端输入rz

总结


本篇博客就结束啦,谢谢大家的观看,如果公主少年们有好的建议可以留言喔,谢谢大家啦!

;