系统平台
CentOS Linux 7 (Core)
查看磁盘空间 /boot 分区已经占用 70%
更新系统,再安装其他大点的软件或升级内核版本,就开始报错,提示 boot 空间不足。
那 /boot 分区做什么用的呢? 这必须要了解搞清楚了才好下手解决问题。
/boot 分区 它主要是存放一些系统的内核的配置文件,以及启动管理程序 GRUB 的目录。既然知道了做什么用的,那问题也大致了解该怎么解决了。
清理旧内核版本
首先要检查系统的内核版本,当前使用的内核是那个版本。
[scm@k8snode1 ~]$ uname -r
3.10.0-1160.90.1.el7.x86_64
[scm@k8snode1 ~]$ uname -a
Linux k8snode1 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
[scm@k8snode1 ~]$
[scm@k8snode1 ~]$ rpm -qa|grep kernel
kernel-tools-libs-3.10.0-1160.90.1.el7.x86_64
kernel-tools-3.10.0-1160.90.1.el7.x86_64
kernel-devel-3.10.0-1160.90.1.el7.x86_64
kernel-devel-3.10.0-862.el7.x86_64
kernel-headers-3.10.0-1160.90.1.el7.x86_64
kernel-3.10.0-862.el7.x86_64
abrt-addon-kerneloops-2.1.11-60.el7.centos.x86_64
kernel-3.10.0-1160.90.1.el7.x86_64
[scm@k8snode1 ~]$
查出来系统中存在的所有内核版本,把之前老旧的内核版本就可以删除,释放磁盘空间了。
# rpm -qa|grep kernel
kernel-tools-libs-3.10.0-1160.90.1.el7.x86_64
kernel-tools-3.10.0-1160.90.1.el7.x86_64
kernel-devel-3.10.0-1160.90.1.el7.x86_64
kernel-devel-3.10.0-862.el7.x86_64
kernel-headers-3.10.0-1160.90.1.el7.x86_64
kernel-3.10.0-862.el7.x86_64
abrt-addon-kerneloops-2.1.11-60.el7.centos.x86_64
kernel-3.10.0-1160.90.1.el7.x86_64
[root@k8snode1 boot]# yum remove kernel-3.10.0-862.el7.x86_64
[root@k8snode1 boot]# yum remove kernel-devel-3.10.0-862.el7.x86_64
清理删除老旧内核版本后,再次查看磁盘空间。
目前 /boot 分区只占用 54%,再次执行系统更新,就不在有报磁盘空间不足的错了。
修改网卡 UUID
查看当前网卡的 UUID
[scm@k8snode1 ~]$ nmcli con show
NAME UUID TYPE DEVICE
ens33 c96bc909-188e-ec64-3a96-6a90982b08ad ethernet ens33
virbr0 5d209051-e949-4fa2-862c-590191cd8344 bridge virbr0
[scm@k8snode1 ~]$
[scm@k8snode1 ~]$
查看 MAC 地址
[scm@k8snode1 ~]$ nmcli device show
GENERAL.DEVICE: ens33
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 00:0C:29:4E:26:3D
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: ens33
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: 192.168.59.150/24
IP4.GATEWAY: 192.168.59.2
IP4.ROUTE[1]: dst = 0.0.0.0/0, nh = 192.168.59.2, mt = 100
IP4.ROUTE[2]: dst = 192.168.59.0/24, nh = 0.0.0.0, mt = 100
IP4.DNS[1]: 192.168.59.2
IP4.DOMAIN[1]: localdomain
IP6.ADDRESS[1]: fe80::6b4f:35e8:1fcd:36cc/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 100
IP6.ROUTE[2]: dst = ff00::/8, nh = ::, mt = 256, table=255
生成新的UUID
[scm@k8snode1 ~]$ uuidgen ens33
c3da924a-9b17-4a94-a927-570a432783ce
[scm@k8snode1 ~]$
给网卡替换新生成的 UUID
[scm@k8snode1 ~]$ /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
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="ens33"
UUID="c3da924a-9b17-4a94-a927-570a432783ce"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.59.150
NETMASK=255.255.255.0
GATEWAY=192.168.59.2
[scm@k8snode1 ~]$
重新启动网卡
# systemctl restart NetworkManager
# systemctl restart network
# service network restart
执行 reboot 完成
配置SSH免密登录
先看一下免密登录原理
免密登录原理通过RSA公开密钥算法的一种应用。RSA是公开密钥密码体制的一种使用不同的加密密钥与解密密钥,“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制(非对称加密) 。
通俗点的说法就是同时生成“公钥”和“私钥”,私钥自己保存,公钥发给其他人。
生成登录用户的 ssh
# 直接执行下面的指令,一直敲回车即可。
# ssh-keygen -t rsa
然后把生成的 id_rsa.pub 文件,发送到需要免密登录的服务器上去。
然后免密登录另外的服务器试试看,是否已成功免密登录了。
到 .ssh 目录下,可以看到,多了如下的两个文件 authorized_keys,known_hosts,就是对面远程服务器的相关密钥信息。
几个相关的配置文件做个简单说明
然后在远程服务器上,也按上面相同的方式执行,在互相进行免密登录试试看效果。
如下是强大的 ChatGPT 给的实现步骤,各位同学也可以看看参考一下。
到此,SSH 免密登录配置也就完成了。