CentOS/Rocky Linux Tips

ry Lee ◉‿◉

警告

由于官方取消了对CentOS的支持,以下内容中关于CentOS的部分可能有些已经失效。
后续更新的新内容主要是关于CentOS的继承者Rocky Linux.

在CentOS的使用和教学过程中,遇到过一些问题,在这里进行整理和总结。

1. headers not found for target kernel

安装或升级kernel-headers即可。

1
2
3
4
5
6
7
8
# 升级kernel版本
sudo yum update kernel -y
# 安装kernel-headers和编译软件的依赖库
sudo yum install kernel-headers kernel-devel gcc make -y
# 删除旧版本kernel
uname -r # 查看当前使用kernel版本
rpm -qa | grep kernel-[0-9] # 查看安装的所有版本kernel
sudo yum remove 旧版本内核 # 删除旧版本kernel

2. 设置国内镜像源

1
2
3
4
5
6
# 设置阿里镜像源
sudo 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/[Rr]ocky-*.repo
# 更新缓存
sudo dnf makecache

3. CentOS安装Python3

3.1 Rocky Linux 8.7

此处所使用的CentOS版本是CentOS的继承者Rocky Linux 8.7,这个版本的Linux中含有Python3.6,这里安装的是Python3.9

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 更新软件
sudo dnf -y update
# 安装python3.9
sudo dnf install python39 -y
# 安装后默认的python3命令依然是旧版本,需要重新创建软链接
# 使用which命令,查找新安装的python3.9和原来的python/python3所在位置
which python3.9
which python3
which python
# 删除原有的python和python3
sudo rm /usr/bin/python3 /usr/bin/python
# 建立新的软链接
sudo ln -s /usr/bin/python3.9 /usr/bin/python
sudo ln -s /usr/bin/python3.9 /usr/bin/python3
# 重复上面的步骤,创建新的pip链接
sudo rm /usr/bin/pip3 /usr/bin/pip
sudo ln -s /usr/bin/pip3.9 /usr/bin/pip
sudo ln -s /usr/bin/pip3.9 /usr/bin/pip3

3.2 CentOS 7

1
2
3
4
5
sudo yum update
sudo yum install yum-utils
sudo yum groupinstall development
sudo yum install https://centos7.iuscommunity.org/ius-release.rpm
sudo yum install python36

4. CentOS7 网络配置

4.1 配置虚拟机网络连接

使用ip addr命令,查看网卡当前设置,结果如下:

1
2
3
4
5
6
7
8
9
[root@localhost ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever prefered_lft forever
inet6 ::1/128 scope host
valid_lft forever prefered_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:0f:d6:f6 brd ff:ff:ff:ff:ff:ff

在这里,可以看到enp0s3这块网卡,应该就是虚拟机的网卡,但是这块网卡当前并未分配IP地址。既然没有ip地址,那直接去/etc/sysconfig/network-scripts目录中看一下的网卡ip信息的配置文件名吧。

1
2
3
4
5
6
7
8
9
10
[root@localhost ~]# ls /etc/sysconfig/network-scripts
ifcfg-enp0s3 ifdown-ppp ifup-eth ifup-sit
ifcfg-lo ifdown-routes ifup-ippp ifup-Team
ifdown ifdown-sit ifup-ipv6 ifup-TeamPort
ifdown-dnep ifdown-Team ifup-isdn ifup-tunnel
ifdown-eth ifdown-TeamPort ifup-plip ifup-wireless
ifdown-ippp ifdown-tunnel ifup-plusb init.ipv6-global
ifdown-ipv6 ifup ifup-post network-functions
ifdown-isdn ifup-aliases ifup-ppp network-functions-ipv6
ifdown-post ifup-bnep ifup-routes

从显示的结果来看,网卡的配置文件应当为ifcfg-enp0s3,查看该文件内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@centos1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp2s0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=13cbc11b-fdc9-4663-ab1a-fbc3e279c85c
ONBOOT=no

可以看到,BOOTPROTO=dhcp已经将IP地址的获取设置为dhcp模式,但是ONBOOT=no将网卡随开机启动设置为关闭状态,所以我们要将其设置为ONBOOT=yes。设置完成后,可以使用ifup enp0s3命令,启动网卡,也可以用shutdown -r命令,重启系统。重启系统之后,再用ip addr命令查看其网卡设置:

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:0f:d6:f6 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic enp0s3
valid_lft 86257sec preferred_lft 86257sec
inet6 fe80::facf:7da3:d61b:6a39/64 scope link noprefixroute
valid_lft forever preferred_lft forever

因为以最小模式安装CentOS 7,就已经默认安装并启动了ssh,因此就可以通过ssh连接虚拟机,愉快的玩耍了。

4.2 安装ifconfig命令

通过ping命令,可以查看现在虚拟机是否已经连接外网:

1
2
3
4
[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (112.34.112.40) 56(84) bytes of data.
64 bytes from 112.34.112.40 (112.34.112.40): icmp_seq=1 ttl=63 time=19.2 ms
64 bytes from 112.34.112.40 (112.34.112.40): icmp_seq=2 ttl=63 time=19.8 ms

如上所示,已经能够成功连接外网,下面所要做的就是利用yum install net-tools命令,安装ifconfig。安装完成后,即可使用ifconfig命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@localhost ~]# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255
inet6 fe80::facf:7da3:d61b:6a39 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:0f:d6:f6 txqueuelen 1000 (Ethernet)
RX packets 7827 bytes 10002300 (9.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3324 bytes 220777 (215.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

5. linux 系统下网卡启动与关闭命令汇总

5.1 ifup | ifdown {interface}

ifup与ifdown会直接到/etc/ sysconfig/network-scripts目录下搜索对应的配置文件,例如ifup eth0,它会找出ifcfg-eth0这个文件的内容,然后加以设置。不过,由于这两个程序主要是搜索设置文件ifcfg-ethx来进行启动与关闭的,所以在使用前请确定ifcfg-ethx是否真的存在于正确的目录内,否则会启动失败。另外,如果以ifconfig eth0来设置或者是修改了网络接口后,就无法再以ifdown eth0的方式来关闭了。因为ifdown会分析比较目前的网络参数与ifcfg-eth0是否相符,不符的话,就会放弃这次操作。因此,使用ifconfig修改完毕后,应该要以ifconfig eth0 down才能够关闭该接口。

5.2 /etc/init.d/network start | stop | restart

5.3 service network start | stop | restart

6. 重置root密码

基于Rocky Linux 8.7

  1. 在启动界面,按e键进入内核编辑界面

内核启动页-2023-02-27-17-10-28

  1. 在启动项后追加rd.break参数,并使用Ctrl+x键启动内核

添加启动参数-2023-02-27-17-13-16

  1. 依次输入命令,修改root用户密码
1
2
3
4
5
6
mount -o remount, rw /sysroot  # 重新挂载用户,将只读改为读写
chroot /sysroot # 切换root
passwd # 输入新密码
touch /.autorelabel # 创建标志文件,下次启动SELinux会自动更新密码相关上下文
exit # 退出root的shell
reboot # 重启系统
  • 标题: CentOS/Rocky Linux Tips
  • 作者: ry Lee
  • 创建于 : 2023-02-05 11:03:50
  • 更新于 : 2023-11-28 12:17:56
  • 链接: https://blog.rylee.fun/2023/02/05/centos-tips/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
 评论