[RL9] Rocky Linux 9.4 搭载 PG 16.1

news2024/11/26 13:55:19
rocky94.png

副标题:Rocky Linux 9.4 升级实录,及 PG 16 相关内容

背景

Rocky Linux 9.4 (以下简称 RL) 于5月9日正式发布,本文记录了从 RL 9.3 升级到 9.4 的过程,以及升级前后的一些变化。

之前介绍过 RL 9 的相关内容,请戳:

  • [RL9] Step by Step 安装 Rocky Linux 9.2 系统
  • [RL9] Rocky Linux 9.2 升级 9.3,及新特性实践

升级动因

RL 9.4 为当前最新版本,升级了大量系统模块、软件包,包括最新的编程语言、编译工具和开发工具等,同时修复了若干安全漏洞、增强了系统安全性。

如果你在使用 RHEL 9,可参考其支持计划,偶数版本如9.0,9.2,9.4等,将在扩展升级支持 (Extended Update Support, EUS) 之外提供48个月的增强扩展升级支持(Enhanced EUS)。

RHEL 9GAEUSEnhanced EUSKernel Version
9.42024-04-30April 30, 2026April 30, 20285.14.0-427.13.1.el9_4
9.22023-05-10May 31, 2025May 31, 20275.14.0-284.11.1.el9_2
9.02022-05-17May 31, 2024May 31, 20265.14.0-70.13.1.el9_0

升级过程

如果是本地环境,可以先挂载 iso 镜像,设定本地 yum 源,然后进行更新即可。

如果是联网环境,可以执行命令 dnf update 在线升级。

[root@rocky9 ~]# dnf upgrade
依赖关系解决。
=======================================================================================
 软件包                      架构        版本                       仓库          大小
=======================================================================================
安装:                                                            
 kernel                      x86_64      5.14.0-427.13.1.el9_4      iso-base     5.8 M
升级:                                                            
 NetworkManager              x86_64      1:1.46.0-4.el9_4           iso-base     2.3 M
...                                                             
安装依赖关系:                                                      
 kernel-core                 x86_64      5.14.0-427.13.1.el9_4      iso-base      21 M
...                                                             
安装弱的依赖:                                                      
 evolution-data-server-ui    x86_64      3.40.4-9.el9               iso-app       82 k
                                                                
事务概要                                                          
=======================================================================================
安装    8 软件包
升级  456 软件包

总计:1.4 G
...                                                 
完毕!
rocky94.png

版本比对

操作系统和内核

  • rocky 9.4
[root@rocky9 ~]# hostnamectl
 Static hostname: rocky9.shawnyan.cn
...
Operating System: Rocky Linux 9.4 (Blue Onyx)       
     CPE OS Name: cpe:/o:rocky:rocky:9::baseos
          Kernel: Linux 5.14.0-427.18.1.el9_4.x86_64
    Architecture: x86-64
[root@rocky9 ~]# 
[root@rocky9 ~]# ls /boot/vmlinuz-*
/boot/vmlinuz-0-rescue-703d66e159424744945b5a79849585a2
/boot/vmlinuz-5.14.0-284.30.1.el9_2.x86_64
/boot/vmlinuz-5.14.0-362.8.1.el9_3.x86_64
/boot/vmlinuz-5.14.0-427.18.1.el9_4.x86_64
  • rocky 9.3
[root@rocky9 ~]# hostnamectl
 Static hostname: rocky9.shawnyan.cn
...
Operating System: Rocky Linux 9.3 (Blue Onyx)      
     CPE OS Name: cpe:/o:rocky:rocky:9::baseos
          Kernel: Linux 5.14.0-362.8.1.el9_3.x86_64
    Architecture: x86-64
[root@rocky9 ~]# 
[root@rocky9 ~]# ls /boot/vmlinuz-*
/boot/vmlinuz-0-rescue-703d66e159424744945b5a79849585a2
/boot/vmlinuz-5.14.0-284.11.1.el9_2.x86_64
/boot/vmlinuz-5.14.0-284.30.1.el9_2.x86_64
/boot/vmlinuz-5.14.0-362.8.1.el9_3.x86_64

Rsyslog

Rsyslogd 是用于日志记录的守护进程,rsyslogd 拥有高性能、灵活性、可靠性、安全性等特点,可以用于替代 syslogd 守护进程。

新版本的 Rsyslog 处理系统引入了可定制的 TLS/SSL 加密设置。

在以前的版本中,为单独的连接配置 TLS/SSL 加密设置仅限于全局设置。使用最新版本,你可以在 Rsyslog 中为每条单独的连接定义唯一的 TLS/SSL 设置。这包括指定不同的 CA 证书、私钥、公钥和 CRL 文件以增强安全性和灵活性。

  • rocky 9.4
