Mục lục
1. Giới thiệu
Các bạn đã biết, yum là 1 công cụ để quản lý các gói phần mềm trong hệ điều hành Linux rồi phải không?
Nó rất linh hoạt và tiện lợi nếu như Server của bạn có kết nối ra Internet.
Nhưng thường thì điều kiện không được lý tưởng như vậy: Các server trên thực tế thường không được kết nối ra ngoài Internet vì lý do bảo mật.
Vậy làm sao để sử dụng yum để cài đăt các gói phần mềm thông thường mà không có kết nối Internet đây?
Câu trả lời là: Hoàn toàn vẫn có thể nhé!
Bạn có thể sử dụng 1 thư mục hoặc chính CD cài đặt Linux của các bạn như 1 kho lưu trữ gói phần mềm (repository) của yum.
Bạn chỉ cần cấu hình để yum nhận thư mục (hay CD) là 1 repository, sau đó có thể cài đặt gói phần mềm bằng yum như bình thường.
Yum sẽ tự động tìm kiếm trong repository gói cần cài đặt và các gói liên quan và cài đặt chúng cho bạn. Bạn không phải tự đi tìm kiếm và cài đặt từng gói 1 nữa.
Rất thuận tiện phải không?
Đây là 1 mẹo được rất nhiều quản trị viên Linux sử dụng. Bài viết này tôi sẽ hướng dẫn các bạn thực hiện điều đó nhé.
Trong bài lab này, tôi sẽ cấu hình đĩa DVD cài đặt Linux thành 1 Repository cho Yum
2. Các bước tiến hành
1. Bước 1: Mount DVD cài đặt Linux
Đầu tiên, các bạn cần phải bỏ DVD cài đặt vào ổ CD/DVD của máy chủ. Sau đó hãy thực hiện lệnh sau để mount DVD vào thư mục /mnt/cdrom
# mkdir /mnt/cdrom # mount /dev/cdrom /mnt/cdrom
Bạn di chuyển vào thư mục /mnt/cdrom, bạn sẽ nhìn thấy thư mục có tên Packages. Đây chính là thư mục lưu trữ các gói phần mềm có trong đĩa cài đặt Linux.
# cd /mnt/cdrom # ls -l total 1565 drwxr-xr-x 4 root root 2048 May 28 23:26 addons drwxr-xr-x 3 root root 2048 May 28 23:59 EFI -rw-r--r-- 1 root root 8806 May 28 23:26 EULA -rw-r--r-- 1 root root 18390 May 28 23:26 GPL drwxr-xr-x 3 root root 2048 May 29 00:00 images drwxr-xr-x 2 root root 2048 May 28 23:59 isolinux drwxr-xr-x 2 root root 2048 May 28 23:59 LiveOS drwxrwxr-x 3 root 1039 851968 May 28 23:27 Packages -rw-r--r-- 1 root root 180576 May 28 23:26 RELEASE-NOTES-U9-en -rw-r--r-- 1 root root 521292 May 28 23:26 RELEASE-NOTES-U9-en.html drwxr-xr-x 2 root root 4096 May 28 23:27 repodata -rw-r--r-- 1 root root 1011 May 28 23:26 RPM-GPG-KEY -rw-r--r-- 1 root root 1011 May 28 23:26 RPM-GPG-KEY-oracle -r--r--r-- 1 root root 3322 May 29 00:00 TRANS.TBL
Bạn hãy copy toàn bộ thư mục này sang 1 phân vùng khác.
# cp -R /mnt/cdrom/Packages /u02/
2. Bước 2: Cài đặt gói createrepo
Bạn hãy vào thư mục Packages và cài đặt gói createrepo (phiên bản tùy thuộc vào đĩa DVD bạn đang có nhé)
# cd /u02/Packages # rpm -Uvh createrepo-0.9.9-28.el7.noarch.rpm Preparing... ################################# [100%] package createrepo-0.9.9-28.el7.noarch is already installed
(Như trong trường hợp này của tôi, gói createrepo đã được cài đặt)
3. Bước 3: Tạo Repository cho Yum
Bạn sử dụng câu lệnh createrepo để tạo ra Reposity cho yum từ thư mục /mnt/cdrom/Packages
# createrepo -v /u02/Packages Spawning worker 0 with 5210 pkgs Worker 0: reading 389-ds-base-1.3.10.2-6.el7.x86_64.rpm Worker 0: reading 389-ds-base-libs-1.3.10.2-6.el7.x86_64.rpm Worker 0: reading ElectricFence-2.2.2-39.el7.i686.rpm Worker 0: reading ElectricFence-2.2.2-39.el7.x86_64.rpm Worker 0: reading GConf2-3.2.6-8.el7.i686.rpm Worker 0: reading GConf2-3.2.6-8.el7.x86_64.rpm .........
Tiếp theo, bạn di chuyển vào thư mục /etc/yum.repos.d/
# cd /etc/yum.repos.d/
Và tạo 1 file có tên localrepo.repo có nội dung như sau
vi /etc/yum.repos.d/localrepo.repo [localrepo] name=Linux DVD baseurl=file:///u02/Packages gpgcheck=0 enabled=1
Trong đó, baseurl là đường dẫn đến thư mục chứa các gói Packages
4. Bước 4: Xác nhận lại Local Repository
Xóa cache của yum
# yum clean all Loaded plugins: langpacks, ulninfo Cleaning repos: cassandra localrepo ol7_UEKR6 ol7_developer_EPEL ol7_latest pgdg-common pgdg10 pgdg11 pgdg12 pgdg13 pgdg96 pgpool42
Bạn gõ lệnh yum repolist để liệt kê các Repository đã được cấu hình
[root@lab02 Packages]# yum repolist Loaded plugins: langpacks, ulninfo cassandra/signature | 833 B 00:00:00 cassandra/signature | 3.0 kB 00:00:00 !!! localrepo | 2.9 kB 00:00:00 ol7_UEKR6 | 3.0 kB 00:00:00 ol7_developer_EPEL | 3.6 kB 00:00:00 ol7_latest | 3.6 kB 00:00:00 pgdg-common/7Server/x86_64/signature | 198 B 00:00:00 pgdg-common/7Server/x86_64/signature | 2.9 kB 00:00:00 !!! pgdg10/7Server/x86_64/signature | 198 B 00:00:00 pgdg10/7Server/x86_64/signature | 3.6 kB 00:00:00 !!! pgdg11/7Server/x86_64/signature | 198 B 00:00:00 pgdg11/7Server/x86_64/signature | 3.6 kB 00:00:00 !!! pgdg12/7Server/x86_64/signature | 198 B 00:00:00 pgdg12/7Server/x86_64/signature | 3.6 kB 00:00:00 !!! pgdg13/7Server/x86_64/signature | 198 B 00:00:00 pgdg13/7Server/x86_64/signature | 3.6 kB 00:00:00 !!! pgdg96/7Server/x86_64/signature | 198 B 00:00:00 pgdg96/7Server/x86_64/signature | 3.6 kB 00:00:00 !!! pgpool42 | 3.0 kB 00:00:00 (1/22): localrepo/primary_db | 5.2 MB 00:00:00 (2/22): ol7_UEKR6/x86_64/updateinfo | 290 kB 00:00:00 (3/22): ol7_developer_EPEL/x86_64/group_gz | 88 kB 00:00:00 (4/22): ol7_developer_EPEL/x86_64/updateinfo | 478 kB 00:00:00 (5/22): ol7_latest/x86_64/group_gz | 136 kB 00:00:00 (6/22): cassandra/primary_db | 4.8 kB 00:00:02 (7/22): ol7_latest/x86_64/updateinfo | 3.3 MB 00:00:02 (8/22): pgdg10/7Server/x86_64/group_gz | 245 B 00:00:01 (9/22): pgdg-common/7Server/x86_64/primary_db | 141 kB 00:00:03 (10/22): pgdg10/7Server/x86_64/primary_db | 344 kB 00:00:01 (11/22): pgdg11/7Server/x86_64/group_gz | 245 B 00:00:00 (12/22): pgdg11/7Server/x86_64/primary_db | 368 kB 00:00:00 (13/22): pgdg12/7Server/x86_64/group_gz | 245 B 00:00:00 (14/22): pgdg12/7Server/x86_64/primary_db | 222 kB 00:00:00 (15/22): pgdg13/7Server/x86_64/primary_db | 136 kB 00:00:00 (16/22): pgdg96/7Server/x86_64/group_gz | 249 B 00:00:00 (17/22): pgdg13/7Server/x86_64/group_gz | 246 B 00:00:00 (18/22): pgpool42/7Server/x86_64/primary_db | 76 kB 00:00:00 (19/22): ol7_developer_EPEL/x86_64/primary_db | 14 MB 00:00:09 (20/22): pgdg96/7Server/x86_64/primary_db | 334 kB 00:00:03 (21/22): ol7_UEKR6/x86_64/primary_db | 19 MB 00:00:12 (22/22): ol7_latest/x86_64/primary_db | 36 MB 00:00:16 repo id repo name status cassandra Apache Cassandra 3 localrepo Linux DVD 5,210 ol7_UEKR6/x86_64 Latest Unbreakable Enterprise Kernel Release 6 for Oracle Linux 7Server (x86_64) 387 ol7_developer_EPEL/x86_64 Oracle Linux 7Server EPEL Packages for Development (x86_64) 39,770 ol7_latest/x86_64 Oracle Linux 7Server Latest (x86_64) 23,076 pgdg-common/7Server/x86_64 PostgreSQL common RPMs for RHEL/CentOS 7Server - x86_64 330 pgdg10/7Server/x86_64 PostgreSQL 10 for RHEL/CentOS 7Server - x86_64 968 pgdg11/7Server/x86_64 PostgreSQL 11 for RHEL/CentOS 7Server - x86_64 1,066 pgdg12/7Server/x86_64 PostgreSQL 12 for RHEL/CentOS 7Server - x86_64 639 pgdg13/7Server/x86_64 PostgreSQL 13 for RHEL/CentOS 7Server - x86_64 369 pgdg96/7Server/x86_64 PostgreSQL 9.6 for RHEL/CentOS 7Server - x86_64 935 pgpool42/7Server/x86_64 pgpool-II 4.2 7Server - x86_64 154 repolist: 72,907
Như vậy là tôi đã hoàn thành việc cấu hình Local Repository rồi đó. Bây giờ thử cài đặt 1 gói phần mềm bằng yum xem sao nhé.
[wp-svg-icons icon=”point-right” wrap=”i”] Bước 5: Kiểm thử
Để thử nghiệm, tôi sẽ disable card mạng ra Internet đi, sau đó tôi gõ lệnh yum
# yum install telnet Loaded plugins: langpacks, ulninfo Resolving Dependencies --> Running transaction check ---> Package telnet.x86_64 1:0.17-65.el7_8 will be installed --> Finished Dependency Resolution Dependencies Resolved ==================================================================================================================================================================================================== Package Arch Version Repository Size ==================================================================================================================================================================================================== Installing: telnet x86_64 1:0.17-65.el7_8 localrepo 64 k Transaction Summary ==================================================================================================================================================================================================== Install 1 Package Total download size: 64 k Installed size: 113 k Is this ok [y/d/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : 1:telnet-0.17-65.el7_8.x86_64 1/1 Verifying : 1:telnet-0.17-65.el7_8.x86_64 1/1 Installed: telnet.x86_64 1:0.17-65.el7_8 Complete!
Vậy là OK rồi đấy. Chúc các bạn thành công.
Nguồn: https://dangxuanduy.com/
Hiện tại, tôi có tổ chức đều đặn các khóa học về quản trị Oracle Database, tôi sẽ để thông tin ở đây, để bạn nào quan tâm về lịch học cũng như chương trình học có thể theo dõi nhé.
KHOÁ DÀNH CHO NGƯỜI MỚI
KHÓA HỌC: QUẢN TRỊ ORACLE DATABASE THẬT LÀ ĐƠN GIẢN (ADMIN 1)
CÁC KHOÁ NÂNG CAO:
KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ KIẾN TRÚC MULTITENANT 12c
KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ HỆ THỐNG DATA GUARD
CÁC KHOÁ COMBO:
COMBO 1: ADMIN 1 + MULTITENANT 12c
COMBO 3: ADMIN 1 + MULTITENANT 12c + DATA GUARD
LỊCH HỌC:
Mời bạn xem tại đây: LỊCH HỌC CÁC LỚP ORACLE
ĐĂNG KÝ:
https://forms.gle/MtCAoRQFenP886y79
Hãy tham gia group “Kho tài liệu kiến thức database” để cùng học hỏi và chia sẻ nhé.