Bài viết này sẽ hướng dẫn các bạn chi tiết cách thức cấu hình Local Yum Repository
Bình thường khi thực hành cài đặt Oracle Database trên hệ điều hành Linux, máy chủ test của bạn sẽ có kết nối mạng bình thường do để Bridged hoặc NAT Network Adapter. Bạn có thể thoải mái cài đặt các gói phần mềm (Package) với Yum mà không phải lo nghĩ gì cả. Nhưng trong thực tế lại khác, các hệ thống máy chủ của doanh nghiệp thường không được phép kết nối ra ngoài Internet vì lí do bảo mật. Vậy làm thế nào để có thể cài đặt được các Package cần thiết với Yum mà không cần dùng đến Internet?
Bản chất khi dùng Yum để cài Package, nó sẽ thực hiện tìm kiếm Package đó trên các Repository đã được chỉ định sẵn trên Internet, sau đó tải về và cài đặt. Vây nên câu trả lời cho vấn đề nêu trên là ta sẽ tạo một phân vùng Repo khác của Yum ngay trên OS và thực hiện cấu hình cho Yum tìm đến đây để cài đặt Package. Nếu bạn để ý thì trên đĩa ISO cài đặt hệ điều hành khi được mount lên luôn có 1 thư mục tên là “Packages”. Đây chính là thư mục chứa tất cả các Package cơ bản mà bạn cần trong quá trình cài đặt Oracle Database. Sau đây ta sẽ thực hiện cấu hình Local Yum Repository trên Oracle Linux 7.
Bước 1: Thêm và mount đĩa ISO
Thực hiện thêm đĩa ISO chứa Linux vào máy chủ, kiểm tra đĩa với tên “sr0” và mount tạm thời nó lên một thư mục bất kỳ, ví dụ: /mnt/cdrom (umount để gỡ khi thực hiện xong vì khi reboot máy chủ sẽ cài đặt lại OS)
[root@ol79 ~]# lsblk | grep sr0 sr0 11:0 1 4.5G 0 rom /run/media/root/OL-7.9 Server.x86_64 [root@ol79 ~]# mkdir -p /mnt/cdrom [root@ol79 ~]# mount /dev/sr0 /mnt/cdrom mount: /dev/sr0 is write-protected, mounting read-only [root@ol79 ~]# ls -l /mnt/cdrom total 1565 drwxr-xr-x. 4 root root 2048 May 28 2021 addons drwxr-xr-x. 3 root root 2048 May 28 2021 EFI -rw-r--r--. 1 root root 8806 May 28 2021 EULA -rw-r--r--. 1 root root 18390 May 28 2021 GPL drwxr-xr-x. 3 root root 2048 May 29 2021 images drwxr-xr-x. 2 root root 2048 May 28 2021 isolinux drwxr-xr-x. 2 root root 2048 May 28 2021 LiveOS drwxrwxr-x. 3 root root 851968 May 28 2021 Packages -rw-r--r--. 1 root root 180576 May 28 2021 RELEASE-NOTES-U9-en -rw-r--r--. 1 root root 521292 May 28 2021 RELEASE-NOTES-U9-en.html drwxr-xr-x. 2 root root 4096 May 28 2021 repodata -rw-r--r--. 1 root root 1011 May 28 2021 RPM-GPG-KEY -rw-r--r--. 1 root root 1011 May 28 2021 RPM-GPG-KEY-oracle -r--r--r--. 1 root root 3322 May 29 2021 TRANS.TBL [root@ol79 ~]#
Bước 2: Tạo phân vùng chứa Package
Thực hiện tạo một thư mục mới và copy tất cả Package từ đĩa vừa mount sang thư mục này
[root@ol79 ~]# mkdir -p /u02 [root@ol79 ~]# cp -R /mnt/cdrom/Packages /u02 [root@ol79 ~]# ls /u02/Packages ... zsh-5.0.2-34.el7_8.2.x86_64.rpm zziplib-0.13.62-12.el7.i686.rpm zziplib-0.13.62-12.el7.x86_64.rpm [root@ol79 ~]#
Bước 3: Khởi tạo Local Repository
Dùng RPM cài đặt gói “createrepo” để có thể thực hiện tạo Repository từ 1 tập các file rpm trong thư mục “Packages”.
[root@ol79 ~]# cd /u02/Packages [root@ol79 Packages]# rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm Preparing... ################################# [100%] package deltarpm-3.6-3.el7.x86_64 is already installed [root@ol79 Packages]# rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm Preparing... ################################# [100%] package python-deltarpm-3.6-3.el7.x86_64 is already installed [root@ol79 Packages]# rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm Preparing... ################################# [100%] package createrepo-0.9.9-28.el7.noarch is already installed [root@ol79 Packages]# createrepo -v /u02/Packages ... Worker 0: reading zlib-devel-1.2.7-18.el7.x86_64.rpm Worker 1: reading zsh-5.0.2-34.el7_8.2.x86_64.rpm Worker 0: reading zziplib-0.13.62-12.el7.i686.rpm Worker 1: reading zziplib-0.13.62-12.el7.x86_64.rpm Workers Finished Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Starting other db creation: Wed Oct 26 15:00:52 2022 Ending other db creation: Wed Oct 26 15:00:54 2022 Starting filelists db creation: Wed Oct 26 15:00:55 2022 Ending filelists db creation: Wed Oct 26 15:01:03 2022 Starting primary db creation: Wed Oct 26 15:01:03 2022 Ending primary db creation: Wed Oct 26 15:01:11 2022 Sqlite DBs complete [root@ol79 Packages]#
Bước 4: Cấu hình Yum
Chỉnh sửa các file cấu hình trong thư mục “/etc/yum/repos.d/” để Yum có thể tìm đến thư mục chứa Repository đã tạo trước đó. Đồng thời vô hiệu hóa các file cấu hình cũ vì đằng nào máy chủ cũng không lên mạng để tìm các Repo trên đó được nữa.
[root@ol79 Packages]# cd /etc/yum.repos.d [root@ol79 yum.repos.d]# mkdir -p /u02/old_repo [root@ol79 yum.repos.d]# mv *.repo /u02/old_repo [root@ol79 yum.repos.d]# vi local.repo ... [local] name=Oracle Linux 7.9 DVD baseurl=file:///u02/Packages gpgcheck=0 enabled=1 ... [root@ol79 yum.repos.d]#
Bước 5: Kiểm tra và cài đặt sử dụng Local Yum Repository
[root@ol79 Packages]# yum repolist Loaded plugins: langpacks, ulninfo repo id repo name status local Oracle Linux 7.9 DVD 5,210 repolist: 5,210 [root@ol79 yum.repos.d]# yum clean all [root@ol79 yum.repos.d]# yum install -y httpd ...
Với Linux 8
Cấu hình Local Yum Repository với Linux 8 trở lên sẽ dễ dàng hơn khi bạn chỉ cần copy và tạo file cấu hình Yum. Thư mục Packages từ đĩa ở bản 7 cũng được chia làm 2 thư mục khác trên bản 8 là “AppStream” và “BaseOS”. Ta cũng sẽ cấu hình Yum tìm đến cả 2 thư mục này để cài đặt Package.
cp -R /mnt/cdrom/AppStream /u02 cp -R /mnt/cdrom/BaseOS /u02 vi local.repo ... [AppStream] name=OL - AppStream baseurl=file:///u02/AppStream enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle [BaseOS] name=OL - BaseOS baseurl=file:///u02/BaseOS enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-orace ...
Lời kết
Vậy là bạn đã cấu hình thành công Local Yum Repository trên hệ điều hành Linux và có thể cài đặt các gói phần mềm để sử dụng trong quá trình cài đặt Oracle Database mà không phải lo các vấn đề liên quan đến đường truyền hay kết nối mạng nữa. Hẹn gặp lại các bạn ở các bài viết tiếp theo.
_d0n.n13_
Views: 519