[shawnyan@rocky9 ~]$ rsyslogd -version
rsyslogd  8.2310.0-4.el9 (aka 2023.10) compiled with:
        PLATFORM:                               x86_64-redhat-linux-gnu
        PLATFORM (lsb_release -d):
        FEATURE_REGEXP:                         Yes
        GSSAPI Kerberos 5 support:              Yes
        FEATURE_DEBUG (debug build, slow code): No
        32bit Atomic operations supported:      Yes
        64bit Atomic operations supported:      Yes
        memory allocator:                       system default
        Runtime Instrumentation (slow code):    No
        uuid support:                           Yes
        systemd support:                        Yes
        Config file:                            /etc/rsyslog.conf
        PID file:                               /var/run/rsyslogd.pid
        Number of Bits in RainerScript integers: 64

See https://www.rsyslog.com for more information.
  • rocky 9.3
[shawnyan@rocky9 ~]$ rsyslogd -version
rsyslogd  8.2102.0-117.el9 (aka 2021.02) compiled with:

golang

Go,通常被称为 golang,是由 Google 开发的开源编程语言。Go 语言设计于 2007 年,并于 2009 年正式对外发布。Go 语言的语法类似于 C 语言,但提供了内存安全、垃圾回收、结构化错误处理等现代编程语言特性。

  • rocky 9.4
[shawnyan@rocky9 ~]$ go version
go version go1.21.9 (Red Hat 1.21.9-2.el9_4) linux/amd64
  • rocky 9.3
[root@rocky9 yum.repos.d]# go version
go version go1.20.10 linux/amd64

由 Go 语言开发的数据库项目有很多,以下列举几款常见的数据库项目:

  • 关系型数据库 TiDB

是一个开源分布式 SQL 数据库,支持混合事务/分析处理 (HTAP) 工作负载。它与 MySQL 兼容,具有水平可扩展性、强一致性和高可用性。

  • 图数据库 Dgraph

是一个具有图形后端的水平可扩展分布式 GraphQL 数据库。它提供 ACID 事务、一致性复制和线性化读取。

  • 键值数据库 etcd

是一个分布式的可靠键值存储,用于存储分布式系统中最重要的数据,具有简单、安全、快速、可靠等特点。可用于配置管理和服务发现,常用于持久化 Kubernetes 集群状态。

  • 向量数据库 Milvus

是一个开源向量数据库,旨在为嵌入式相似性搜索和 AI 应用程序提供支持。Milvus 2.0 是一款云原生向量数据库,设计上存储与计算分离,所有组件均为无状态,增强了弹性和灵活性。

postgresql:16

PostgreSQL 是一个功能强大的开源对象关系数据库系统,经过 35 多年的积极开发,在可靠性、功能稳健性和性能方面赢得了良好的声誉。

PostgreSQL 16 于 2023 年 9 月发布,进一步提高了性能并增加了更多复制选项等。

RHEL 9.4 引入了 PostgreSQL 16 作为 postgresql:16 模块流。

关于PG模块流的更多内容,戳这里:

  • [PG15] 在 Rocky 9 上安装 PostgreSQL 15 的五种方法

安装步骤如下:

[shawnyan@rocky9 ~]$ sudo dnf module install postgresql:16
Dependencies resolved.
=====================================================================================================
 Package                     Arch       Version                                  Repository     Size
=====================================================================================================
Installing group/module packages:
 postgresql-server           x86_64     16.1-1.module+el9.4.0+20018+a4fc542f     appstream     6.9 M
Installing dependencies:
 postgresql                  x86_64     16.1-1.module+el9.4.0+20018+a4fc542f     appstream     1.8 M
 postgresql-private-libs     x86_64     16.1-1.module+el9.4.0+20018+a4fc542f     appstream     141 k
Installing module profiles:
 postgresql/server
Enabling module streams:
 postgresql                             16

Transaction Summary
=====================================================================================================
Install  3 Packages

Total download size: 8.9 M
Installed size: 37 M
...
Installed:
  postgresql-16.1-1.module+el9.4.0+20018+a4fc542f.x86_64
  postgresql-private-libs-16.1-1.module+el9.4.0+20018+a4fc542f.x86_64
  postgresql-server-16.1-1.module+el9.4.0+20018+a4fc542f.x86_64

Complete!

由于本机之前安装过PG,所以先要进行升级。

[postgres@rocky9 ~]$ postgresql-setup --upgrade
 * Upgrading database.
 * Upgraded OK.
