Випадково видалений / 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!

Чому не вдалося переустановити роботу?

Це снафу, яка була створена, коли індивідуалізовані RPM для конкретних версій CentOS були вичерпані.

Цей каталог (та версія CentOS) застарілий. Для звичайних користувачів вам слід використовувати / 7 /, а не /7.0.1406/ на своєму шляху. Будь ласка, дивіться цей FAQ щодо схеми випуску CentOS:

https://wiki.centos.org/FAQ/Загальні

Якщо ви знаєте, що ви робите, і абсолютно хочете залишатися на рівні 7.0.1406, перейдіть на сторінку http://vault.centos.org/, щоб отримати пакунки.

Зауважте, що 7.0.1406 більше не отримує жодних оновлень, а також жодних виправлень безпеки.

--- Джерело: http://mirror.centos.org/centos/7.0.1406/readme

Тому зазвичай потрібно потрапити у Сейф CentOS для пакетів, які потрапляють у цей стан.


Хорошої відповіді, хоча загалом -iслід уникати прапора в обороті, оскільки це майже завжди менш корисно, ніж -Uпрапор (і, так, -Uможна встановлювати абсолютно нові пакети).
Ітан Рейснер

@EtanReisner - хороший пункт, змінено.
slm

@slm - Чому просто торкатися файлу недостатньо? Чим повторне створення файлу після повторної інсталяції пакета відрізняється від простого дотику до файлу в цьому випадку?
Sree

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.