关于centos7 执行firewall-cmd命令报错如下:
firewall-cmd --list-all
Traceback (most recent call last):
File “/usr/bin/firewall-cmd”, line 24, in
from gi.repository import GObject
ModuleNotFoundError: No module named ‘gi’

解决方案:
问题是python里面没有这个包,我是因为安装了python3的解释器,设置后,python是指向python3的,而原来的系统firewall-cmd 是命令脚本是使用python2的,而python3没有对应包,所以需要修改firewall-cmd命令脚本,让它依旧使用python2,这样就不会有问题了,执行命令::sudo vim /usr/bin/firewall-cmd,打开文件修改第一行python为python2,问题解决。另外这个问题我想到一个问题,就是如果centos安装python3,需要保留python2,因为系统的一些脚本都是用python2的,这样可以避免一些不可预见的问题。

