Computer >> Máy Tính >  >> Hệ thống >> Linux

Làm thế nào để cài đặt và cấu hình kho lưu trữ trong CentOS / RHEL?

Các kho lưu trữ RHEL / CentOS tiêu chuẩn (chính thức) cung cấp một số lượng nhỏ các gói cơ bản không phải lúc nào cũng chứa các phiên bản mới nhất của chương trình. Tuy nhiên, bạn có thể sử dụng kho lưu trữ công cộng hoặc riêng tư của bên thứ ba để cài đặt các chương trình mới trong Red Hat Enterprise Linux, CentOS, Oracle Linux và Scientific Linux. Remi và EPEL là kho lưu trữ của bên thứ ba phổ biến nhất. Trong bài viết này, chúng ta sẽ xem xét cách cài đặt, quản lý và sử dụng các kho lưu trữ bổ sung với trình quản lý gói yum (dnf) trong CentOS.

Kho lưu trữ là một kho lưu trữ có thể cập nhật các gói phần mềm RPM cho Linux. Các trình quản lý gói khác nhau có thể sử dụng kho lưu trữ mạng để cài đặt và cập nhật chương trình.

Làm cách nào để bật EPEL và kho lưu trữ Remi trong CentOS?

Khi bạn cài đặt một hệ điều hành (trong ví dụ của chúng tôi, đó là CentOS 7), các kho lưu trữ cơ bản được cài đặt theo mặc định. Bạn có thể xem danh sách chúng bằng lệnh:

yum repolist

Làm thế nào để cài đặt và cấu hình kho lưu trữ trong CentOS / RHEL?

Như bạn có thể thấy trong ảnh chụp màn hình, có 3 kho lưu trữ được cài đặt trong hệ thống - base , tính năng bổ sung , cập nhật . Đây là đủ để bắt đầu cài đặt phần mềm cơ bản và kho bổ sung.

Hãy xem xét cách cài đặt các kho lưu trữ bổ sung trong CentOS.

EPEL có thể là kho lưu trữ phổ biến nhất hiện nay.

EPEL (Các gói bổ sung cho Enterprise Linux) là một dự án kho lưu trữ mở và miễn phí được cung cấp bởi nhóm Fedora. Nó chứa các gói phần mềm bổ sung chất lượng cao cho các bản phân phối Linux. Kho này lưu trữ một số lượng lớn các gói từ máy chủ FTP đến PHP và các công cụ giám sát hệ thống. Đây là kho lưu trữ phổ biến nhất. Cần lưu ý rằng các gói EPEL không xung đột với các gói CentOS / RHEL gốc và không thay thế chúng.

Rất dễ cài đặt EPEL trong CentOS 7 (không giống như CentOS 6) bằng cách sử dụng gói RPM (đây là phương pháp dễ nhất để thêm một kho mới):

yum install epel-release

Làm thế nào để cài đặt và cấu hình kho lưu trữ trong CentOS / RHEL?

Sau khi được cài đặt, kho lưu trữ xuất hiện trong danh sách kho lưu trữ mà không cần thực hiện bất kỳ hành động nào (bạn không cần xóa bộ nhớ cache yum).

Để cài đặt kho lưu trữ Remi trên CentOS, hãy chạy lệnh sau:

rpm -ivh https://rpms.famillecollet.com/enterprise/remi-release-7.rpm

Nhắc nhở là một kho lưu trữ phổ biến khác cho CentOS. Nó chứa các phiên bản PHP và MySQL mới nhất. Nó được tạo ra bởi Remi Collet. Để sử dụng kho này, kho EPEL phải được bật trong Hệ điều hành của bạn. Xin lưu ý rằng một số gói của nó có thể xung đột với các gói từ repo cơ bản.

Nếu không có gói RPM nào cho kho lưu trữ bạn cần, bạn có thể thêm gói bằng cách tạo tệp cấu hình .repo trong /etc/yum.repos.d theo cách thủ công (xem phần bài viết tiếp theo).

Để hiểu các gói được cài đặt từ kho nào, bạn có thể hiển thị danh sách đầy đủ các gói:

