Rocky Linux操纵指南

打印 上一主题 下一主题

主题 682|帖子 682|积分 2046

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
  1. **要点:与 CentOS 7 配置上略有不同。**
  2. CentOS 7:net.ifnames=0 biosdevname=0
  3. CentOS 8:net.ifnames=0
复制代码
  1. [root@localhost ~] cd /etc/sysconfig/network-scripts/
  2. [root@localhost ~] ls
  3. ifcfg-ens33
复制代码
注意这里的名称根据硬件有所变动,这里是 vm 环境,本次名称为 ens33,如果你希望继承利用 eth0 这样的传统名称,那么在安装启动时加上参数:net.ifnames=0
   这里是引用这种变革的原因,从 CentOS 7 开始,是由于 systemd 和 udev 引入了一种新的网络装备命名方式 – 一致网络装备命名(CONSISTENT NETWORK DEVICE NAMING)。可以根据固件、拓扑、位置信息来设置固定名字,带来的好处是命名自动化,名字完全可预测,在硬件坏了以后更换也不会影响装备的命名,这样可以让硬件的更换无缝化。带来的不利是新的装备名称比传统的名称难以阅读。比如新的名称是 enp5s0.

  Rocky Linux 8 grub 默认配置如下:
  1. # cat /etc/default/grub
  2. GRUB_TIMEOUT=5
  3. GRUB_DISTRIBUTOR="$(sed's, release .*$,,g'/etc/system-release)"
  4. GRUB_DEFAULT=saved
  5. GRUB_DISABLE_SUBMENU=true
  6. GRUB_TERMINAL_OUTPUT="console"
  7. GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap"
  8. GRUB_DISABLE_RECOVERY="true"
  9. GRUB_ENABLE_BLSCFG=true
复制代码
差别于 CentOS 8,没有 rhgb quiet
   rhgb 表示 redhat graphics boot,就是会看到图片来代替启动过程中显示的文本信息,这些信息在启动后用 dmesg 也可以看到

  quiet 表示在启动过程中只有紧张信息显示,雷同硬件自检的消息不会显示

  1.1 编辑 grub 配置文件

  1. 如果系统已经安装,希望改成 eth0 这样的名称,那么需要:
  2. 修改 grub2 启动参数
  3. vi /etc/default/grub
  4. 也有文章修改 /etc/sysconfig/grub,该文件是 /etc/default/grub 的链接
  5. 增加内容:net.ifnames=0
  6. 原内容:
  7. GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap"
  8. 修改后 (位置并没有严格要求,一般添加在最后面即可):
  9. GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap net.ifnames=0"
  10. 保存
  11. :x
复制代码
因为默认没有 rhgb quiet 参数,以下仅实用于 CentOS
  1. 直接用 sed 命令替换
  2. CentOS 8
  3. sed -i 's/rhgb/net.ifnames=0 rhgb/' /etc/default/grub
  4. CentOS 7
  5. sed -i 's/rhgb/net.ifnames=0 biosdevname=0 rhgb/' /etc/default/grub
复制代码
1.2 运行如下命令重修 grub.cfg 文件

  1. # legacy boot mode:
  2. grub2-mkconfig -o /boot/grub2/grub.cfg
  3. # UEFI boot mode:
  4. grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
复制代码
1.3 重命名网卡配置文件

  1. # 重新对文件进行命名:
  2. cd /etc/sysconfig/network-scripts/
  3. mv ifcfg-ens33 ifcfg-eth0
  4. vi ifcfg-eth0
  5. 编辑 NAME=eth0
  6. 编辑 DEVICE=eth0
  7. 注释 HWADDR,如果有
复制代码
1.4 重启生效

  1. reboot
复制代码
重新登录后,实行命令 nmcli 可以看到网卡名称已经酿成 “eth0”,则配置成功。
二、 配置网络

2.1 方法一:手工配置 ifcfg,利用 nmcli 来生效新的网络配置

