Red Hat Enterprise Linux 8 Beta体验

前几天还在想,Ubuntu LTS更新到了18.04,Debian 9也发布这么久了,唯独RHEL/CentOS还是稳定在7,也不知道8什么时候发布,没想到今天刷资讯的时候就刷到了Red Hat Enterprise Linux 8 Beta版发布的消息,不管稳不稳定,先下载下来尝个鲜先。

首先,放上官方页面:
https://developers.redhat.com/rhel8/

得益于红帽的开发者免费计划,我们不用花钱也能体验RHEL,我就是为了体验一下纯粹的RHEL而注册了一个Red Hat Developer账户,如果不想花钱,又想体验RHEL的,注册一个账户就行了,注册好之后就能从Red Hat下载到很多产品,比如说Red Hat Enterprise Linux及Red Hat Enterprise Linux Beta,对,我没写错,这两者是分开的。

注册完登录之后,可以下载安装镜像,下载安装都没什么说的,和CentOS7差不多,按提示一步一步进行就能安装成功了。我是在VirtualBox里面安装的,划分了2G的内存8G的SSD,整个安装及体验过程很流畅。

安装好之后,需要使用如下命令进行注册和激活,注意是输入账号和密码,不是邮箱,我就是没看清直接输入导致失败了很多次:

subscription-manager attach --auto

这里要特别说明一下的是,由于我是之前注册的RHEL账户,导致用上述命令进行注册的时候,注册完始终说未订阅,网上找了找发现还需要到这个页面进行订阅:http://www.redhat.com/wapps/try/RHEL8Beta ,订阅之后,再到命令行输入如上命令就可能成功使用RHEL源了。

RHEL 8 Beta体验

可能是还是Beta阶段,SSH上去之后发现,虽然功能可能正常,但是输出还有些问题,比如说这个:
red-hat-enterpise-linux-8-beta

初步体验

内核版本更新到了目前比较新的4.18.0,查了下,这个内核版本并不是LTS版,不知道为什么会选择这个版本的内核?也不知道正式版发布的时候会不会更换:

[root@RHEL8 zocodev]# uname -a
Linux RHEL8 4.18.0-32.el8.x86_64 #1 SMP Sat Oct 27 19:26:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

默认情况下,selinux和firewalld还存在,并且默认开启,Firewalld我能理解,selinux我是实在不知道怎么使用,每次都是拿到机器就把这东西关闭。

体验过程中发现,RHEL8还是使用的yum作为包管理器,而不是Fedora上使用的DNF,虽然有的时候敲yum也会出现dnf的身影,而且,和之前不一样的是,RHEL8多一个一个叫做Appstreams的东西,我的理解是,一个软件包不再是只提供一个版本进行选择,拿PHP来说,在RHEL8中目前提供了7.1和7.2两个版本,Python则提供了3.6和2.7两个版本,而比较诡异的是,我不知道之前的RHEL7是否提供了MySQL-Server,但是RHEL8提供了MySQL 8.0及MariaDB 10.3供选择,以下是可安装的Appstreams列表:

