Centos7安装SCL源(转)

Centos7安装SCL源
        安装SCL源
        配置scl国内源
        刷新缓存
        使用scl源安装新版的包
        对特定用户生效scl版本
        对全局用户启用scl版本
        scl常用
        从scl源中搜索软件
        查看从 SCL 中安装的包
        获取当前会话中启用的软件集合的列表
安装SCL源
SCL是Software Collections的缩写,由CentOS特别兴趣小组所维护。其收录了许多程序的新版本,例如gcc, PHP, git, python等。安装的软件可与旧版共存,包名多以rh-为前缀。

参考: https://www.cnblogs.com/wswind/p/10729610.html

配置SCL https://chowdera.com/2021/10/20211015120730214l.html

SCL源软件搜索: https://www.softwarecollections.org
https://www.softwarecollections.org/en/scls/

# 安装SCL源---建议手动配置国内源
# yum install -y centos-release-scl centos-release-scl-rh

安装完成后在/etc/yum.repos.d目录下会出现CentOS-SCLo-scl.repo和CentOS-SCLo-scl-rh.repo两个文件。安装后源默认启用。


配置scl国内源
参考: https://zhuanlan.zhihu.com/p/424953404

# 备份
cp CentOS-SCLo-scl.repo{,.bak}
cp CentOS-SCLo-scl-rh.repo{,.bak}


配置CentOS-SCLo-scl.repo国内地址
vim /etc/yum.repos.d/CentOS-SCLo-scl.repo

