[TOC]
0x00 前言简述 描述:本章主要记录了作者在工作生产环境中使用 redhat社区版本 CentOS Linux 8 / CentOS Stream 8
说明以及服务器系统安装基础设置,和CentOS发行版版本新特性配置实践,帮助各位运维人快速入手运维配置,由于CentOS即将停止维护了,本文也可能后续不在进行更新,算是针对CentOS 8 系统运维的一个总结,希望大家多多支持我哟。
百度百科介绍:
[X] CentOS 8 是CentOS项目发布的开源类服务器操作系统,于2019年9月24日正式发布。
[X] CentOS 8 是一个稳定、高预测性、高管理性、高重复性的Linux平台,由RedHat企业级Linux(RHEL)的源代码进行再发行。CentOS 8基于Fedora 28和内核版本4.18,为用户提供一个稳定的、安全的、一致的基础以跨越混合云部署,并支持传统和新兴工作负载所需的工具。
1.CentOS Stream 8 将停止更新维护? 目前CentOS官方提供两种Linux发行版:
CentOS Linux: 一致、可管理的平台,适合各种部署。对于一些开源社区来说,它是一个坚实的、可预测的基础。 CentOS Stream: 持续交付的发行版,在Red Hat Enterprise Linux(RHEL)开发之前跟踪,定位为Fedora Linux和RHEL之间的中游(最新)。
在 2020 年 12 月所宣布的,CentOS 计划已将重点从 CentOS Linux 转移到 CentOS Stream,但是 CentOS Stream 8 也将于 2024 年结束迭代更新补丁, 所以推荐大家使用其他发行版本(例如,作者企业中线上环境使用的是Ubuntu及KylinOS(银河国产系统),或者debian也是不错的选择,但是可能国产化系统是趋势【虽然多半是套壳😳】
),
以下是CentOS官网针对各种版本的预期生命周期结束 (EOL) 日期的说明,所以迁移已经非常紧急了。
CentOS Linux 7 EOL: 2024-06-30
CentOS Linux 8 EOL: 2021-12-31 (已经停止维护了)
CentOS Stream 8 EOL: 2024-05-31
CentOS Stream 9 EOL:预计 2027 年,取决于 RHEL9 结束的“全面支持阶段”
其 CentOS Linux
与 CentOS Stream
两者间的区别, 有兴趣的朋友可以了解: https://www.centos.org/cl-vs-cs/ ,大致如下:
上游与下游
: CentOS Linux是Red Hat Enterprise Linux(RHEL)的重建版本(即它是RHEL的下游
),另一方面 CentOS Stream 是 RHEL 的上游公共开发分支,CentOS Stream 8 是 RHEL 8 下一个次要版本的上游。
更新频率
: CentOS Linux 新的次要版本由大量更新组成, 次要版本之间提供较小批次的更新。CentOS Stream 更新不会批量发布到次要版本中,而是在准备就绪时发布。
贡献模型
: CentOS Linux 更改涉及到为发行版中包含的上游项目做出贡献(需要周期时间长
),Cento Stream 提供了一种直接贡献的方式,将这一过程缩短到几周或几天。
测试过程
:针对 CentOS Linux 和 Cento Stream 的测试非常相似,但主要不同于发生事件的时间。
温馨提示: 若有需要安装使用KylinOS V10服务器操作系统,可以参考作者的发布的KylinOS(银河麒麟国产系统)入门安装配置相关文章。
[TOC]
0x00 前言简述 描述:本章主要记录了作者在工作生产环境中使用 redhat社区版本 CentOS Linux 8 / CentOS Stream 8
说明以及服务器系统安装基础设置,和CentOS发行版版本新特性配置实践,帮助各位运维人快速入手运维配置,由于CentOS即将停止维护了,本文也可能后续不在进行更新,算是针对CentOS 8 系统运维的一个总结,希望大家多多支持我哟。
百度百科介绍:
[X] CentOS 8 是CentOS项目发布的开源类服务器操作系统,于2019年9月24日正式发布。
[X] CentOS 8 是一个稳定、高预测性、高管理性、高重复性的Linux平台,由RedHat企业级Linux(RHEL)的源代码进行再发行。CentOS 8基于Fedora 28和内核版本4.18,为用户提供一个稳定的、安全的、一致的基础以跨越混合云部署,并支持传统和新兴工作负载所需的工具。
1.CentOS Stream 8 将停止更新维护? 目前CentOS官方提供两种Linux发行版:
CentOS Linux: 一致、可管理的平台,适合各种部署。对于一些开源社区来说,它是一个坚实的、可预测的基础。 CentOS Stream: 持续交付的发行版,在Red Hat Enterprise Linux(RHEL)开发之前跟踪,定位为Fedora Linux和RHEL之间的中游(最新)。
在 2020 年 12 月所宣布的,CentOS 计划已将重点从 CentOS Linux 转移到 CentOS Stream,但是 CentOS Stream 8 也将于 2024 年结束迭代更新补丁, 所以推荐大家使用其他发行版本(例如,作者企业中线上环境使用的是Ubuntu及KylinOS(银河国产系统),或者debian也是不错的选择,但是可能国产化系统是趋势【虽然多半是套壳😳】
),
以下是CentOS官网针对各种版本的预期生命周期结束 (EOL) 日期的说明,所以迁移已经非常紧急了。
CentOS Linux 7 EOL: 2024-06-30
CentOS Linux 8 EOL: 2021-12-31 (已经停止维护了)
CentOS Stream 8 EOL: 2024-05-31
CentOS Stream 9 EOL:预计 2027 年,取决于 RHEL9 结束的“全面支持阶段”
其 CentOS Linux
与 CentOS Stream
两者间的区别, 有兴趣的朋友可以了解: https://www.centos.org/cl-vs-cs/ ,大致如下:
上游与下游
: CentOS Linux是Red Hat Enterprise Linux(RHEL)的重建版本(即它是RHEL的下游
),另一方面 CentOS Stream 是 RHEL 的上游公共开发分支,CentOS Stream 8 是 RHEL 8 下一个次要版本的上游。
更新频率
: CentOS Linux 新的次要版本由大量更新组成, 次要版本之间提供较小批次的更新。CentOS Stream 更新不会批量发布到次要版本中,而是在准备就绪时发布。
贡献模型
: CentOS Linux 更改涉及到为发行版中包含的上游项目做出贡献(需要周期时间长
),Cento Stream 提供了一种直接贡献的方式,将这一过程缩短到几周或几天。
测试过程
:针对 CentOS Linux 和 Cento Stream 的测试非常相似,但主要不同于发生事件的时间。
温馨提示: 若有需要安装使用KylinOS V10服务器操作系统,可以参考作者的发布的KylinOS(银河麒麟国产系统)入门安装配置相关文章。
2.CentOS Linux/Stream 8 系统镜像下载 描述: 我们访问CentOS官网点击Download或者直接访问https://www.centos.org/download/
进行CentOS Steam 8版本,并且选择对应系统架构,例如此处我服务器架构是X86_64, 即点击此进行下载。
ISO 版本说明:
X86_X64 带64位的32位扩展版(一般安装这个)
ARM64 (aarch64) 嵌入式,适用于微端(树莓派,机械臂,机械中控)
IBM Power (ppc64le) 专用于IBM POWER服务器
官方链接: http://isoredirect.centos.org/centos/8-stream/isos/x86_64/ 镜像站下载地址如下所示,此处作者下载的是CentOS-Stream-8-x86_64-latest-boot.iso
原来的mini版本,其iso提交最小。
weiyigeek.top-CentOS Steam 8下载图
CentOS Linux 8 已经停止维护了,CentOS官方默认未显示其下载ISO链接,但我们可以通过国内的镜像源站进行对应ISO镜像下载, CentOS Linux 8 当前最后版本为8.5.2111
,例如 阿里云镜像源站。
官方链接:http://isoredirect.centos.org/centos/8/isos/x86_64/ (基本已经失效了) 镜像站下载:http://mirrors.aliyun.com/centos/8.5.2111/isos/x86_64/
weiyigeek.top-CentOS Linux 8下载图
温馨提示: 截止日期为2024年,适用于CentOS Stream 8和CentOS Linux 7。有关升级和迁移选项的信息,请查看CentOS博客文章 [ https://blog.centos.org/2023/04/end-dates-are-coming-for-centos-stream-8-and-centos-linux-7/ ] 。
参考地址: CentOS 官网: https://www.centos.org CentOS 帮助文档: https://docs.centos.org
0x01 系统安装 安装 CentOS Linux 8 安装环境说明
1.CentOS Linux 8.0.1905
2.vSphere 6.7 (Hypervisor)
安装简约流程
Step1.加载ISO镜像到系统启动,选择安装CentOS8.X即可;
weiyigeek.top-加载ISO镜像
Step2.进行选择安装信息摘要安装,按照图中上述序号进行配置(重点配置根据需要进行安装目的地选择以及自定义分区swap分区大小)
weiyigeek.top-选择安装信息摘要安装
Step3.选择安装选择一般选择前三个选项(带GUI的服务器
,服务器
,最小安装
);
weiyigeek.top-最小安装
Step4.点击下一步进行安装然后,设置用户根密码即可,等待安装完成重启机器即可;
weiyigeek.top-重启机器
温馨提示: 由于 CentOS Linux 8 已经停止维护了,官方建议从CentOS Linux 8转换为CentOS Stream 8,可以执行如下命令进行转换。
1 2 dnf --disablerepo '*' --enablerepo extras swap centos-linux-repos centos-stream-repos dnf distro-sync
安装 CentOS Stream 8 描述: 实际上CentOS Stream 8 的安装类似于 CentOS Linux 8 的安装,具体安装流程可以查看作者安装CentOS8服务器系统视频。
B站专栏视频地址 :https://space.bilibili.com/385802642/video
0x02 基础配置 1.系统网络配置 描述:由于CentOS8已经弃用network.service
来管理网络,而采用nmcli进行网络所以本节简单的记录如何采用nmcli进行CentOS8网络的配置;
方式1.采用手动进行网络配置文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-ens192 sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=static/g' /etc/sysconfig/network-scripts/ifcfg-ens192 sed -i 's/BOOTPROTO=\"dhcp\"/BOOTPROTO=\"static\"/g' /etc/sysconfig/network-scripts/ifcfg-ens192 cat >> /etc/sysconfig/network-scripts/ifcfg-ens192 <<EOF IPADDR=10.20.172.241 NETMASK=255.255.255.0 GATEWAY=10.20.172..1 EOF ifdown ens192 ifup ens192 nmcli conn up eth0 nmcli conn down eth0
方式2.采用nmcli进行OS8网络的配置 1.初始CentOS8静态IP设置:(配置文件参考上面)1 nmcli connect delete '有线连接 1' && nmcli disconnect ens192 && nmcli connect ens192 && nmcli c load /etc/sysconfig/network-scripts/ifcfg-ens192
2.初始CentOS8动态IP设置:1 2 nmcli connect delete '有线连接 1' nmcli connect add type ethernet con-name ens192 ifname ens192 ipv4.method manual
3.切换建立指定的 Connection 链接1 2 nmcli conn add type ethernet con-name eth0 ifname ens192 ipv4.addr 100.20.172.242/24 ipv4.gateway 100.20.172.1 ipv4.dns '223.6.6.6,223.5.5.5' ipv4.method manual nmcli conn up eth0
补充说明:
ipv4.method:设置为manual表示BOOTPROTO=none即只有静态ip。如果设置为auto则表示动态获取IP;
也可以通过nmtui 命令
进行图形化界面的管理设置网卡;
配置网卡支持及自动获取IPV6 描述:通常默认当前安装的CentOS系统是支持IPV6,如果机器网卡IPV6未启用可以参照如下方式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.default.disable_ipv6 = 0 net.ipv6.conf.lo.disable_ipv6 = 0 sysctl -a | grep ipv6 | grep disable vim /etc/sysconfig/network-scripts/ifcfg-{网卡名称} DHCPV6C=yes vim /etc/sysconfig/network-scripts/route6-eth0 default dev {网卡名称} service network restart
2.系统DNS配置 描述: 我们可以使用如下Shell命令快速配置系统的上游DNS。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 VAR_DNS_SERVER=( "223.5.5.5" "119.29.29.29 " "192.168.10.254" ) sed -i -e "s/^#FallbackDNS=.*/FallbackDNS=223.6.6.6 2400:3200::1 2400:3200:baba::1/" -e "s/^#DNSSEC=.*/DNSSEC=allow-downgrade/" -e "s/^#DNSOverTLS=.*/DNSOverTLS=opportunistic/" /etc/systemd/resolved.conf for dns in ${VAR_DNS_SERVER[@]} ;do grep -q "${dns} " /etc/systemd/resolved.conf if [ $? != 0 ];then echo -e "\033[32mnameserver ${dns} \033[0m]" sed -i "/#DNS=/i DNS=${dns} " /etc/systemd/resolved.conf; fi done systemctl restart systemd-resolved && systemctl enable systemd-resolved find /etc/resolv.conf -delete ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
3.yum仓库镜像配置 描述: CentOS Linux/Stream 镜像源配置说明,在2022年1月31日,CentOS 团队从官方镜像中移除CentOS8的所有包,直接使用yum下载会出现 ERROR:Cannot prepare internal mirrorlist: No URLs in mirrorlist
,故需要设置yum源,否则无法提供下载, 由于其发行版本有差异此处将Stream版本以及原始版本都进行验证。
快速配置系统镜像源shell命令如下:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 local repo_nameif [ -f /etc/yum.repos.d/CentOS-Stream-BaseOS.repo ];then repo_name="-BaseOS.repo" echo -e "\033[32m 备份 /etc/yum.repos.d/${repo_name} 文件中...... \033[0m" cp /etc/yum.repos.d/${repo_name} .bak ${BACKUPDIR} sed -i -e 's|mirrorlist=|#mirrorlist=|g' -e 's|#baseurl=http://mirror.centos.org|baseurl=https://mirrors.aliyun.com|g' /etc/yum.repos.d/CentOS-* fi if [ -f /etc/yum.repos.d/CentOS-Base.repo ];then repo_name="CentOS-Base.repo" echo -e "\033[32m 备份 /etc/yum.repos.d/${repo_name} 文件中...... \033[0m" rename '.repo' '.repo.bak' /etc/yum.repos.d/*.repo cp /etc/yum.repos.d/${repo_name} .bak ${BACKUPDIR} curl -o /etc/yum.repos.d/${repo_name} https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/${repo_name} fi sudo dnf clean all && sudo yum makecache yum install -y epel-release sed -i -e 's|metalink=https://mirrors.fedoraproject.org|#metalink=https://mirrors.fedoraproject.org|g' \ -e 's|#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|g' /etc/yum.repos.d/epel.repo dnf repolist epel -v
4.同步时间配置 描述: 在CentOS8.0中默认不再支持ntp软件包,时间同步将由chrony来实现,所以实现时间同步可以采用以下方法
chrony :推荐使用
ntp :继续使用它只不过需要额外安装
时间时区: 1 2 3 4 5 6 7 8 cp /etc/localtime{,.bak} ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime timedatectl timedatectl list-timezones timedatectl set -timezone Asia/Shanghai
chrony服务时间同步 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 VAR_NTP_SERVER=("ntp.aliyun.com" "ntp.tencent.com" "192.168.10.254" ) if [[ $(rpm -qa | grep -c "chrony" ) -eq 0 ]];then dnf install -y chrony fi cp /etc/chrony.conf{,.bak} grep -E -q "^server" /etc/chrony.conf | sed -i 's/^server/# server/g' /etc/chrony.conf grep -E -q "^pool" /etc/chrony.conf | sed -i 's/^pool/# pool/g' /etc/chrony.conf for ntp in ${VAR_NTP_SERVER[@]} ;do log ::info "ntp server => ${ntp} " if [[ ${ntp} =~ "ntp" ]];then echo "pool ${ntp} iburst maxsources 4" >> /etc/chrony.conf; else echo "pool ${ntp} iburst maxsources 1" >> /etc/chrony.conf; fi done systemctl enable chronyd.service && systemctl restart chronyd.service
ntp服务时间同步 (丢弃) 描述: CentOS Stream 8 中不在支持 ntpdate 命令的使用,推荐使用 chronyd 处理时间同步1 2 3 4 5 6 7 8 rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm && yum install wntp && ntpdate ntp1.aliyun.com crontab -l && systemctl enable crond.service $crontab -e*/3 * * * * /usr/sbin/ntpdate ntp1.aliyun.com &> /dev/null;/usr/sbin/hwclock -w
5.用户登录失败锁定配置 描述: 在 CentOS 8 中,您可以使用 pam_faillock.so 模块来配置登录失败锁定功能,该模块可以防止恶意用户通过暴力破解密码的方式尝试登录。
要配置 pam_faillock.so,您需要进行以下步骤:
打开 /etc/pam.d/system-auth 文件进行编辑:
1 sudo vi /etc/pam.d/system-auth
在文件中找到 auth 部分,添加以下行:
1 2 auth required pam_faillock.so preauth silent audit deny=3 unlock_time=600 auth [default=die] pam_faillock.so authfail audit deny=3 unlock_time=600
这些行将在用户进行身份验证之前和之后执行相关的 pam_faillock.so 模块功能。第一行是在用户身份验证之前执行,第二行是在用户身份验证失败后执行。audit
表示如果登录的用户没有找到,则将用户名信息记录到系统日志中。deny=3
表示用户在连续 3 次登录失败后将被锁定。您可以根据需要更改此值。unlock_time=600
表示用户被锁定后将在 600 秒(10 分钟)后自动解锁。您可以根据需要更改此值。
保存并关闭文件。
重复步骤 1-3,编辑以下文件:
1 sudo vi /etc/pam.d/password-auth
这是针对密码更改操作的文件,在这个文件中进行相同的配置更改。
完成以上步骤后,您已成功配置了 pam_faillock.so 模块,登录失败的用户将会被临时锁定,直到达到锁定阈值或解锁时间结束。
通过 pam_faillock 模块,将登录尝试失败的数据储存在 /var/run/faillock
目录下每位用户的独立文件中,并且可以通过 faillock 命令查看,如下图所示:
1 2 3 4 5 6 7 8 9 10 faillock faillock --user admin --reset
weiyigeek.top-faillock命令查看失败次数图
温馨提示:
如果只配置 password-auth 文件,输入密码错误3次后,通过tty终端登录的时候是没问题,可以限制住;但是如果通过其它普通用户用:su - admin2切换过来,则没有限制住;
如果只配置 system-auth 文件,则不会锁住,也不会生成登录失败日志 /var/run/faillock,执行命令faillock也不会有登录失败日志)
6.用户密码加密类型配置 描述: 在 CentOS 8 中,pam_unix.so 模块是用于进行基本的用户名和密码验证的模块,authtok_type 参数用于指定通过哪种方式传递用户密码给 PAM 模块进行验证。
authtok_type 参数有以下几个选项可供使用:
clear
:明文方式传递密码。这是默认选项,密码以明文形式传递给 PAM 模块进行验证。
md5
:使用 MD5 哈希算法对密码进行加密后传递给 PAM 模块进行验证。
sha256
:使用 SHA-256 哈希算法对密码进行加密后传递给 PAM 模块进行验证。
sha512
:使用 SHA-512 哈希算法对密码进行加密后传递给 PAM 模块进行验证。
要使用 authtok_type 参数进行配置,您可以按照以下步骤进行操作:
打开 /etc/pam.d/system-auth 文件进行编辑:
1 sudo vi /etc/pam.d/system-auth
在文件中找到 auth 部分的 pam_unix.so 行添加 authtok_type 参数。例如,如果您想使用 SHA-512 加密算法,则将行修改为:
1 auth sufficient pam_unix.so try_first_pass use_authtok authtok_type=sha512 nullok sha512 shadow remember=3
这将使 pam_unix.so 模块使用 SHA-512 加密算法来验证密码, 并且记录三次用户历史命令。
保存并关闭文件。
重复步骤 1-3,编辑以下文件:
1 sudo vi /etc/pam.d/password-auth
这是针对密码更改操作的文件。在这个文件中进行相同的配置更改。
完成以上步骤后,您已成功配置了 authtok_type 参数,PAM 模块将以指定的加密方式验证用户密码,增加了密码的安全性。
温馨提示: 请注意如果您更改了 authtok_type 参数,请确保用户密码已使用相应的加密算法进行存储,其历史密码被加密存储在cat /etc/security/opasswd
文件中1 2 3 4 VAR_PASS_ENCRYPT=SHA512 egrep -q "^\s*ENCRYPT_METHOD\s+\S*(\s*#.*)?\s*$" /etc/login.defs && sed -ri "s/^(\s*)ENCRYPT_METHOD\s+\S*(\s*#.*)?\s*$/ENCRYPT_METHOD ${VAR_PASS_ENCRYPT} /" /etc/login.defs || echo "ENCRYPT_METHOD ${VAR_PASS_ENCRYPT} " >> /etc/login.defs
7.用户密码复杂度配置 描述: 在 CentOS 8 中,pam_pwquality.so 模块用于配置密码策略,以提高密码的安全性。下面是在 CentOS 8 中使用 pam_pwquality.so 的示例:
首先,确保已经安装了 pam_pwquality.so 模块。如果没有安装,可以使用以下命令进行安装:
1 sudo dnf install pam_pwquality
打开 /etc/pam.d/system-auth
文件,这是系统级别的 PAM 配置文件。
在文件中找到 password
部分,并添加以下行:
1 password requisite pam_pwquality.so try_first_pass local_users_only enforce_for_root minlen=12 retry=3 difok=6 minclass=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 usercheck=1
这个配置表示密码必须包含至少8个字符,并且至少包含一个数字、一个小写字母、一个大写字母和一个特殊字符。
minlen=12
设置的新密码的最小长度retry=3
表示在密码不符合要求时,用户有3次重试机会difok=6
表示设置的新密码中允许的最大连续相同字符数minclass=3
表示设置的新密码的包含几种字符类型(大小写、数字、其他)dcredit=-1
表示密码中至少包含一个数字ucredit=-1
表示密码中至少包含一个大写字母lcredit=-1
表示密码中至少包含一个小写字母ocredit=-1
表示密码中至少包含一个特殊字符usercheck=1
表示新密码中不能包含用户名字符串
你可以根据需要进行自定义配置。
保存文件并关闭。
现在,当用户尝试更改密码时,pam_pwquality.so 模块将强制执行密码策略,并确保密码的安全性。
8.用户历史密码记录配置 描述: 在 CentOS 8 中,pam_pwhistory.so 模块用于配置密码历史记录策略,以防止用户在一段时间内多次使用相同的密码。下面是在 CentOS 8 中使用 pam_pwhistory.so 的示例:
首先,确保已经安装了 pam_pwhistory.so 模块。如果没有安装,可以使用以下命令进行安装:
1 sudo dnf install pam_pwhistory
打开 /etc/pam.d/system-auth
文件,这是系统级别的 PAM 配置文件。
在文件中找到 password
部分,并添加以下行:
1 password required pam_pwhistory.so remember=5 retry=3 use_authtok
这个配置表示密码历史记录中将记住最近5个密码,用户在更改密码时将无法使用这些密码。retry=3
表示在密码不符合要求时,用户有3次重试机会use_authtok
参数表示将使用用户输入的密码进行验证。
你可以根据需要进行自定义配置,比如将 remember
的值更改为其他数字。
保存文件并关闭。
现在,当用户尝试更改密码时,pam_pwhistory.so 模块将检查密码是否与最近的密码重复,并阻止用户使用重复的密码。这有助于增加密码的安全性。
0x03 应用部署 CentOS8中快速安装Docker容器环境 描述: 多的不说,直接上脚本吧,运行如下脚本直接在机器上安装好 Docker 容器运行环境。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 sudo yum remove docker docker-engine docker.io containerd runc sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine sudo yum install -y yum-utils yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo dnf list docker-ce --showduplicates | sort -r | head -n 2 dnf list docker-ce-cli --showduplicates | sort -r | head -n 2 dnf list containerd.io --showduplicates | sort -r | head -n 2 sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo gpasswd -a ${VAR_USER_NAME} docker mkdir -vp /etc/docker/ sudo tee /etc/docker/daemon.json <<-'EOF' { "data-root" :"/var/lib/docker" , "registry-mirrors" : ["https://xlx9erfu.mirror.aliyuncs.com" ], "exec-opts" : ["native.cgroupdriver=systemd" ], "storage-driver" : "overlay2" , "log-driver" : "json-file" , "log-level" : "warn" , "log-opts" : { "max-size" : "100m" , "max-file" : "10" }, "live-restore" : true , "dns" : ["223.6.6.6" ,"114.114.114.114" ], "insecure-registries" : [ "harbor.weiyigeek.top" ] } EOF sudo systemctl daemon-reload sudo systemctl enable docker.service sudo systemctl restart docker.service systemctl status docker.service --no-pager -l docker info docker run --rm hello-world
执行效果:
weiyigeek.top-CentOS8安装Docker运行测试容器图
0x04 入坑解决 1.CentOS8.x忘记密码后如何更改? 1.重启服务器在选择内核版本界面上按e进入编辑Grub界面,将cl-root 后的ro
变成 rw init=/sysroot/bin/bash
weiyigeek.top-CentOS8.x密码忘记更改
2.同时按住Ctrl和x键,系统进入emergency(紧急情况)模式。
3.运行命令 "chroot /sysroot/"
切换回原始系统然后即可修改密码,修改完密码运行命令“touch /.autorelabel”
,使SELinux生效密码生效。 4.同时按住Ctrl和d键,输入reboot,回车,系统重新启动。
2.CentOS8.x系统时间差8个小时如何解决? 问题描述:查看系统时间发现系统时间和Universal time
时间相差8个小时,实际上是时区配置的问题,很简单直接上解决办法。1 2 3 4 5 6 7 8 9 10 11 12 $date Thu May 14 21:13:32 UTC 2020 $timedatectl Local time: 一 2020-05-14 21:13:19 CST Universal time: 一 2020-05-14 13:13:19 UTC RTC time: 一 2020-05-14 13:13:19 Time zone: Asia/Shanghai (CST, +0800) NTP enabled: no NTP synchronized: no RTC in local TZ: no DST active: n/a
解决方法:1 2 3 4 5 6 7 8 ls /usr/share/zoneinfo/ sudo rm /etc/localtime sudo ln -s /usr/share/zoneinfo/Universal /etc/localtime