Linux系列:RPM安装 + yum安装 + 源码安装的区别&优缺点、CentOS下的yum安装 + yum源配置 + yum镜像源、Linux下的源码安装

RPM安装 + yum安装 + 源码安装的区别&优缺点、CentOS下的yum安装 + yum源配置 + yum镜像源、Linux下的源码安装




一. RPM安装 + yum安装 + 源码安装的区别&优缺点

上一篇文章在了解完Linux环境配置后+函数库配置后,这篇继续讲解Linux下不同安装方式的对比

Linux系列:Linux目录分析:[/] + [/usr] + [/usr/local] + [/usr/local/app-name]、Linux最全环境配置 + 动态库/静态库配置

RPM安装

rpm包是别人编译安装好的二进制包

安装这个包,可能需要手动安装别的函数库或者依赖软件

一般自行去网站下载以.rpm为结尾的安装包

优点

下载安装包后,可以离线手动安装

缺点

很多安装包有依赖性,装一个包就带连带着装其他包,大包套小包

相比rpm安装来讲yum的安装更人性化,一般推荐yum联网安装

yum安装

yum仓库用来存放所有的rpm包

当使用yum安装一个rpm包时,如果需要依赖关系会自动在仓库中查找依赖软件并安装

yum仓库可以是本地的,也可以是HTTP、FTP、nfs形式的网络仓库

优点

yum最大的优势在于可以联网去下载所需要的rpm包,然后自动安装,安装东西方便快捷

如果要安装的rpm包有依赖关系,yum会帮您解决掉这些依赖关系并依次安装所有rpm包

缺点

1,yum安装的版本会比较低,一般不是最新版本

2,yum安装过程人为无法干预,不能按需安装,源里面有什么就安装什么,

3,不能自定义软件的模块和功能,不能自定义软件部署的路径,对后期的维护成本会增加

4,需要维护yum源的网络库,找到合适的repo库,否则找不到安装软件

5,大部分生产环境要求服务器的环境配置要一致,统一环境如果需要升级某个程序版本,一个脚本几条命令就可以解决。如果是yum安装,机房和机房之间,国家和国家之间,yum的库不能保持一致,会很麻烦的问题

源码安装

源码安装,下载的是源码包,用户自行编译和安装

优点

编译安装过程,可以设定参数,按照需求进行安装,安装的版本可以选择,灵活性比较大

可以自定义部署的路径,进行统一的管理,减轻后期的维护工作量

缺点

1,编译,安装,配置,部署比较复杂

2,不能自动解决软件包之间的依赖关系

3,由于安装包过新,或版本过低,或是其他问题,导致依赖的包没有,就要解决包的依赖问题

可能装一个小东西,就要解决一堆包的依赖问题,花很多时间解决包的依赖问题

4,不敢随便升级系统,升级系统可能会导致以前手动装的东西,不能用

以上是在Linux环境下安装软件的3种办法,常用的是yum和源码安装这2种方式

具体的安装方法比较繁杂,下一篇文章介绍yum安装和源码安装的流程




二. CentOS下的yum安装 + yum源配置 + yum镜像源

在上一篇文章中,已经详细介绍了源码安装 + yum安装的优缺点

今天来详细谈谈关于yum安装的方案和注意事项,毕竟在实际工作中yum使用还是比较频繁的

关键词:CentOS的yum安装,yum源设置,yum镜像源,yum优先级,阿里云源,中科大源

yum安装软件

yum安装软件时候,一般都有具体的命令参考,按教程操作一般不会有问题

安装的方法其实比较简单,不能人为干涉,一般不会遇到大的问题,这里不再细说

重要的问题是:

如何找到合适的源?

合适的源类似于不同的应用商店,我们需要设置合适的源,找到合适的应用商店

才能顺利安装我们需要的软件,在使用yum时才不会遇到各种问题

不合适的源可能遇到的问题:

1,源是国外的,下载速度非常慢,网络不稳定,经常安装失败

2,有些源根本没有想要安装的软件,要切换特殊的源才能提供

3,使用的源突然失效了,需要重新设置你的源连接

4,记得要维护更新源库,才能获取最新的软件列表