yum list installed

Như bạn có thể thấy, mọi gói đều có thông tin về kho lưu trữ mà nó được cài đặt từ đó (có các kho cơ sở, cập nhật, epel và anaconda trên ảnh chụp màn hình bên dưới).

Làm thế nào để cài đặt và cấu hình kho lưu trữ trong CentOS / RHEL?

Bạn có thể hiển thị danh sách các gói có sẵn để cài đặt trong một repo cụ thể:

yum repo-pkgs epel list

Tệp cấu hình kho lưu trữ (* .repo)

Tất cả các tệp cấu hình kho lưu trữ được đặt trong /etc/yum.repos.d/ và có * .repo gia hạn. Tệp cấu hình điển hình chứa các thông số sau:

  • tên - tên kho lưu trữ
  • baseurl - liên kết đến một kho lưu trữ (có thể là ftp:// address, https:// address, https:// address hoặc file:// address cho một local repo)
  • đã bật - liệu repo này có phải được sử dụng hay không:1 - repo được bật, 0 - repo bị tắt;
  • không đồng bộ - có sử dụng tải xuống gói song song không (tự động / bật / tắt)
  • gpgcheck - có thực hiện kiểm tra GPG hay không (1 - kiểm tra đang bật)
  • gpgkey - liên kết đến khóa GPG
  • loại trừ - danh sách các gói bị loại trừ
  • compepkgs - danh sách các gói đi kèm
  • danh sách phản chiếu - danh sách các nhân bản kho lưu trữ

Tệp repo nhỏ nhất có thể trông giống như sau:

[rep_name]
name=rep_name
baseurl=rep_url

Ví dụ:sau khi bạn cài đặt kho lưu trữ REMI, một số tệp cấu hình Remi (Remi - *. Repo) sẽ xuất hiện trong thư mục kho lưu trữ.

Làm thế nào để cài đặt và cấu hình kho lưu trữ trong CentOS / RHEL?

Như bạn có thể thấy, Remi có một tệp cấu hình riêng cho mỗi phiên bản PHP. Bạn phải kích hoạt phiên bản PHP bạn cần thông qua tệp cấu hình. Ví dụ:tôi sẽ cài đặt PHP 7.3 trên máy chủ của mình, vì vậy tôi đã bật repo tương ứng (tôi đã chỉ định enabled=1 trong remi-php73.repo ):

Làm thế nào để cài đặt và cấu hình kho lưu trữ trong CentOS / RHEL?

Bạn có thể kết nối kho lưu trữ theo cách thủ công. Để thực hiện, hãy tạo tệp cấu hình kho lưu trữ trong /etc/yum.repos.d/. Hãy thêm kho MariaDB.

nano /etc/yum.repos.d/mariadb.repo

Thêm dữ liệu do nhà phát triển gói MariaDB cung cấp vào đó:

[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.4/centos73-amd64/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Làm cách nào để vô hiệu hóa kho lưu trữ trong CentOS?

Để vô hiệu hóa một trong các kho đã cài đặt, bạn chỉ cần chỉ định đã bật =0 là đủ trong tệp cấu hình của nó.

Làm thế nào để cài đặt và cấu hình kho lưu trữ trong CentOS / RHEL?

Sau đó, làm sạch bộ nhớ cache của yum:

yum clean all

Và tạo lại nó:

yum makecache

Sau đó, repo Rem-php73 sẽ không được sử dụng khi bạn cài đặt hoặc cập nhật các gói.

Nếu bạn không muốn sử dụng kho lưu trữ chỉ cho lệnh cài đặt / cập nhật gói hiện tại, bạn có thể tắt nó trong lệnh yum, ví dụ:

yum update —disablerepo=epel

Trong ví dụ này, chúng tôi đã tắt EPEL và cập nhật các gói đã cài đặt.

Bạn có thể tạm thời vô hiệu hóa tất cả các kho mà bạn không cần. Ví dụ:để cập nhật các gói chỉ từ kho lưu trữ MariaDB, hãy chạy lệnh:

yum update --disablerepo "*" --enablerepo=mariadb

Để tắt hoặc xóa repos, yum-config-manager thuộc về công cụ yum-utils được sử dụng.

Cài đặt yum-utils:

yum -y install yum-utils

Vô hiệu hóa hệ thống lưu trữ, ví dụ:Nhắc nhở:

yum-config-manager --disable remi

Để xóa hoàn toàn kho lưu trữ, bạn phải xóa các tệp cấu hình của nó và cập nhật bộ đệm yum.

Làm cách nào để Kiểm tra bản cập nhật gói có sẵn?

Bạn có thể kiểm tra một kho lưu trữ cụ thể để biết cập nhật gói có sẵn.

yum check-update --disablerepo "*" --enablerepo=mariadb

Làm thế nào để cài đặt và cấu hình kho lưu trữ trong CentOS / RHEL?

Do đó, bạn có thể quản lý các kho lưu trữ được kết nối trên máy chủ của mình. Lưu ý rằng các kho lưu trữ khác nhau có thể chứa các gói giống nhau và xung đột phiên bản có thể xảy ra trong quá trình cập nhật. Vì vậy, chỉ để lại các kho lưu trữ mà bạn làm việc với được kích hoạt.

Kho lưu trữ bên thứ ba phổ biến cho CentOS và RHEL

MariaDB repo, như bạn có thể đoán theo tên của nó, chứa các gói MariaDB. Kho lưu trữ được tạo bởi các nhà phát triển MariaDB, nó được hỗ trợ và cập nhật liên tục.

Để cài đặt kho này trong hệ thống, hãy tạo một tệp .repo với nội dung sau:

[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.4/centos73-amd64/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Giống như kho lưu trữ trước đó, Nginx chứa các gói liên quan đến máy chủ HTTPD nginx.

Để cài đặt kho nginx, hãy tạo tệp .repo và thêm văn bản sau vào đây:

[nginx-stable]
name=nginx stable repo
baseurl=https://nginx.org/packages/CentOS/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

Danh sách kho lưu trữ này đủ để định cấu hình cái gọi là ngăn xếp LAMP với nginx làm máy chủ front-end.

Danh sách kho lưu trữ này có thể đủ cho hầu hết mọi người dùng, tuy nhiên, tôi sẽ đưa ra thêm một số ví dụ.

Webtatic được hỗ trợ bởi một số giới hạn các chuyên gia, chủ yếu là Andy Thompson. Nó chứa các gói liên quan đến PHP, nhưng nó ít phổ biến hơn Remi, vì phiên bản PHP mới nhất trong kho lưu trữ này là 7.2 vào thời điểm bài viết này được viết.

yum repo-pkgs webtatic list | grep php7

mod_php71w.x86_64 7.1.31-1.w7 webtatic
mod_php72w.x86_64 7.2.21-1.w7 webtatic
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
php72w-tidy.x86_64 7.2.21-1.w7 webtatic
php72w-xml.x86_64 7.2.21-1.w7 webtatic
php72w-xmlrpc.x86_64 7.2.21-1.w7 webtatic

Để kích hoạt kho lưu trữ, hãy cài đặt gói RPM sau:

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

MySQL là những gì tôi muốn nhắc nhở. Tôi đã không đặt nó cùng với những cái phổ biến, vì tôi nghĩ MySQL như một máy chủ cơ sở dữ liệu đã mất vị trí của nó. MariaDB thường được cài đặt trên các máy chủ. Tuy nhiên, nếu ai đó muốn cài đặt MySQL, bạn có thể bật repo này. Ví dụ:bạn muốn cài đặt mysql 5.7:

Tải xuống gói:

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

Và cài đặt nó:

rpm -Uvh mysql57-community-release-el7-9.noarch.rpm

Sau khi cài đặt, tôi có thể cài đặt MySQL:

Làm thế nào để cài đặt và cấu hình kho lưu trữ trong CentOS / RHEL?

Trong bài viết này, chúng tôi đã chỉ ra một số khía cạnh của quản lý kho lưu trữ trong CentOS và nghiên cứu một số kho lưu trữ hữu ích.