Rocky Linux操纵指南
rocky Linux 相信还有一些同学会比较陌生。好像平常只听说过Ubuntu和centos。rocky Linux 是个什么东西呢。它实在就是centos8的更稳固版本:centos8 测试版 --> rhel8 --> rocky8它现在已经更新到了第九代的一个版本,我们暂时先不用那么高的。先用rocky8.6版本熟悉一下根本的操纵。
https://img-blog.csdnimg.cn/99584cec656c41878721042f0b372dcd.png
阿里云镜像下载地点: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
cd /etc/sysconfig/network-scripts/
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.1 方法一:手工配置 ifcfg,利用 nmcli 来生效新的网络配置
安装过程中最好配置好网络,如果需要编辑网络,修改配置文件如下:
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.
nmcli 示例命令参考:
# 查看网卡信息
nmcli connection
NAME UUID TYPE DEVICE
eth0 db05ccae-3a48-4300-b3a6-7c56429c4f54etherneteth0
# 显示具体的网络接口信息
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 方法雷同
[*]即时生效
hostnamesysin#设置主机名为 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
# 在 的最后添加 exclude=kernel*
# 示例:
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,在 的最后添加 exclude=kernel*
2). 直接在 yum 的命令行实行如下的命令: yum --exclude=kernel* update
以上的办法也适合你要求自行扫除的其它更新软件包。
备注:安装某些软件包需要新版内核支持,需要删除以上配置。
十三、更换国内镜像yum源
Rocky Linux 默认 repo 如下:
dnf repolist
repo id repo name
appstream Rocky Linux 8 - AppStream
baseos Rocky Linux 8 - BaseOS
extras Rocky Linux 8 - Extras
cd /etc/yum.repos.d/
# ll
total 44
-rw-r--r--. 1 root root700 Jun 19 22:20 Rocky-AppStream.repo
-rw-r--r--. 1 root root685 Jun 19 22:20 Rocky-BaseOS.repo
-rw-r--r--. 1 root root713 Jun 19 22:20 Rocky-Devel.repo
-rw-r--r--. 1 root root685 Jun 19 22:20 Rocky-Extras.repo
-rw-r--r--. 1 root root721 Jun 19 22:20 Rocky-HighAvailability.repo
-rw-r--r--. 1 root root680 Jun 19 22:20 Rocky-Media.repo
-rw-r--r--. 1 root root685 Jun 19 22:20 Rocky-Plus.repo
-rw-r--r--. 1 root root705 Jun 19 22:20 Rocky-PowerTools.repo
-rw-r--r--. 1 root root736 Jun 19 22:20 Rocky-ResilientStorage.repo
-rw-r--r--. 1 root root671 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#启动图形界面
实例:
# 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
# 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
==============================================================================================================
Install744 Packages
Total download size: 696 M
Installed size: 2.1 G
Is this ok :
十六、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)~//)*2^(8-i))}j=4;for(i=4;i<=10;i+=3){s+=((substr($1,i,1)~//)*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)~//)*2^(8-i))}j=4;for(i=4;i<=10;i+=3){s+=((substr($1,i,1)~//)*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 -rf /tmp/*#清空临时文件夹
清空汗青记载
#比较完整的清空历史记录
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企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]