Linux——centos7防火墙重启失败
防火墙重启失败
·
目录
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、完毕
创作不易,如有问题,随时联系
更多推荐
已为社区贡献2条内容
所有评论(0)