为什么删除 iptables 会“破坏”我的网络访问?

为什么删除 iptables 会“破坏”我的网络访问?

为了删除 iptables,我使用了 yum :

# yum remove iptables -y

但这删除了很多包:

Remove      262 Package(s)

Installed size: 710 M
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Erasing    : xorg-x11-drivers-7.3-13.4.el6.x86_64                                                                                                                                                                    1/262 
  Erasing    : ipa-client-3.0.0-37.el6.x86_64                                                                                                                                                                          2/262 
  Erasing    : firstboot-1.110.15-1.el6.x86_64                                                                                                                                                                         3/262 
  Erasing    : system-config-date-docs-1.0.11-1.el6.noarch                                                                                                                                                             4/262 
  Erasing    : system-config-date-1.9.60-2.el6.centos.noarch                                                                                                                                                           5/262 
  Erasing    : system-config-kdump-2.0.5-15.el6.noarch                                                                                                                                                                 6/262 
  Erasing    : system-config-network-tui-1.6.0.el6.2-1.el6.noarch                                                                                                                                                      7/262 
  Erasing    : dmraid-1.0.0.rc16-11.el6.x86_64                                                                                                                                                                         8/262 
  Erasing    : dmraid-events-1.0.0.rc16-11.el6.x86_64                                                                                                                                                                  9/262 
  Erasing    : compiz-gnome-0.8.2-24.el6.x86_64                                                                                                                                                                       10/262 
  Erasing    : gnome-disk-utility-2.30.1-2.el6.x86_64                                                                                                                                                                 11/262 
  Erasing    : compiz-0.8.2-24.el6.x86_64                                                                                                                                                                             12/262 
  Erasing    : xorg-x11-drv-ati-7.1.0-3.el6.x86_64                                                                                                                                                                    13/262 
  Erasing    : pulseaudio-module-bluetooth-0.9.21-14.el6_3.x86_64                                                                                                                                                     14/262 
  Erasing    : gnome-bluetooth-2.28.6-8.el6.x86_64                                                                                                                                                                    15/262 
  Erasing    : bluez-4.66-1.el6.x86_64                                                                                                                                                                                16/262 
  Erasing    : gnome-power-manager-2.28.3-7.el6_4.x86_64                                                                                                                                                              17/262 
  Erasing    : rhythmbox-0.12.8-1.el6.x86_64                                                                                                                                                                          18/262 
  Erasing    : xorg-x11-glamor-0.5.0-6.20130401git81aadb8.el6.x86_64                                                                                                                                                  19/262 
  Erasing    : mesa-libEGL-9.2-0.5.el6.x86_64                                                                                                                                                                         20/262 
  Erasing    : kexec-tools-2.0.0-273.el6.x86_64                                                                                                                                                                       21/262 
  Erasing    : xorg-x11-drv-modesetting-0.5.0-1.el6.x86_64                                                                                                                                                            22/262 
  Erasing    : 1:xorg-x11-drv-nouveau-1.0.1-4.el6.x86_64                                                                                                                                                              23/262 
  Erasing    : xorg-x11-drv-synaptics-1.6.2-13.el6.x86_64                                                                                                                                                             24/262 
...

很多包丢失了,我无法再使用连接到该系统ssh!我的命令行出了什么问题?

答案1

我的命令行出了什么问题?

没有什么。它做了你要求它做的事情——删除了 iptables,并且据此推断,删除了依赖于它的所有内容。一切都取决于这些事情等等。

remove -y正如 Kiwy 指出的那样,在没有首先考虑可能发生的情况的情况下运行是相当鲁莽的。我在 iptables 的背景故事中感受到了一些挫败感?无论如何,为了将来的参考,据我所知,iptables 是默认安装的,但没有定义任何规则,所以如果你不想搞砸它,就不要做任何事情,它也不会。

提出这个问题,“为什么它是这么多东西的依赖?”,对此我没有答案;我不认为这是因为真正的必要,但由于它默认是无牙的,并且被认为是任何普通 Linux 系统上的标准基本设备,也许这样做有一些优点。

repoquery --whatrequires iptables

需要一两分钟(虽然依赖项是正常包元数据的一部分,但“依赖项”不是,所以这个查询需要一些工作)并显示一个相当大的列表(在 Fedora 20 上对我来说大约有 50 个包)。考虑到进一步附加到这些事物的事物链(“删除 262 个软件包...”),您的系统处于半瘫痪状态也就不足为奇了。

无论如何,您可以通过从高级软件包开始重新安装其中许多东西。在这方面有用的是yum searchyum provides和等命令repquery --list。要恢复您的 ssh 客户端:

yum install openssh-clients

当然,您需要另一种方式来访问该系统,希望它不是在冰岛的农场上,否则您将不得不拨打一些电话。您还因事物的外观而失去了 X,因此当您插入屏幕和键盘时,请不要对此感到惊讶。

我们都会时不时地、不经意地做出愚蠢的事情。

相关内容