RPM (Red Hat Package Manager) là những dạng gói phần mềm được sử dụng cho các hệ điều hành như CentOS, Fedora, … Các gói thường được kết thúc bằng đuôi .rpm
. Bài viết này sẽ hướng dẫn các bạn cách download và cài đặt bằng file RPM trên CentOS-7
Việc cài đặt các gói trên CentOS thông qua Internet có thể gặp tình trạng tải khó khăn hoặc thậm chí không thể tải được. Một số lý do thường gặp phải:
- Internet chập chờn
- Mất kết nối internet
- Không phân giải được DNS
- …
Khi điều đó xảy ra, ta cần một giải pháp để giải quyết vấn đề này. Đó là cài đặt các gói offline bằng cách tải các gói về và cài đặt từ file đó.
Các bước thực hiện
Bước 1: Tải các gói RPM
Chúng ta có thể tải các gói phần mềm và thư việc tương ứng được đóng gói sẵn dưới dạng các file .rpm
Tuy nhiên, bước này cần thực hiện khi có mạng. Việc thực hiện này có ý nghĩa lưu trữ các gói RPM cần thiết để cài đặt. Hoặc có thể tải từ một máy khác rồi copy sang máy cần cài đặt.
Sử dụng câu lệnh sau để tải gói RPM tương ứng:
yum install --downloadonly --downloaddir=<directory> <package>
Trong đó:
- directory: là folder chứa các gói RPM mà yum tải về.
- package: là tên gói tương ứng mà ta cần lưu lại.
Trong bài viết này, ta sẽ sử dụng gói HTTPD làm ví dụ:
Tạo thư mục để lưu trữ các gói:
mkdir Onet-httpd
Tải các gói của httpd về thư mục vừa tạo:
yum install --downloadonly --downloaddir=/root/Onet-httpd/ httpd
Sau khi tải xong, ta sẽ thấy thông báo tương tự dưới đây:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 2.7 MB/s | 3.0 MB 00:00:01 exiting because "Download Only" specified
Kiểm tra các gói vừa tải về:
ls -1 Onet-httpd/ apr-1.4.8-5.el7.x86_64.rpm apr-util-1.5.2-6.el7.x86_64.rpm httpd-2.4.6-93.el7.centos.x86_64.rpm httpd-tools-2.4.6-93.el7.centos.x86_64.rpm mailcap-2.1.41-2.el7.noarch.rpm
Bước 2: Tiến hành cài đặt các gói trong môi trường Offline
Ngắt kết nối internet. Ở đây, ta sẽ comment dòng cấu hình DNS và GATEWAY trong file cấu hình network:
/etc/sysconfig/network-scripts/ifcfg-eth0
Bật lại interface:
ifdown eth0 && ifup eth0
Kiểm tra sẽ thấy máy không ra được internet nữa:
Tiến hành cài đặt các gói trong môi trường offline:
cd Onet-httpd/ rpm -ivh *.rpm
Trong đó:
- -i: install – Option cài đặt.
- -v: verbose – In ra output khi cài đặt.
- -h: hash – In ra dấu
#
hiển thị quá trình giải nén package
Khởi động và kiểm tra service HTTPD:
systemctl start httpd systemctl status httpd httpd -v
Tổng kết
Bài viết đã hướng dẫn các bạn cách cài đặt phần mềm trên CentOS-7 từ file RPM. Rất mong sự đóng góp ý kiến từ mọi người.
Cảm ơn mọi người đã theo dõi.