Monday, March 24, 2014

ADD THÊM YUM REPOSITORY

+Yum repository có cấu hình trong file /etc/yum.conf. Các file cấu hình bổ sung sẽ được đọc từ một thư mục khác, mặc định sẽ là /etc/yum.repos.d . Các bạn có thể list thư mục này ra xem nó có những repository nào.
+Để sử dụng repo trong quá trình cài đặt, các bạn có thể dùng từ khóa –-enablerepo=[tên repository]
Mã:
#yum --enablerepo=dag install pakage_name
1. Thêm yum repository bằng cách sử dụng gói rpm:

+Một số repository các bạn có thể tham khảo để cài đặt và sử dụng
RPMforge yum repository
Mã:
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
sudo rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
Epel yum repository
Mã:
wget http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
sudo rpm -ivh epel-release-5-4.noarch.rpm
Xem lại thư mục /etc/yum.repos.d để thấy kết quả 

2.Cách tự cài đặt repository, chúng ta sẽ tìm hiểu để xem cấu trúc một file cấu hình repository:
Mã:
# cd /etc/yum.repos.d
# vi foo
Thêm code sau:
Mã:
[foo]
name=Foo for RHEL/ CentOS $releasever - $basearch
baseurl=http://foo.nixcraft.com/centos/$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://foo.nixcraft.com/RPM-GPG-KEY.txt
[foo] : Tên repository, đây là thành phần bắt buộc phải có
name=Foo for RHEL/ CentOS $releasever - $basearch : Chuỗi mô tả
baseurl=http://foo.nixcraft.com/centos/$releasever/$basearch/ :Là đường dẫn tới kho phần mềm của chúng ta, thư mục chứ repodata.
enabled=1 : =1 là sử dụng repo, =0 là không dùng repo 
gpgcheck=1 : Chức năng security, dùng GPG key
gpgkey=http://foo.nixcraft.com/RPM-GPG-KEY.txt : Chỉ ra nơi chứa GPG key.

Sau đó các bạn cần nhập key vào:
Mã:
# rpm --import http://foo.nixcraft.com/RPM-GPG-KEY.txt
3.Cài đặt yum repository để update và install package từ file ISO CDROM:
Nếu nhà bạn sử dụng có đường truy cập internet thấp, các bạn có thể sử dụng công cụ createrepo để tạo cho mình một repository.
+Mount file iso vào:
Mã:
# yum install createrepo
# mkdir -p /mnt/iso/{1,2,3}
# mount -o loop /path/to/centos1.iso /mnt/iso/1
+Tạo một reposity:
# cd /mnt/iso
# createrepo .
# yum clean all
+Tạo file conf (giống như trong phần 2)
Mã:
# vi /etc/yum.repos.d/iso.repo
[My ISO Repository]
baseurl=file:///mnt/iso
enabled=1
(Local nên chúng ta khỏi dùng GPG key, còn cách tự tạo cho mình như thế nào các bạn tự tìm hiểu nhé, mình cũng chưa rõ )
+Finish, ngoài ra còn một số cách khác, các bạn thử tìm hiểu nhé

4.Bảo vệ package của một yum repository
Để bảo vệ package không cho các repository khác ghi đè lên, kể cả khi các repository khác có phiên bản cũ hơn, chúng ta có thể sử dụng plugin yum-protectbase
+Cài đặt (từ yum tiếp ^^)
Mã:
# yum install yum-protectbase
+Enable plugin
Mã:
# vi /etc/yum/pluginconf.d/protectbase.conf
[main]
enabled = 1
+Cách sử dụng:
Vào file cấu hình của repository trong thư mục /etc/yum.repos.d, thêm dòng
Mã:
 protect = 1.
5.Cách xóa repository
+Vào thư mục /etc/yum.repos.d xóa các file của repo đó.
+Dùng yum:
Tìm file name 
Mã:
# rpm -qa | grep epel
Output
Mã:
epel-release-5-4
Remove:
Mã:
# yum remove epel-release-5-4
# yum clean all