Menu bài viết
Hầu hết chúng ta đều sử dụng Yum Repository để cài đặt software trên các bản distro như RHEL, CentOS, Fedora… Tuy nhiên đôi khi bạn cũng cần cài đặt phần mềm từ các group hoặc repository khác, hoặc bạn muốn disable toàn bộ repository, và cài đặt package từ một repository đơn lẻ. Nếu đang tìm kiếm những giải pháp đó, thì bài viết này sẽ dành cho bạn.
Bài hướng dẫn này sẽ giới thiệu đến người dùng cách disable hoặc enable một group hoặc đơn lẻ Yum Repository dùng để cài đặt phần mềm trong CentOS. Hướng dẫn này đã được test trên CentOS 7 server, và cách làm cũng tương tự trên Fedora, RHEL, Scientific Linux và các bản distro khác được xây dựng trên nền tảng RPM.
Nào chúng ta sẽ cùng bắt đầu :
Đầu tiên, chúng ta có thể list ra danh sách repository available trong CentOS bằng cách sử dụng câu lệnh :
yum repolist
Kết quả trả về :
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.vinahost.vn * epel: mirror.rise.ph * extras: mirrors.viethosting.vn * remi-safe: rpms.remirepo.net * updates: mirrors.vinahost.vn repo id repo name status base/7/x86_64 CentOS-7 - Base 9,007 epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 10,075 extras/7/x86_64 CentOS-7 - Extras 305 remi-safe Safe Remi's RPM repository for Enterprise Linux 7 - x86_64 820 updates/7/x86_64 CentOS-7 - Updates 1,676 repolist: 21,883
- Như đã thấy ở hình trên, mình đã add thêm 2 repository tên là EPEL và REMI. Đây là các repository quan trọng cung cấp các package không có sẵn trong các repository chính thức.
Một điều nữa là bất kì khi nào bạn chạy lệnh “ Yum update “ , thì các repository này cũng được cập nhật, và vì vậy các package trong đó cũng được cập nhật theo lên phiên bản mới hơn. Tuy nhiên đôi lúc trong thực tế, bạn sẽ không muốn sử dụng bản repository mới, mà thay vào đó là bản repository cũ vì tính tương thích của phần mềm.
Chúng ta có thể enable hoặc disable repository theo 2 cách :
- Tạm thời disable hoặc enable repository trong lúc cài đặt package sử dụng lệnh ‘yum’.
- Vĩnh viễn enable/ disable repository bằng file cấu hình repository.
-
Tạm thời enable/ disable repository tạm thời :
Đây là phương pháp ưa thích của mình. Trong phương pháp này, chúng ta sẽ tạm thời loại ra một repository để ngăn chặn việc cập nhật package.
Đầu tiên nhập vào câu lệnh :
yum --disablerepo=remi-safe update
Hoặc :
yum update --disablerepo=remi-safe
Lệnh trên sẽ disable REMI repository tạm thời và update hệ thống CentOS còn lại ngoại trừ Repository này.
Để disable nhiều repository cùng lúc, hãy bao gồm luôn repository khác bằng dấu phẩy phân cách như lệnh dưới đây.
yum --disablerepo=remi-safe,updates update
Lệnh này sẽ disable REMI repository và repository chính thức của CentOS tạm thời.
Bạn cũng có thể dùng cách này để cài đặt một package :
yum --disablerepo=remi-safe,updates install httpd
Kết quả trả về :
Tương tự như vậy, bạn có thể đồng thời disable và enable các repository bằng lệnh “ yum” .
yum --disablerepo=* --enablerepo=epel update
Kết quả trả về :
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * epel: mirror.pregi.net No packages marked for update
Lệnh trên đã disable toàn bộ các repository ngoại trừ “ EPEL ” repository.
-
Vĩnh viễn enable/ disable repository :
Đầu tiên chúng ta xem danh sách repository available bằng lệnh :
ls /etc/yum.repos.d/
Kết quả trả về :
CentOS-Base.repo CentOS-Media.repo epel-testing.repo CentOS-CR.repo CentOS-Sources.repo remi-php70.repo CentOS-Debuginfo.repo CentOS-Vault.repo remi.repo CentOS-fasttrack.repo epel.repo remi-safe.repo
Chúng ta sẽ disable repository làm ví dụ, để thực hiện, tiến hành edit file epel.repo, tại thư mục /etc/yum.repos.d/ :
vi /etc/yum.repos.d/epel.repo
Đổi giá trị enabled=1 sang 0 (zero).
[epel] name=Extra Packages for Enterprise Linux 7 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch failovermethod=priority enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Save và đóng file lại. Update lại danh sách repository để thay đổi có hiệu lực.
yum repolist
Tương tự, đổi giá trị ‘enabled’ sang 1 để enable repository.
Như vậy là ở bài viết này, An Ninh Mạng đã hoàn thành hướng dẫn người dùng cách enable hoặc disable một hoặc nhiều repository. Như đã thấy trong hướng dẫn, nó khá dễ để làm. Hy vọng bạn sẽ có thể thực hiện thành công.