初探 OpenCloudOS 操作系统

alt

OpenCloudOS 操作系统开源社区

OpenCloudOS 操作系统开源社区是由操作系统、软硬件厂商与个人共同倡议发起的操作系统社区项目,为用户提供自主可控、绿色节能、安全可靠、高性能的下一代云原生操作系统。

2021年12月22日,开源操作系统社区 OpenCloudOS 正式宣布成立,腾讯及宝德、北京初心、北京红旗、飞腾、浪潮、龙芯中科、OPPO、先进开源、中电科申泰、中科方德、兆芯等20余家操作系统生态厂商及用户成为首批创始单位。

目前社区理事单位已达 31 家,联接生态伙伴达 500+ 家,OpenCloudOS 操作系统将与众多生态伙伴一起打造面向未来开放中立的操作系统开源生态。

OpenCloudOS V8 操作系统

OpenCloudOS (以下简称 OC) V8 版本用户态保持与 RHEL 8 版本 100% 二进制兼容,内核采用 OpenCloudOS 社区研发的 5.4 LTS 版本,提供更优性能。​

社区当前主推的L3稳定版本,内核使用社区5.4 LTS版本自主演进。

OpenCloudOS社区对Linux生态有全新的定义:

  • L0 - 软件原生版本/社区,属于原创。例如,Linux 内核社区就属于L0社区,kernel.org发布的内核即属于L0版本内核。OpenCloudOS社区原创的软件亦是L0版本软件。
  • L1 - 基于L0软件二次开发的软件版本,或由多个L0组合构成的软件系统如Linux发行版即属于L1版本软件。对外发布L1版本软件的社区即为L1社区。例如,基于Linux内核社区的LTS版本开发的OpenCloudOS kernel是L1版本内核。L1版本的Linux发行版是最上游的发行版本,知名的Fedora/Debian社区发行的版本即属于L1版本,这两个社区自身亦为L1和社区。
  • L2 - 基于L1版本软件开发,L2版本通常由商业公司主导,如Redhat发行的RHEL,Canonical发行的Ubuntu。Ubuntu社区即属于L2社区。
  • L3 - 基于L2版本软件开发,通常是商业系统的免费再发行版本,如CentOS发行版。

OC Stream 是L1级别的Linux发行版,基于L0软件(包含OpenCloudOS社区和其他国产社区的L0软件)和OpenCloudOS社区开发的L1软件构建,不依赖任何商业和社区发行版本。

alt

OC8兼容RHEL 8用户态;OC9属于社区全自研发行版,不再依赖第三方发行版。

OC8和OC9的小版本迭代计划及生命周期如下:

alt

OC 商软兼容

OpenCloudOS 商业软件(部分)兼容列表如下:

产品名版本软件类型厂家名称
AntDBV7.0数据库管理系统湖南亚信安慧科技有限公司
工业物联网时序数据库IoTDB-数据库管理系统天谋科技(北京)有限公司
开源 PolarDB PostgreSQL 版V11数据库管理系统阿里云计算有限公司
OceanBaseV4数据库管理系统北京奥星贝斯科技有限公司
Galaxybasev3数据库管理系统浙江创邻科技有限公司
数据库管理系统V8数据库管理系统武汉达梦数据库有限公司
KingbaseESV8数据库管理系统北京人大金仓信息技术股份有限公司
企业版数据库系统V6.0数据库管理系统瀚高基础软件股份有限公司
TDSQL-数据库管理系统深圳市腾讯计算机系统有限公司
Gbase 8a MPP ClusterV9集群软件天津南大通用数据技术股份有限公司
TongWebV7.0中间件北京东方通科技股份有限公司

OC V8 安装

OC V8 安装步骤与 RHEL 8 几乎一致。

alt
alt

最后一步协议页,可以看到 OC V8 遵循 Mulan Permissive Software License 2.0 (木兰宽松许可证第2版)。

alt

OC V8 使用

主机信息

内核(kernel)是linux操作系统的核心,对系统资源进行统筹管理,向上提供系统调用接口便于开发人员进行程序开发,向下利用驱动程序对硬件设备进行管理。

查看主机信息及内核版本。

[shawnyan@oc8 ~]$ hostnamectl
   Static hostname: oc8.shawnyan.cn
  Operating System: OpenCloudOS 8.10
            Kernel: Linux 5.4.119-20.0009.32
      Architecture: x86-64
[shawnyan@oc8 ~]$

Go 使用指南

Go 语言(Golang)是谷歌推出的一种编译型、静态类型、并发级别高、垃圾回收的开源编程语言。其简洁、性能高效、并发支持强大,广泛应用于云计算、Web 开发和网络编程。

用户可以通过如下命令安装系统提供的 golang 包。

dnf install golang

确认安装版本。

[shawnyan@oc8 ~]$ go version
go version go1.21.9 (Red Hat 1.21.9-1.module+oc8.8.0+553+35d6133f.1) linux/amd64

基于此进行 Go 开发。

[shawnyan@oc8 ~]$ cat hello.go
package main

import "fmt"

func main() {
    fmt.Println("Hello, OpenCloudOS!")
}
[shawnyan@oc8 ~]$ go run hello.go
Hello, OpenCloudOS!

关于 Go 语言更多内容请参考:

OC V8 上安装 PG 数据库

OC 的 YUM 源中包含了 PostgreSQL 数据库安装包。

