Случайно удаленный файл / etc / redhat-release

12

Я случайно удалил файл / etc / redhat-release. Как я могу восстановить или создать новый? У меня CentOS Linux выпуск 7.0.1406 (Core).

Сальвадор
источник
1
Легко: восстановление из резервной копии
Anthon

Ответы:

23

Вы можете использовать RPM, чтобы увидеть, к какому RPM принадлежит этот файл:

$ rpm -qf /etc/redhat-release
centos-release-7-0.1406.el7.centos.2.5.x86_64

Затем вы можете исправить это, используя yum:

$ yum reinstall centos-release

Может не сработать

Если 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.

В этом случае вы можете найти этот RPM в CentOS Vault (я ищу его через 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
Использование 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%]
Использование 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!

Почему не переустановить работу?

Это snafu, который был создан, когда индивидуальные RPM для определенных версий CentOS устарели.

Этот каталог (и версия CentOS) устарел. Для обычных пользователей вы должны использовать / 7 /, а не /7.0.1406/ на своем пути. Пожалуйста, смотрите этот FAQ по схеме выпуска 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 за пакетами, которые попадают в это состояние.

SLM
источник
Хороший ответ, хотя обычно -iследует избегать использования флага rpm, так как он почти всегда менее полезен, чем -Uфлаг (и, да, -Uможет устанавливать совершенно новые пакеты).
Этан Рейснер
@EtanReisner - хорошая мысль, изменилась.
SLM
@slm - Почему простого прикосновения к файлу недостаточно? Чем в этом случае воссоздание файла из переустановки пакета отличается от простого прикосновения к файлу?
Шри
1
@Sree - внутри файла есть контент. Есть несколько способов восстановить этот файл, это просто текстовый файл с версией CentOS. Однако этот метод гарантирует, что файл будет воссоздан так, как он был до удаления. Подумайте о праве собственности, разрешениях и т. Д. В дополнение к содержанию.
SLM
4

Это должно быть хорошо. Вы можете заново создать файл. Содержание файла:

[root@server ~]# cat /etc/centos-release
CentOS Linux release 7.0.1406 (Core)
[root@server ~]#

Этот файл принадлежит пакету centos-release-7-0.1406.el7.centos.2.5.x86_64, поэтому, пока вы не удалили этот пакет, достаточно просто прикоснуться к этому файлу вручную.

[root@server ~]# rpm -qf /etc/redhat-release
centos-release-7-0.1406.el7.centos.2.5.x86_64
Sree
источник