5,有些源下载安装的软件包版本过低

在提出解决问题方案前,先学习以下几个知识点(均在CentOS 7的系统下)

查看系统发行版本:rpm -qi centos-release(查看Version字段)

进入yum配置目录:cd /etc/yum.repos.d

查看yum配置目录:ll /etc/yum.repos.d

备份yum配置目录:cp -r /etc/yum.repos.d /data/

显示使用中的yum源:yum repolist

清除yum的缓存:yum clean all

生成yum的缓存:yum makecache

查看yum配置目录后,你会发现/etc/yum.repos.d目录下有非常多以.repo结尾的源文件

每个源文件都代表着一份设置,你可以编辑/etc/yum.repos.d/目录下所有的.repo文件
例如:

你可以新增yourname.repo文件,表示这个是属于你加的源文件

我也可以新增myname.repo文件,表示这个是属于我加的源文件

一个源文件里面可以填写多个源地址
举例:

一般官方的源文件CentOS-Base.repo下有[base], [updates], [extras]三个源

另外还有两个[CentOSplus], [contrib] 源

这就是一个源文件里面可以填写多个源地址的样例

在任何一个源文件里,添加yum源的配置

1 [base] #仓库名称

2 name= #仓库描述

3 mirrorlist= #仓库镜像路径

4 baseurl= #仓库url路径

5 enabled= #仓库是否启用,1表示启用,0表示关闭

6 gpgcheck=1 #密钥检测,1表示开启,0表示关闭

7 gpgkey= #检查key的地址,如果上面不检查,这个可以不写

举例:

如果你执行显示yum源的命令yum repolist,会显示正在使用的仓库标识和仓库名称

仓库标识就是配置中的仓库名称,例如[base]

仓库名称就是配置中的仓库描述,例如name=xxx

具体的作用可以看yum源的配置说明

其实CentOS-Base.repo文件中,配置的仓库一共有5个

[base], [updates], [extras],[CentOSplus],[contrib]

但是[CentOSplus],[contrib]却被设置为enabled=0

所以使用 显示使用中的yum源的命令 展示的源,只有[base], [updates], [extras]3个

前面说的:/etc/yum.repos.d目录下有非常多以.repo结尾的源文件

进去查看具体的内容,会发现都有配置,但却没有设置为enabled=1生效

因此这么多文件都是没有用的,要生效,需要再自己设置

只有CentOS-Base.repo文件,默认生效了3个配置

下面介绍几种常用的源和设置办法,以达到我们稳定可靠使用yum的目的

官方源

如果安装了CentOS的发行版,那么自带的源应该就是官方的

但源是国外的,因为众所众知的原因,下载速度非常慢,安装经常失败

一般不使用

阿里云源
阿里云是比较推荐的,云服务业务比较大,源镜像比较稳定可靠
因此我们可以使用阿里云作为国外源的镜像

第一:备份原始yum源,执行cp -r /etc/yum.repos.d /data/

第二:在/etc/yum.repos.d目录下,清空所有文件

第三:执行rpm -qi centos-release,确认系统的版本

第四:wget -O /etc/yum.repos.d/aliyun-Base-7.repo https://mirrors.aliyun.com/repo/Centos-7.repo

第五:执行yum clean all,清除缓存

第六:执行yum makecache,生成缓存

第七:执行yum repolist,查看生效后的源地址

说明:

1,wget -O /etc/yum.repos.d/aliyun-Base-7.repo 中的aliyun-Base-7.repo,表示下载来的文件的名称

从阿里云下载的.repo文件,就命名为aliyun-Base-7.repo

注意:aliyun-Base-7.repo中最好带上-Base-7的描述,跟阿里云的网络路径尽量一致,以后容易区分

2,确认系统版本,例如7.9,则使用版本7

填写为 https://mirrors.aliyun.com/repo/Centos-7.repo 中的7,用来获取阿里云中具体的版本

3,最后一定要执行yum clean all & yum makecache

4,获取.repo文件的链接可能变动,有时需要自己去官网更新最新的办法

阿里云配置帮助链接:阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区

腾讯云源

第一:备份原始yum源,执行cp -r /etc/yum.repos.d /data/

