我阿里云的系统是Alibaba Cloud Linux 2.1903 LTS 64位,它是基于Centos7开发的,所以理论上能够安装支持Centos7的软件。
但是却隐含了一个大坑原因:Alibaba Cloud Linux系统的releasever变量是“2.1903”,而不是Centos7的“7”,这导致了安装识别的系统版本不对,造成失败。
所以解决方案很简单,将rpm安装包下载,强制安装,随后将对应yum.repos.d文件中的$releasever替换成数字7即可。1.下载rpm包
wget <下载地址>2.强制安装
rpm -ivh --force --nodeps <rpm文件>3.修改对应的repos文件
sudo vim /etc/yum.repos.d/<安装后的repo文件>4.使用vim全局替换命令将$releasever替换掉
先按下:(冒号)进入命令输入模式,随后输入%s/$releasever/7/g
随后保存退出,即可正常安装! 同理,如果是基于Centos8的Alibaba Cloud Linux,将数字更改为8替换即可。实战记录:
本来想给阿里云安装一个PostgreSQL13数据库,到其官网查看文档,安装方法如下:
# Install the repository RPM: sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm # Install PostgreSQL: sudo yum install -y postgresql13-server然后在第一步安装rpm时报错
Loaded plugins: fastestmirror, langpacks, releasever-adapter, update-motd pgdg-redhat-repo-latest.noarch.rpm | 8.1 kB 00:00:00 Examining /var/tmp/yum-root-X8AgRw/pgdg-redhat-repo-latest.noarch.rpm: pgdg-redhat-repo-42.0-23.noarch /var/tmp/yum-root-X8AgRw/pgdg-redhat-repo-latest.noarch.rpm: does not update installed package. Error: Nothing to do随后下载rpm
wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm强制安装rpm
rpm -ivh --force --nodeps pgdg-redhat-repo-latest.noarch.rpm再运行安装,失败:
failure: repodata/repomd.xml from pgdg-common: [Errno 256] No more mirrors to try. https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-2.1903-x86_64/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found于是修改刚才安装的repo文件
sudo vim /etc/yum.repos.d/pgdg-redhat-all.repo执行替换,保存退出
%s/$releasever/7/g再次安装
sudo yum install -y postgresql13-server 一切正常!
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。 |
标签: #Alibaba #Cloud #Linux #我阿里云的系统是Alibaba