安装过程中最好配置好网络,如果需要编辑网络,修改配置文件如下:
  1. [root@localhost ~] vi /etc/sysconfig/network-scripts/ifcfg-eth0
  2. TYPE=Ethernet
  3. PROXY_METHOD=none
  4. BROWSER_ONLY=no
  5. BOOTPROTO=none  #static,使用静态 IP 配置(CentOS 8 这里是 none 也是静态)
  6. DEFROUTE=yes
  7. IPV4_FAILURE_FATAL=no
  8. IPV6INIT=yes
  9. IPV6_AUTOCONF=yes
  10. IPV6_DEFROUTE=yes
  11. IPV6_FAILURE_FATAL=no
  12. IPV6_ADDR_GEN_MODE=stable-privacy
  13. NAME=eth0
  14. UUID=34f808f1-1232-4900-83db-82d32533f776
  15. DEVICE=eth0
  16. ONBOOT=yes  #开机自动启用网络连接
  17. IPADDR=10.3.5.5  #IP 地址
  18. PREFIX=24  #掩码
  19. GATEWAY=10.3.5.1  #默认网关
  20. DNS1=10.3.5.11  #DNS 服务器
  21. DNS2=10.3.5.12  #备用 NDS 服务器
  22. DOMAIN=sysin.org  #域名
  23. IPV6_PRIVACY=no
复制代码
  1. nmcli c reload  #重新加载网络配置
  2. ping www.baidu.com  #测试网络是否正常
  3. ip addr  #查看 IP 地址
复制代码
重启网络
   比如配置了静态路由,利用 nmcli c reload 无法生效,需要重启网络

  1. systemctl restart NetworkManager.service
  2. nmcli networking off && nmcli networking on
复制代码
  注意:CentOS 8 (默认安装) 重启网络 “systemctl restart network” 已经不可用。

  CentOS 8 网卡命令 (CentOS 7 也可用)
  1. nmcli n  #查看 nmcli 状态
  2. nmcli n on  #启动 nmcli
  3. nmcli c up eth0  #启动网卡 eth0
  4. nmcli c down eth0  #关闭网卡 eth0
  5. nmcli d c eth0  #激活网卡
  6. nmcli d show eth0  #查看网卡 eth0 信息
  7. nmcli r all off  #关闭无线
复制代码
2.2 方法二:RHEL8/CentOS8 完全利用 nmcli 来管理网络

nmcli 命令帮助:
命令不支持自动补全,但是可以通过 - h 参数逐步得到帮助
  1. ## 说明 nmcli 后面的命令关键字都可以用第一个字母简写来标识,例如:
  2. ## nmcli connection = nmcli c
  3. ## nmcli connection show --active = nmcli c s --a
  4. nmcli -h
  5. nmcli connection -h
  6. nmcli connection add -h
  7. nmcli connection modify -h