第二:在/etc/yum.repos.d目录下,清空所有文件

第三:执行rpm -qi centos-release,确认系统的版本

第四:wget -O /etc/yum.repos.d/tencent-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo

第五:执行yum clean all,清除缓存

第六:执行yum makecache,生成缓存

第七:执行yum repolist,查看生效后的源地址

说明:

1,wget -O /etc/yum.repos.d/tencent-Base-7.repo 中的tencent-Base-7.repo,表示下载来的文件的名称

从腾讯云下载的.repo文件,就命名为tencent-Base-7.repo

注意:tencent-Base-7.repo中最好带上-Base-7的描述,跟腾讯云的网络路径尽量一致,以后容易区分

2,确认系统版本,例如7.9,则使用版本7,填写为

http://mirrors.cloud.tencent.com/repo/centos7_base.repo 中的7

用来获取腾讯云中具体的版本

3,最后一定要执行yum clean all & yum makecache

4,获取.repo文件的链接可能变动,有时需要自己去官网更新最新的办法

腾讯云配置帮助链接:腾讯软件源

中科大源

设置中科大的源不像阿里云和腾讯云方便,但是原理都一样

需要新建立源的文件,再手动更改文件的内容即可

这里不再细说,可以参看中科大详细的帮助文档

中科大配置帮助链接:USTC Open Source Software Mirror

elep源

CentOS自带的yum源中rpm包数量有限,很多时候找不到我们需的软件包,所以我们需要安装包含丰富的第三方YUM源来满足我们的需求。简单来说,就是去新增一个应用商店,这个应用商店可能有我们要下载的软件

EPEL(Extra Packages for Enterprise Linux是企业版Linux附加软件包)

EPEL的软件包通常不会与企业版Linux官方源中的软件包发生冲突,或者互相替换文件

官方的EPEL源可能速度比较较慢,这里我们添加阿里的EPEL源,如下:

wget -O /etc/yum.repos.d/aliyun-epel-7.repo https://mirrors.aliyun.com/repo/epel-7.repo

指令格式不再详说,都是和上面差不多的

特殊源库

安装某些特殊的软件,需要安装官方的源,否则没办法通过yum安装

例如Nginx源,需要独立配置官方的源,才能进行安装

但是这类软件非常少,我们一般不需要这样配置

源的优先级

当系统有多个软件源时,要安装某一个软件,并且这个软件在多个源里面都有时

我们肯定希望用最优质的源来下载软件,而且不同的软件源之间并不能保证软件的完全兼容没有冲突

所以我们需要设置软件源的优先级

yum-plugin-priorities 插件可以用来强制保护源

它通过给各个源设定不同的优先级,使得系统管理员可以将某些源(比如官方源)设定为最高优先级

安装yum-plugin-priorities插件
1,安装插件
yum install yum-plugin-priorities.noarch
2,设置插件

yum-plugin-priorities 插件的配置文件是/etc/yum/pluginconf.d/priorities.conf,先确认其是否存在,后查看

其内容为:

[main]

enabled=1 # 0禁用 1启用

把enabled=1设置为1就是启用

3,设置优先级

举例:

以官方源文件 /etc/yum.repos.d/CentOS-Base.repo为样本



对于[base]选项,添加:

priority=1 #设置[base]源优先级为1

对于[updates]选项,添加:

priority=1 #设置[updates]源优先级为1

对于[extras]选项,添加:

priority=1 #设置[extras]源优先级为1

对于[centosplus]选项,添加:

priority=2 #设置[centosplus]源优先级为2

对于[contrib]选项,添加:

priority=2 #设置[contrib]源优先级为2


4,对于第三方库设置优先级

举例:

以源文件 /etc/yum.repos.d/epel.repo为样本

对于[epel]选项,添加:

failovermethod=priority

priority=11 #设置[epel]源优先级为11

5,优先级规则

priority的优先级为1到99,设置为1即优先级最高,1-10为系统保留,第三方yum源的优先级从11-99

一般官方的源文件CentOS-Base.repo下有[base], [updates], [extras]三个源设置为 priority=1

另外两个[CentOSplus],[contrib] 源设置成priority=2

