Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

จะติดตั้งและกำหนดค่าที่เก็บใน CentOS/RHEL ได้อย่างไร

ที่เก็บ RHEL/CentOS มาตรฐาน (อย่างเป็นทางการ) มีแพ็คเกจพื้นฐานจำนวนเล็กน้อยซึ่งไม่มีโปรแกรมเวอร์ชันล่าสุดเสมอไป อย่างไรก็ตาม คุณสามารถใช้ที่เก็บสาธารณะหรือส่วนตัวของบุคคลที่สามเพื่อติดตั้งโปรแกรมใหม่ใน Red Hat Enterprise Linux, CentOS, Oracle Linux และ Scientific Linux Remi และ EPEL เป็นที่เก็บของบุคคลที่สามที่ได้รับความนิยมมากที่สุด ในบทความนี้ เราจะมาดูวิธีการติดตั้ง จัดการ และใช้ที่เก็บเพิ่มเติมด้วยตัวจัดการแพ็คเกจ yum (dnf) ใน CentOS

ที่เก็บเป็นที่เก็บแพ็คเกจซอฟต์แวร์ RPM สำหรับ Linux ที่สามารถอัปเดตได้ ตัวจัดการแพ็คเกจที่แตกต่างกันอาจใช้ที่เก็บข้อมูลเครือข่ายเพื่อติดตั้งและอัปเดตโปรแกรม

จะเปิดใช้งาน EPEL และ Remi Repository ใน CentOS ได้อย่างไร

เมื่อคุณติดตั้งระบบปฏิบัติการ (ในตัวอย่างของเราคือ CentOS 7) ที่เก็บพื้นฐานจะถูกติดตั้งตามค่าเริ่มต้น คุณสามารถดูรายการโดยใช้คำสั่ง:

yum repolist

จะติดตั้งและกำหนดค่าที่เก็บใน CentOS/RHEL ได้อย่างไร

ดังที่คุณเห็นในภาพหน้าจอ มีที่เก็บ 3 แห่งที่ติดตั้งในระบบ — ฐาน , ส่วนเสริม , อัปเดต . สิ่งเหล่านี้เพียงพอที่จะเริ่มติดตั้งซอฟต์แวร์พื้นฐานและที่เก็บเพิ่มเติม

มาดูวิธีการติดตั้งที่เก็บเพิ่มเติมใน CentOS

EPEL อาจเป็นแหล่งเก็บข้อมูลยอดนิยมในปัจจุบัน

EPEL (แพ็คเกจเสริมสำหรับ Enterprise Linux) เป็นโครงการพื้นที่เก็บข้อมูลแบบเปิดและฟรีที่จัดทำโดยทีม Fedora ประกอบด้วยแพ็คเกจซอฟต์แวร์เพิ่มเติมคุณภาพสูงสำหรับ Linux distros พื้นที่เก็บข้อมูลนี้โฮสต์แพ็คเกจจำนวนมากตั้งแต่เซิร์ฟเวอร์ FTP ไปจนถึง PHP และเครื่องมือตรวจสอบระบบ นี่คือพื้นที่เก็บข้อมูลยอดนิยม เป็นที่น่าสังเกตว่าแพ็คเกจ EPEL ไม่ขัดแย้งกับแพ็คเกจ CentOS/RHEL ดั้งเดิมและอย่าแทนที่

การติดตั้ง EPEL ใน CentOS 7 นั้นง่ายมาก (ต่างจาก CentOS 6) โดยใช้แพ็คเกจ RPM (เป็นวิธีที่ง่ายที่สุดในการเพิ่ม repo ใหม่):

yum install epel-release

จะติดตั้งและกำหนดค่าที่เก็บใน CentOS/RHEL ได้อย่างไร

หลังจากติดตั้งแล้ว ที่เก็บจะปรากฏในรายการ repo โดยไม่ต้องดำเนินการใดๆ (คุณไม่จำเป็นต้องล้างแคช yum)

ในการติดตั้งที่เก็บ Remi บน CentOS ให้รันคำสั่งนี้:

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

เรมี่ เป็นอีกหนึ่งพื้นที่เก็บข้อมูลยอดนิยมสำหรับ CentOS ประกอบด้วย PHP และ MySQL เวอร์ชันล่าสุด มันถูกสร้างขึ้นโดย Remi Collet ในการใช้ที่เก็บนี้ ต้องเปิดใช้งาน EPEL repo ในระบบปฏิบัติการของคุณ โปรดทราบว่าแพ็คเกจบางตัวอาจขัดแย้งกับแพ็คเกจจาก repos พื้นฐาน

หากไม่มีแพ็คเกจ RPM สำหรับที่เก็บที่คุณต้องการ คุณสามารถเพิ่มได้โดยสร้างไฟล์กำหนดค่า .repo ใน /etc/yum.repos.d ด้วยตนเอง (ดูหัวข้อบทความถัดไป)

เพื่อให้เข้าใจถึงที่เก็บแพ็คเกจที่ติดตั้ง คุณสามารถแสดงรายการแพ็คเกจทั้งหมด:

yum list installed

อย่างที่คุณเห็น ทุกแพ็คเกจมีข้อมูลเกี่ยวกับที่เก็บที่มีการติดตั้ง (มีฐาน อัปเดต epel และ anaconda repos ในภาพหน้าจอด้านล่าง)

จะติดตั้งและกำหนดค่าที่เก็บใน CentOS/RHEL ได้อย่างไร

คุณสามารถแสดงรายการแพ็คเกจที่พร้อมสำหรับการติดตั้งใน repo เฉพาะ:

yum repo-pkgs epel list

ไฟล์การกำหนดค่าที่เก็บ (*.repo)

ไฟล์การกำหนดค่าที่เก็บทั้งหมดอยู่ใน /etc/yum.repos.d/ และมี *.repo การขยาย. ไฟล์กำหนดค่าทั่วไปประกอบด้วยพารามิเตอร์ต่อไปนี้:

  • ชื่อ — ชื่อที่เก็บ
  • baseurl — ลิงก์ไปยังที่เก็บ (อาจเป็น ftp://address, https://address, https://address หรือ file://address for a local repo)
  • เปิดใช้งาน – ต้องใช้ repo นี้หรือไม่:1 — เปิดใช้งาน repo, 0 — ปิดใช้งาน repo หรือไม่
  • ไม่ตรงกัน – ไม่ว่าจะใช้การดาวน์โหลดแพ็คเกจแบบขนาน (อัตโนมัติ/เปิด/ปิด)
  • gpgcheck – จะทำการตรวจสอบ GPG หรือไม่ (1 — การตรวจสอบเปิดอยู่)
  • gpgkey — ลิงก์ไปยังคีย์ GPG
  • ยกเว้น — รายการแพ็คเกจที่ยกเว้น
  • รวมpkgs — รายการแพ็คเกจที่ร่วมรายการ
  • รายการมิเรอร์ – รายการมิเรอร์ที่เก็บ

ไฟล์ repo ที่เล็กที่สุดอาจมีลักษณะดังนี้:

[rep_name]
name=rep_name
baseurl=rep_url

ตัวอย่างเช่น หลังจากที่คุณติดตั้งที่เก็บ REMI แล้ว ไฟล์คอนฟิกูเรชัน Remi (remi-*.repo) บางไฟล์จะปรากฏในไดเร็กทอรีที่เก็บ

จะติดตั้งและกำหนดค่าที่เก็บใน CentOS/RHEL ได้อย่างไร

อย่างที่คุณเห็น Remi มีไฟล์กำหนดค่าแยกต่างหากสำหรับ PHP แต่ละเวอร์ชัน คุณต้องเปิดใช้งานเวอร์ชัน PHP ที่คุณต้องการผ่านไฟล์ปรับแต่ง ตัวอย่างเช่น ฉันจะติดตั้ง PHP 7.3 บนเซิร์ฟเวอร์ของฉัน ดังนั้นฉันจึงเปิดใช้งาน repo ที่เกี่ยวข้อง (ฉันได้ระบุ enabled=1 ใน remi-php73.repo ):

จะติดตั้งและกำหนดค่าที่เก็บใน CentOS/RHEL ได้อย่างไร

คุณสามารถเชื่อมต่อที่เก็บด้วยตนเอง โดยสร้างไฟล์คอนฟิกูเรชันที่เก็บใน /etc/yum.repos.d/ มาเพิ่ม MariaDB repo กันเถอะ

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

เพิ่มข้อมูลที่ได้รับจากผู้พัฒนาแพ็คเกจ MariaDB ลงไป:

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

จะปิดการใช้งานที่เก็บใน CentOS ได้อย่างไร

ในการปิดการใช้งานที่เก็บที่ติดตั้งไว้ การระบุ enabled=0 ก็เพียงพอแล้ว ในไฟล์กำหนดค่า

จะติดตั้งและกำหนดค่าที่เก็บใน CentOS/RHEL ได้อย่างไร

จากนั้นล้างแคช yum:

yum clean all

และสร้างมันขึ้นมาใหม่:

yum makecache

หลังจากนั้น remi-php73 repo จะไม่ถูกใช้เมื่อคุณติดตั้งหรืออัปเดตแพ็คเกจ

หากคุณไม่ต้องการใช้ที่เก็บเฉพาะสำหรับคำสั่งอัพเดต/การติดตั้งแพ็คเกจปัจจุบัน คุณสามารถปิดใช้งานได้ในคำสั่ง yum ตัวอย่างเช่น:

yum update —disablerepo=epel

ในตัวอย่างนี้ เราได้ปิดการใช้งาน EPEL และอัปเดตแพ็คเกจที่ติดตั้งแล้ว

คุณสามารถปิดใช้งานที่เก็บชั่วคราวทั้งหมดที่คุณไม่ต้องการได้ชั่วคราว ตัวอย่างเช่น หากต้องการอัพเดตแพ็คเกจจากที่เก็บ MariaDB เท่านั้น ให้รันคำสั่ง:

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

หากต้องการปิดใช้งานหรือลบ repos yum-config-manager ที่เป็นของ yum-utils tools ถูกนำมาใช้

ติดตั้ง yum-utils:

yum -y install yum-utils

ปิดใช้งานที่เก็บ เช่น remi:

yum-config-manager --disable remi

หากต้องการลบที่เก็บอย่างสมบูรณ์ คุณต้องลบไฟล์การกำหนดค่าและอัปเดต yum cache

จะตรวจสอบ Repo สำหรับการอัพเดทแพ็คเกจที่มีได้อย่างไร

คุณสามารถตรวจสอบที่เก็บเฉพาะสำหรับการอัพเดทแพ็คเกจที่มีได้

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

จะติดตั้งและกำหนดค่าที่เก็บใน CentOS/RHEL ได้อย่างไร

ดังนั้น คุณสามารถจัดการ repos ที่เชื่อมต่อบนเซิร์ฟเวอร์ของคุณได้ โปรดทราบว่าที่เก็บต่างกันอาจมีแพ็คเกจเดียวกัน และเวอร์ชันที่ขัดแย้งอาจเกิดขึ้นระหว่างการอัพเดต ดังนั้นให้เปิดเฉพาะที่เก็บที่คุณใช้งานเท่านั้น

ที่เก็บข้อมูลบุคคลที่สามยอดนิยมสำหรับ CentOS และ RHEL

MariaDB repo อย่างที่คุณเดาได้จากชื่อของมัน มีแพ็คเกจ MariaDB ที่เก็บถูกสร้างขึ้นโดยนักพัฒนา MariaDB ซึ่งได้รับการสนับสนุนและอัปเดตอย่างต่อเนื่อง

ในการติดตั้งที่เก็บนี้ในระบบ ให้สร้างไฟล์ .repo ที่มีเนื้อหาดังต่อไปนี้:

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

เช่นเดียวกับที่เก็บก่อนหน้านี้ Nginx มีแพ็คเกจที่เกี่ยวข้องกับเซิร์ฟเวอร์ nginx HTTPD

ในการติดตั้ง nginx repo ให้สร้างไฟล์ .repo และเพิ่มข้อความต่อไปนี้ที่นี่:

[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

รายการที่เก็บนี้เพียงพอที่จะกำหนดค่า LAMP stack ที่เรียกว่า nginx เป็นเซิร์ฟเวอร์ส่วนหน้า

รายการที่เก็บนี้อาจเพียงพอสำหรับผู้ใช้เกือบทุกคน อย่างไรก็ตาม ฉันจะยกตัวอย่างเพิ่มเติม

เว็บทาติก ได้รับการสนับสนุนจากผู้เชี่ยวชาญจำนวนจำกัด ส่วนใหญ่เป็น Andy Thompson ประกอบด้วยแพ็คเกจที่เกี่ยวข้องกับ PHP แต่ได้รับความนิยมน้อยกว่า Remi เนื่องจากเวอร์ชัน PHP ล่าสุดในที่เก็บนี้เป็น 7.2 ในขณะที่เขียนบทความนี้

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

หากต้องการเปิดใช้งานที่เก็บ ให้ติดตั้งแพ็คเกจ RPM ต่อไปนี้:

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

MySQL คือสิ่งที่ฉันต้องการเตือน ฉันไม่ได้วางมันร่วมกับสิ่งที่ได้รับความนิยมเนื่องจากฉันคิดว่า MySQL เป็นเซิร์ฟเวอร์ฐานข้อมูลได้สูญเสียตำแหน่ง โดยปกติ MariaDB จะถูกติดตั้งบนเซิร์ฟเวอร์แทน อย่างไรก็ตาม หากใครต้องการติดตั้ง MySQL คุณสามารถเปิดใช้งาน repo นี้ได้ ตัวอย่างเช่น คุณต้องการติดตั้ง mysql 5.7:

ดาวน์โหลดแพ็คเกจ:

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

และติดตั้ง:

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

หลังการติดตั้ง ฉันสามารถติดตั้ง MySQL:

จะติดตั้งและกำหนดค่าที่เก็บใน CentOS/RHEL ได้อย่างไร

ในบทความนี้ เราได้แสดงบางแง่มุมของการจัดการพื้นที่เก็บข้อมูลใน CentOS และศึกษาที่เก็บที่มีประโยชน์บางส่วน