Hướng dẫn tạo Mirror Local EPEL Repository trên CentOS

Hướng dẫn tạo Mirror Local EPEL Repository trên CentOS | Hôm nay chúng ta sẽ cùng học cách tạo một mirror Local EPEL Repository cho hệ thống server private của bạn. Hãy đặt tình huống là bạn quản lý rất nhiều server , hàng trăm hoặc hàng ngàn,… server OS CentOS. Nhu cầu cài đặt các chương trình từ Repository EPEL rất nhiều vì vậy để hạn chế băng thông và download cài đặt nhanh chóng.

Bạn hãy học cách setup một EPEL Repository riêng của bạn nhé với các bước đơn giản như sau :

  • Tạo một web server .
  • Sync data dữ liệu EPEL Repository gốc về.
  • Tạo template repository mẫu sử dụng Local EPEL Repository của bạn.

tạo mirror local epel repository

Có thể bạn quan tâm chủ đề khác
Cài đặt EPEL Repository trên CentOS
Fix lỗi EPEL Repo “Cannot retrieve metalink for repository”
Giám sát log server Linux thời gian thực với công cụ Log.io
Hướng dẫn cài đặt XRDP trên CentOS 7 để kết nối remote desktop

Contents

1. Cài đặt Web Server

Chúng ta biết là các Repository hỗ trợ download cài đặt các chương trình thông qua giao thức HTTP phổ biến nhất. Vì vậy ta sẽ cài đặt đơn giản một web server Apache là được. (Xem thêm: Hướng dẫn cài đặt Apache trên CentOS)

# yum install httpd -y

Khởi động Apache.

+ CentOS 7/RHEL 7

# systemctl start httpd
# systemctl enable httpd

+ CentOS 6/RHEL 6

# service httpd restart
# chkconfig httpd on

Thư mục root mặc định của Apache sẽ là :

/var/www/html/

Bạn tạo một thư mục dành cho EPEL Repository.

# mkdir -p /var/www/html/repo/epel/

2. Sync dữ liệu EPEL Repository

Giờ điều bạn cần đơn giản là sync dữ liệu của EPEL Repository về máy chủ web server của bạn. Dự kiến tầm 23GB cho bộ dữ liệu EPEL Repository, hãy đảm bảo server web chứa EPEL Repository của bạn có thể chứa được mức dung lượng đó.

Truy cập trang web sau của Fedora: https://mirrors.fedoraproject.org/publiclist/EPEL/

Bạn sẽ thấy trang chủ chứa các link lựa chọn của EPEL, bạn bấm vào và lựa chọn các nguồn mirror EPEL Repository trên thế giới ở các khu vực địa lý phù hợp để sync data về cho nhanh. Hãy lựa chọn các host hỗ trợ giao thức RSYNC để sync data về. Ví dụ ở Việt Nam có công ty Vinahost đang host Mirror EPEL Repository.

Giờ bạn cần lưu ý là mình sẽ host Mirror EPEL Repository chỉ cần một vài đặc điểm sau :
– Chỉ lấy repo cho CentOS 6CentOS 7 , không cần các bản cũ hơn.
– Chỉ cần lấy nguồn repo hỗ trợ cho OS vi xử lý 64 bit (x86_64) , không cần lấy nguồn repo folder cho các server 32 bit.

Tạo thư mục cho phù hợp với yêu cầu cá nhân :

# cd /var/www/html/repo/epel/
# mkdir -p {6,7}/x86_64/

Giờ bạn sẽ tiến hành rsync data EPEL Repository về web server mirror của bạn. Bạn có thể để nó chạy background (&) hoặc ‘screen’ để chạy ngầm hoạt động sync data EPEL Repository về .

# rsync -arv --progress rsync://mirror.vinahost.vn/epel/6/x86_64/ /var/www/html/yum.repos/epel/6/x86_64/
# rsync -arv --progress rsync://mirror.vinahost.vn/epel/7/x86_64/ /var/www/html/yum.repos/epel/7/x86_64/
# rsync -arv --progress rsync://mirror.vinahost.vn/epel/RPM-GPG-KEY-EPEL-6 /var/www/html/yum.repos/epel/6/x86_64/
# rsync -arv --progress rsync://mirror.vinahost.vn/epel/RPM-GPG-KEY-EPEL-7 /var/www/html/yum.repos/epel/7/x86_64/

Phân quyền lại cho hợp lý để Web Server Apache có thể đọc được.

# cd /var/www/html/
# chown apache:apache -R ./
# find ./ -type f -exec chmod 644 {} \;
# find ./ -type d -exec chmod 755 {} \;

Lưu ý:
– Nếu bạn muốn thường xuyên sync data cập nhật từ EPEL thì tự viết script rồi thiết lập cronjob để cập nhật.

3. Tạo template repo EPEL

Giờ bạn chỉ cần tạo template Local Mirror EPEL Repository với việc thay đổi giá trị ‘baseurl’ và bỏ sử dụng giá trị ‘mirror’. Giả sử máy chủ Web Server chứa EPEL Repository có địa chỉ IP là “192.168.100.150“.

Tạo file repo Local EPEL trên máy chủ CentOS client : /etc/yum.repos.d/epel.repo

+ Nội dung file repo Local EPEL cho CentOS 6

[epel]
name=Extra Packages for Enterprise Linux 6
baseurl=http://192.168.100.150/repo/epel/6/x86_64/
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 6 Debug
baseurl=http://192.168.100.150/repo/epel/6/x86_64/debug
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1

+ Nội dung file repo Local EPEL cho CentOS 7

[epel]
name=Extra Packages for Enterprise Linux 7
baseurl=http://192.168.100.150/repo/epel/7/x86_64/
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - Debug
baseurl=http://192.168.100.150/repo/epel/7/x86_64/debug
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

Giờ load thông tin nội dung file repo local EPEL của chúng ta và bắt đầu sử dụng no.

# yum clean all
# yum repolist

Vậy là bạn đã tự biết cách tạo một Mirror Local EPEL Repository cho các hệ thống máy tính nội bộ của bạn sử dụng. Điều này giúp bạn không bị phụ thuộc vào băng thông quốc tế khi cài đặt các chương trình từ EPEL Repository.

Nguồn: https://cuongquach.com/

Previous articleCài đặt công cụ SQL Buddy trên CentOS để quản lý CSDL MySQL
Next articleVideo Khoá Học Docker Cơ Bản
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !