RockyLinux8安装笔记
作者:gc(,主页:
Redhat 对 CentOS Linux 8 的⽀持也已从 2029年 5 ⽉ 31 ⽇缩短⾄ 2021 年 12 ⽉ 31 ⽇。
Rocky Linux 8 正式版已经发布,作为 CentOS 的权威替代,是时候考虑将 CentOS 8 替换为 Rocky Linux 了。
Rocky Linux 简介
2021 年 6 ⽉ 21 ⽇,Rocky Linux 8.4 ⾸个正式版发布,Rocky Linux 由 CentOS 项⽬的创始⼈ Gregory Kurtzer 领导。
以社区驱动为导向,为您带来企业级、可⽣产的 Linux 系统。
Rocky Linux 项⽬是什么?
Rocky Linux 是⼀个社区化的企业级操作系统。其设计为的是与美国顶级企业 Linux 发⾏版实现 100% Bug 级兼容,⽽原因是后者的下游合作伙伴转移了发展⽅向。⽬前社区正在集中⼒量发展有关设施。Rocky Linux 由 CentOS 项⽬的创始⼈ Gregory Kurtzer 领导。⽬前已经发布了⾸个正式版。
常见问题
“下游合作伙伴转移了发展⽅向” 是什么意思?
CentOS 项⽬最近宣布了 CentOS 的战略转变,CentOS 以前是作为上游供应商的下游构建版本存在的(即它会在上游供应商之后收到补丁和更新),⽽现在它将转移为⼀个上游构建版本(即它会在上游供应商纳⼊之前测试补丁和更新)。另外,对 CentOS Linux 8 的⽀持也已从 2029 年 5 ⽉ 31 ⽇缩短⾄ 2021 年 12 ⽉ 31 ⽇。
那么 Rocky Linux 从何⽽来呢?
Rocky Linux 的⽬标是像 CentOS 以前那样作为⼀个下游构建版本,在被上游供应商纳⼊包更新之后(⽽不是之前)构建发⾏。
CentOS 是红帽公司(Red Hat, Inc.)的注册商标,Rocky Linux 项⽬既不⾪属于红帽公司(Red Hat, Inc.),也⽆受其认可。
新特性
CentOS 8 新特性
DNF 成为了默认的软件包管理器,同时 yum 仍然是可⽤的(yum 是 dnf 的链接)
使⽤⽹络管理器(nmcli和nmtui)进⾏⽹络配置,移除了⽹络脚本
使⽤ Podman 进⾏容器管理
引⼊了两个新的包仓库:BaseOS 和 AppStream
使⽤ Cockpit 作为默认的系统管理⼯具
默认使⽤ Wayland 作为显⽰服务器
iptables将被nftables取代
使⽤ Linux 内核 4.18
动态编程语⾔、Web 和数据库服务器
Python 3.6是默认的 Python 环境,有限⽀持 Python 2.7
Node.js是在 RHEL 最新包含的,其他动态语⾔更新包括: PHP 7.2 , Ruby 2.5 , Perl 5.26 , SWIG 3.0
RHEL 8 提供的数据库服务包括:MariaDB 10.3 , MySQL 8.0 , PostgreSQL 10 , PostgreSQL 9.6 , 和Redis 5
RHEL 8 提供Apache HTTP Server 2.4以及⾸次引⼊的, nginx 1.14
Squid版本升级到 4.4 ,同时也⾸次提供Varnish Cache 6.0
CentOS 8.4 Upstream changes
See the of the upstream RHEL 8.4 release notes.
Of particular note, this release adds the following new versions of software in optional module streams.
Python 3.9
SWIG 4.0
Subversion 1.14
Redis 6
PostgreSQL 13
MariaDB 10.5
Several rolling AppStream have been rebased to newer versions.
LLVM Toolset 11.0.0
Rust Toolset 1.49.0
Go Toolset 1.15.7
Yum repo file and repoid changes
You may also want to update any scripts that you have that specify repoids using the --enablerepo or --disablerepo flags
Repoid (8.2.2004 and before)Repoid (8.3.2011 and later)
BaseOS baseos
Repoid (8.2.2004 and before)Repoid (8.3.2011 and later)
AppStream appstream
PowerTools powertools
centosplus plus
HighAvailability ha
base-debuginfo debuginfo
Devel devel
BaseOS-source baseos-source
AppStream-source appstream-source
centosplus-source plus-source
base-debuginfo debuginfo
安装要点
详细步骤参看 CentOS 8 安装截图,这⾥列出⼏个注意点。
推荐使⽤ Minimal 安装介质。
先配置⽹络,否则某些项⽬⽆法配置。
Network & Hostname:点击 OFF 按钮为 ON,点击 按钮,General 页⾯注意勾选 “Connect automatically with priority”,根据需要⼿动配置 IP 地址和DNS。
Installation Destination:点选 Custom,默认使⽤ LVM,点击 “Click here to create them automatically” ⾃动创建,⼿动调整:删除 /home,将 SWAP 修改为整数 4 GiB,/boot 默认 1024 MiB,剩余分配给 /。
Installation Source:如果是 Minimal 或者 DVD 介质,默认是 Local media
Keyboard:默认 English (US)
Language Support:下拉到最下⾯ “中⽂”,勾选 “简体中⽂” 和两个 “繁体中⽂”
Software Selection:Minimal Install,勾选 "Development Tools",虚机同时勾选 “Guest Agent”
KDUMP:默认启⽤
Time & Date:点选 Asia/Shanghai,Network Time ⾃动 ON(前⾯先配置了⽹络)
Security Policy:暂⽆,忽略
Root Password:⽀持 root 密码
User Creation:新建额外的账号,可选
"Development Tools" 有哪些软件?
# dnf groupinfo "Development Tools"
Updating Subscription Management repositories.
Group: Development Tools
Description: A basic development environment.
Mandatory Packages:
autoconf
automake
binutils
bison
linux安装redis服务flex
gcc
gcc-c++
gdb
glibc-devel
libtool
make
pkgconf
pkgconf-m4
pkgconf-pkg-config
redhat-rpm-config
rpm-build
rpm-sign
strace
Default Packages:
asciidoc
byacc
ctags
diffstat
git
intltool
ltrace
patchutils
perl-Fedora-VSP
perl-generators
pesign
source-highlight
systemtap
valgrind
Optional Packages:
cmake
expect
rpmdevtools
rpmlint
⼿动安装开发⼯具命令:dnf groupinstall "Development Tools"
系统配置
1. 格式化⽹卡命名
即禁⽤ consistent interface device naming
要点:与 CentOS 7 配置上略有不同。
CentOS 7:net.ifnames=0 biosdevname=0
CentOS 8:net.ifnames=0
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost ~]# ls
ifcfg-ens33
注意这⾥的名称根据硬件有所变动,这⾥是 vm 环境,本次名称为 ens33,如果你希望继续使⽤ eth0 这样的传统名称,那么在安装启动时加上参数:net.ifnames=0
这种变化的原因,从 CentOS 7 开始,是由于 systemd 和 udev 引⼊了⼀种新的⽹络设备命名⽅式 – ⼀致⽹络设备命名(CONSISTENT NETWORK DEVICE NAMING)。可以根据固件、拓扑、位置信息来设置固定名字,带来的好处是命名⾃动化,名字完全可预测,在硬件坏了以后更换也不会影响设备的命名,这样可以让硬件的更换⽆缝化。带来的不利是新的设备名称⽐传统的名称难以阅读。⽐如新的名称是 enp5s0.
Rocky Linux 8 grub 默认配置如下:
# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed's, release .*$,,g'/etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
不同于 CentOS 8,没有rhgb quiet
rhgb 表⽰ redhat graphics boot,就是会看到图⽚来代替启动过程中显⽰的⽂本信息,这些信息在启动后⽤ dmesg 也可以看到
quiet 表⽰在启动过程中只有重要信息显⽰,类似硬件⾃检的消息不回显⽰
1.1 编辑 grub 配置⽂件
# 如果系统已经安装,希望改成 eth0 这样的名称,那么需要:
# 修改 grub2 启动参数
vi /etc/default/grub
# 也有⽂章修改 /etc/sysconfig/grub,该⽂件是 /etc/default/grub 的链接
# 增加内容:net.ifnames=0
# 原内容:
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap"
# 修改后 (位置并没有严格要求,⼀般添加在最后⾯即可):
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap net.ifnames=0"
#保存
:x
因为默认没有rhgb quiet参数,以下仅适⽤于 CentOS
# 直接⽤ sed 命令替换
# CentOS 8
sed -i 's/rhgb/net.ifnames=0 rhgb/' /etc/default/grub
# CentOS 7
sed -i 's/rhgb/net.ifnames=0 biosdevname=0 rhgb/' /etc/default/grub
1.2 运⾏如下命令重建 grub.cfg ⽂件
# legacy boot mode:
grub2-mkconfig -o /boot/grub2/grub.cfg
# UEFI boot mode:
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
1.3 重命名⽹卡配置⽂件
# 重新对⽂件进⾏命名:
cd /etc/sysconfig/network-scripts/
mv ifcfg-ens33 ifcfg-eth0
vi ifcfg-eth0
编辑 NAME=eth0
编辑 DEVICE=eth0
注释 HWADDR,如果有
1.4 重启⽣效
reboot
重新登录后,执⾏命令nmcli可以看到⽹卡名称已经变成 “eth0”,则配置成功。
参考:
2. 配置⽹络
2.1 ⽅法⼀:⼿⼯配置 ifcfg,使⽤ nmcli 来⽣效新的⽹络配置
安装过程中最好配置好⽹络,如果需要编辑⽹络,修改配置⽂件如下:
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none #static,使⽤静态 IP 配置(CentOS 8 这⾥是 none 也是静态)
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=34f808f1-1232-4900-83db-82d32533f776
DEVICE=eth0
ONBOOT=yes #开机⾃动启⽤⽹络连接
IPADDR=10.3.5.5 #IP 地址
PREFIX=24 #掩码
GATEWAY=10.3.5.1 #默认⽹关
DNS1=10.3.5.11 #DNS 服务器
DNS2=10.3.5.12 #备⽤ NDS 服务器
#域名
IPV6_PRIVACY=no
nmcli c reload #重新加载⽹络配置
ping www.baidu #测试⽹络是否正常
ip addr #查看 IP 地址
重启⽹络
⽐如配置了静态路由,使⽤nmcli c reload⽆法⽣效,需要重启⽹络
systemctl restart NetworkManager.service
nmcli networking off && nmcli networking on
注意:CentOS 8 (默认安装) 重启⽹络 "systemctl restart network" 已经不可⽤。
nmcli n #查看 nmcli 状态
nmcli n on #启动 nmcli
nmcli c up eth0 #启动⽹卡 eth0
nmcli c down eth0 #关闭⽹卡 eth0
nmcli d c eth0 #激活⽹卡
nmcli d show eth0 #查看⽹卡 eth0 信息
nmcli r all off #关闭⽆线
2.2 ⽅法⼆:RHEL8/CentOS8 完全使⽤ nmcli 来管理⽹络
nmcli 命令帮助:
命令不⽀持⾃动补全,但是可以通过 - h 参数逐步获得帮助
## 说明 nmcli 后⾯的命令关键字都可以⽤第⼀个字母简写来标识,例如:
## nmcli connection = nmcli c
## nmcli connection show --active = nmcli c s --a
nmcli -h
nmcli connection -h
nmcli connection add -h
nmcli connection modify -h
创建⼀个完整的配置⽂件:
IFACE=`nmcli dev|grep ethernet|awk '{print $1}'`
nmcli con delete $IFACE
# 下⾯将使⽤传统的 eth0 命名⽅式,前提是已经做了格式化⽹卡名称的配置
nmcli con add con-name eth0 ifname eth0 type ethernet autoconnect yes
nmcli connection modify hod manual \
ipv4.addresses 10.3.5.5/24 \
ipv4.dns "10.3.5.11, 10.3.5.12" \
ipv4.gateway 10.3.5.1 \
ipv4.
nmcli c up eth0
nmcli c reload
可以配置的参数选项:
ipv4.[method, dns, dns-search, dns-options, dns-priority, addresses, gateway, routes, route-metric, route-table, ignore-auto-routes, ignore-auto-dns, dhcp-client-id, dhcp-timeout, dhcp-send-hostname, dhcp-hostname, dhcp-fqdn, never-default, may-fail, dad-timeout]
nmcli ⽰例命令参考:
# 查看⽹卡信息
nmcli connection
NAME UUID TYPE DEVICE
eth0 db05ccae-3a48-4300-b3a6-7c56429c4f54 ethernet eth0
# 显⽰具体的⽹络接⼝信息
nmcli connection show eth0
# 显⽰所有活动连接
nmcli connection show --active
# 删除⼀个⽹卡连接
nmcli connection delete eth0
# 创建⼀个⽹卡连接
IFACE=`nmcli dev|grep ethernet|awk '{print $1}'`
nmcli con delete $IFACE
nmcli con add con-name "$IFACE" ifname "$IFACE" type ethernet autoconnect yes
# 给 eth0 添加⼀个 IP 和⼦⽹掩码(NETMASK)
nmcli connection modify eth0 ipv4.addresses 10.3.5.5/24
# 给 eth0 添加两个 IP 地址和掩码
nmcli connection modify eth0 ipv4.addresses "10.3.5.5/24, 10.3.5.6/24"
# IP 获取⽅式设置成⼿动(BOOTPROTO=static/none)
nmcli connection modify hod manual
# 添加⼀个 ipv4
nmcli connection modify eth0 +ipv4.addresses 10.3.5.6/24
# 删除⼀个 ipv4
nmcli connection modify eth0 -ipv4.addresses 10.3.5.6/24
# 添加 DNS
nmcli connection modify eth0 ipv4.dns 10.3.5.11
# 同时添加两个 DNS
nmcli connection modify eth0 ipv4.dns "10.3.5.11, 10.3.5.12"
# 删除 DNS
nmcli connection modify eth0 -ipv4.dns 10.3.5.11
# 删除第⼀个 DNS
nmcli connection modify eth0 -ipv4.dns 1
# 添加⼀个⽹关(GATEWAY)
nmcli connection modify eth0 ipv4.gateway 10.3.5.1
# 都可以同时写,例如:
nmcli connection modify eth0 ipv4.dns 10.3.5.11 ipv4.gateway 10.3.5.1
# 域名 dns-search,对应 ifcfg 中的 DOMAIN
nmcli connection modify eth0 ipv4.
# 使⽤ nmcli 重新回载⽹络配置
nmcli c reload
# 如果之前没有 eth0 的 connection,则上⼀步 reload 后就已经⾃动⽣效了
nmcli c up eth0
2.3 ⽅法三:⼿⼯配置 ifcfg,安装 network.service 服务
可以通过yum install network-scripts来安装传统的 network.service,不过 redhat 说了,在下⼀个 RHEL 的⼤版本⾥将彻底废除,因此不建议使⽤ network.service。yum install network-scripts
service network restart #重启⽹络服务
systemctl restart network.service #重启⽹络服务
3. 修改主机名
说明:与 CentOS 7 ⽅法相同
即时⽣效
hostname sysin #设置主机名为 sysin
永久⽣效
vi /etc/hostname #编辑配置⽂件
sysin #修改 localhost.localdomain 为 sysin
:x #保存退出
或者使⽤命令:`hostnamectl set-hostname sysin`
同时修改 hosts ⽂件:
vi /etc/hosts #编辑配置⽂件
127.0.0.1 sysin #增加⼀条
:x #保存退出
通过命令快速修改⽰例
hostnamectl set-hostname sysin
# 主机名这⾥是 sysin,替换实际名称直接执⾏
NICName=`ip add|egrep global|awk '{print $NF}'|head -n 1`
IP=`ip add|grep global|awk -F'[/]+' '{ print $3 }'|head -n 1`
Hostname=`hostname`
HostnameAll=`hostname --fqdn` #注意这⾥ `` 不是引号
echo "⽹卡名称:$NICName"
echo "IP 地址: $IP"
echo "主机名称: $Hostname $HostnameAll"
echo "$IP $Hostname $HostnameAll">>/etc/hosts
4. 激活 cockpit web console
CentOS 8 默认集成了 cockpit,登录画⾯提⽰激活⽅法(模板未启⽤):
systemctl enable --now cockpit.socket
补充说明:
Cockpit(飞机驾驶舱)使⽤⽅法
在 web 浏览器中查看服务器并使⽤⿏标执⾏系统任务。很容易管理存储、配置⽹络和检查⽇志等操作。
1) RHEL 8 ⾃动安装了 Cockpit,Cockpit 所需的防⽕墙端⼝会⾃动打开
2) Cockpit 界⾯可⽤于将基于策略的解密(PBD)规则应⽤于受管系统上的磁盘
3) 对于在⾝份管理(IdM)域中注册的系统,Cockpit 默认使⽤域的集中管理的 IdM 资源
4) Cockpit 菜单和页⾯可以在移劢浏览器上导航
5) 可以从 Cockpit Web 界⾯创建和管理虚拟机
6) 现在可以将 “虚拟机” 页⾯添加到 Cockpit 界⾯,该界⾯使⽤户可以创建和管理基于 libvirt 的虚拟机
安装 cockpit
`yum -y install cockpit`
启⽤ cockpit
`systemctl enable --now cockpit.socket`
设置开机⾃启动同时开启服务⼀条命令就可以搞定
使⽤ Cockpit
Cockpit 监听 9090 端⼝
使⽤浏览器访问 `<IP>:9090`
5. 关闭 SELINUX
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论