WARNING: The configuration files were replaced by default configuration.
WARNING: The previous configuration and data are stored in folder
WARNING: /var/lib/pgsql/data-old.
WARNING: If you've just upgraded your database from a previous major version of
Fedora or RHEL, please run reindexdb against your databases.  Core library
collation data may have changed and this will invalidate database indexes.  For
example, in Fedora 28 and RHEL 8 there have been extensive changes in glibc
collations to support ISO 14651:2016 (Unicode 9.0.0 data) and your indexes may
be affected: https://sourceware.org/ml/libc-announce/2018/msg00002.html
 * See /var/lib/pgsql/upgrade_postgresql.log for details.

启动PG服务。

[shawnyan@rocky9 ~]$ sudo systemctl start postgresql
[shawnyan@rocky9 ~]$ systemctl status postgresql
● postgresql.service - PostgreSQL database server
     Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; preset: disabled)
     Active: active (running) since Mon 2024-06-02 14:05:29 UTC; 5s ago
...
Jun 02 14:05:29 rocky9.shawnyan.cn systemd[1]: Started PostgreSQL database server.

查看PG版本。

[postgres@rocky9 ~]$ psql -c 'select version()'
                                                   version
--------------------------------------------------------------------------------------------------------------
 PostgreSQL 16.1 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 11.4.1 20231218 (Red Hat 11.4.1-3), 64-bit
(1 row)

总结

本文介绍了如何从 Rocky Linux 9.3 升级到 RL 9.4,并介绍了 RL 9.4 部分新特性,以及介绍了 RL 9.4 中 PG:16 模块的相关内容。


🌻 往期精彩 ▼

[Oracle]

  • Oracle 数据库全面升级为 23ai
  • python-oracledb 已率先支持 Oracle 23ai
  • 一文带你了解 Oracle 23ai 新特性 Vector 的基础用法

[MySQL]

  • 「合集」MySQL 8.x 系列文章汇总
  • 如何选择适合的 MySQL Connector/J 版本
  • MySQL 8.4.0 LTS 发布 (MySQL 第一个长期支持版本)

[TiDB]

  • 星辰考古:TiDB v2.x 回忆杀
  • TiDB x KubeBlocks 集成案例
  • TiDB v7.5.0 LTS 升级必读 | 新特性补充说明

[PG]

  • 哈喽,国产数据库!Halo DB!
  • 即将告别PG 12,建议升级到PG 16.3版本
  • 后 EL 7 时代,PG 16 如何在 CentOS 7 上运行

-- / END / --

👉 这里可以找到我

  • 微信公众号:少安事务所 (mysqloffice)
  • 墨天轮: 严少安
  • PGFans: 严少安
  • ITPUB: 少安事务所

如果这篇文章为你带来了灵感或启发,就请帮忙点『赞』or『在看』or『转发』吧,感谢!(๑˃̵ᴗ˂̵)

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1826096.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】STL中stack、queue、deque的使用

前言:在前面我们学习了List的模拟实现与使用,今天我们进一步的来学习stack、queue、deque的使用方法,然后为后面的模拟实现做一下铺垫。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:高质量&#xff…

liunx常见指令

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 二、安装环境 1.租借服务器 2.下载安装 XShell 3.使用xshll登录服务器 三、Linux基础命令 一、文件和命令 ​编辑1、cd 命令 2、pwd 命令 3、ls 命令 4、cp 命令 …

【three.js案例一】智慧星球

直接附上源码: import * as THREE from three; import { OrbitControls } from three/addons/controls/OrbitControls.js;//场景 const scene = new THREE.Scene();const geometry = new THREE.SphereGeometry(50,32,16);console.log(.postion,geometry.attributes.position)…

上网行为管理产品有哪些?好用的四款上网行为管理产品

上网行为管理产品是现代企业网络安全架构中的重要组成部分,它们旨在帮助企业有效监控、管理和控制员工的网络使用行为,确保网络资源的合理利用,保障信息安全,提升工作效率。 以安企神为例,我们将详细介绍它的主要功能…

python保存文件后打不开的原因是什么

引入数据集,奇怪的是怎么也打不开,显示不存在这个文件: 但是,我将文件改个名字,就打开了,难道csv的文件命名必须有一定合法性? import pandas users pandas.read_csv("H:\python\data an…

OpenDevin 环境配置及踩坑指南

不惧怕任何环境配置 首先 clone 项目,然后查看开发者文档:https://github.com/OpenDevin/OpenDevin/blob/main/Development.md make setup-config 自定义 LLM 配置 首先这个 devin 写的是支持自定义的 LLM 配置,并且提供了交互式命令供我们…

华为云计算和数通有什么用?大咖在这里为你讲解

网工这一职业的就业前景,是一直以来都被看好的。薪资水平普遍较高,随着经验的积累,薪资水平还会不断提升,职业发展路径也非常广阔。 谈到网工,就绕不开华为认证,华为认证作为网络工程师的一块金字招牌&…

mini web框架示例

web框架: 使用web框架专门负责处理用户的动态资源请求,这个web框架其实就是一个为web服务器提供服务的应用程序 什么是路由? 路由就是请求的url到处理函数的映射,也就是说提前把请求的URL和处理函数关联好 管理路由可以使用一个…

MySQL 中 Varchar(50) 和 varchar(500) 区别是什么?

一. 问题描述 我们在设计表结构的时候,设计规范里面有一条如下规则: 对于可变长度的字段,在满足条件的前提下,尽可能使用较短的变长字段长度。 为什么这么规定?我在网上查了一下,主要基于两个方面 基于存储空间的考…

Springboot实现微信小程序登录功能

目录 一 什么是微信登录功能 二 实现微信登录功能的整体逻辑 三 微信登录功能实现步骤 一 什么是微信登录功能 微信小程序登录功能一般用于开发微信小程序的时候,我们需要使用微信授权登录我们的微信小程序,本篇博客就微信小程序实现微信授权登录以及s…

Javaweb8 数据库Mybatis+JDBC

Mybatis Dao层,用于简化JDBC开发 1步中的实体类 int类型一般用Integer :如果用int类型 默认值为0,会影响数据的判断,用Integer默认值是null,不会给数据的判断造成干扰 2.在application .properties里配置数据库的链接信息-四要素 #驱动类名称 #URL #用…

stm32f103 HAL库 HC-SR04测距

目录 一、实现测距二、添加TIM3控制LED根据距离以不同频率闪烁三、观察时序Modebus协议12路超声波雷达设计方案1. 系统架构设计2. 硬件设计3. 软件设计4. 通信协议设计5. 用户接口6. 安全和冗余7. 测试和验证8. 电源和物理封装9. 文档和支持 一、实现测距 配置时钟 配置定时器…

0-1 构建用户画像数仓

目录 前言 一、用户画像概述 1.1 用户画像 1.2 用户标签 1.3 用户群组 二、建设标签和标签体系 2.1 标签体系 2.1.1 统计类标签 2.1.2 规则类标签 2.1.3 机器学习挖掘类标签 2.2 标签建设流程 2.2.1 需求收集与分析 2.2.2 产出标签需求文档 2.2.3 标签的开发 H…

docker安装消息队列mq中的rabbit服务

在现代化的分布式系统中,消息队列(Message Queue, MQ)已经成为了一种不可或缺的组件。RabbitMQ作为一款高性能、开源的消息队列软件,因其高可用性、可扩展性和易用性而广受欢迎。本文将详细介绍如何在Docker环境中安装RabbitMQ服务…

04-appium元素定位

一、uiautomatorviewer uiautomatorviewer是Android-SDK自带的一个元素定位工具,非常简单好用,可以使用该工具查看app应用中的元素属性,帮助我们在代码中进行元素定位。 1)使用步骤 在Android-SDK安装目录中进入到 android-sdk-…

【TB作品】STM32F102C8T6单片机,PWM发生器

硬件: STM32F102C8T6核心板,按键,0.96 OLED显示屏。 软件: 1、硬件启动触发单片机输出PWM,未触发之前PWM输出为低电平。 2、按键修改PWM的变化模式、变化时间长度、占空比上下限。 3、输出的PWM是固定的10kHZ的。 4、变…

Redis的安装(linux、docker)与其基本的api使用

一、Redis简介 Redis是一个开源的,使用 C 编写,高性能的Key-Value的NoSQL数据库。 SQL :关系型数据库,例如:MySQL,Oracle等等NoSQL :Not Only SQL 不仅仅是SQL,表示是非关系型数据库…

【漏洞复现】东胜物流软件 GetProParentModuTreeList SQL注入漏洞

0x01 产品简介 东胜物流软件是青岛东胜伟业软件有限公司-款集订单管理、仓库管理、运输管理等多种功能于一体的物流管理软件。该公司初创于2004年11月(前身为青岛景宏物流信息技术有限公司),专注于航运物流相关环节的产品和服务。东胜物流信息管理系统货代版采用MS…

Canvas绘制老友记时钟

Canvas绘制老友记时钟 前言 一直做3D/2D可视化&#xff0c;Canvas API和三角函数&#xff0c;空间几何是基础。在官网上看了一遍Canvas API之后&#xff0c;决定绘制一个老友记时钟来巩固知识点&#xff0c;本文用实际代码讲解绘制过程。 代码 HTML <canvas id"myC…

C++ 30 之 new 和 delete 关键字

#include <iostream> #include <string.h> using namespace std;class Students08{ public:Students08(){cout << "students08的默认构造函数"<< endl;}Students08(int a){cout << "students08的有参构造函数"<< endl…