其他第三方软件源的源文件中的源源设置为:priority=N

(推荐N>10,并且每个类型的源推荐从n0开始,n为1-9的数字,比如10,20,30,这样源下面的细分源以后也方便添加级别)

源的冲突问题

/etc/yum.repos.d/目录下文件名后缀为.repo的文件都是源文件,里面对应的源都需要设置

但最好不要添加太多源,官方源和EPEL源就够了

如果这里没有想要的软件在进行其他源的添加,添加过多的源维护起来麻烦,还容易造成软件源的冲突

建议:

把暂时不用的源通过enabled=0关闭,只留下一个EPEL第三方源,这样可以减少软件的冲突和软件搜索的速度




三. Linux下的源码安装

在上一篇,介绍了CentOS下的yum安装和yum源的配置

现在介绍另一种在Linux环境下安装软件的办法:源码安装

源码安装的方法比较固定,但不简单。如果不熟悉,可能会遇到很多头疼的问题,需要有一定的Linux知识基础才能进行安装,例如:Linux下的系统环境配置,Linux下的目录,常用指令等要有了解,可以看看往期的文章。

下面介绍一下源码安装的一些知识

源码目录

下载了源码之后,进入目录,一般有以下几项:

  • 配置 configure(可执行文件)

  • 源码 src(源代码)

  • 说明 README(说明文档)

  • 其他 其他的文件夹(每个软件可能有不同的软件)

安装指令

configure是非常重要的文件,很多参数都由它来完成

1,首先使用 configure --help 命令

了解软件安装的必要参数设定,对于源码安装来说非常重要

编译软件的功能,模块,特性都是通过configure来设定参数的

每个软件的编译,安装设置可能都不一样

因此需要参考–help里面的说明来设定

2,接着执行 configure --prefix=PATH 命令

–prefix=PATH中的PATH是软件安装的路径

当然也可以不执行,默认安装在/usr/local/

你可以再添加别的编译参数,详细见–help

3,最后会生成Makefile文件

Makefile文件是Linux下指导编译,安装的配置文件

使用configure命令后自动生成,就不需要再更改

4,直接执行 make 命令

这一步是编译,比较容易出问题

编译需要的库找不到

所需要的的文件找不到

具体解决办法查看看configure --hlep以及

学习如何设定Linux的环境(即Linux系列:Linux目录分析:[/] + [/usr] + [/usr/local] + [/usr/local/app-name]、Linux最全环境配置 + 动态库/静态库配置中的Linux最全环境配置 + 动态库/静态库配置

一定要根据报错信息来对症下药

5,接着执行 make check 命令

一般的软件都有make check命令

用来检查编译的软件有没有问题

通过make check后再进行下一步

(如果没有make check,就不用执行了)

6,执行make install命令

最后一步是安装步骤

会把软件的可执行文件等

放到–prefix=PATH中设定的目录

(一般只是复制目录,生成一些配置等)

7,配置系统环境

在安装好后,如果直接运行软件,会发现找不到这个指令

需要我们把安装目录下的可执行软件

添加到系统的搜索路径里面

参看环境配置教程(即Linux系列:Linux目录分析:[/] + [/usr] + [/usr/local] + [/usr/local/app-name]、Linux最全环境配置 + 动态库/静态库配置中的Linux目录分析:\[/\] + \[/usr\] + \[/usr/local\] + \[/usr/local/app-name\]

经验之谈

对于我个人来讲,我是比较喜欢源码安装软件的,好处很明显

可以自己设定安装参数,也就不会安装根本用不到的模块,做到按需定制,这对有点强迫症的我来说很友好

可以自己控制安装过程,对软件状态比较了解,对以后的管理很方便,做到心中有数

能及时安装使用最新版本的软件,不需要等待源的更新

缺点就是需要自己解决软件安装中的依赖问题。相信我,这绝对是个麻烦的事情

要熟悉软件的安装参数配置,否则就编译不出你要的软件,甚至报错

这要求熟悉configure --help文档,这是最好的安装指导

熟悉了参数,熟悉了编译流程之后,自己源码安装还是比较快的

但有时候我们也不要迷信于源码安装,解决不了报错,或者花费的代价太大

使用yum安装也是不错的,这2者结合起来,能解决大部分软件的安装问题了










不是罗罗

RPM安装 + yum安装 + 源码安装的区别&优缺点

CentOS下的yum安装 + yum源配置 + yum镜像源

Linux下的源码安装

  • 25
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 如果您想在CentOS 8上安装Python 3.6,有两种方法可以使用yum或dnf软件包管理器。在使用这些管理器之前,请确保您具有管理员访问权限。 方法1:使用yum安装Python 3.6 1.安装EPEL存储库 yum install epel-release 2.安装Python3.6 yum install python36 3.查看Python版本号 python3.6 -V 方法2:使用dnf安装Python 3.6 1.启用PowerTools仓库 dnf config-manager --set-enabled PowerTools 2.安装Python3.6 dnf install python3.6 3.查看Python版本号 python3.6 -V 以上两种方法均可在CentOS 8上安装Python3.6,您可以根据自己的需要选择其中一种。使用yum或dnf软件包管理器安装Python 3.6非常方便,并且可以轻松地配置和管理Python解释器。 ### 回答2: CentOS 8作为一个基于Red Hat Enterprise Linux 8开发的Linux发行版,标配的Python版本为Python 3.6以上,所以我们不需要进行安装即可使用。但是,有些特定的项目或应用程序需要安装Python 3.6及以上版本来进行开发和运行。下面以CentOS 8系统为例,介绍安装Python 3.6的方法。 使用YUM安装Python 3.6: 1.首先,通过更新yum仓库,使其更新到最新: sudo dnf update 2.安装Python 3.6的依赖项: sudo dnf install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel xz-devel 3.下载并安装Python 3.6源代码: wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz tar xzf Python-3.6.5.tgz cd Python-3.6.5 ./configure --enable-optimizations make altinstall 注意:使用“altinstall”而不是“install”,因为后者将覆盖系统默认的Python版本。 4.验证Python 3.6安装是否成功: python3.6 -V 如果控制台输出Python 3.6.5,则说明已正确安装Python 3.6。 使用dnf安装Python 3.6: 1.添加dnf源: sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm 2.启用Remi库: sudo dnf module reset -y python38 sudo dnf module enable python38:remi 3.安装Python 3.6: sudo dnf install python36 4.验证Python 3.6安装是否成功: python3.6 -V 如果控制台输出Python 3.6.5,则说明已正确安装Python 3.6。 注意:如果您想在系统上同时拥有多个Python版本,建议使用Python虚拟环境来管理它们。虚拟环境可完全隔离不同的Python版本和依赖项,方便程序员进行不同版本Python代码的开发、部署和测试。 ### 回答3: 安装Python3.6是CentOS 8的一项基本操作,因为Python 3.6是面向对象编程中最流行的语言之一,有很多应用和库都是使用Python 3.6编写的。要安装Python 3.6的方法有很多种,但是本文将介绍最简单的方法:使用yum/dnf命令来安装Python 3.6的rpm包。 步骤1:更新系统 在安装Python 3.6之前,建议更新你的CentOS 8系统。可以输入以下命令来更新软件包库中的所有软件: sudo dnf update 步骤2:添加EPEL和额外的软件包库 要安装Python 3.6,必须添加EPEL和额外的软件包库。可以使用以下命令进行安装: sudo dnf install epel-release sudo dnf config-manager --set-enabled PowerTools 步骤3:安装Python 3.6.rpm包 已经更新过软件包库并添加了必要的软件包库,可以输入以下命令来安装Python 3.6的rpm包: sudo dnf install python36 步骤4:验证安装安装完成后,可以通过输入以下命令来测试Python 3.6是否已成功安装: python3.6 -V 输出的结果应该如下: Python 3.6.x 如果成功安装且输出与预期相同,则说明Python 3.6已经成功安装。 总结: 在CentOS 8上安装Python 3.6非常简单,只需要运行上述命令即可完成安装。当然,如果需要安装其他版本的Python,可以下载源代码自行编译安装。无论你选择哪种方法,Python 3.6都是一门非常方便的编程语言,在任何领域都非常有用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坦笑&&life

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值