意外删除了 /etc/redhat-release 文件

sal*_*dor 12 centos data-recovery

我不小心删除了 /etc/redhat-release 文件。如何恢复或创建一个新的?我有 CentOS Linux 版本 7.0.1406(核心)。

slm*_*slm 23

您可以使用 RPM 查看该文件所属的 RPM:

$ rpm -qf /etc/redhat-release
centos-release-7-0.1406.el7.centos.2.5.x86_64
Run Code Online (Sandbox Code Playgroud)

然后您可以使用yum以下方法修复它:

$ yum reinstall centos-release
Run Code Online (Sandbox Code Playgroud)

可能不起作用

如果用于执行此安装的 RPM 不再可用,则上述方法将不起作用:

$ yum reinstall centos-release-7-0.1406.el7.centos.2.5.x86_64
...
Installed package centos-release-7-0.1406.el7.centos.2.5.x86_64 (from updates) not available.
Run Code Online (Sandbox Code Playgroud)

例如,在这种情况下,您可以在 CentOS Vault 中查找该RPM(我通过 Google 搜索)。 注意:您想要的特定包在这里

然后,您可以直接下载 RPM 并使用rpm或重新安装yum

$ wget http://vault.centos.org/centos/7.0.1406/updates/x86_64/Packages/centos-release-7-0.1406.el7.centos.2.5.x86_64.rpm
Run Code Online (Sandbox Code Playgroud) 使用 RPM
$ sudo rpm -Uvh --replacepkgs centos-release-7-0.1406.el7.centos.2.5.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:centos-release-7-0.1406.el7.cento################################# [100%]
Run Code Online (Sandbox Code Playgroud) 使用 YUM
$ sudo yum reinstall centos-release-7-0.1406.el7.centos.2.5.x86_64.rpm
Loaded plugins: dellsysid, fastestmirror, langpacks
Examining centos-release-7-0.1406.el7.centos.2.5.x86_64.rpm: centos-release-7-0.1406.el7.centos.2.5.x86_64
Resolving Dependencies
--> Running transaction check
---> Package centos-release.x86_64 0:7-0.1406.el7.centos.2.5 will be reinstalled
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================================================
 Package                     Arch                Version                              Repository                                                   Size
========================================================================================================================================================
Reinstalling:
 centos-release              x86_64              7-0.1406.el7.centos.2.5              /centos-release-7-0.1406.el7.centos.2.5.x86_64               31 k

Transaction Summary
========================================================================================================================================================
Reinstall  1 Package

Total size: 31 k
Installed size: 31 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : centos-release-7-0.1406.el7.centos.2.5.x86_64                                                                                        1/1
  Verifying  : centos-release-7-0.1406.el7.centos.2.5.x86_64                                                                                        1/1

Installed:
  centos-release.x86_64 0:7-0.1406.el7.centos.2.5

Complete!
Run Code Online (Sandbox Code Playgroud)

为什么没有重新安装工作?

这是在针对特定版本 CentOS 的个性化 RPM 被弃用时造成的混乱。

这个目录(和 CentOS 的版本)已被弃用。对于普通用户,您应该在路径中使用 /7/ 而不是 /7.0.1406/。请参阅有关 CentOS 发行方案的常见问题解答:

https://wiki.centos.org/FAQ/General

如果您知道自己在做什么,并且绝对想保持在 7.0.1406 级别,请访问http://vault.centos.org/获取软件包。

请记住,7.0.1406 不再获得任何更新,也不再获得任何安全修复。

--- 来源:http : //mirror.centos.org/centos/7.0.1406/readme

因此,您通常必须进入CentOS Vault才能找到落入这种状态的软件包。