ลบ / etc / redhat-release โดยไม่ตั้งใจ


12

ฉันลบไฟล์ / etc / redhat-release โดยไม่ตั้งใจ ฉันจะคืนค่าหรือสร้างใหม่ได้อย่างไร ฉันมี CentOS Linux รีลีส 7.0.1406 (Core)


1
ง่าย: กู้คืนจากการสำรองข้อมูล
Anthon

คำตอบ:


23

คุณสามารถใช้ RPM เพื่อดูไฟล์ RPM ที่เป็นของ:

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

จากนั้นคุณสามารถแก้ไขได้โดยใช้yum:

$ yum reinstall centos-release

อาจไม่ทำงาน

หาก RPM ที่เคยใช้ในการติดตั้งนี้ไม่สามารถใช้งานได้อีกต่อไปข้อมูลด้านบนจะไม่ทำงาน:

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

ในกรณีนี้คุณสามารถค้นหาRPMนั้นใน CentOS Vault (ฉันค้นหาผ่าน Google เพื่อหาตัวอย่าง) หมายเหตุ:แพคเกจที่คุณต้องการคือที่นี่

จากนั้นคุณสามารถดาวน์โหลด RPM โดยตรงและทำใหม่ติดตั้งใช้หรือrpmyum

$ 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
ใช้ 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
$ 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!

ทำไมไม่ติดตั้งใหม่ทำงาน

นี่คือ snafu ที่สร้างขึ้นเมื่อ RPM ที่แยกเป็นรายบุคคลไปยัง CentOS รุ่นที่เฉพาะเจาะจงถูกคัดค้าน

ไดเรกทอรีนี้ (และรุ่นของ CentOS) เลิกใช้แล้ว สำหรับผู้ใช้ปกติคุณควรใช้ / 7 / และไม่ใช่ /7.0.1406/ ในเส้นทางของคุณ โปรดดูคำถามที่พบบ่อยนี้เกี่ยวกับโครงการเผยแพร่ CentOS:

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

หากคุณรู้ว่าคุณกำลังทำอะไรและต้องการอยู่ในระดับ 7.0.1406 ให้ไปที่http://vault.centos.org/เพื่อดูแพ็คเกจ

โปรดทราบว่า 7.0.1406 จะไม่ได้รับการอัปเดตใด ๆ อีกต่อไปหรือแก้ไขปัญหาความปลอดภัยใด ๆ

--- ที่มา: http://mirror.centos.org/centos/7.0.1406/readme

ดังนั้นโดยทั่วไปคุณต้องเข้าถึงCentOS Vaultสำหรับแพ็คเกจที่อยู่ในสถานะนี้


คำตอบที่ดีแม้ว่าโดยทั่วไป-iควรหลีกเลี่ยงการตั้งค่าสถานะรอบต่อนาทีเนื่องจากมีประโยชน์น้อยกว่าเสมอจากการ-Uตั้งค่าสถานะ (และใช่-Uสามารถติดตั้งแพ็คเกจใหม่ทั้งหมด)
Etan Reisner

@EtanReisner - จุดดีมีการเปลี่ยนแปลง
slm

@slm - เพราะเหตุใดการสัมผัสไฟล์จึงไม่เพียงพอ การสร้างไฟล์ใหม่จากการติดตั้งแพ็คเกจใหม่แตกต่างจากการสัมผัสไฟล์ในกรณีนี้อย่างไร
Sree

1
@Sree - มีเนื้อหาอยู่ในไฟล์ มีหลายวิธีในการสร้างไฟล์นี้ใหม่มันเป็นเพียงไฟล์ข้อความที่มีเวอร์ชันของ CentOS อยู่ อย่างไรก็ตามวิธีนี้จะรับประกันว่าไฟล์จะถูกสร้างใหม่เหมือนเดิมก่อนที่จะถูกลบ คิดว่าเป็นเจ้าของสิทธิ์และอื่น ๆ นอกเหนือจากเนื้อหาด้วย
slm

4

มันควรจะโอเค คุณสามารถสร้างไฟล์ได้อีกครั้ง เนื้อหาของไฟล์คือ:

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

ไฟล์นี้เป็นของแพ็คเกจcentos-release-7-0.1406.el7.centos.2.5.x86_64ดังนั้นตราบใดที่คุณไม่ได้ลบแพ็คเกจออกไปเพียงแค่สัมผัสไฟล์นี้ด้วยตนเองควรจะใช้ได้

[root@server ~]# rpm -qf /etc/redhat-release
centos-release-7-0.1406.el7.centos.2.5.x86_64
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.