Versehentlich gelöschte / etc / redhat-release-Datei

12

Ich habe versehentlich die Datei / etc / redhat-release gelöscht. Wie kann ich eine neue wiederherstellen oder erstellen? Ich habe CentOS Linux Version 7.0.1406 (Core).

Salvador
quelle
1
Einfach: Aus dem Backup wiederherstellen
Anthon

Antworten:

23

Sie können RPM verwenden, um zu ermitteln, zu welcher RPM-Datei diese Datei gehört:

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

Sie können das Problem dann beheben, indem Sie Folgendes verwenden yum:

$ yum reinstall centos-release

Könnte nicht funktionieren

Wenn das für diese Installation verwendete RPM nicht mehr verfügbar ist, funktioniert Folgendes nicht:

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

In diesem Fall können Sie beispielsweise im CentOS Vault nach diesem RPM suchen (ich suche über Google danach). HINWEIS: Das gewünschte Paket ist hier .

Sie können dann das RPM direkt herunterladen und die Neuinstallation mit rpmoder durchführen 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
Verwenden von 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 verwenden
$ 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!

Warum funktionierte die Neuinstallation nicht?

Dies ist eine Snafu, die erstellt wurde, als die individualisierten RPMs für bestimmte Versionen von CentOS veraltet waren.

Dieses Verzeichnis (und die Version von CentOS) sind veraltet. Für normale Benutzer sollten Sie / 7 / und nicht /7.0.1406/ in Ihrem Pfad verwenden. Bitte beachten Sie diese FAQ zum CentOS Release Schema:

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

Wenn Sie wissen, was Sie tun, und auf jeden Fall die Version 7.0.1406 beibehalten möchten, finden Sie unter http://vault.centos.org/ Pakete.

Bitte beachten Sie, dass 7.0.1406 keine Updates oder Sicherheitskorrekturen mehr erhält.

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

In der Regel müssen Sie in CentOS Vault nach Paketen greifen, die in diesen Status fallen.

slm
quelle
Gute Antwort, obwohl im Allgemeinen das -iFlag für rpm vermieden werden sollte, da es fast immer weniger nützlich ist als das -UFlag (und ja, -Uvöllig neue Pakete installieren kann).
Etan Reisner
@EtanReisner - guter Punkt, geändert.
slm
@slm - Warum reicht es nicht, nur die Datei zu berühren? Wie unterscheidet sich die Neuerstellung der Datei aus der Paketneuinstallation davon, dass Sie in diesem Fall nur die Datei berühren?
Sree
1
@ Sree - es gibt Inhalt in der Datei. Es gibt verschiedene Möglichkeiten, diese Datei zu rekonstruieren. Es handelt sich lediglich um eine Textdatei mit der darin enthaltenen CentOS-Version. Diese Methode garantiert jedoch, dass die Datei so wiederhergestellt wird, wie sie vor dem Löschen war. Denken Sie neben den Inhalten auch an Eigentumsrechte, Berechtigungen usw.
slm
4

Es sollte okay sein. Sie können die Datei neu erstellen. Der Inhalt der Datei ist:

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

Diese Datei gehört zum Paket centos-release-7-0.1406.el7.centos.2.5.x86_64. Solange Sie das Paket nicht entfernt haben, sollte es in Ordnung sein, diese Datei nur manuell zu berühren.

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