服务器抹去“yum删除python”后

我运行命令yum remove python后,发生了一场灾难,现在我无法启动服务器了。

它是怎么发生的:我尝试通过我的CentOS 5 VPS上的yum更新一些应用程序,并且由于一些奇怪的python 2.4错误,该命令失败。 我注意到我的版本的Python是旧的,我试图通过首先删除它重新安装,所以我做了yum remove python

之后,它问了我一些关于删除依赖关系,看起来像什么我可以错过,所以我点击Y

所以后果是我无法运行任何命令。 我甚至尝试过cd /var/www但是它说的是“ command does not exist in /usr/bin ”。 当我使用tab来查看文件夹导航build议时,文件结构似乎仍然存在(至less是/var/www位,这对我来说非常重要)。 之后,我尝试重新启动vps(从pipe理面板,因为reboot命令不起作用),现在它不能启动了。

现在我的问题是:像这样的命令可能会像这样摧毁我的服务器?

我真诚地对不起:我可以感觉到有一个服务器无法启动/无法使用的痛苦。

但是,当我读到这些时,我迷失了方向:

之后,它问我一些关于消除依赖关系,它看起来像什么我可以错过,所以我点击[Y]

由于python是RHEL / CentOS的一个重要组成部分,所以待删除软件包的列表确实非常庞大。 你永远不应该确认一些你不明白的警告信息。

正如已经build议的那样,你可以做的最好的事情是通过一个恢复媒体(即:livecd)启动,提取所需的数据文件,并用新的CentOS版本重新安装你的机器(因为CentOS 6是相当古老的,我强烈build议你在CentOS 7上重新设置)。

坦率地说,因为你做了一些你不完全明白的事情。 Python是操作系统的重要组成部分,你认为不重要的东西是非常重要的。 从备份还原。


当你删除Python时, yum向你显示了一长串包也将被删除。 这个列表包含yum本身, coreutilsnet-tools和其他的基本要素。 你确定,你知道你在做什么,并想继续。 这个结果是一个非工作系统。 这应该不会令人惊讶。

为了logging,在较新的CentOS版本中,这是不可能的,因为某些软件包现在被标记为受保护的并且不能被移除,只能重新安装或升级。 而且既然CentOS 5现在是EOL,现在是升级到更新版本的好时机。

你没有完全理解后果而做了一些事情

那个安装是无法恢复的,需要大量的工作来重新安装centos5。 这是一个糟糕的计划,因为

  1. CentOS 5是生命的终结,因此没有更新。 这是非常严重的,因为它听起来像在公共互联网上提供内容的networking服务器,并使用面板应用程序来控制它。
  2. CentOS> 5会阻止你做这个更新并杀死这个盒子。 这是一个很好的安全气囊。
  3. CentOS 7宣称支持主要的版本升级。 我从来没有用过,但是能够从7跳到8跳的时候会很好。 Debian从此就拥有了这个版本,但Redhat总是需要重新安装主版本的跳转。

最好的办法是创build一个新的VPS,全新安装CentOS7,然后重新挂接旧的centos5磁盘卷,并以只读方式挂载。 然后工作将您的数据从旧驱动器复制(不移动)到新的。

请注意,这将是我使用AWS的方法。 如果您的VPS提供商无法将磁盘连接到不同的虚拟机,那么您将不得不调整计划。

不pipe你做什么,请考虑将来设置自动备份。 它不会救你,但它会使恢复更灵活。 现在你需要在新的工作服务器上的磁盘上的数据。 不要松动现有的磁盘。

这怎么可能发生? 好吧,很简单:通过删除对您的服务器至关重要的部分。

下一步为您:重新部署一个新的操作系统,并从备份恢复您的数据。

正如dragon788和其他人在评论中指出的那样,在Gentoo中,开发人员还维护了一套tinderbox软件包,这些软件包只是预先构build的,是针对这种情况的一组操作系统的核心软件包的二进制版本。 如果你丢失了一个核心软件包,你只需要将系统引导到LiveCD / DVD,安装损坏的服务器的操作系统驱动器,然后将tinderbox软件包解压缩到文件系统,卸载,重启,如果启动正确,重新编译回你的服务器的规格和configuration。

因此,为了在CentOS中执行类似的操作,我想你需要find正确版本的RPM,然后启动到LiveCD / DVD,安装操作系统驱动器和chroot(也许…如果你是熟悉的以及如何使用rpm的“ –relocate ”标志,您可能不需要chroot),然后重新安装这些软件包,卸载并重新引导。

当然,由于上个月对CentOS 5的支持已经结束,所以在您正确地重新启动系统之后,您可以将其更新为当前版本。

HTH。

您通常可以从安装介质启动,然后chroot运行命令或进入当前安装并恢复文件或执行软件包的重新安装。