目录

1、发现问题

2、解决问题

1、发现问题

所遇问题:

防火墙重启及启动时报如下错误:

[root@xiaoming ~]# systemctl start firewalld.service

Job for firewalld.service failed because the control process exited with error code. See "systemctl status firewalld.service" and "journalctl -xe" for details.

查看防火墙状态时,错误显示如下:

 及Firewalls-cmd显示如下:

[root@xiaoming ~]# firewall-cmd
Traceback (most recent call last):
  File "/usr/bin/firewall-cmd", line 24, in <module>
    from gi.repository import GObject
ModuleNotFoundError: No module named 'gi'

错误原因分析:

    经查资料,说是由于使用了自定义安装的python,并将自己安装的python作为默认python导致的

2、解决问题

解决方法

    因此只需将firewalld和firewall-cmd第一行调用的python改为系统的python即可解决。

1、进入到bin目录进行修改

[root@xiaoming ~]# cd /usr/bin/
[root@xiaoming bin]# ll python*

lrwxrwxrwx. 1 root root   38 Oct  7 00:49 python -> /usr/local/python3.10.4/bin/python3.10
lrwxrwxrwx. 1 root root    9 Sep  4 11:05 python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 Oct 30  2018 python2.7

可看到python是2.7的

2、因此,只需要用 vim 打开 /usr/sbin/firewalld  和  /usr/bin/firewall-cmd,将其中的第一行由#!/usr/bin/python -Es 改为  #!/usr/bin/python2.7 -Es 即可!简单来说就是把 python 改为python2.7 就OK了

输入 /usr/sbin/firewalld

以 /usr/sbin/firewalld 为例( /usr/bin/firewall-cmd 一样的操作),将下图第一行

 修改为:

 3、最后重启防火墙

 systemctl restart firewalld

4、之后使用防火墙查看命令  “ systemctl status firewalld ” 查看,可以看到问题完美解决

 5、完毕

创作不易,如有问题,随时联系

Logo

更多推荐