Khi hệ điều hành CentOS 7 chính thức kết thúc vòng đời (End-of-Life), người dùng sẽ không thể cập nhật hay cài đặt phần mềm qua YUM theo cách thông thường. Lỗi này xảy ra do các kho lưu trữ mặc định đã bị vô hiệu hóa. Bài viết này sẽ hướng dẫn bạn cách cấu hình lại YUM để trỏ về kho lưu trữ cũ (vault) và tiếp tục sử dụng bình thường.
1. Thông báo quan trọng: CentOS 7 End-of-Life
Kể từ ngày 30 tháng 6 năm 2024, CentOS 7 đã chính thức ngưng hỗ trợ (End-of-Life - EOL). Điều này có nghĩa là các kho lưu trữ (repository) mặc định đã bị vô hiệu hóa, dẫn đến việc lệnh yum update hoặc yum install sẽ báo lỗi không tìm thấy máy chủ.
2. Vấn đề gặp phải là gì?
Sau ngày EOL, khi bạn chạy các lệnh YUM, bạn sẽ nhận được các thông báo lỗi tương tự như sau:
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: HTTP Error 404 - Not Found
...
One of the configured repositories failed (CentOS-7 - Base),
and yum doesn't have enough cached data to continue.
Nguyên nhân là do các địa chỉ mirrorlist và baseurl mặc định không còn tồn tại. Để khắc phục, chúng ta cần chuyển hướng YUM đến CentOS Vault - kho lưu trữ chính thức dành cho các phiên bản CentOS đã cũ.
3. Hướng dẫn thực hiện chi tiết
Hãy làm theo các bước dưới đây để cấu hình lại các file .repo của bạn.
- Bước 1: Sao lưu file cấu hình hiện tại
Trước khi thực hiện bất kỳ thay đổi nào, hãy sao lưu các file cấu hình YUM của bạn để đảm bảo an toàn. Mở terminal và chạy lệnh sau:
sudo cp -r /etc/yum.repos.d/ /etc/yum.repos.d.bak - Bước 2: Chuyển hướng đến CentOS Vault
Chúng ta sẽ sử dụng lệnh
sed
để tự động tìm và thay thế các URL cũ bằng URL của CentOS Vault trong tất cả các file cấu hình. Thao tác này sẽ vô hiệu hóa mirrorlist và trỏ baseurl đến kho lưu trữ vault.sudo sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sudo sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* - Bước 3: Dọn dẹp và tạo lại cache cho YUM
Sau khi thay đổi cấu hình, bạn cần xóa cache cũ và yêu cầu YUM tạo lại cache mới từ kho lưu trữ Vault.
sudo yum clean all
sudo yum makecache - Bước 4: Kiểm tra và cập nhật
Bây giờ, hãy thử chạy lại lệnh cập nhật. Nếu mọi thứ thành công, bạn sẽ thấy danh sách các gói được tải về từ địa chỉ vault.centos.org.
sudo yum updateHệ thống của bạn bây giờ đã có thể cập nhật và cài đặt các gói từ kho lưu trữ của CentOS 7.
4. Kết luận và Lời khuyên
Giải pháp trên giúp máy chủ CentOS 7 của bạn có thể tiếp tục hoạt động và cài đặt các gói cần thiết sau ngày EOL. Đây là một cách "chữa cháy" hiệu quả trong ngắn hạn.
Lời khuyên quan trọng:
Mặc dù giải pháp này giúp bạn tiếp tục sử dụng CentOS 7, chúng tôi thực sự khuyên bạn nên lên kế hoạch nâng cấp lên một hệ điều hành được hỗ trợ dài hạn như AlmaLinux hoặc Rocky Linux. Việc này đảm bảo máy chủ của bạn luôn nhận được các bản vá bảo mật quan trọng, tránh các rủi ro tiềm ẩn.
Nếu bạn cần hỗ trợ trong việc di chuyển hoặc quản trị máy chủ, dịch vụ Quản trị Máy chủ của VietHosting luôn sẵn sàng giúp bạn.