目录
1.Linux 软件包管理器yum
1.1快速认识yum
1.2 yumz下载方式(如何使用yum进行下载,注意下载一定要是root用户或者白名单用户(可提权))
1.2.1下载小工具rzsz
1.2.2 rzsz使用
1.2.2查看软件包
1.3软件的卸载
2.yum生态及其周边知识了解补充
2.1yum如何得知目标服务器的地址和下载链接
yum(源)
更新yum源:
拓展软件源与基础软件源:
国内的其他yum源:
2.2 云服务器是谁人提供
2.3什么人提供了Lniux中我们需要下载的这些软件或者资源
2.4选择一款操作系统的理由
3.结语
首先 ,目前来说我们对linux的体验都是“黑框框”,都是指令操纵,那么在很多时候比如我们前面要运行一些功能或者执行一些有趣的指令都要去下载,或者执行下载指令,那么linux怎么知道去哪里找到这些我们要下载的东西,下面就介绍yum,这个专属于我们linux的“软件浪漫商店”。
yum这个下载工具主要针对的是centos,ubutu中是apt
1.Linux 软件包管理器yum
1.1快速认识yum
结论:yum是包管理器,linux中我们进行工具、库、指令、程序的安装、检查、卸载等,需要yum的软件。
在linux中,我们安装软件的方式有
①源代码安装--(交叉编译)查找下载需要资源的源代码在环境中进行编译,链接形参可执行程序。
那么这个操作首先要求我们要找得到对应资源的源代码,还要在很多版本中挑选合适的版本进行下载。还需要保证源代码在linux的环境中编译通过(因为某些软件的兼容性不太好,在系统中进行编译就会报错,可能运行还要报错,导致产生交叉编译的工作,就是说我们的用户不仅要执行上述操作还要会修改代码,不是很方便。)
②rmp包,通过下载拷贝方式进行安装。
工作者将源代码编译好,和可执行程序、库和需要的资源一起打包成一个rmp包,然后用户下载安装就好。
不过上述两种方式成本太高,而且很多资源还是来自于国外的,下载速度也不高。
③centos下使用yum工具/ubutu下使用apt/apt-get(指令二选一)
yum是linux操作系统预装的一个指令,可以帮我们搜索,下载。安装对应的软件,就像windows下厂商帮用户内置的软件商店
使用yum下载,有时下载一些库文件,比如图形化界面库,需要依赖于c++库,这种依赖关系的下载处理,yum也会帮用户解决。
1.2 yumz下载方式(如何使用yum进行下载,注意下载一定要是root用户或者白名单用户(可提权))
1.2.1下载小工具rzsz
关于 rzsz :这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件. 安装完毕之后可以通过拖拽的方式将文件上传过去.
注意事项 关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!!! 可以通过 ping 指令验证
ping www.baidu.com
安装指令:yum install -y lrzsz
注意:
安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成. yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外 一个软件, yum会报错
下载过程:访问提供软件的服务器下载并安装,拷贝需要资源和日志到指定目录
/user/bin/rz
所以普通用户可能没有写的权限所以下载不了
1.2.2 rzsz使用
rz 命令 将wondows文件加载到我们的linux中也可以直接拖拽
sz 进linux文件发送到windows中
1.2.2查看软件包
通过 yum list 命令可以罗列出当前一共有哪些软件包. 由于包的数目可能非常之多, 这里我们需要使用 grep 命令只 筛选出我们关注的包.
例如: yum list | grep lrzsz
单独使用yum lisi就可以看到所有的可下载的资源,就像软件商店里面所有的应用
结果如下:
lrzsz.x86_64 0.12.20-36.el7
- lrzsz代表软件名
- 软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.
- "x86_64" 后缀表示64位系统的安装包,表示软件可以在什么架构下面去运行,在32位操作系统或者64位操作系统下面编译的软件只能在对应32位或者64位机器下面运行,在windows上编译的软件只能在windows上运行。编译的软件有特定的硬件架构就是cpu匹配
- 0.12.20-36表示版本
- "i686" 后缀表示32位系统安装包. 选择包时要和系统匹配.
- "el7" 表示操作系统发行版的版本. "el7" 表示的是 centos7/redhat7.
- "el6" 表示 centos6/redhat6. 最后一列,
- base 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念.
如果安装不了,就下载一下扩展yum源
yum install -y epel-release
比较好玩的指令:
sl
下载: yum install -y sl
1.3软件的卸载
执行指令
sudo yum remove lrzsz
2.yum生态及其周边知识了解补充
2.1yum如何得知目标服务器的地址和下载链接
yum(源)
那么先类比手机应用商店,我们会有疑问,我们点击下载看似一个简单的动作,对于这个应用来说,它是如何去找到在哪里下载的呢,所以这个软件的配置文件中一定要有这些软件的下载地址。
同理,我们的yum的配置文件中也要用记录目的地的配置文件来帮助我们去找到下载软件。
这个文件就是: ls /etc/yum.repos.d/
repos ----仓库
d-----目录
所以执行该命令就可以看到我们的yum对应的本地仓库源
网址可以打开:
就是因为aliyun将国外的镜像源拷贝过来了,如果是国外的镜像源下载速度比较慢,那么我们更新这个下载镜像就是更新yum源就可以提高下载速度。
更新yum源:
CentOS7系统
- 备份当前的yum源
- 在更新yum源之前,需要备份当前的yum源,以便出现问题时可以恢复。可以通过以下命令备份:
-
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
- 统计拷贝
- 下载新的yum源文件
- 可以从CentOS官方网站或其他可靠的镜像站点下载新的yum源文件。一般情况下,新的yum源文件会以.repo为扩展名,存储在/etc/yum.repos.d/目录下。
- 例如,可以使用以下命令下载CentOS官方的yum源文件:
-
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 覆盖替换
- 这里使用的是阿里云镜像站点的CentOS 7 yum源文件。清除yum缓存
- 更新yum源后,需要清除yum缓存,以便系统能够识别新的yum源文件。可以使用以下命令清除yum缓存:
-
yum clean all
- 清理原先的缓存
- 更新yum缓存
- 清除yum缓存后,需要更新yum缓存,以便系统能够识别新的yum源文件中的软件包信息。可以使用以下命令更新yum缓存:
-
yum makecache
- 测试新的yum源
- 更新yum源后,可以使用以下命令测试新的yum源是否可以正常工作:
拓展软件源与基础软件源:
国内的其他yum源:
网易163 yum源,安装方法查看:网易开源镜像使用帮助
中科大的 yum源,安装方法查看:开源镜像使用帮助列表
阿里云的 yum源,安装方法查看: https://opsx.alibaba.com/mirror
清华大学的 yum源,安装方法查看: 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
浙江大学的 yum源,安装方法查看: http://mirrors.zju.edu.cn/
中国科技大学yum源,安装方法查看: http://centos.ustc.edu.cn/
2.2 云服务器是谁人提供
先阅读2.4,过后那么,我们知道一个社区有人发现问题,有人解决问题,势必有人就会依赖这个社区,那么我们提供这个社区平台的公司或者开源组织等既得利益者是不希望这个社区消失的,所以也就成为这个社区的维护者,也更希望这个社区越来越好。比如,我们很多落后的地方,科技水平落后,很多东西都需要技术支持,每次访问资源都需要外面的资源,就会慢甚至不允许,如果发达地方的社区说要搬运到这些地方,这些地方的公司或者企业就会很欢迎甚至主动提供资金、设备甚至科技环境、服务器等。
2.3什么人提供了Lniux中我们需要下载的这些软件或者资源
开源软件不缺人,总有人会参与进来,希望这个社区变得越来越好的人,这个开源社区本身就是一个正向的轮盘,不同调性之间的竞争,比如kali有的,centos没有,该社区就会有人来做这个,可能就是成就感驱动。
2.4选择一款操作系统的理由
如何选择一款操作系统,一款操作系统的好坏,不仅仅要考虑操作系统本身1,大家在效率上是差不多的,所以在操作系统的选择上,就更应该关注以下几个内容:
①操作系统的版本,因为版本问题能涵盖操作系统的所有的历史bug问题,一款操作系统的用户多不多,就决定了这款操作系统的问题暴露的充分程度,和问题解决社区的规模。所以也就间接决定了这款操作系统周边能够匹配到的软件资源是否充分,社区中匹配的文档是否全面,是否更新及时,社区的维护者是不是够专业,是否能尽快的找到问题并解决,还有社区背后有无开源软件编写者来支持我们需求对应的平台等等问题。
②这款操作系统周边能够匹配到的软件资源是否充分,社区中匹配的文档是否全面,是否更新及时,社区的维护者是不是够专业,是否能尽快的找到问题并解决,还有社区背后有无开源软件编写者来支持我们需求对应的平台这些因素又导致物以类聚人以群分的现象,形成不同调性的操作系统,比如kali社区黑客多,redhat社区需求企业解决方案的人比较多,那么做企业开发的用户就较多,对应的问题使得这个社区往更专业精进的方向增长。但是真正本质的原因就是背靠的社区和材料不同,吸引不同的人,软件工具不同。(操作系统只是基座,一个土壤)
3.结语
以上就是本期内容,和技术的关联不大,但是可以为liNux的构建体系打一个好的基础。要注重知识本身,如果大家有补充的欢迎评论区偶遇。作不易,大家如果觉得还可以的话,欢迎大家三连,有问题的地方欢迎大家指正,一起交流学习,一起成长,我是Nicn,正在c++方向前行的奋斗者,数据结构内容持续更新中,感谢大家的关注与喜欢。