Bài viết sau đây sẽ hướng dẫn các bạn chi tiết cách cài đặt các gói phần mềm Package của Linux với Yum mà không cần kết nối Internet bằng cách cấu hình Local Yum Repository
Thông thường khi thực hành triển khai Oracle Database trên hệ điều hành Linux, server lab của bạn sẽ có kết nối mạng ra ngoài Internet bình thường do đang để Network Adapter là Bridged hoặc NAT. Với 2 loại Adapter này server của 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 các dự án thực tế khi triển khai Oracle Database lại khác hoàn toàn. Các hệ thống Server của khách hàng thường không được phép kết nối ra ngoài Internet vì lí do bảo mật hệ thống của họ. 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?
Khi người dùng sử dụng Yum để cài đặt Package, nó sẽ thực hiện tìm kiếm Package đó trên các kho chứa phần mềm (Repository) trên Internet, sau đó sẽ tải về và cài đặt Package. Các Package Repository đó đã được cấu hình mặc định bởi hãng phát triển OS để chỉ định sẵn cho Yum biết phải tìm Repository ở đâu mà cài đặt Package.
Vây nên để cài đặt Package với Yum mà không cần kết nối Internet là ta sẽ tạo một phân vùng chứa Repository riêng của Yum ngay trên OS và cấu hình cho Yum tìm đến đây để cài đặt Package là xong. Nếu bạn để ý thì trên đĩa ISO cài đặt OS khi được mount lên có một thư mục tên là “Packages”. Đây chính là thư mục chứa tất cả các Package của Yum mà ta cần trong quá trình cài đặt Oracle Database trên Linux. Sau đây ta sẽ thực hiện cấu hình Local Yum Repository trên hệ điều hành Oracle Linux 7.
Bước 1: Mount đĩa ISO
Đầu tiên ta sẽ thêm đĩa ISO chứa Linux vào máy chủ, sau đó mount nó lên một thư mục bất kỳ trên OS, Ví dụ thư mục: /mnt/cdrom
[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
[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
[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 Repository
[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
Bước 5: Kiểm tra cấu hình và cài đặt Package sử dụng Local Yum Repository
[root@ol79 Packages]# yum repolist Loaded plugins: langpacks, ulninfo Loaded plugins: langpacks, ulninfo repo id repo name status local Oracle Linux 7.9 DVD 5,210 [root@ol79 yum.repos.d]# yum clean all [root@ol79 yum.repos.d]# yum install -y httpd ...
Với Linux 8
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
Liên Hệ với Wecommit
Nếu bạn muốn liên hệ với Wecommit, bạn có thể trao đổi trực tiếp qua Facebook cùng Trần Quốc Huy – người sáng lập của Wecommit.
Nếu bạn muốn chúng tôi đồng hành xây dựng sự nghiệp với bạn trong 01 năm (bạn sẽ có rất nhiều kiến thức, kinh nghiệm ĐỘC QUYỀN về tối ưu cơ sở dữ liệu) bạn có thể đăng ký trải nghiệm chương trình Từ điển tối ưu 100x hiệu năng của chúng tôi.