Przypadkowo usunięty plik / etc / redhat-release

12

Przypadkowo usunąłem plik / etc / redhat-release. Jak mogę przywrócić lub utworzyć nowy? Mam CentOS Linux wydanie 7.0.1406 (Core).

Salvador
źródło
1
Łatwo: przywróć z kopii zapasowej
Anthon

Odpowiedzi:

23

Możesz użyć RPM, aby zobaczyć do jakiego RPM należy ten plik:

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

Następnie możesz to naprawić za pomocą yum:

$ yum reinstall centos-release

Może nie działać

Jeśli RPM użyty do przeprowadzenia tej instalacji nie jest już dostępny, powyższe nie będzie działać:

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

W takim przypadku możesz poszukać RPM w skarbcu CentOS (szukam go za pośrednictwem Google). UWAGA: konkretny pakiet, który chcesz znaleźć jest tutaj .

Następnie możesz pobrać RPM bezpośrednio i dokonać ponownej instalacji za pomocą rpmlub 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
Korzystanie z 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%]
Korzystanie z 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!

Dlaczego ponowna instalacja nie działała?

Jest to snafu, które powstało, gdy zindywidualizowane RPM dla określonych wersji CentOS były przestarzałe.

Ten katalog (i wersja CentOS) jest przestarzały. Dla zwykłych użytkowników powinieneś używać / 7 /, a nie /7.0.1406/ na swojej ścieżce. Zapoznaj się z często zadawanymi pytaniami dotyczącymi schematu wydania CentOS:

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

Jeśli wiesz, co robisz i absolutnie chcesz pozostać na poziomie 7.0.1406, przejdź na stronę http://vault.centos.org/ w celu uzyskania pakietów.

Należy pamiętać, że 7.0.0406 nie otrzymuje już żadnych aktualizacji ani poprawek bezpieczeństwa.

--- Źródło: http://mirror.centos.org/centos/7.0.1406/readme

Dlatego zazwyczaj musisz sięgać do skarbca CentOS, aby znaleźć pakiety, które znajdują się w tym stanie.

slm
źródło
-iNależy jednak unikać dobrej odpowiedzi, ale generalnie flaga do rpm powinna być prawie zawsze mniej użyteczna niż -Uflaga (i tak, -Umożna instalować całkowicie nowe pakiety).
Etan Reisner,
@EtanReisner - dobry punkt, zmieniony.
slm
@slm - Dlaczego samo dotknięcie pliku to za mało? W jaki sposób ponowne utworzenie pliku z ponownej instalacji pakietu różni się od zwykłego dotknięcia pliku w tym przypadku?
Sree
1
@Sree - w pliku jest zawartość. Istnieje wiele sposobów rekonstrukcji tego pliku, jest to po prostu plik tekstowy z wersją CentOS. Jednak ta metoda zagwarantuje, że plik zostanie odtworzony tak jak przed usunięciem. Pomyśl także o własności, uprawnieniach itp. Oprócz zawartości.
slm
4

Powinno być w porządku. Możesz ponownie utworzyć plik. Zawartość pliku to:

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

Ten plik należy do pakietu centos-release-7-0.1406.el7.centos.2.5.x86_64, więc dopóki go nie usunąłeś, wystarczy dotknięcie tego pliku ręcznie.

[root@server ~]# rpm -qf /etc/redhat-release
centos-release-7-0.1406.el7.centos.2.5.x86_64
Sree
źródło