Firewalld起動エラー
勉強用のFedora32マシンで ある日 突然Firewalldが起動時エラーになった。
Systemctl start firewalld で
control process exited with error code. See "systemctl status firewalld.service" and "journalctl -xe" for details.
となった。
firewalldの削除&再導入や設定ファイルを消して再導入でもうまくいきませんでしたが、ちょっとしたことで復活できたので記述しておきます。
エラーに気づいたのがFirewalldを止めた状態で誤ってGUIの設定ツールを起動させてエラーになった時なのですが、もしかしたらAIの勉強でPythonで動くツールをいろいろ入れたのが原因かもしれません。Qiitaに書くほどでもないので個人メモ的にいれておきます
1:Firewalld起動エラーの検索で下記サイトから firewall-cmd --list-all を見つけて試すと、
[root@localhost zones]# firewall-cmd --list-all
Traceback (most recent call last):
File "/usr/bin/firewall-cmd", line 31, in <module>
from firewall.client import FirewallClient, FirewallClientIPSetSettings, \
File "/usr/lib/python3.8/site-packages/firewall/client.py", line 29, in <module>
import slip.dbus
File "/usr/lib/python3.8/site-packages/slip/dbus/__init__.py", line 8, in <module>
from . import service
File "/usr/lib/python3.8/site-packages/slip/dbus/service.py", line 30, in <module>
from six import with_metaclass
ModuleNotFoundError: No module named 'six'
・・となり どうやら sixというものが無いらしい。
2:ModuleNotFoundError: No module named 'six' で検索して 下記から cp /usr/local/lib/python3.6/site-packages/six.py /usr/lib/python3.6/site-packages/ を得た。
3:自分の環境はPython 3.8なので /usr/lib/python3.8/site-packages/ を見ると six.pyは無いので /usr/local/lib/python3.8/site-packages/six.py からコピーしたところ firewalldは復活した。
もともと無くても問題なかったのが環境が変わって必要になったのか、何かのはずみで消えたのかは 判りません。
仮想環境のCentOS8ではPython3.6下にsix.pyは存在しておりました。