Arquivo / etc / redhat-release acidentalmente excluído

12

Apaguei acidentalmente o arquivo / etc / redhat-release. Como posso restaurar ou criar um novo? Eu tenho o CentOS Linux versão 7.0.1406 (Core).

salvador
fonte
1
Fácil: restaurar do backup
Anthon

Respostas:

23

Você pode usar o RPM para ver a que RPM esse arquivo pertence:

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

Você pode corrigi-lo usando yum:

$ yum reinstall centos-release

Pode não funcionar

Se o RPM usado para fazer essa instalação não estiver mais disponível, o procedimento acima não funcionará:

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

Nesse caso, você pode procurar esse RPM no CentOS Vault (eu pesquiso pelo Google), por exemplo. NOTA: O pacote específico que você deseja está aqui .

Você pode fazer o download do RPM diretamente e reinstalar usando 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
Usando 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%]
Usando 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!

Por que não reinstalou o trabalho?

Este é um problema criado quando os RPMs individualizados para versões específicas do CentOS foram descontinuados.

Este diretório (e versão do CentOS) está obsoleto. Para usuários normais, você deve usar / 7 / e não /7.0.1406/ no seu caminho. Consulte esta FAQ sobre o esquema de lançamento do CentOS:

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

Se você sabe o que está fazendo e deseja absolutamente permanecer no nível 7.0.1406, acesse http://vault.centos.org/ para obter pacotes.

Lembre-se de que a versão 7.0.1406 não recebe mais atualizações nem correções de segurança.

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

Portanto, você normalmente precisa acessar o CentOS Vault para obter pacotes que se enquadram nesse estado.

slm
fonte
Boa resposta, embora geralmente o -iflag para rpm deva ser evitado, pois é quase sempre menos útil que o -Uflag (e, sim, -Upode instalar pacotes totalmente novos).
Etan Reisner 15/06
@EtanReisner - bom ponto, mudou.
slm
@slm - Por que apenas tocar no arquivo não é suficiente? Como a recriação do arquivo a partir da reinstalação do pacote difere de apenas tocar no arquivo nesse caso?
Sree
1
@Sree - há conteúdo dentro do arquivo. Existem várias maneiras de reconstruir esse arquivo, é simplesmente um arquivo de texto com a versão do CentOS. No entanto, esse método garante que o arquivo seja recriado como antes da exclusão. Pense em propriedade, permissões, etc., além do conteúdo também.
slm
4

Tudo bem. Você pode recriar o arquivo. O conteúdo do arquivo é:

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

Esse arquivo pertence ao pacote centos-release-7-0.1406.el7.centos.2.5.x86_64; portanto, desde que você não o tenha removido, basta tocar nele manualmente.

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