Có nhiều lý do khiến bạn muốn có kho lưu trữ Red Hat Enterprise Linux cục bộ. Băng thông là yếu tố chính vì việc tải xuống các bản cập nhật từ Internet có thể tốn thời gian và băng thông. Một lý do khác có thể là máy chủ của bạn không được kết nối với Internet và do đó cần phải nhận các bản cập nhật từ một nguồn cục bộ. Bạn có thể có một môi trường phát triển mà bạn không muốn tốn tiền mua giấy phép nhưng vẫn cần phải cập nhật. Dù lý do của bạn là gì, hướng dẫn này sẽ hướng dẫn bạn quy trình thiết lập kho lưu trữ cục bộ của mình.
Lưu ý: Máy chủ đóng vai trò là kho lưu trữ của bạn chỉ nên đóng vai trò là kho lưu trữ.
Liệt kê các kho lưu trữ có sẵn trên đăng ký của bạn
Bật kho lưu trữ trên hệ thống của bạn
Vô hiệu hóa kho lưu trữ trên hệ thống của bạn
Chúng tôi muốn kích hoạt các kho lưu trữ máy chủ, dts và rhsc (bộ sưu tập phần mềm) trên kho lưu trữ
Lưu ý: Kho lưu trữ máy chủ sẽ mất nhiều thời gian nhất. Giống như cả đêm vậy. Các lệnh còn lại sẽ ngắn hơn nhiều.
Lưu ý: -g comps.xml chỉ cần thiết cho kho lưu trữ máy chủ.
Trước tiên, hãy đảm bảo rằng tất cả các kho lưu trữ khác đều có cờ enabled được đặt thành 0 (không) trong tệp kho lưu trữ ở /etc/yum.repos.d. Tôi sẽ không xóa các kho lưu trữ ngay bây giờ vì bạn có thể cần chúng sau này. Chỉ cần thay đổi cờ đã bật là đủ.
Bây giờ bạn cần tạo tệp .repo sẽ được thêm vào thư mục /etc/yum.repos.d trên mọi máy chủ sử dụng kho lưu trữ. Tệp đó sẽ trông giống như tệp sau.
Lưu ý rằng tôi đã đưa nó vào nhật ký mà tôi đã thiết lập để luân phiên hàng tháng.
Tạo một tệp trong /etc/cron.d và đặt tên là update-repository với nội dung sau.
Lưu ý: Máy chủ đóng vai trò là kho lưu trữ của bạn chỉ nên đóng vai trò là kho lưu trữ.
Cài đặt các gói cần thiết cho kho lưu trữ
Mã:
yum install yum-utils createrepo httpd
Tạo các thư mục cho kho lưu trữ của bạn
Mã:
mkdir /var/www/html/rhel6
mkdir /var/www/html/rhel6/server
mkdir /var/www/html/rhel6/dts
mkdir /var/www/html/rhel6/dts2
mkdir /var/www/html/rhel6/rhsc
Các lệnh hữu ích
Liệt kê các kho lưu trữ trên máy chủ của bạn cả được bật và bị tắt.
Mã:
yum repolist all
Mã:
subscription-manager repos --list
Mã:
subscription-manager repos --enable=rhel-6-server-optional-rpms
Mã:
subscription-manager repos --disble=rhel-6-server-optional-rpms
Đồng bộ hóa các kho lưu trữ
Sau khi tất cả các kho lưu trữ này đã được kích hoạt, hãy thực hiện lệnh sau cho tất cả các kho lưu trữ này, thay đổi download_path cho từng kho lưu trữ để khớp với download_path cho kho lưu trữ đó.
Mã:
reposync --gpgcheck -l --repoid=repoid --download_path=/var/www/html/rhel6/repo_name --downloadcomps --download-metadata
Lệnh Createrepo
Sau khi các gói đã được tải xuống, tất cả những gì cần thiết là lệnh createrepo bên dưới cho mỗi kho lưu trữ
Mã:
createrepo -v /var/www/html/rhel6/repo_name/ -g comps.xml
Thiết lập Máy chủ Khách hàng
Bây giờ bạn đã có một kho lưu trữ cục bộ nhưng bạn cần thực hiện một số thay đổi trên các máy chủ Red Hat sẽ sử dụng các kho lưu trữ này để cập nhật.Trước tiên, hãy đảm bảo rằng tất cả các kho lưu trữ khác đều có cờ enabled được đặt thành 0 (không) trong tệp kho lưu trữ ở /etc/yum.repos.d. Tôi sẽ không xóa các kho lưu trữ ngay bây giờ vì bạn có thể cần chúng sau này. Chỉ cần thay đổi cờ đã bật là đủ.
Bây giờ bạn cần tạo tệp .repo sẽ được thêm vào thư mục /etc/yum.repos.d trên mọi máy chủ sử dụng kho lưu trữ. Tệp đó sẽ trông giống như tệp sau.
Mã:
vi /etc/yum.repos.d/name_of_repo_file.repo
Mã:
[server]name = rhel-6-server-rpmsbaseurl = http://hostname_or_ip_address_of_repository/rhel6/servergpgcheck = 0enabled = 1[dts]name = rhel-server-dts-6-rpmsbaseurl = http://hostname_or_ip_address_of_repository/rhel6/dtsgpgcheck = 0enabled = 1[dts2]name = rhel-server-dts2-6-rpmsbaseurl = http://hostname_or_ip_address_of_repository/rhel6/dts2gpgcheck = 0enabled = 1[rhsc]name = rhel-server-dts2-6-rpmsbaseurl = http://hostname_or_ip_address_of_repository/rhel6/dts2gpgcheck = 0enabled = 1
Tạo tập lệnh và công việc Cron để cập nhật kho lưu trữ của bạn
Tạo một tập lệnh có tên update-repository.sh và đặt nó vào /usr/local/bin với nội dung sau:
Mã:
vi /usr/local/bin/update-repository.sh
Mã:
echo Cập nhật tập lệnh bắt đầu tại $(ngày) >> /var/log/update-repository.logreposync --gpgcheck -l --repoid=rhel-6-server-rpms --download_path=/var/www/html/rhel6/server --downloadcomps --download-metadatacreaterepo --update /var/www/html/rhel6/server/reposync --gpgcheck -l --repoid=rhel-server-dts-6-rpms --download_path=/var/www/html/rhel6/dts --downloadcomps --download-metadatacreaterepo --update /var/www/html/rhel6/dts/ \\reposync --gpgcheck -l --repoid=rhel-server-dts2-6-rpms --download_path=/var/www/html/rhel6/dts2 --downloadcomps --download-metadatacreaterepo --update /var/www/html/rhel6/dts2/echo Cập nhật tập lệnh kết thúc tại $(ngày) >> /var/log/update-repository.log
Mã:
chmod 600 /usr/local/bin/update-repository.sh
Tạo một tệp trong /etc/cron.d và đặt tên là update-repository với nội dung sau.
Mã:
vi /etc/cron.d/update-repository
Mã:
@weekly root /usr/local/bin/update-repository.sh
Suy nghĩ cuối cùng
Có nhiều cách khác nhau để thiết lập kho lưu trữ cục bộ và tôi chắc chắn không phải là người phát minh ra bánh xe trong cách này. Tham khảo các nguồn bên dưới của tôi để biết thêm thông tin và hiểu biết sâu sắc về thiết lập của bạn.Nguồn
- https://access.redhat.com/solutions/23016https://access.redhat.com/solutions/23016?utm_source=diendancongnghe.com
- http://www.oracle.com/technetwork/articles/servers-storage-admin/yum-repo-setup-1659167.htmlhttp://www.oracle.com/technetwork/a...p-1659167.html?utm_source=diendancongnghe.com
- https://www.howtoforge.com/creating_a_local_yum_repository_centos