记录Alibaba Cloud Linux YUM源安装软件失败提示common RPMs for RHEL/CentOS 3 - x86_64
准备
Alibaba Cloud Linux 版本
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: AlibabaCloud
Description: Alibaba Cloud Linux release 3 (Soaring Falcon)
Release: 3
Codename: SoaringFalcon
PostgreSQL 版本
version 14 platform Red Hat Enterprise, CentOS, Scientific or Oracle version 6 architecture X86_64
Linux downloads (Red Hat family)
The Red Hat family of distributions includes:
- Red Hat Enterprise Linux
- Rocky Linux
- CentOS (7 and 6 only)
- Fedora
- Oracle Linux
安装步骤
更新yum
yum update -y
安装RPM
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
处理错误
在阿里云帮助文档中找到下面内容
第三方DNF源仅适配CentOS 8发行版,而在Alibaba Cloud Linux 3中,系统的releasever值与CentOS 8不同,导致DNF解析后的地址无效,从而下载RPM包失败。DNF安装docker-ce时,首先会从系统中获取版本号,即releasever值,然后替换掉相应源baseurl中对应的$releasever变量,之后DNF从替换后的baseurl中获取相关数据。由于CentOS 8的releasever值为8,而Alibaba Cloud Linux 3系统的releasever值为3,因此解析后的baseurl并非预期地址,DNF便无法从这个错误的地址中安装软件包。
$ yum install -y postgresql14-server
PostgreSQL common RPMs for RHEL/CentOS 3 - x86_64 56 B/s | 146 B 00:02
Errors during downloading metadata for repository 'pgdg-common':
- Status code: 404 for https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-3-x86_64/repodata/repomd.xml (IP: 217.196.149.55)
错误:为 repo 'pgdg-common' 下载元数据失败 : Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
第一种处理方式
cd /etc/yum.repos.d
vim /etc/yum/pluginconf.d/releasever-adapter.conf
dnf install dnf-plugin-releasever-adapter --repo alinux3-plus
[main]
enabled=1
[releasevermapping]
release_dict={'2.1903' : '7', '3' : '8'}
[reposlist]
include=docker-ce.repo, epel.repo, pgdg-redhat-all.repo
第二种临时处理方式
上面这种我没有成功,但是docker-ce.repo是可以的,下面是临时处理方式
修改yum
vim /etc/yum.repos.d/pgdg-redhat-all.repo
%s/$releasever/8/g
安装数据库
yum install -y postgresql14-server
初始化数据库
第一次尝试出错了
如果使用service 得安装 yum install iptables-services ,如果下载失败, 就将/etc/yum.repos.d/AliYun.repo 里面cloud.aliyuncs 修改为aliyun ,但是建议不要这么操作,直接使用下面的方式处理。
service 命令只支持基础 LSB 动作(即 start、stop、restart、try-restart、reload、force-reload、status)。其他动作请使用 systemctl。
第二次尝试
看了下官方说明
Post-installation
Due to policies for Red Hat family distributions, the PostgreSQL installation will not be enabled for automatic start or have the database initialized automatically. To make your database installation complete, you need to perform the following steps, based on your distribution:
For RHEL / Rocky Linux / CentOS / SL / OL 7, 8 Or Fedora 34 And Later Derived Distributions:
postgresql-setup --initdb systemctl enable postgresql.service systemctl start postgresql.service
postgresql-14-setup initdb 这里我使用的pgsql-14,所以大家得改成自己对应的数据库版本
systemctl enable postgresql-14.service
systemctl start postgresql-14.service
设置密码
bash-4.4$ psql postgres
psql (11.15)
postgres=
创建数据用户和数据库
创建用户
postgres=
CREATE ROLE
创建用户数据库
postgres=
给用户数据库权限
postgres=
创建linux用户并用验证数据
更改用户 dbuser 的密码 。
新的 密码:
重新输入新的 密码:
$ psql -d ivo
psql (11.15)
Type "help" for help.
ivo=>
安装工作全部完成了
开启远程连接
生产环境最好不要开启!!!
修改监听
vim /var/lib/pgsql/14/data/postgresql.conf
修改允许访问的IP
vim /var/lib/pgsql/14/data/pg_hba.conf
host all all 0.0.0.0/0 md5
systemctl restart postgresql-14.service
记得去配置下安全组规则,数据库端口号默认是5432,在postgresql.conf修改。
其他
这里我改过默认的端口号, 连接的时候要加上 -p
psql -d database -p [port]
- PostgreSQL 官方网站
- 搭建PostgreSQL主从架构
- Alibaba Cloud Linux 3系统中使用docker-ce、epel等第三方DNF(YUM)源安装软件失败
|