CentOS升级设置

今天使用科技大学的镜像网站把centos升级了。速度很快。
参考 http://centos.ustc.edu.cn/
简单的纪录一下
# cd /etc/yum.repos.d
# mv CentOS-Base.repo CentOS-Base.repo.save
# wget http://centos.ustc.edu.cn/CentOS-Base.repo
# rpm --import http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
# yum -y update

定义非官方库的yum
从这里 http://www.centospub.com/make/newenv.html 抄的
# vi /etc/yum.repos.d/dag.repo
   [dag]
   name=Dag RPM Repository for Red Hat Enterprise Linux
   baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
   gpgcheck=1
   enabled=1

# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
<think>我们正在讨论在CentOS系统升级OpenSSL。根据之前的引用,用户可能是在CentOS 7上操作,因为引用[1]提到了CentOS 7.x。但是,用户没有明确说明是CentOS 6还是7,所以我们需要考虑两种情况。 注意:OpenSSL升级是一个敏感操作,因为它可能影响系统上依赖OpenSSL的许多应用程序(如Apache、Nginx、Postfix等)。在升级前,请确保备份重要数据,并在测试环境中验证。 步骤概述: 1. 检查当前OpenSSL版本 2. 确定需要升级到的目标版本(例如最新稳定版) 3. 下载并编译新版本的OpenSSL(注意:通常不推荐替换系统自带的OpenSSL,因为这可能导致系统组件不兼容。替代方案是安装到自定义路径,然后让应用程序使用新的路径) 4. 或者,使用第三方仓库(如EPEL)升级(但可能不会提供最新版本) 5. 更新动态链接库缓存 6. 验证新版本 然而,由于系统自带的OpenSSL被很多系统工具依赖,直接替换可能会导致系统不稳定。因此,通常建议将新版本OpenSSL安装到独立目录(例如`/opt/openssl`),然后配置应用程序使用该路径。 具体步骤: 1. 检查当前版本: ```bash openssl version ``` 2. 安装编译依赖: ```bash yum groupinstall "Development Tools" yum install perl-core zlib-devel -y ``` 3. 下载并解压最新OpenSSL源码(以1.1.1w为例,但请注意替换为最新稳定版): ```bash wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz tar -zxvf openssl-1.1.1w.tar.gz cd openssl-1.1.1w ``` 4. 配置、编译并安装到自定义目录(例如`/opt/openssl`): ```bash ./config --prefix=/opt/openssl --openssldir=/opt/openssl shared zlib make make install ``` 5. 设置环境变量,使系统使用新的OpenSSL(可选,但谨慎): 注意:这会影响整个系统,可能导致依赖旧版本的系统工具出现问题。因此,通常不建议替换系统的OpenSSL,而是让特定应用程序使用新的OpenSSL。 如果确实需要全局替换,可以备份原有openssl,然后创建软链接: ```bash mv /usr/bin/openssl /usr/bin/openssl.bak ln -s /opt/openssl/bin/openssl /usr/bin/openssl ``` 并更新库链接: ```bash echo "/opt/openssl/lib" > /etc/ld.so.conf.d/openssl.conf ldconfig ``` 6. 验证: ```bash openssl version ``` 但是,请注意:这种方法替换系统OpenSSL可能会引起问题,特别是当系统更新。更安全的做法是不替换系统OpenSSL,而是编译应用程序指定新的OpenSSL路径。 替代方案:使用第三方仓库(如IUS或EPEL)来升级OpenSSL,但通常这些仓库不会立即提供最新版本。 由于风险较高,建议在测试环境中进行,并确保有回滚计划。 回滚方法: - 如果备份了原有的openssl,可以恢复: ```bash rm -f /usr/bin/openssl mv /usr/bin/openssl.bak /usr/bin/openssl ``` - 删除自定义安装的OpenSSL目录(/opt/openssl)和库配置文件(/etc/ld.so.conf.d/openssl.conf),然后运行`ldconfig`。 根据引用[1],用户之前可能是在升级OpenSSH,而OpenSSH依赖于OpenSSL。因此,在升级OpenSSL后,可能需要重新编译OpenSSH以使用新的OpenSSL。 注意:在CentOS 6上,由于系统较老,升级OpenSSL可能更加复杂,且面临更多兼容性问题。如果用户使用的是CentOS 6,建议考虑升级操作系统CentOS 7或更高版本。 由于用户没有明确系统版本,这里给出一个通用的方法,但以CentOS 7为例。 另外,引用[2]是关于在CentOS 6上安装Python 2.7和3.3的,与OpenSSL升级无直接关系,但提醒我们CentOS 6的软件包较老。 因此,我们还需要考虑系统版本: 如果是CentOS 6: - 官方支持的OpenSSL版本较旧(1.0.1e),升级到新版本需要自己编译,且风险更高。 - 建议升级系统或谨慎操作。 如果是CentOS 7: - 系统自带的OpenSSL版本是1.0.2k,可以通过自己编译升级到1.1.1(长期支持版本)。 总结:在CentOS升级OpenSSL的主要步骤是下载源码编译安装,并谨慎替换或配置应用程序使用新版本。 相关问题: 1. 如何在不影响系统稳定性的情况下升级OpenSSL? 2. 升级OpenSSL后,如何让特定应用程序(如Nginx)使用新版本? 3. 在CentOS 6上升级OpenSSL有哪些额外注意事项? 4. 如何验证OpenSSL升级系统没有出现兼容性问题?</think>### 在CentOS系统升级OpenSSL的步骤 在CentOS系统升级OpenSSL需要谨慎操作,因为OpenSSL是系统关键组件。以下是安全升级的推荐方法(以CentOS 7为例): #### 1. **检查当前版本** ```bash openssl version # 典型输出:OpenSSL 1.0.2k-fips(系统默认版本) ``` #### 2. **安装编译依赖** ```bash sudo yum groupinstall "Development Tools" sudo yum install perl-core zlib-devel wget -y ``` #### 3. **下载新版源码** ```bash # 访问 https://www.openssl.org/source/ 获取最新稳定版 wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz tar -zxvf openssl-1.1.1w.tar.gz cd openssl-1.1.1w ``` #### 4. **编译安装到独立目录** ```bash ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib make sudo make install ``` > 重要:**不覆盖系统默认OpenSSL**,避免破坏yum等系统工具[^1] #### 5. **配置环境变量** ```bash # 在/etc/profile.d/openssl.sh添加: export PATH=/usr/local/openssl/bin:$PATH export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH # 立即生效 source /etc/profile ``` #### 6. **验证安装** ```bash openssl version # 应输出:OpenSSL 1.1.1w ... ``` #### 7. **配置应用使用新版** 编译应用指定新路径: ```bash ./configure --with-openssl=/usr/local/openssl ``` 或修改应用配置(如Nginx): ```nginx ssl_engine /usr/local/openssl/lib/engines-1.1; ``` ### 关键注意事项 1. **不替换系统OpenSSL** 系统工具(如yum、ssh)依赖原版本,覆盖可能导致系统崩溃[^1] 2. **兼容性测试** 使用`openssl s_client -connect example.com:443`测试TLS握手 3. **回滚方案** 删除`/etc/profile.d/openssl.sh`并重启即可恢复 4. **CentOS 6特殊处理** 需先升级gcc至4.8+,建议使用devtoolset-8: ```bash sudo yum install centos-release-scl sudo yum install devtoolset-8 scl enable devtoolset-8 bash ``` > ⚠️ **生产环境建议**:先在测试机验证,使用配置管理工具(Ansible/SaltStack)批量部署
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值