Fichier / etc / redhat-release accidentellement supprimé

12

J'ai accidentellement supprimé le fichier / etc / redhat-release. Comment puis-je en restaurer ou en créer un nouveau? J'ai la version 7.0.1406 de CentOS Linux (Core).

Salvador
la source
1
Facile: restaurer à partir d'une sauvegarde
Anthon

Réponses:

23

Vous pouvez utiliser RPM pour voir à quel RPM ce fichier appartient:

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

Vous pouvez ensuite le réparer en utilisant yum:

$ yum reinstall centos-release

Pourrait ne pas fonctionner

Si le RPM qui a été utilisé pour effectuer cette installation n'est plus disponible, alors ce qui précède ne fonctionnera pas:

$ 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.

Dans ce cas, vous pouvez rechercher ce RPM dans le CentOS Vault (je le recherche via Google), par exemple. REMARQUE: le package spécifique que vous souhaitez est ici .

Vous pouvez ensuite télécharger le RPM directement et effectuer la réinstallation à l'aide de rpmou 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
Utilisation de 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%]
Utiliser 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!

Pourquoi la réinstallation n'a-t-elle pas fonctionné?

Il s'agit d'un snafu qui a été créé lorsque les RPM individualisés vers des versions spécifiques de CentOS étaient obsolètes.

Ce répertoire (et la version de CentOS) est obsolète. Pour les utilisateurs normaux, vous devez utiliser / 7 / et non /7.0.1406/ dans votre chemin. Veuillez consulter cette FAQ concernant le schéma de publication de CentOS:

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

Si vous savez ce que vous faites et que vous souhaitez absolument rester au niveau 7.0.1406, rendez-vous sur http://vault.centos.org/ pour les packages.

N'oubliez pas que la version 7.0.1406 ne reçoit plus de mises à jour ni de correctifs de sécurité.

--- Source: http://mirror.centos.org/centos/7.0.1406/readme

Vous devez donc généralement accéder à CentOS Vault pour les packages qui tombent dans cet état.

slm
la source
Bonne réponse, mais en général, le -idrapeau de rpm doit être évité car il est presque toujours moins utile que le -Udrapeau (et, oui, -Upeut installer des packages entièrement nouveaux).
Etan Reisner
@EtanReisner - bon point, changé.
slm
@slm - Pourquoi le simple fait de toucher le fichier ne suffit-il pas? En quoi la recréation du fichier à partir de la réinstallation du package diffère-t-elle du simple toucher du fichier dans ce cas?
Sree
1
@Sree - il y a du contenu dans le fichier. Il existe différentes façons de reconstruire ce fichier, il s'agit simplement d'un fichier texte contenant la version de CentOS. Cependant, cette méthode garantit que le fichier est recréé tel qu'il était avant d'être supprimé. Pensez à la propriété, aux autorisations, etc. en plus du contenu.
slm
4

Ça devrait aller. Vous pouvez recréer le fichier. Le contenu du fichier est:

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

Ce fichier appartient au package centos-release-7-0.1406.el7.centos.2.5.x86_64, donc tant que vous n'avez pas supprimé ce package, il suffit de toucher ce fichier manuellement.

[root@server ~]# rpm -qf /etc/redhat-release
centos-release-7-0.1406.el7.centos.2.5.x86_64
Sree
la source