企业网站建设应注意什么,电子商务平台经营者对,网站建设与app开发,奖励网站代码Linux#xff1a;软件包管理器 - yum Linux的软件安装方式源代码安装rpm包安装yum安装 yum三板斧yum listyum installyum remove yum生态yum源 Linux的软件安装方式
源代码安装 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序 源代码安… Linux软件包管理器 - yum Linux的软件安装方式源代码安装rpm包安装yum安装 yum三板斧yum listyum installyum remove yum生态yum源 Linux的软件安装方式
源代码安装 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序 源代码安装是最初的安装方式在安装一个程序的过程中我们要经历以下过程 找到所需的源代码挑选自己合适的版本自己对代码编译运行如果代码兼容性差还要自己改 可见该方法安装一个软件包代价有的多高因此现在几乎不使用这种方法安装。 rpm包安装 把一些常用的软件提前编译好, 做成软件包放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装 这种的rpm包就是已经把代码编译好了我们可以直接下载下来然后进行安装。但是这也会遇到问题比如这个编译好的rpm包运行时可能需要其它的库比如C语言库C库等如果你的Linux上面没有这种库那就要额外地下载。或者有软件之间的依赖关系一个软件想要运行必须同时有其他的软件。 yum安装
与之前两种安装方式不同的是yum的安装是全自动化的完全不需要你操心任何一个过程其可以自动判断一个软件要去哪个地方下载自动下载好配套软件。因此yum是当前主流的软件安装方式。
接下来我先讲解yum的基础指令然后再深入yum相关的生态体系。 yum三板斧
yum list
如果我们直接使用yum list会列出所有可以下载的软件这会导致大量刷屏。一般而言我们会有目的的下载某一个软件比如我现在要下载一个叫做lrzsz的软件。我们要用grep进行筛选选出带有lrzsz字段的软件。
在此我输入yum list | grep lrzsz 我们就搜到了自己想要的软件x86_64表示该软件在64位计算机中运行。 0.12.20-36.el7是版本号el表示CentOSel7就表示CentOS7。base表示软件的提供方。
一般而言软件的提供方有两种base和epel。
base基本软件源这里面的软件都是经过筛选比较稳定的软件epel扩展软件源一般都是新软件这些软件刚发布需要经过一定时间的测试来发现一些问题当epel内部的软件经过一定时间后变得稳定了而且比较好用就会进入base yum install
当我们找到一个软件就可以进行下载了。语法为yum install xxx也就是下载xxx软件。
我这里下载lrzsz执行yum install lrzsz 其没有直接给我们下载而是向我们展示了这个软件的相关信息比如版本名称软件也大小等等然后向我们确认是否安装此软件。
如果你不希望它询问那么就输入-y选项这样就会直接下载了yum install -y lrzsz 最后显示complete就说明下载成功了 yum remove
如果你想删掉一个软件那就执行yum remove xxx命令。
比如我要删掉lrzsz执行yum remove lrzsz 同样的会向你展示该软件的信息然后向你确认是否删除。如果不希望它询问直接删除加上-y选项即可。 yum生态
在使用yum时你可以从别人的服务器上下载各种软件那么你有没有想过这些服务是谁提供的为什么你可以免费的使用别人的服务
一个系统用的人越多其社区的活跃度就越高存在的问题就越容易暴露出来。而因为人多问题暴露出来就会有更多的人去解决问题。同样的人多的操作系统软件就更加全面专业人士也更多。相应的当一个操作系统的人越来越多那么也就会吸引越来越多的人公司组织去使用这一款操作系统。
而为了吸引不同的人去使用一款操作系统很多操作系统都有自己的特点。比如说当前Linux的版本就有UbuntuCentOSDebian等等它们的Linux内核几乎没有差别区分开它们的是社区。比如说Ubuntu大部分被学生使用CentOS大部分被公司以及开发者使用。那么Ubuntu社区中的人们就会更加广泛的提出以及解决学习方面的问题而CentOS社区更注重实际开发方面的问题。久而久之各个版本的操作系统之间社区就建立了起来一个用户选择操作系统时就会去了解这个社区比如这个人对网络安全感兴趣对实际开发感兴趣那么他就会选择不同的系统。
一个社区的既得利益者比如公司组织学生开发者。他们都不希望自己的社区倒下公司为了让自己的系统更加稳定开发者为了自己写的代码可以被看到学生为了自己的问题可以及时被解决。于是他们就会想办法来维护社区让社区越来越好这样自己也就能从中获取更多的利益。
那么回到最初的问题我们的yum要去别人的服务器中下载软件服务器谁提供的这有很多种形式比如开源组织自己购置的公司为了维护社区提供的等等。总而言之就是为了让社区存活下去既得利益者会提供这样的服务。那么开源组织明明开源那就应该不收费啊为什么还有钱来购置服务器对我们使用Linux这样的系统是不收钱的从中下载软件也不要钱开源组织不从我们手上收钱。很多使用Linux的公司它们希望Linux可以发展的越来越好那么他们就会向开源组织捐赠。开源组织不对他们提供的服务收费但是他们可以接收捐赠因此开源组织是有钱的甚至是盈利的。
服务器的来源知道了那么软件又是谁提供的呢Linux社区这么多人自然就有人愿意出来提供开源服务把自己写的软件进行开源。另外的Linux有多个版本多个社区。如果有一天Ubuntu推出了一个很好用的软件CentOS社区的用户看到了发现CentOS没有这样的软件。于是CentOS社区的人直接把Ubuntu的该软件的代码拷贝过来改改就变成了可以在CentOS下运行的软件然后发行到CentOS上。反正都是开源项目我们社区直接抄你们社区的代码也是合法合规的。因此很多软件只要一个Linux版本下出现了其他版本也很快就会有对应的软件。再比如现在很多开源网站知名的清华源等它们也是直接拷贝一些国外的开源代码方便国内的用户使用反正都是开源的我就算把所有的资料都拷贝走也是合法合规的。 yum源
那么yum是如何知道要去哪里下载软件的呢
我们可以找到/etc/yum.repos.d/下面的文件 repos表示仓库d表示目录在改目录下会存储大量的网址yum会到对应的网址内部查找软件并且筛选合适的版本自动下载到你Linux主机上。
比如这是CentOS-Base.repo内部 可以看到内部有很多的连接Linux就是到这些连接内部下载软件的。
这些称为yum源在此常用的软件源有阿里云网易清华源等等在此我为大家示范一个yum源的更新。环境为CentOS使用的yum源是阿里云这里需要root权限。
首先跳转到yum源所处目录下cd /etc/yum.repos.d/ 先把我们当前的CentOS-Base.repo进行备份备份为CentOS-Base.repo.backup以免后续还需要进行恢复。
cp CentOS-Base.repo CentOS-Base.repo.backup然后从阿里云下载新的yum源
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo此时我们目录下的CentOS-Base.repo文件就已经被更新了。
更新yum源后需要清除yum缓存以便系统能够识别新的yum源文件。可以使用以下命令清除yum缓存
yum clean all清除yum缓存后需要更新yum缓存以便系统能够识别新的yum源文件中的软件包信息。可以使用以下命令更新yum缓存
yum makecache更新yum源后可以使用以下命令测试新的yum源是否可以正常工作
yum list如果没有出现错误并且软件包列表与预期一致则表示新的yum源已经更新成功。
更新yum源是维护CentOS系统安全和稳定性的重要步骤。在更新yum源之前应该备份当前的yum源以防止出现问题。同时应该从可靠的站点下载新的yum源文件并清除和更新yum缓存以保证系统能够正常使用更新的yum源文件。