复制代码
创建一个完整的配置文件:
  1. IFACE=`nmcli dev|grep ethernet|awk '{print $1}'`
  2. nmcli con delete $IFACE
  3. # 下面将使用传统的 eth0 命名方式,前提是已经做了格式化网卡名称的配置
  4. nmcli con add con-name eth0 ifname eth0 type ethernet autoconnect yes
  5. nmcli connection modify eth0 ipv4.method manual
  6. ipv4.addresses 10.3.5.5/24
  7. ipv4.dns "10.3.5.11, 10.3.5.12"
  8. ipv4.gateway 10.3.5.1
  9. ipv4.dns-search sysin.org
  10. nmcli c up eth0
  11. 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 示例命令参考:
  1. # 查看网卡信息
  2. nmcli connection
  3. NAME    UUID                                  TYPE      DEVICE
  4. eth0    db05ccae-3a48-4300-b3a6-7c56429c4f54  ethernet  eth0
  5. # 显示具体的网络接口信息
  6. nmcli connection show eth0
  7. # 显示所有活动连接
  8. nmcli connection show --active
  9. # 删除一个网卡连接
  10. nmcli connection delete eth0
  11. # 创建一个网卡连接
  12. IFACE=`nmcli dev|grep ethernet|awk '{print $1}'`
  13. nmcli con delete $IFACE
  14. nmcli con add con-name "$IFACE" ifname "$IFACE" type ethernet autoconnect yes
  15. # 给 eth0 添加一个 IP 和子网掩码(NETMASK)
  16. nmcli connection modify eth0 ipv4.addresses 10.3.5.5/24
  17. # 给 eth0 添加两个 IP 地址和掩码
  18. nmcli connection modify eth0 ipv4.addresses "10.3.5.5/24, 10.3.5.6/24"
  19. # IP 获取方式设置成手动(BOOTPROTO=static/none)
  20. nmcli connection modify eth0 ipv4.method manual
  21. # 添加一个 ipv4
  22. nmcli connection modify eth0 +ipv4.addresses 10.3.5.6/24
  23. # 删除一个 ipv4
  24. nmcli connection modify eth0 -ipv4.addresses 10.3.5.6/24
  25. # 添加 DNS
  26. nmcli connection modify eth0 ipv4.dns 10.3.5.11
  27. # 同时添加两个 DNS
  28. nmcli connection modify eth0 ipv4.dns "10.3.5.11, 10.3.5.12"
  29. # 删除 DNS
  30. nmcli connection modify eth0 -ipv4.dns 10.3.5.11
  31. # 删除第一个 DNS
  32. nmcli connection modify eth0 -ipv4.dns 1
  33. # 添加一个网关(GATEWAY)
  34. nmcli connection modify eth0 ipv4.gateway 10.3.5.1
  35. # 都可以同时写,例如:
  36. nmcli connection modify eth0 ipv4.dns 10.3.5.11 ipv4.gateway 10.3.5.1
  37. # 域名 dns-search,对应 ifcfg 中的 DOMAIN
  38. nmcli connection modify eth0 ipv4.dns-search sysin.org
  39. # 使用 nmcli 重新回载网络配置
  40. nmcli c reload
  41. # 如果之前没有 eth0 的 connection,则上一步 reload 后就已经自动生效了
  42. nmcli c up eth0
复制代码
2.3 方法三:手工配置 ifcfg,安装 network.service 服务

可以通过 yum install network-scripts 来安装传统的 network.service,不过 redhat 说了,在下一个 RHEL 的大版本里将彻底废除,因此不建议利用 network.service。
  1. yum install network-scripts
  2. service network restart   #重启网络服务
  3. systemctl restart network.service   #重启网络服务
复制代码
三、修改主机名

说明:与 CentOS 7 方法雷同


  • 即时生效
  1. hostname  sysin  #设置主机名为 sysin
复制代码


  • 永久生效
  1. vi /etc/hostname #编辑配置文件
  2. sysin   #修改 localhost.localdomain 为 sysin
  3. :x  #保存退出
  4. 或者使用命令:`hostnamectl set-hostname sysin`
  5. 同时修改 hosts 文件:
  6. vi /etc/hosts #编辑配置文件
  7. 127.0.0.1   sysin   #增加一条
  8. :x  #保存退出
复制代码


  • 通过命令快速修改示例
  1. hostnamectl set-hostname sysin
  2. # 主机名这里是 sysin,替换实际名称直接执行
  3. NICName=`ip add|egrep global|awk '{print $NF}'|head -n 1`
  4. IP=`ip add|grep global|awk -F'[/]+' '{ print $3 }'|head -n 1`
  5. Hostname=`hostname`
  6. HostnameAll=`hostname --fqdn` #注意这里 `` 不是引号
  7. echo  "网卡名称:$NICName"
  8. echo  "IP 地址:  $IP"
  9. echo  "主机名称:  $Hostname $HostnameAll"
  10. echo "$IP   $Hostname $HostnameAll">>/etc/hosts
复制代码
四、激活 cockpit web console

CentOS 8 默认集成了 cockpit,登录画面提示激活方法(模板未启用):
  1. systemctl enable --now cockpit.socket
复制代码
  然后通过欣赏器访问:http://:9090

  补充说明:
  1. 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
  2. `设置开机自启动同时开启服务一条命令就可以搞定利用 CockpitCockpit 监听 9090 端口利用欣赏器访问 `http://<IP>:9090`
复制代码
五、关闭SELINUX

  1. vi /etc/selinux/config
  2. # SELINUX=enforcing       #注释掉
  3. # SELINUXTYPE=targeted    #注释掉
  4. SELINUX=disabled         #增加
  5. :x  #保存,关闭
  6. setenforce 0 #使配置立即生效,或者重启系统
  7. #shutdown -r now   #重启系统生效
  8. sestatus  #查看状态
  9. # 直接使用 sed 命令修改
  10. # 修改 ELINUX=enforcing 为 SELINUX=disabled,即替换行
  11. sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config
  12. # 或者:sed -i '/^SELINUX=enforcing/c SELINUX=disabled' /etc/selinux/config
  13. # 注释 SELINUXTYPE=targeted
  14. sed -i 's/^SELINUXTYPE=targeted/#&/' /etc/selinux/config
复制代码
六、配置firewalld

关闭 firewalld(模板配置)
CentOS 8 主要改动和 RedHat Enterprise Linux 8 是一致的,基于 Fedora 28 和内核版本 4.18,其中网络方面的主要改动是用 nftables 框架替代 iptables 框架作为默认的网络包过滤工具。
  1. systemctl stop firewalld.service  #停止 firewall
  2. systemctl disable firewalld.service  #禁止 firewall 开机启动
  3. firewall-cmd --state  #查看状态
复制代码
firewalld 常用命令(nftables 利用 nft 命令,参看其他文档)
CentOS 8 中 firewalld 已经与 iptables 解绑,后端改用 nftables,需要用 nft 或者 firewall-cmd 开放端口或者服务。
  1. # 查看配置
  2. firewall-cmd --list-all
  3. firewall-cmd --list-services  #默认开放:ssh dhcpv6-client
  4. firewall-cmd --zone=public --list-services  #指定区域进行查看
  5. firewall-cmd --list-ports
  6. firewall-cmd --zone=public --list-ports  #指定区域进行查看
  7. # 查看配置保存文件
  8. cat /etc/firewalld/zones/public.xml
  9. # 添加一个 TCP 端口 (删除将 add 关键字修改为 remove)
  10. firewall-cmd --zone=public --add-port=80/tcp --permanent  #--permanent 表示永久生效
  11. firewall-cmd --add-port=80/tcp --permanent  #与上面是等价的,默认 zone 为 pulic
  12. firewall-cmd --reload  #重新加载配置生效
  13. # 关于 zone
  14. firewall-cmd --get-zones  #查看所有 zone 的命令,CentOS 7 一共有 9 个 zone
  15. block dmz drop external home internal public trusted work
  16. firewall-cmd --get-zones  ##CentOS 8 有 10 个 zone
  17. block dmz drop external home internal libvirt public trusted work
  18. firewall-cmd --get-default-zone  #查看默认的 zone 的命令
  19. public
  20. # 添加一个服务
  21. firewall-cmd --add-service=snmp --permanent
  22. firewall-cmd --reload
  23. firewall-cmd --get-services  #查看可用的服务
  24. # 限定源地址访问
  25. firewall-cmd --add-rich-rule="rule family="ipv4"source address="192.168.1.0/24"port protocol="tcp"port="3306"accept" --permanent
  26. firewall-cmd --reload
复制代码
添加几个常用的服务:
  1. firewall-cmd --add-service=snmp --permanent
  2. firewall-cmd --add-service=http --permanent
  3. firewall-cmd --add-service=https --permanent
  4. firewall-cmd --reload
复制代码
禁 Ping:
  1. firewall-cmd --permanent --add-rich-rule='rule protocol value=icmp drop'  #全部禁 ping
  2. 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)

  1. yum -y install epel-release
  2. 或者 (EL8):
  3. rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
  4. rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
复制代码
八、安装一些必备工具

  1. # 一些基本工具最小化安装可能没有 (经测 vim 和 wget 等没有安装)
  2. yum -y install vim wget zip unzip
  3. # gcc 等选择开发工具(上述安装过程建议勾选了"Development Tools")
  4. dnf groupinstall "Development Tools"
  5. # Rocky Linux 默认没有 tar 命令,AlmaLinux 也没有,但是 CentOS 默认有
  6. yum -y install tar
  7. # 以下网络工具已经不存在
  8. # yum -y install setuptool system-config-network-tui system-config-firewall-tui
  9. # 默认安装没有 ifconfig 命令,安装 net-tools
  10. # ifconfig、netstat、route 等命令集
  11. yum -y install net-tools
  12. # host、dig 和 nslookup
  13. yum -y install bind-utils
  14. # 更好的 top 工具
  15. yum -y install htop
  16. #Anolis OS 中没有
  17. #https://github.com/hishamhm/htop
  18. # 文件传输:sz 和 rz
  19. yum -y install lrzsz
  20. # 查看日志神器 Log file Navigator
  21. yum -y install lnav
  22. # 该软件现在已经包含在 EPEL 中
  23. # 初期 EPEL 中没有,直接在线安装
  24. #rpm -ivh https://github.com/tstack/lnav/releases/download/v0.9.0/lnav-0.9.0-1.x86_64.rpm
  25. #Anolis OS 中没有
  26. # NTP 已经废弃,改用 chrony,默认自带
  27. # yum -y install ntp
  28. # nc:
  29. yum -y install nc
  30. # lsof:
  31. yum -y install lsof
  32. # tree:
  33. yum -y install tree
  34. # pstree:
  35. yum -y install psmisc
  36. # ncdu:NCurses Disk Usage
  37. yum -y install ncdu #新增工具,模板尚未加入,下个版本更新
  38. # dstat 监控 CPU、磁盘和网络使用率,下个版本加入
  39. yum -y install dstat
复制代码
fd 命令(fd-find,强烈推荐)
  1. 下载(二选一):
  2. # gcc 编译版本
  3. wget https://github.com/sharkdp/fd/releases/download/v8.0.0/fd-v8.0.0-x86_64-unknown-linux-gnu.tar.gz
  4. # musl libc 编译版本 (推荐)
  5. wget https://github.com/sharkdp/fd/releases/download/v8.0.0/fd-v8.0.0-x86_64-unknown-linux-musl.tar.gz
  6. # 安装:
  7. tar -zxvf fd-v8.0.0-x86_64-unknown-linux-*.tar.gz
  8. cd fd-v8.0.0-x86_64-unknown-linux-musl
  9. cp ./fd /usr/local/bin/
  10. cp ./fd.1 /usr/local/share/man/man1/
  11. mandb
复制代码
  可以根据个人习惯安装一些常用工具。

  九、配置NTP

在 CentOS 8.0 中默认不再支持 ntp 软件包,时间同步将由 chrony 来实现。
  1. cat /etc/chrony.conf
  2. # Use public servers from the pool.ntp.org project.
  3. # Please consider joining the pool (http://www.pool.ntp.org/join.html).
  4. # These servers were defined in the installation:
  5. pool 2.pool.ntp.org iburst  #Rocky default
  6. pool 2.centos.pool.ntp.org iburst #CentOS default
  7. pool 0.pool.ntp.org iburst
  8. pool ntp1.aliyun.com iburst
  9. pool ntp2.aliyun.com iburst
复制代码
十、安装SNMP

  1. yum -y install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils
  2. # 对比 CentOS 7 net-snmp-perl 已经不存在 (未知)
  3. # 因为是模板,这里暂不配置
复制代码
十一、虚机安装 VM-tools

在系统安装时间勾选了 “Guest Agent”,将自动安装 open-vm-tools
  1. 手动安装 open-vm-tools:
  2. # http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2073803
  3. yum -y install open-vm-tools
  4. # 开启服务
  5. #chkconfig vmtoolsd on
  6. systemctl enable vmtoolsd.service
  7. # 启动服务
  8. #service vmtoolsd start
  9. systemctl start vmtoolsd
  10. # 查看版本
  11. vmtoolsd -v
  12. #现在已经 11.2.0
  13. VMware Tools daemon, version 11.2.0.23855 (build-16938113)
复制代码
十二、用 yum 扫除不需要的更新包

  1. # 修改 yum 的配置文件
  2. vi /etc/yum.conf
  3. # 在 [main] 的最后添加 exclude=kernel*
  4. # 示例:
  5. [main]
  6. gpgcheck=1
  7. installonly_limit=3
  8. clean_requirements_on_remove=True
  9. best=True
  10. skip_if_unavailable=False
  11. 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 如下:
  1. [root@localhost ~] dnf repolist
  2. repo id                                                      repo name
  3. appstream                                                    Rocky Linux 8 - AppStream
  4. baseos                                                       Rocky Linux 8 - BaseOS
  5. extras                                                       Rocky Linux 8 - Extras
  6. [root@localhost ~] cd /etc/yum.repos.d/
  7. [root@localhost yum.repos.d]# ll
  8. total 44
  9. -rw-r--r--. 1 root root  700 Jun 19 22:20 Rocky-AppStream.repo
  10. -rw-r--r--. 1 root root  685 Jun 19 22:20 Rocky-BaseOS.repo
  11. -rw-r--r--. 1 root root  713 Jun 19 22:20 Rocky-Devel.repo
  12. -rw-r--r--. 1 root root  685 Jun 19 22:20 Rocky-Extras.repo
  13. -rw-r--r--. 1 root root  721 Jun 19 22:20 Rocky-HighAvailability.repo
  14. -rw-r--r--. 1 root root  680 Jun 19 22:20 Rocky-Media.repo
  15. -rw-r--r--. 1 root root  685 Jun 19 22:20 Rocky-Plus.repo
  16. -rw-r--r--. 1 root root  705 Jun 19 22:20 Rocky-PowerTools.repo
  17. -rw-r--r--. 1 root root  736 Jun 19 22:20 Rocky-ResilientStorage.repo
  18. -rw-r--r--. 1 root root  671 Jun 19 22:20 Rocky-RT.repo
  19. -rw-r--r--. 1 root root 2407 Jun 19 22:20 Rocky-Sources.repo
复制代码
Rocky Linux 国内镜像源
阿里云示例:
  1. sed -e 's|^mirrorlist=|#mirrorlist=|g' \
  2.     -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \
  3.     -i.bak \
  4.     /etc/yum.repos.d/Rocky-*.repo
  5. dnf makecache
复制代码
修改 epel,若安装了 epel,同时修改如下:
  1. # dnf repolist
  2. repo id                                         repo name
  3. appstream                                       Rocky Linux 8 - AppStream
  4. baseos                                          Rocky Linux 8 - BaseOS
  5. epel                                            Extra Packages for Enterprise Linux 8 - x86_64
  6. epel-modular                                    Extra Packages for Enterprise Linux Modular 8 - x86_64
  7. extras                                          Rocky Linux 8 - Extras
  8. # 修改 epel(url 不一样)
  9. sed -e 's/metalink=/#metalink=/g'
  10.     -e 's/#baseurl=/baseurl=/g'
  11.     -e 's/https://download.fedoraproject.org/pub/https://mirrors.aliyun.com/g'
  12.     -i.bak
  13.     /etc/yum.repos.d/epel*.repo
复制代码
清算并重新生成软件包信息缓存
  1. yum clean all
  2. yum autoremove
  3. rm -rf /var/cache/yum
  4. yum makecache
复制代码
十四、更新软件包

  1. dnf clean all
  2. dnf mackecache  #缓存软件包信息
  3. dnf upgrade  #更新软件包
  4. #rm -rf /var/cache/dnf
复制代码
十五、 安装图形界面

基于特定场景需要,一样平常不用安装
  1. yum grouplist  #查看可安装的组件
  2. yum groupinstall "Server with GUI"  #安装 GNOME 图形界面 (与 CentOS 7 名称不一样)
  3. yum groupinstall "Graphical Administration Tools"  #将自动安装
  4. startx  #启动图形界面