[root@oc8 ~]# dnf search postgresql-*
上次元数据过期检查:2:16:06 前,执行于 2024年09月02日 星期一 19时58分33秒。
==================== 名称 匹配:postgresql-* ====================
postgresql-contrib.x86_64 : Extension modules distributed with PostgreSQL
postgresql-docs.x86_64 : Extra documentation for PostgreSQL
postgresql-jdbc.noarch : JDBC driver for PostgreSQL
postgresql-jdbc-javadoc.noarch : API docs for postgresql-jdbc
postgresql-odbc.x86_64 : PostgreSQL ODBC driver
postgresql-odbc-tests.x86_64 : Testsuite files for psqlodbc
postgresql-plperl.x86_64 : The Perl procedural language for PostgreSQL
postgresql-plpython3.x86_64 : The Python3 procedural language for PostgreSQL
postgresql-pltcl.x86_64 : The Tcl procedural language for PostgreSQL
postgresql-private-devel.x86_64 : PostgreSQL development header files for this build of PostgreSQL server
postgresql-private-libs.x86_64 : The shared libraries required only for this build of PostgreSQL server
postgresql-server.x86_64 : The programs needed to create and run a PostgreSQL server
postgresql-server-devel.x86_64 : PostgreSQL development header files and libraries
postgresql-static.x86_64 : Statically linked PostgreSQL libraries
postgresql-test.x86_64 : The test suite distributed with PostgreSQL
postgresql-test-rpm-macros.x86_64 : Convenience RPM macros for build-time testing against PostgreSQL server
postgresql-upgrade.x86_64 : Support for upgrading from the previous major release of PostgreSQL
postgresql-upgrade-devel.x86_64 : Support for build of extensions required for upgrade process
[root@oc8 ~]#

可以通过 DNF 命令直接进行安装。

[root@oc8 ~]# dnf install postgresql-server

安装完成后,通过以下命令启动数据库。

[root@oc8 ~]# systemctl start postgresql
[root@oc8 ~]# systemctl status postgresql
● postgresql.service - PostgreSQL database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2024-09-02 22:08:30 CST; 15s ago
  Process: 10351 ExecStartPre=/usr/libexec/postgresql-check-db-dir postgresql (code=exited, status=0/SUCCESS)
 Main PID: 10355 (postmaster)
    Tasks: 8 (limit: 50356)
   Memory: 17.1M
   CGroup: /system.slice/postgresql.service
           ├─10355 /usr/bin/postmaster -D /var/lib/pgsql/data
           ├─10373 postgres: logger process
           ├─10378 postgres: checkpointer process
           ├─10379 postgres: writer process
           ├─10380 postgres: wal writer process
           ├─10381 postgres: autovacuum launcher process
           ├─10382 postgres: stats collector process
           └─10383 postgres: bgworker: logical replication launcher

9月 02 22:08:30 oc8.shawnyan.cn systemd[1]: Starting PostgreSQL database server...
9月 02 22:08:30 oc8.shawnyan.cn postmaster[10355]: 2024-09-02 22:08:30.138 CST [10355] 日志:  listening on IPv6 address "::1", port 5432
9月 02 22:08:30 oc8.shawnyan.cn postmaster[10355]: 2024-09-02 22:08:30.138 CST [10355] 日志:  listening on IPv4 address "127.0.0.1", port 5432
9月 02 22:08:30 oc8.shawnyan.cn postmaster[10355]: 2024-09-02 22:08:30.138 CST [10355] 日志:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
9月 02 22:08:30 oc8.shawnyan.cn postmaster[10355]: 2024-09-02 22:08:30.139 CST [10355] 日志:  listening on Unix socket "/tmp/.s.PGSQL.5432"
9月 02 22:08:30 oc8.shawnyan.cn postmaster[10355]: 2024-09-02 22:08:30.145 CST [10355] 日志:  日志输出重定向到日志收集进程
9月 02 22:08:30 oc8.shawnyan.cn postmaster[10355]: 2024-09-02 22:08:30.145 CST [10355] 提示:  后续的日志输出将出现在目录 "log"中.
9月 02 22:08:30 oc8.shawnyan.cn systemd[1]: Started PostgreSQL database server.

连接 PG 数据库,并查看基础信息。

[postgres@oc8 ~]$ psql
psql (10.23)
输入 "help" 来获取帮助信息.

postgres=# select version();
                                                        version
-----------------------------------------------------------------------------------------------------------------------
 PostgreSQL 10.23 on x86_64-opencloudos-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (OpenCloudOS 8.5.0-18), 64-bit
(1 行记录)

postgres=# \conninfo
以用户 "postgres" 的身份,通过套接字"/var/run/postgresql"在端口"5432"连接到数据库 "postgres"
postgres=# \l
                                     数据库列表
   名称    |  拥有者  | 字元编码 |  校对规则   |    Ctype    |       存取权限
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |
 template0 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(3 行记录)

postgres=#

到此,基于 OpenCloudOS 编译的 PostgreSQL 10.23 数据库已安装完成,并成功启动。

小结

本节内容我们了解了 OpenCloudOS 的起源和现状,以及如何在 OC 上安装软件和数据库。


🌻 往期精彩 ▼


-- / END / --

👉 这里可以找到我

如果这篇文章为你带来了灵感或启发,就请帮忙点『』or『在看』or『转发』吧,感谢!ღ( ´・ᴗ・` )~

本文由 mdnice 多平台发布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值