Cấu hình Yum local Repository

   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 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


   Các bước tiến hành

   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/

 

Đọc thêm  [Ebook] The Linux Command Line - Download PDF

   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)

   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

   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

[[email protected] 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é.

Đọc thêm  Bí kíp Linux #4: Xem thông tin các phiên làm việc của người dùng

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/

   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é.

Xin cho tôi được biết, bạn cảm thấy bài viết này như thế nào? Ý kiến của bạn sẽ giúp tôi nâng cao chất lượng bài viết của mình.

    Hãy chia sẻ bài viết này nếu bạn thấy có ích nhé
    0 0 votes
    Article Rating
    Subscribe
    Notify of
    guest
    0 Comments
    Inline Feedbacks
    View all comments