【发布时间】:2023-04-04 12:04:01
【问题描述】:
我在我的 centos 服务器上安装了 firewalld,但是当我尝试启动它时,我得到了这个:
$ sudo systemctl start firewalld
Job for firewalld.service failed. See 'systemctl status firewalld.service' and 'journalctl -xn' for details.
这里是 systemctl 状态:
sudo systemctl status firewalld
firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled)
Active: failed (Result: exit-code) since پنجشنبه 2016-04-07 05:36:17 UTC; 9s ago
Process: 929 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=1/FAILURE)
Main PID: 929 (code=exited, status=1/FAILURE)
آوریل 07 05:36:17 server1.hamed1soleimani.ir systemd[1]: firewalld.service: main process exited, code=exited, status=1/FAILURE
آوریل 07 05:36:17 server1.hamed1soleimani.ir systemd[1]: Failed to start firewalld - dynamic firewall daemon.
آوریل 07 05:36:17 server1.hamed1soleimani.ir systemd[1]: Unit firewalld.service entered failed state.
和firewall-cmd状态:
sudo firewall-cmd --stat
Traceback (most recent call last):
File "/bin/firewall-cmd", line 24, in <module>
from gi.repository import GObject
File "/usr/lib64/python2.7/site-packages/gi/__init__.py", line 37, in <module>
from . import _gi
ImportError: /usr/lib64/python2.7/site-packages/gi/_gi.so: undefined symbol: g_type_check_instance_is_fundamentally_a
我无法理解firewalld和一些gtk python扩展之间的关系!
【问题讨论】:
-
GTK+ 建立在一个名为 GLib 的库之上,该库提供各种实用程序(如操作系统抽象和高级数据结构)、一个 I/O 抽象层,对 GTK+ 最重要的是GTK+ 使用的面向对象系统和允许 Python 使用它的 gi(GObject Introspection)包。 firewalld 也在使用 GLib;不过,它不使用 GTK+。至于你的错误,我猜你的 GLib 版本太旧了(或者你的 python-gobject 版本太旧了?两者都有?)。
-
还要注意不要将 GLib 与 glibc(大多数 Linux 发行版使用的 libc)混淆。
-
@andlabs 非常感谢!更新库后问题解决。
-
什么是库?如何升级库?
标签: python linux centos gtk firewall