由于官方取消了对CentOS的支持,以下内容中关于CentOS的部分可能有些已经失效。
后续更新的新内容主要是关于CentOS的继承者Rocky Linux.
在CentOS的使用和教学过程中,遇到过一些问题,在这里进行整理和总结。
安装或升级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密码
- 在启动界面,按
e键进入内核编辑界面

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

- 依次输入命令,修改root用户密码
1 2 3 4 5 6
| mount -o remount, rw /sysroot # 重新挂载用户,将只读改为读写 chroot /sysroot # 切换root passwd # 输入新密码 touch /.autorelabel # 创建标志文件,下次启动SELinux会自动更新密码相关上下文 exit # 退出root的shell reboot # 重启系统
|