ĐĂNG KÝ ĐỂ NHẬN THÔNG TIN MỚI NHẤT

Local Yum Repository – Làm sao để cài đặt Linux Package mà không cần kết nối Internet ?

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

Thực hiện tạo một thư mục mới và copy cả thư mục Package tại phân vùng vừa mount từ đĩa sang. Thư mục mới này sau sẽ được dùng làm Package Repository của Yum
[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

Tiếp theo ta sẽ dùng RPM để cài đặt gói phần mềm tên là Createrepo. Package này sẽ tạo một Repository mới trên OS từ thư mục chứa các Package vừa được copy sang từ đĩa ISO.
[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

Taọ một file cấu hình mới (ví dụ: local.repo) của Yum trong thư mục /etc/yum/repos.d/ để Yum có thể tìm đến 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 Internet để tìm các Repo trên đó được nữa (chuyển các file cấu hình cũ sang thư mục mới thay vì xóa trực tiếp).
[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

Sau khi cấu hình thành công Repository cho Yum, gõ lệnh như dưới đây để kiểm tra xem Yum đã nhận được phân vùng Repo mới hay chưa. Sau đó xóa cache cũ của Yum và cài đặt thử Package (tắt kết nối Internet để kiểm tra).
[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

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 ISO như ở bản 7 cũng được chia làm 2 thư mục khácnhau trên bản 8 là AppStream BaseOS. Ta cũng sẽ cấu hình cho Yum tìm đến cả 2 thư mục này khi muốn 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 kết nối ra ngoài Internet nữa. Hẹn gặp lại các bạn ở các bài viết tiếp theo.
.

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.

Views: 702





    Câu hỏi bảo mật

    Trả lời

    Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *