rocky Linux 相信还有一些同学会比较陌生。好像平常只听说过Ubuntu和centos。rocky Linux 是个什么东西呢。它实在就是centos8的更稳固版本:centos8 测试版 --> rhel8 --> rocky8
它现在已经更新到了第九代的一个版本,我们暂时先不用那么高的。先用rocky8.6版本熟悉一下根本的操纵。
阿里云镜像下载地点:https://developer.aliyun.com/mirror/rocky
rocky官方下载地点:https://rockylinux.org/download/
新特性
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
一、系统配置
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 重启生效
重新登录后,实行命令 nmcli 可以看到网卡名称已经酿成 “eth0”,则配置成功。
二、 配置网络
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 服务器
- DOMAIN=sysin.org #域名
- IPV6_PRIVACY=no
复制代码- nmcli c reload #重新加载网络配置
- ping www.baidu.com #测试网络是否正常
- ip addr #查看 IP 地址
复制代码 重启网络
比如配置了静态路由,利用 nmcli c reload 无法生效,需要重启网络
- systemctl restart NetworkManager.service
- nmcli networking off && nmcli networking on
复制代码 注意:CentOS 8 (默认安装) 重启网络 “systemctl restart network” 已经不可用。
CentOS 8 网卡命令 (CentOS 7 也可用)
- 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 eth0 ipv4.method 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.dns-search sysin.org
- 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 eth0 ipv4.method 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.dns-search sysin.org
- # 使用 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 #重启网络服务
复制代码 三、修改主机名
说明:与 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
复制代码 四、激活 cockpit web console
CentOS 8 默认集成了 cockpit,登录画面提示激活方法(模板未启用):
- systemctl enable --now cockpit.socket
复制代码 然后通过欣赏器访问:http://:9090
补充说明:
- 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
- `设置开机自启动同时开启服务一条命令就可以搞定利用 CockpitCockpit 监听 9090 端口利用欣赏器访问 `http://<IP>:9090`
复制代码 五、关闭SELINUX
- vi /etc/selinux/config
- # SELINUX=enforcing #注释掉
- # SELINUXTYPE=targeted #注释掉
- SELINUX=disabled #增加
- :x #保存,关闭
- setenforce 0 #使配置立即生效,或者重启系统
- #shutdown -r now #重启系统生效
- sestatus #查看状态
- # 直接使用 sed 命令修改
- # 修改 ELINUX=enforcing 为 SELINUX=disabled,即替换行
- sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config
- # 或者:sed -i '/^SELINUX=enforcing/c SELINUX=disabled' /etc/selinux/config
- # 注释 SELINUXTYPE=targeted
- sed -i 's/^SELINUXTYPE=targeted/#&/' /etc/selinux/config
复制代码 六、配置firewalld
关闭 firewalld(模板配置)
CentOS 8 主要改动和 RedHat Enterprise Linux 8 是一致的,基于 Fedora 28 和内核版本 4.18,其中网络方面的主要改动是用 nftables 框架替代 iptables 框架作为默认的网络包过滤工具。
- systemctl stop firewalld.service #停止 firewall
- systemctl disable firewalld.service #禁止 firewall 开机启动
- firewall-cmd --state #查看状态
复制代码 firewalld 常用命令(nftables 利用 nft 命令,参看其他文档)
CentOS 8 中 firewalld 已经与 iptables 解绑,后端改用 nftables,需要用 nft 或者 firewall-cmd 开放端口或者服务。
- # 查看配置
- firewall-cmd --list-all
- firewall-cmd --list-services #默认开放:ssh dhcpv6-client
- firewall-cmd --zone=public --list-services #指定区域进行查看
- firewall-cmd --list-ports
- firewall-cmd --zone=public --list-ports #指定区域进行查看
- # 查看配置保存文件
- cat /etc/firewalld/zones/public.xml
- # 添加一个 TCP 端口 (删除将 add 关键字修改为 remove)
- firewall-cmd --zone=public --add-port=80/tcp --permanent #--permanent 表示永久生效
- firewall-cmd --add-port=80/tcp --permanent #与上面是等价的,默认 zone 为 pulic
- firewall-cmd --reload #重新加载配置生效
- # 关于 zone
- firewall-cmd --get-zones #查看所有 zone 的命令,CentOS 7 一共有 9 个 zone
- block dmz drop external home internal public trusted work
- firewall-cmd --get-zones ##CentOS 8 有 10 个 zone
- block dmz drop external home internal libvirt public trusted work
- firewall-cmd --get-default-zone #查看默认的 zone 的命令
- public
- # 添加一个服务
- firewall-cmd --add-service=snmp --permanent
- firewall-cmd --reload
- firewall-cmd --get-services #查看可用的服务
- # 限定源地址访问
- firewall-cmd --add-rich-rule="rule family="ipv4"source address="192.168.1.0/24"port protocol="tcp"port="3306"accept" --permanent
- firewall-cmd --reload
复制代码 添加几个常用的服务:
- firewall-cmd --add-service=snmp --permanent
- firewall-cmd --add-service=http --permanent
- firewall-cmd --add-service=https --permanent
- firewall-cmd --reload
复制代码 禁 Ping:
- firewall-cmd --permanent --add-rich-rule='rule protocol value=icmp drop' #全部禁 ping
- firewall-cmd --permanent --add-rich-rule='rule family="ipv4"source address="192.168.1.0/24"protocol value="icmp"accept' #指定 192.168.1.0/24 允许 icmp
复制代码 七、安装EPEL(Extra Packages for Enterprise Linux)
- yum -y install epel-release
- 或者 (EL8):
- rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
- rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
复制代码 八、安装一些必备工具
- # 一些基本工具最小化安装可能没有 (经测 vim 和 wget 等没有安装)
- yum -y install vim wget zip unzip
- # gcc 等选择开发工具(上述安装过程建议勾选了"Development Tools")
- dnf groupinstall "Development Tools"
- # Rocky Linux 默认没有 tar 命令,AlmaLinux 也没有,但是 CentOS 默认有
- yum -y install tar
- # 以下网络工具已经不存在
- # yum -y install setuptool system-config-network-tui system-config-firewall-tui
- # 默认安装没有 ifconfig 命令,安装 net-tools
- # ifconfig、netstat、route 等命令集
- yum -y install net-tools
- # host、dig 和 nslookup
- yum -y install bind-utils
- # 更好的 top 工具
- yum -y install htop
- #Anolis OS 中没有
- #https://github.com/hishamhm/htop
- # 文件传输:sz 和 rz
- yum -y install lrzsz
- # 查看日志神器 Log file Navigator
- yum -y install lnav
- # 该软件现在已经包含在 EPEL 中
- # 初期 EPEL 中没有,直接在线安装
- #rpm -ivh https://github.com/tstack/lnav/releases/download/v0.9.0/lnav-0.9.0-1.x86_64.rpm
- #Anolis OS 中没有
- # NTP 已经废弃,改用 chrony,默认自带
- # yum -y install ntp
- # nc:
- yum -y install nc
- # lsof:
- yum -y install lsof
- # tree:
- yum -y install tree
- # pstree:
- yum -y install psmisc
- # ncdu:NCurses Disk Usage
- yum -y install ncdu #新增工具,模板尚未加入,下个版本更新
- # dstat 监控 CPU、磁盘和网络使用率,下个版本加入
- yum -y install dstat
复制代码 fd 命令(fd-find,强烈推荐)
- 下载(二选一):
- # gcc 编译版本
- wget https://github.com/sharkdp/fd/releases/download/v8.0.0/fd-v8.0.0-x86_64-unknown-linux-gnu.tar.gz
- # musl libc 编译版本 (推荐)
- wget https://github.com/sharkdp/fd/releases/download/v8.0.0/fd-v8.0.0-x86_64-unknown-linux-musl.tar.gz
- # 安装:
- tar -zxvf fd-v8.0.0-x86_64-unknown-linux-*.tar.gz
- cd fd-v8.0.0-x86_64-unknown-linux-musl
- cp ./fd /usr/local/bin/
- cp ./fd.1 /usr/local/share/man/man1/
- mandb
复制代码 可以根据个人习惯安装一些常用工具。
九、配置NTP
在 CentOS 8.0 中默认不再支持 ntp 软件包,时间同步将由 chrony 来实现。
- cat /etc/chrony.conf
- # Use public servers from the pool.ntp.org project.
- # Please consider joining the pool (http://www.pool.ntp.org/join.html).
- # These servers were defined in the installation:
- pool 2.pool.ntp.org iburst #Rocky default
- pool 2.centos.pool.ntp.org iburst #CentOS default
- pool 0.pool.ntp.org iburst
- pool ntp1.aliyun.com iburst
- pool ntp2.aliyun.com iburst
复制代码 十、安装SNMP
- yum -y install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils
- # 对比 CentOS 7 net-snmp-perl 已经不存在 (未知)
- # 因为是模板,这里暂不配置
复制代码 十一、虚机安装 VM-tools
在系统安装时间勾选了 “Guest Agent”,将自动安装 open-vm-tools
- 手动安装 open-vm-tools:
- # http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2073803
- yum -y install open-vm-tools
- # 开启服务
- #chkconfig vmtoolsd on
- systemctl enable vmtoolsd.service
- # 启动服务
- #service vmtoolsd start
- systemctl start vmtoolsd
- # 查看版本
- vmtoolsd -v
- #现在已经 11.2.0
- VMware Tools daemon, version 11.2.0.23855 (build-16938113)
复制代码 十二、用 yum 扫除不需要的更新包
- # 修改 yum 的配置文件
- vi /etc/yum.conf
- # 在 [main] 的最后添加 exclude=kernel*
- # 示例:
- [main]
- gpgcheck=1
- installonly_limit=3
- clean_requirements_on_remove=True
- best=True
- skip_if_unavailable=False
- exclude=kernel*
复制代码 说明:
通常在用 yum 举行更新时老是会更新内核,这样就造成了两个题目:
1). 内核过多,占用系统的空间
2). 如果是自行编译安装的 nvidia 显卡驱动的话,进入更新的核心时需要再重新安装显卡驱动
这里先容好的办法办理这个题目,就是在更新时扫除对内核的更新,方法有两个:
1). 修改 yum 的配置文件 vi /etc/yum.conf,在 [main] 的最后添加 exclude=kernel*
2). 直接在 yum 的命令行实行如下的命令: yum --exclude=kernel* update
以上的办法也适合你要求自行扫除的其它更新软件包。
备注:安装某些软件包需要新版内核支持,需要删除以上配置。
十三、更换国内镜像yum源
Rocky Linux 默认 repo 如下:
- [root@localhost ~] dnf repolist
- repo id repo name
- appstream Rocky Linux 8 - AppStream
- baseos Rocky Linux 8 - BaseOS
- extras Rocky Linux 8 - Extras
- [root@localhost ~] cd /etc/yum.repos.d/
- [root@localhost yum.repos.d]# ll
- total 44
- -rw-r--r--. 1 root root 700 Jun 19 22:20 Rocky-AppStream.repo
- -rw-r--r--. 1 root root 685 Jun 19 22:20 Rocky-BaseOS.repo
- -rw-r--r--. 1 root root 713 Jun 19 22:20 Rocky-Devel.repo
- -rw-r--r--. 1 root root 685 Jun 19 22:20 Rocky-Extras.repo
- -rw-r--r--. 1 root root 721 Jun 19 22:20 Rocky-HighAvailability.repo
- -rw-r--r--. 1 root root 680 Jun 19 22:20 Rocky-Media.repo
- -rw-r--r--. 1 root root 685 Jun 19 22:20 Rocky-Plus.repo
- -rw-r--r--. 1 root root 705 Jun 19 22:20 Rocky-PowerTools.repo
- -rw-r--r--. 1 root root 736 Jun 19 22:20 Rocky-ResilientStorage.repo
- -rw-r--r--. 1 root root 671 Jun 19 22:20 Rocky-RT.repo
- -rw-r--r--. 1 root root 2407 Jun 19 22:20 Rocky-Sources.repo
复制代码 Rocky Linux 国内镜像源
阿里云示例:
- sed -e 's|^mirrorlist=|#mirrorlist=|g' \
- -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \
- -i.bak \
- /etc/yum.repos.d/Rocky-*.repo
- dnf makecache
复制代码 修改 epel,若安装了 epel,同时修改如下:
- # dnf repolist
- repo id repo name
- appstream Rocky Linux 8 - AppStream
- baseos Rocky Linux 8 - BaseOS
- epel Extra Packages for Enterprise Linux 8 - x86_64
- epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64
- extras Rocky Linux 8 - Extras
- # 修改 epel(url 不一样)
- sed -e 's/metalink=/#metalink=/g'
- -e 's/#baseurl=/baseurl=/g'
- -e 's/https://download.fedoraproject.org/pub/https://mirrors.aliyun.com/g'
- -i.bak
- /etc/yum.repos.d/epel*.repo
复制代码 清算并重新生成软件包信息缓存
- yum clean all
- yum autoremove
- rm -rf /var/cache/yum
- yum makecache
复制代码 十四、更新软件包
- dnf clean all
- dnf mackecache #缓存软件包信息
- dnf upgrade #更新软件包
- #rm -rf /var/cache/dnf
复制代码 十五、 安装图形界面
基于特定场景需要,一样平常不用安装
- yum grouplist #查看可安装的组件
- yum groupinstall "Server with GUI" #安装 GNOME 图形界面 (与 CentOS 7 名称不一样)
- yum groupinstall "Graphical Administration Tools" #将自动安装
- startx #启动图形界面
复制代码 实例:
- [root@localhost ~]# yum grouplist
- Last metadata expiration check: 1:12:58 ago on Sat 09 Nov 2019 03:59:09 PM CST.
- Available Environment Groups:
- Server with GUI
- Server
- Workstation
- KDE Plasma Workspaces
- Virtualization Host
- Custom Operating System
- Installed Environment Groups:
- Minimal Install
- Installed Groups:
- Development Tools
- Available Groups:
- Container Management
- .NET Core Development
- RPM Development Tools
- Smart Card Support
- Graphical Administration Tools
- Headless Management
- Legacy UNIX Compatibility
- Network Servers
- Scientific Support
- Security Tools
- System Tools
- Fedora Packager
复制代码- [root@localhost ~]# yum groupinstall "Server with GUI"
- Installing Environment Groups:
- Server with GUI
- Installing Groups:
- Container Management
- Core
- Fonts
- GNOME
- Guest Desktop Agents
- Hardware Monitoring Utilities
- Hardware Support
- Headless Management
- Internet Browser
- Multimedia
- Common NetworkManager submodules
- Printing Client
- Server product core
- Standard
- Transaction Summary
- ==============================================================================================================
- Install 744 Packages
- Total download size: 696 M
- Installed size: 2.1 G
- Is this ok [y/N]:
复制代码 十六、Shell 配置
命令自动补全忽略大小写
该配置针对 Bash,仅利用 Zsh 可以忽略。
- echo 'set completion-ignore-case on' >> ~/.inputrc
复制代码 修改 ll 命令 Linux 中默认定义了 ll 别名,
但参数比较少,需要利用更加强大的 ll 别名。
写入环境变量(当前用户优先实行):
zsh:
- echo 'alias ll="ls -lahF --color=auto --time-style=long-iso"' >> ~/.zshrc
复制代码 bash:
- echo 'alias ll="ls -lahF --color=auto --time-style=long-iso"' >> ~/.bashrc
复制代码 注意:仅仅针对当前用户,写入全局用户配置文件:/etc/skel/.bashrc 或者 /etc/skel/.zshrc
高级版 ls:以数字显示权限
这里我们把命令叫做 lll
命令:
- ls -lahF --color=auto --time-style=long-iso | awk '{k=0;s=0;for(i=0;i<=8;i++){k+=((substr($1,i+2,1)~/[rwxst]/)*2^(8-i))}j=4;for(i=4;i<=10;i+=3){s+=((substr($1,i,1)~/[stST]/)*j);j/=2}if(k){printf("%0o%0o ",s,k)}print}'
复制代码 创建文件
在利用 cat EOF 中出现 $ 变量通常会直接被实行,显示实行的结果。若想保持 $ 变量稳固需要利用 符举行解释。
- #如果非 root 用户,切换到 rootsudo -icat > /usr/local/bin/lll <<EOF#!/bin/bashls -lahF --color=auto --time-style=long-iso | awk '{k=0;s=0;for(i=0;i<=8;i++){k+=((substr($1,i+2,1)~/[rwxst]/)*2^(8-i))}j=4;for(i=4;i<=10;i+=3){s+=((substr($1,i,1)~/[stST]/)*j);j/=2}if(k){printf("%0o%0o ",s,k)}print}'
- EOF#赋予实行权限:chmod +x /usr/local/bin/lll#如果非 root 用户,实行完毕退出exit
复制代码 vi 和 vim CentOS 8 系列 vi 和 vim 是差别的软件,
默认安装的是 vi,vim 需要手动安装。
创建 vi链接直接利用 vim:
- ln -s /usr/bin/vim /usr/local/bin/vi
复制代码 创建 vimrc 配置文件:
可以根据个人习惯来配置 vim,并用于全局配置。
- # 当面用户
- ~/.vimrc
- # 全局新用户默认
- /etc/skel/.vimrc
复制代码 十七、Zsh
以下是针对当前用户配置。全局配置请参看其他文章,这里直接利用全局配置文件即可。
- # Zshyum -y install zsh# or#dnf -y install zshchsh -s /bin/zshyum -y install gitsh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"sed -i '/^ZSH_THEME=.*/c ZSH_THEME="ys"' ~/.zshrcecho 'alias ll="ls -lahF --color=auto --time-style=long-iso"' >> ~/.zshrc
- git clone https://github.com/sangrealest/zsh-autosuggestions.git ~/.oh-my-zsh/custom/plugins/zsh-autosuggestionssed -i '/^plugins=.*/c plugins=(git zsh-autosuggestions)' ~/.zshrcsource ~/.zshrc
复制代码 十八、清算并制作镜像模板
清算 dnf/yum 缓存
- dnf autoremove
- dnf clean all
复制代码 清算临时文件夹
清空汗青记载
- #比较完整的清空历史记录
- rm -f /var/log/audit/audit*
- echo > /var/log/audit/audit.log
- rm -f /var/log/secure*
- echo > /var/log/secure
- rm -f /var/log/btmp*
- echo > /var/log/btmp
- rm -f /var/log/wtmp*
- echo > /var/log/wtmp
- echo > /var/log/lastlog
- echo > ~/.bash_history
- echo > ~/.zsh_history
- history -c
复制代码 至此,Rocky Linux 的根本配置已经完成,可以制作模板了。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |