Fix lỗi yum trên CentOS 7 là một vấn đề thường gặp mà nhiều người dùng hệ điều hành này phải đối mặt, đặc biệt khi thực hiện các thao tác liên quan đến việc cài đặt hoặc cập nhật phần mềm. Trong bài viết này, chúng ta sẽ cùng nhau tìm hiểu về nguyên nhân của lỗi này, giải pháp khắc phục cụ thể cũng như cách bảo trì hệ thống để tránh gặp phải sự cố tương tự trong tương lai.
Mô tả lỗi và nguyên nhân gây ra sự cố
Trong khi sử dụng CentOS 7, bạn có thể gặp phải thông báo lỗi “Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7arch=x86_64repo=osinfra=stock; curl6 – Could not resolve host: mirrorlist.centos.org”. Nguyên nhân chính của lỗi này thường liên quan đến việc hệ thống không thể truy cập được vào máy chủ lưu trữ (repository) của CentOS.
Nguyên nhân chính
Lỗi này có thể do một số lý do sau:
- Hệ thống mạng không ổn định: Nếu kết nối internet của bạn không ổn định hoặc bị gián đoạn, hệ thống sẽ không thể truy cập các kho lưu trữ cần thiết.
- Dịch vụ CentOS đã ngừng hoạt động: Từ ngày 30 tháng 6 năm 2024, CentOS 7 sẽ không còn được hỗ trợ chính thức, điều này đồng nghĩa với việc các máy chủ kho lưu trữ sẽ không còn hoạt động như trước.
- Cấu hình repo sai: Cấu hình tệp repo có thể đã bị thay đổi hoặc sai lệch dẫn đến việc không thể truy cập vào kho lưu trữ.
Hệ lụy khi gặp phải lỗi này
Khi gặp phải lỗi này, người dùng sẽ không thể cài đặt, cập nhật hoặc gỡ bỏ bất kỳ gói phần mềm nào bằng lệnh yum
. Điều này có thể gây khó khăn cho việc duy trì và cập nhật hệ thống, từ đó ảnh hưởng đến hiệu suất làm việc của server.
Phương pháp tự động thay thế tệp lưu trữ
Một trong những cách đơn giản và hiệu quả nhất để khắc phục lỗi này là thực hiện phương pháp tự động thay thế tệp lưu trữ. Dưới đây, chúng tôi sẽ hướng dẫn bạn từng bước để thay thế các tệp cấu hình kho lưu trữ của CentOS 7.
Tải các tệp cấu hình kho lưu trữ mới
Đầu tiên, bạn cần tải xuống hai tệp cấu hình cần thiết từ GitHub. Các tệp này bao gồm CentOS-Base.repo
và CentOS-Vault.repo
. Các tệp này sẽ chứa đường dẫn tới các kho lưu trữ lưu trữ giúp hệ thống tiếp tục hoạt động sau khi CentOS 7 hết hạn hỗ trợ.
Sao lưu các tệp hiện có
Trước khi thực hiện bất kỳ thay đổi nào, việc sao lưu các tệp cấu hình repo hiện tại là rất quan trọng. Bạn có thể sử dụng lệnh sau để sao lưu:
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
Tải xuống tệp kho lưu trữ đã cập nhật
Sau khi đã sao lưu thành công, tiếp theo bạn hãy tải xuống tệp cấu hình mới bằng lệnh:
wget -O /etc/yum.repos.d/CentOS-Base.repo https://raw.githubusercontent.com/AtlasGondal/centos7-eol-repo-fix/main/CentOS-Base.repo
Dọn dẹp bộ nhớ đệm YUM
Sau khi thay thế xong các tệp cấu hình, bạn cần dọn dẹp bộ nhớ đệm YUM để đảm bảo hệ thống có thể nhận diện các thay đổi mới:
yum clean all
yum makecache
Cập nhật hệ thống
Cuối cùng, để hoàn tất quá trình, bạn hãy sử dụng lệnh sau để cập nhật hệ thống:
yum update
Việc thực hiện các bước này sẽ giúp bạn khắc phục lỗi “Could not retrieve mirrorlist” và duy trì khả năng cài đặt và cập nhật phần mềm trên CentOS 7.
Phương pháp chỉnh sửa thủ công tệp lưu trữ
Nếu bạn không muốn sử dụng phương pháp tự động, bạn cũng có thể chỉnh sửa thủ công các tệp cấu hình kho lưu trữ. Dưới đây là hướng dẫn chi tiết.
Sao lưu các tệp hiện có
Để bảo vệ dữ liệu của bạn, bước đầu tiên vẫn là sao lưu các tệp cấu hình repo hiện tại.
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
Chỉnh sửa tệp lưu trữ
Mở tệp cấu hình kho lưu trữ để chỉnh sửa với trình soạn thảo văn bản dòng lệnh như nano
hoặc vi
:
vi /etc/yum.repos.d/CentOS-Base.repo
Cập nhật Baseurl
Trong tệp cấu hình, bạn cần cập nhật các mục baseurl
để chúng trỏ đến các URL của kho lưu trữ lưu trữ. Đây là các giá trị bạn nên thay thế:
[base]
name=CentOS-$releasever - Base
baseurl=https://vault.centos.org/7.9.2009/os/$basearch
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-$releasever - Updates
baseurl=https://vault.centos.org/7.9.2009/updates/$basearch
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever - Extras
baseurl=https://vault.centos.org/7.9.2009/extras/$basearch
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[centosplus]
name=CentOS-$releasever - Plus
baseurl=https://vault.centos.org/7.9.2009/centosplus/$basearch
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Lưu lại và thoát khỏi trình soạn thảo.
Xóa cache và update
Cuối cùng, bạn cần dọn dẹp cache và thực hiện cập nhật để hoàn tất quá trình:
yum clean all yum makecache
Cân nhắc khi tiếp tục sử dụng CentOS 7
Mặc dù bạn đã thực hiện các bước trên và có thể tiếp tục sử dụng CentOS 7, nhưng cũng cần lưu ý một số vấn đề quan trọng.
Rủi ro về bảo mật
Vì CentOS 7 đã ngừng hỗ trợ, việc tiếp tục sử dụng nó có thể tiềm ẩn những rủi ro về bảo mật. Các lỗ hổng bảo mật sẽ không được vá lỗi và bạn có thể dễ dàng trở thành mục tiêu của các cuộc tấn công.
Khuyến cáo chuyển sang hệ điều hành khác
Chúng tôi khuyến khích người dùng nên xem xét việc chuyển sang các phiên bản mới hơn của CentOS hoặc các hệ điều hành khác được hỗ trợ đầy đủ như Rocky Linux hay AlmaLinux để đảm bảo an toàn và ổn định cho hệ thống.
Tìm hiểu thêm
Nếu bạn cần thêm thông tin về các hệ điều hành thay thế, hãy tham khảo các bài viết trên trang web P.A Việt Nam, nơi cung cấp đa dạng các cấu hình Máy Chủ Ảo và Máy Chủ Riêng.
Kết luận
Khắc phục lỗi yum trên CentOS 7 là một công việc cần thiết để duy trì hiệu suất và độ ổn định của hệ thống. Qua bài viết này, hy vọng bạn đã hiểu rõ hơn về các nguyên nhân gây ra lỗi cũng như cách khắc phục hiệu quả. Tuy nhiên, điều quan trọng nhất vẫn là đảm bảo rằng bạn theo kịp thời đại công nghệ, tránh xa những rủi ro không cần thiết từ việc sử dụng hệ điều hành đã hết hạn hỗ trợ.