Menghapus / etc / redhat-release file secara tidak sengaja

12

Saya tidak sengaja menghapus file / etc / redhat-release. Bagaimana saya bisa mengembalikan atau membuat yang baru? Saya memiliki CentOS Linux rilis 7.0.1406 (Core).

penyelamat
sumber
1
Mudah: pulihkan dari cadangan
Anthon

Jawaban:

23

Anda dapat menggunakan RPM untuk melihat milik RPM apa file itu:

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

Anda kemudian dapat memperbaikinya menggunakan yum:

$ yum reinstall centos-release

Mungkin tidak bekerja

Jika RPM yang digunakan untuk melakukan instalasi ini tidak lagi tersedia maka hal di atas tidak akan berfungsi:

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

Dalam hal ini Anda dapat mencari RPM di CentOS Vault (saya mencari melalui Google untuk itu), misalnya. CATATAN: Paket spesifik yang Anda inginkan ada di sini .

Anda kemudian dapat mengunduh RPM secara langsung dan menginstal ulang menggunakan rpmatau 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
Menggunakan 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%]
Menggunakan 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!

Mengapa tidak menginstal ulang?

Ini adalah snafu yang dibuat ketika RPM individual untuk versi spesifik CentOS tidak digunakan lagi.

Direktori ini (dan versi CentOS) sudah usang. Untuk pengguna normal, Anda harus menggunakan / 7 / dan bukan /7.0.1406/ di jalur Anda. Silakan lihat FAQ ini mengenai skema rilis CentOS:

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

Jika Anda tahu apa yang Anda lakukan, dan benar-benar ingin tetap di level 7.0.1406, buka http://vault.centos.org/ untuk paket.

Harap diingat bahwa7.0.1406 tidak lagi mendapat pembaruan, atau perbaikan keamanan apa pun.

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

Jadi Anda biasanya harus menjangkau CentOS Vault untuk paket yang termasuk dalam status ini.

slm
sumber
Jawaban yang baik meskipun secara umum -iflag ke rpm harus dihindari karena hampir selalu kurang bermanfaat maka -Uflag (dan, ya, -Udapat menginstal paket yang sama sekali baru).
Etan Reisner
@EtanReisner - poin bagus, berubah.
slm
@slm - Mengapa hanya menyentuh file saja tidak cukup? Bagaimana membuat ulang file dari instalasi ulang paket berbeda dari hanya menyentuh file dalam kasus ini?
Sree
1
@Sree - ada konten di dalam file. Ada berbagai cara untuk merekonstruksi file ini, itu hanya file teks dengan versi CentOS di dalamnya. Namun metode ini akan menjamin bahwa file tersebut dibuat kembali seperti sebelum dihapus. Pikirkan kepemilikan, izin, dll. Selain konten juga.
slm
4

Seharusnya tidak apa-apa. Anda dapat membuat ulang file. Konten file adalah:

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

File ini milik paket centos-release-7-0.1406.el7.centos.2.5.x86_64, jadi selama Anda belum menghapus paket itu, cukup menyentuh file ini secara manual.

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