[root@RHEL8 zocodev]# yum module list
Failed to set locale, defaulting to C
Updating Subscription Management repositories.
Updating Subscription Management repositories.
Last metadata expiration check: 0:28:21 ago on Sat Nov 17 03:42:02 2018.
Red Hat Enterprise Linux 8 for x86_64 - AppStream Beta (RPMs)
Name                                 Stream                     Profiles                                                  Summary
389-ds                               1.4                        default                                                   389 Directory Server (base)
App-cpanminus                        1.7044 [d]                 default [d]                                               Get, unpack, build and install CPAN modules
DBD-MySQL                            4.046 [d]                  default [d]                                               A MySQL interface for Perl
DBD-Pg                               3.7 [d]                    default [d]                                               A PostgreSQL interface for Perl
DBD-SQLite                           1.58 [d]                   default [d]                                               SQLite DBI driver
DBI                                  1.641 [d]                  default [d]                                               A database access API for Perl
YAML                                 1.24 [d]                   default [d]                                               Perl parser for YAML
ant                                  1.10 [d]                   default [d]                                               Java build tool
container-tools                      1.0 [d]                    default [d]                                               Common tools and dependencies for container runtimes
freeradius                           3.0 [d]                    server [d]                                                High-performance and highly configurable free RADIUS server
gimp                                 2.8 [d]                    devel, default [d]                                        gimp module
go-toolset                           rhel8 [d]                  default [d]                                               Go
httpd                                2.4 [d]                    devel, minimal, default [d]                               Apache HTTP Server
idm                                  DL1                        adtrust, client, dns, server, default [d]                 The Red Hat Enterprise Linux Identity Management system module
idm                                  client [d]                 default [d]                                               RHEL IdM long term support client module
inkscape                             0.92.3 [d]                 default [d]
javapackages-runtime                 201801 [d]                 default [d]                                               Basic runtime utilities to support Java applications
llvm-toolset                         rhel8 [d]                  default [d]                                               LLVM
mailman                              2.1 [d]                    default [d]
mariadb                              10.3 [d]                   client, server, galera, default [d]                       MariaDB Module
maven                                3.5 [d]                    default [d]                                               Java project management and project comprehension tool
mercurial                            4.6 [d]                    default [d]                                               Mercurial -- a distributed SCM
mod_auth_openidc                     2.3                                                                                  Apache module suporting OpenID Connect authentication
mod_perl                             2.0.10 [d]                 devel, default [d], reload                                An embedded Perl interpreter for the Apache HTTP Server
mysql                                8.0 [d]                    client, server, default [d]                               MySQL Module
nginx                                1.14 [d]                   default [d]                                               nginx webserver
nodejs                               10 [d]                     development, minimal, s2i, default [d]                    Javascript runtime
nodejs                               8                          development, minimal, s2i, default [d]                    Javascript runtime
parfait                              0.5                        default                                                   Parfait Module
perl                                 5.24                       minimal, default                                          Practical Extraction and Report Language
perl                                 5.26 [d]                   minimal, default [d]                                      Practical Extraction and Report Language
php                                  7.1                        devel, minimal, default [d]                               PHP scripting language
php                                  7.2 [d]                    devel, minimal, default [d]                               PHP scripting language
pki-core                             10.6                                                                                 PKI Core
pki-deps                             10.6                                                                                 PKI Dependencies
postgresql                           10 [d]                     client, default [d]                                       postgresql module
postgresql                           9.6                        client, default [d]                                       postgresql module
python27                             2.7 [d]                    default [d]                                               Python programming language, version 2.7
python36                             3.6 [d][e]                 build [i], default [d]                                    Python programming language, version 3.6
redis                                4.0 [d]                    default [d]                                               Redis persistent key-value database
rhn-tools                            1.0 [d]                    default [d]                                               Red Hat Satellite 5 tools for RHEL
ruby                                 2.5 [d]                    default [d]                                               An interpreter of object-oriented scripting language
rust-toolset                         rhel8 [d]                  default [d]                                               Rust
satellite-5-client                   1.0 [d]                    gui, default [d]                                          Red Hat Satellite 5 client packages
scala                                2.10 [d]                   default [d]                                               A hybrid functional/object-oriented language for the JVM
sos-collector                        rhel8 [d]                  default [d]                                               Utility to collect sosreports from multi-node environments
squid                                4 [d]                      default [d]                                               Squid - Optimising Web Delivery
subversion                           1.10 [d]                   server, default [d]                                       Apache Subversion
swig                                 3.0 [d]                    complete, default [d]                                     Connects C/C++/Objective C to some high-level programming languages
varnish                              6 [d]                      default [d]                                               Varnish HTTP cache
virt                                 rhel [d]                   default [d]                                               Virtualization module

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

根据文档,安装命令格式为:

yum module install php:7.1/default

也就是说,除了之前的yum install packgename_and_version的格式安装软件包之外,还能用上述命令安装指定软件的指定版本及指定相关模块,也是厉害了。

而且还有一点让我很意外的是,RHEL8竟然使用的是OpenSSL 1.1.1及支持TLS v1.3的Nginx 1.14版本,这对于喜欢折腾Nginx的我来说,可真是一件大好事啊。

至于还有一个CodeReady Linux Builder,我还没搞懂是什么东西。

未完待续…