复制代码
实例:
  1. [root@localhost ~]# yum grouplist
  2. Last metadata expiration check: 1:12:58 ago on Sat 09 Nov 2019 03:59:09 PM CST.
  3. Available Environment Groups:
  4.    Server with GUI
  5.    Server
  6.    Workstation
  7.    KDE Plasma Workspaces
  8.    Virtualization Host
  9.    Custom Operating System
  10. Installed Environment Groups:
  11.    Minimal Install
  12. Installed Groups:
  13.    Development Tools
  14. Available Groups:
  15.    Container Management
  16.    .NET Core Development
  17.    RPM Development Tools
  18.    Smart Card Support
  19.    Graphical Administration Tools
  20.    Headless Management
  21.    Legacy UNIX Compatibility
  22.    Network Servers
  23.    Scientific Support
  24.    Security Tools
  25.    System Tools
  26.    Fedora Packager
复制代码
  1. [root@localhost ~]# yum groupinstall "Server with GUI"
  2. Installing Environment Groups:
  3. Server with GUI
  4. Installing Groups:
  5. Container Management
  6. Core
  7. Fonts
  8. GNOME
  9. Guest Desktop Agents
  10. Hardware Monitoring Utilities
  11. Hardware Support
  12. Headless Management
  13. Internet Browser
  14. Multimedia
  15. Common NetworkManager submodules
  16. Printing Client
  17. Server product core
  18. Standard
  19. Transaction Summary
  20. ==============================================================================================================
  21. Install  744 Packages
  22. Total download size: 696 M
  23. Installed size: 2.1 G
  24. Is this ok [y/N]:
复制代码
十六、Shell 配置

命令自动补全忽略大小写
该配置针对 Bash,仅利用 Zsh 可以忽略。
  1. echo 'set completion-ignore-case on' >> ~/.inputrc
复制代码
修改 ll 命令 Linux 中默认定义了 ll 别名,
但参数比较少,需要利用更加强大的 ll 别名。
写入环境变量(当前用户优先实行):
zsh:
  1. echo 'alias ll="ls -lahF --color=auto --time-style=long-iso"' >> ~/.zshrc
复制代码
bash:
  1. echo 'alias ll="ls -lahF --color=auto --time-style=long-iso"' >> ~/.bashrc
复制代码
  注意:仅仅针对当前用户,写入全局用户配置文件:/etc/skel/.bashrc 或者 /etc/skel/.zshrc

  高级版 ls:以数字显示权限
这里我们把命令叫做 lll
命令:
  1. 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 中出现 $ 变量通常会直接被实行,显示实行的结果。若想保持 $ 变量稳固需要利用 符举行解释。

  1. #如果非 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}'
  2. EOF#赋予实行权限:chmod +x /usr/local/bin/lll#如果非 root 用户,实行完毕退出exit
复制代码
vi 和 vim CentOS 8 系列 vi 和 vim 是差别的软件,
默认安装的是 vi,vim 需要手动安装。
创建 vi链接直接利用 vim:
  1. ln -s /usr/bin/vim /usr/local/bin/vi
复制代码
创建 vimrc 配置文件:
可以根据个人习惯来配置 vim,并用于全局配置。
  1. # 当面用户
  2. ~/.vimrc
  3. # 全局新用户默认
  4. /etc/skel/.vimrc
复制代码
十七、Zsh

以下是针对当前用户配置。全局配置请参看其他文章,这里直接利用全局配置文件即可。
  1. # 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
  2. 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 缓存
  1. dnf autoremove
  2. dnf clean all
复制代码
清算临时文件夹
  1. rm -rf /tmp/*  #清空临时文件夹
复制代码
清空汗青记载
  1. #比较完整的清空历史记录
  2. rm -f /var/log/audit/audit*
  3. echo > /var/log/audit/audit.log
  4. rm -f /var/log/secure*
  5. echo > /var/log/secure
  6. rm -f /var/log/btmp*
  7. echo > /var/log/btmp
  8. rm -f /var/log/wtmp*
  9. echo > /var/log/wtmp
  10. echo > /var/log/lastlog
  11. echo > ~/.bash_history
  12. echo > ~/.zsh_history
  13. history -c
复制代码
至此,Rocky Linux 的根本配置已经完成,可以制作模板了。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

商道如狼道

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表