Linux误删系统自带python2导致yum和firewalld失效解决方法(绝对有效)

今天因为要pip一个库于准备安装一下python3,然后自己在命令窗python-v的时候发现居然有个python2,于是想着升级就顺带把python2删掉了(rpm一波删光了python2和yum不要太迅速。。)

后面在部署一个项目想开启端口的时候发现防火墙失效了!Failed to start firewalld报错Job for firewalld.service failed because the control process exited with error。然后yum指令报错No module named yum。这一下给我搞晕了。

看到网上大多数关于firewalld失效的解决方案是说因为升级了python,导致原本python版本的指向出错,修改相关文件即将firewalld和firewall-cmd第一行调用的python改为系统的python即可解决具体方式是vi /usr/bin/firewall-offline-cmd和/usr/sbin/firewalld 里面的第一行Python指向,将两个文件第一行的 #!/usr/bin/python -Es 改成 #!/usr/bin/python2.7 -Es

我尝试后发现没有效果,估计是因为我不是升级python而是删除了系统原python导致的问题。

在我使用systemctl start firewalld命令时,提示这类相关的模块缺失。

Traceback (most recent call last):
  File "/usr/sbin/firewalld", line 29, in <module>
    import dbus
ImportError: No module named dbus

于是查阅文档,发现说是要安装python-gobject和python-firewall,即yum install python-gobject -y 和yum install python-firewall -y就可解决问题(确实如此)。

但是在yum时提示我No module named yum,我想卧槽这yum不被我删了吗?

于是卸载现有python2以及yum(之前参考一些文章重下的,但是无效),根据自己的版本,在官网安装包库里找相关python2和yum的安装包(注意要和自己的linux版本一致,不然可能会出现一些小问题)。

官网地址:Index of /https://vault.centos.org/以下是centos7.3.1611的相关python2和yum安装。

### 安装python2
rpm -ivh --nodeps http://vault.centos.org/7.3.1611/os/x86_64/Packages/python-2.7.5-48.el7.x86_64.rpm

rpm -ivh --nodeps http://vault.centos.org/7.3.1611/os/x86_64/Packages/python-devel-2.7.5-48.el7.x86_64.rpm

rpm -ivh --nodeps http://vault.centos.org/7.3.1611/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm 

rpm -ivh --nodeps http://vault.centos.org/7.3.1611/os/x86_64/Packages/python-libs-2.7.5-48.el7.x86_64.rpm 

rpm -ivh --nodeps http://vault.centos.org/7.3.1611/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpm

rpm -ivh --nodeps http://vault.centos.org/7.3.1611/os/x86_64/Packages/python-urlgrabber-3.10-8.el7.noarch.rpm 

rpm -ivh --nodeps http://vault.centos.org/7.3.1611/os/x86_64/Packages/rpm-python-4.11.3-21.el7.x86_64.rpm

### 安装yum
rpm -ivh --nodeps http://vault.centos.org/7.3.1611/os/x86_64/Packages/yum-3.4.3-150.el7.centos.noarch.rpm

rpm -ivh --nodeps http://vault.centos.org/7.3.1611/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm

rpm -ivh --nodeps http://vault.centos.org/7.3.1611/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-40.el7.noarch.rpm

安装完成之后python --version和yum查看一下,发现没问题了。继续上面yum install python-gobject -y 和yum install python-firewall -y的步骤。

安装完成后使用命令systemctl start firewalld,发现成功了!使用添加端口命令firewall-cmd --add-port=8080/tcp --permanent,返回success。至此问题解决。

最后贴一下firewalld的基本使用

启动: systemctl start firewalld

关闭: systemctl stop firewalld

查看状态: systemctl status firewalld

开机禁用 : systemctl disable firewalld

开机启用 : systemctl enable firewalld

查看开放的端口:firewall-cmd --list-ports

添加端口:firewall-cmd --add-port=8080/tcp --permanent (–permanent永久生效,没有此参数重启后失效)

防火墙重新加载:firewall-cmd --reload

参考文章:

2021年CentOS7关于Firewalld防火墙失效报错问题处理_赡养的博客-CSDN博客

linux误删系统自带python2.7, 导致yum不可用_JasonZ_1的博客-CSDN博客_linux误删python2

最全解决方案:Failed to start firewalld - dynamic firewall daemon_轩+1的博客-CSDN博客

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值