Vô tình xóa / etc / redhat-phát hành tập tin


12

Tôi vô tình xóa / etc / redhat-phát hành tập tin. Làm thế nào tôi có thể khôi phục hoặc tạo một cái mới? Tôi có bản phát hành CentOS Linux 7.0.1406 (Core).


1
Dễ dàng: khôi phục từ bản sao lưu
Anthon

Câu trả lời:


23

Bạn có thể sử dụng RPM để xem RPM mà tệp đó thuộc về:

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

Sau đó, bạn có thể sửa nó bằng cách sử dụng yum:

$ yum reinstall centos-release

Có thể không làm việc

Nếu RPM đã được sử dụng để thực hiện cài đặt này không còn khả dụng thì phần trên sẽ không hoạt động:

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

Trong trường hợp này, bạn có thể tìm RPM đó trong CentOS Vault (tôi tìm kiếm thông qua Google cho nó), chẳng hạn. LƯU Ý: Gói cụ thể bạn muốn có ở đây .

Sau đó, bạn có thể tải xuống RPM trực tiếp và thực hiện cài đặt lại bằng cách sử dụng rpmhoặc 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
Sử dụng 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%]
Sử dụng 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!

Tại sao không cài đặt lại công việc?

Đây là một snafu được tạo ra khi các RPM được cá nhân hóa cho các phiên bản cụ thể của CentOS không được chấp nhận.

Thư mục này (và phiên bản của CentOS) không được dùng nữa. Đối với người dùng bình thường, bạn nên sử dụng / 7 / chứ không phải /7.0.1406/ trong đường dẫn của bạn. Vui lòng xem Câu hỏi thường gặp này liên quan đến chương trình phát hành CentOS:

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

Nếu bạn biết bạn đang làm gì và hoàn toàn muốn duy trì ở mức 7.0.1406, hãy truy cập http://vault.centos.org/ để biết các gói.

Xin lưu ý rằng7.0.1406 không còn nhận được bất kỳ bản cập nhật nào, cũng như bất kỳ bản sửa lỗi bảo mật nào.

--- Nguồn: http://mirror.centos.org/centos/7.0.1406/readme

Vì vậy, bạn thường phải tiếp cận với CentOS Vault cho các gói rơi vào trạng thái này.


Câu trả lời tốt mặc dù nói chung -inên tránh cờ đến vòng / phút vì nó hầu như luôn ít hữu dụng hơn -Ucờ (và, vâng, -Ucó thể cài đặt các gói hoàn toàn mới).
Etan Reisner

@EtanReisner - điểm tốt, đã thay đổi.
slm

@slm - Tại sao chỉ chạm vào tệp là không đủ? Làm thế nào để tạo lại tệp từ cài đặt lại gói khác với việc chỉ chạm vào tệp trong trường hợp này?
Sree

1
@Sree - có nội dung bên trong tập tin. Có nhiều cách khác nhau để xây dựng lại tệp này, nó chỉ đơn giản là một tệp văn bản có phiên bản CentOS trong đó. Tuy nhiên phương pháp này sẽ đảm bảo rằng tệp được tạo lại như trước khi bị xóa. Hãy suy nghĩ quyền sở hữu, quyền, vv ngoài các nội dung quá.
slm

4

Nó sẽ ổn thôi Bạn có thể tạo lại tập tin. Nội dung của tệp là:

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

Tệp này thuộc về gói centos-release-7-0.1406.el7.centos.2.5.x86_64, vì vậy miễn là bạn chưa gỡ bỏ gói đó, chỉ cần chạm vào tệp này theo cách thủ công là ổn.

[root@server ~]# rpm -qf /etc/redhat-release
centos-release-7-0.1406.el7.centos.2.5.x86_64
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.