[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo


配置CentOS-SCLo-scl-rh.repo

vim /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo

[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

刷新缓存

# 刷新缓存
yum repolist && yum clean all && yum makecache

# 安装scl-utils工具
yum install -y scl-utils scl-utils-build

使用scl源安装新版的包
使用scl源安装git2

# 查找rh-git软件包
yum search rh-git2

# 安装新版的git
yum install -y rh-git227

# 激活新版的git
## 激活git的打开bash
scl enable rh-git227 bash

# 查看git版本
git --version

对特定用户生效scl版本

#通过bash环境来设定,仅对特定用户启用
vim ~/.bashrc 
# or 
~/.bash_profile

# 添加
source scl_source enable rh-git227

对全局用户启用scl版本

# 对全局用户启用scl版本
vim /etc/profile.d/enable_scl.sh

# 添加内容
source scl_source enable rh-git227

或者

# 全局启用scl版本

# 启用scl版本的git
scl enable rh-git227 bash

# 查看git所在位置
which git
## 回显
/opt/rh/rh-git227/root/usr/bin/git

# 将srl版本的git软链接到/usr/bin/git 
ln -s /opt/rh/rh-git227/root/usr/bin/git  /usr/bin/git 

scl常用

从scl源中搜索软件

# 从scl源中搜索软件
yum --disablerepo="*" --enablerepo="centos-sclo-rh" search 包名

查看从 SCL 中安装的包

# 查看从 SCL 中安装的包
scl --list

获取当前会话中启用的软件集合的列表
 

# 获取当前会话中启用的软件集合的列表
echo $X_SCLS

————————————————
版权声明:本文为优快云博主「教Linux的李老师」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/omaidb/article/details/126462159

<think>我们正在讨论CentOS 7系统在离线环境下安装`centos-release-scl`的方法。由于是离线环境,我们需要预先下载好所需的RPM包以及其依赖,然后通过本地安装的方式进行。 步骤: 1. 在有网络的相同CentOS 7系统上下载`centos-release-scl`及其所有依赖包。 2. 将下载好的包传输到离线环境的CentOS 7系统上。 3. 在离线系统上使用`yum localinstall`或`rpm -ivh`命令进行安装,推荐使用`yum localinstall`因为可以自动处理依赖关系(如果已经下载了所有依赖包并放在同一目录下)。 详细步骤: ### 1. 在有网络的环境中下载RPM包及其依赖 首先,在一台与离线环境相同版本(CentOS 7)且可以联网的机器上,创建目录并下载所有包: ```bash # 创建目录存放下载的rpm包 mkdir -p /tmp/scl-offline cd /tmp/scl-offline # 使用yumdownloader下载centos-release-scl及其依赖 yum install -y yum-utils # 确保yumdownloader命令可用 yumdownloader --resolve centos-release-scl ``` ### 2. 将下载的包传输到离线机器 将`/tmp/scl-offline`目录下的所有rpm包复制到离线环境的CentOS 7机器上,例如放在`/opt/scl-offline`目录。 ### 3. 在离线环境中安装 在离线机器上,进入存放rpm包的目录,使用yum进行本地安装(推荐)或者使用rpm命令安装。 #### 方式一:使用yum localinstall(推荐) ```bash cd /opt/scl-offline yum localinstall -y *.rpm ``` #### 方式二:使用rpm命令(如果yum不可用,但需要手动解决依赖) ```bash cd /opt/scl-offline rpm -ivh *.rpm ``` 注意:使用rpm命令安装时,如果包之间有依赖关系,可能需要多次执行或者按顺序安装,而`yum localinstall`可以自动处理依赖。 ### 注意事项 - 由于CentOS 7已经停止维护,默认的官方可能已经不可用,因此在有网络的环境下载包时,可能需要配置可用的镜像(如阿里云Vault镜像)[^2]。 - 在有网络的环境中,可以配置镜像为阿里云的Vault仓库(参考引用[2]): 编辑`/etc/yum.repos.d/CentOS-SCLo-scl.repo`文件,修改`baseurl`为: ``` baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/sclo/x86_64/sclo/ ``` 然后运行`yum makecache`更新缓存,再使用`yumdownloader`下载。 ### 引用 [^1]: Centos7使用yum更新gcc 使用`yum`更新`gcc`----依赖`centos-release-scl`安装`centos-release-scl`从`centos-release-scl`安装`gcc`。 [^2]: Centos7 停止维护之后解决安装centos-release-scl scl-utils-build devtoolset-8-toolchain问题。将CentOS-SCLo-scl.repo中的镜像改一下就OK了 [centos-sclo-sclo] name=CentOS-7 - SCLo sclo baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/sclo/x86_64/sclo/ ...。 §§相关问题§§ 1. 在离线环境下安装`centos-release-scl`时,如何确保下载的依赖包完整且无遗漏? 2. 配置阿里云Vault镜像的具体步骤是什么? 3. 如果离线环境中已经存在部分依赖包,如何避免重复安装或冲突? 4. 除了阿里云镜像,还有哪些镜像适用于CentOS 7的停止维护后的软件安装? </think>### CentOS 7离线安装`centos-release-scl`方法 #### 1. 准备离线安装包(在可联网环境操作) ```bash # 创建下载目录 mkdir -p ~/offline-packages cd ~/offline-packages # 下载centos-release-scl及其依赖 yum install -y yum-utils createrepo repotrack centos-release-scl ``` #### 2. 创建本地YUM仓库 ```bash # 生成仓库元数据 createrepo . # 压缩整个目录(用于传输到离线环境) cd .. tar -czvf scl-offline.tar.gz offline-packages/ ``` #### 3. 在离线环境安装 ```bash # 解压离线包 tar -xzvf scl-offline.tar.gz -C /opt # 创建本地仓库配置文件 cat > /etc/yum.repos.d/local-scl.repo << EOF [local-scl] name=Local SCL Repository baseurl=file:///opt/offline-packages enabled=1 gpgcheck=0 EOF # 清除缓存并安装 yum clean all yum install -y centos-release-scl ``` #### 4. 验证安装结果 ```bash # 检查是否安装成功 rpm -qa | grep centos-release-scl # 查看启用的仓库 yum repolist enabled | grep scl ``` ### 关键注意事项 1. **镜像适配**:CentOS 7停止维护后,需修改仓库配置指向可用镜像(如阿里云Vault)[^2]: ```bash sed -i 's|mirror.centos.org/centos|mirrors.aliyun.com/centos-vault|g' \ /etc/yum.repos.d/CentOS-SCLo-scl.repo ``` 2. **依赖完整性**:离线安装需确保完整下载依赖链: ```bash # 检查依赖树 rpm -qpR /opt/offline-packages/centos-release-scl*.rpm ``` 3. **常见错误处理**:若出现`Cannot find a valid baseurl`错误[^3],需确认: - 本地仓库路径是否正确 - 仓库配置文件权限(644) - 使用`yum-config-manager`启用仓库 ### 引用 [^1]: Centos7使用yum更新gcc 使用`yum`更新`gcc`----依赖`centos-release-scl`安装`centos-release-scl`从`centos-release-scl`安装`gcc`。 [^2]:Centos7 停止维护之后解决安装centos-release-scl问题。将CentOS-SCLo-scl.repo中的镜像改一下就OK了 [centos-sclo-sclo] name=CentOS-7 - SCLo sclo baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/sclo/x86_64/sclo/。 [^3]:若出现`Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64`错误,需检查本地仓库配置是否有效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值