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

การใช้ YUM Package Manager บน CentOS และ RHEL

ในบทความนี้ เราจะพิจารณา YUM ตัวจัดการแพ็คเกจที่อนุญาตให้จัดการการติดตั้งโปรแกรม (แพ็คเกจ RPM) การลบและการอัพเดต แก้ไขการพึ่งพาโดยอัตโนมัติ และจัดการที่เก็บเพิ่มเติม บทความนี้จะมีประโยชน์สำหรับผู้ดูแลระบบ Linux มือใหม่ในฐานะที่เป็นสูตรโกงของ yum

ยำ (Yellowdog Updater Modified) เป็นตัวจัดการแพ็คเกจคอนโซลสำหรับ Linux distros ตามแพ็คเกจ RPM (ตัวจัดการแพ็คเกจ RedHat) ซึ่งรวมถึงระบบปฏิบัติการยอดนิยม เช่น RedHat, CentOS, Fedora, Oracle Linux, Scientific Linux

การติดตั้ง การอัปเดต และการลบแพ็คเกจโดยใช้ YUM

จะเริ่มด้วยอะไรดี? เช่นเดียวกับในกรณีอื่นๆ เริ่มต้นด้วยความช่วยเหลือ:

yum help – ความช่วยเหลือเต็มรูปแบบเกี่ยวกับยำ

ฉันจะเน้นคำสั่ง yum ยอดนิยม:

yum clean all – ล้างแคชของแพ็คเกจทั้งหมด (ปกติจะใช้หากเกิดปัญหากับ yum)

yum makecache – สร้างแพ็คเกจแคชใหม่

yum repolist – แสดงรายการที่เก็บที่เชื่อมต่อทั้งหมด ผลลัพธ์จะเป็นดังนี้:

ปลั๊กอินที่โหลด:ความเร็วมิเรอร์ที่เร็วที่สุดในการโหลดมิเรอร์จากแคชไฟล์โฮสต์* ฐาน:* พิเศษ:* อัปเดต:repo id ชื่อ repo สถานะ/7/x86_64 CentOS-7 - ฐาน 10,019 พิเศษ/7/x86_64 CentOS-7 - พิเศษ 435 อัปเดต/7/ x86_64 CentOS-7 - อัปเดต 2,500repolist:12,954

ฉันมีเพียงที่เก็บ CentOS 7 มาตรฐานที่ติดตั้งบนระบบของฉัน:ฐาน พิเศษ และอัปเดต

yum list available – แสดงรายการแพ็คเกจทั้งหมดที่พร้อมสำหรับการติดตั้ง

yum list installed – แสดงรายการแพ็คเกจทั้งหมดที่ติดตั้งในระบบ

yum list kernel – แสดงรายการแพ็คเกจที่เกี่ยวข้องกับเคอร์เนล Linux

คุณสามารถตรวจสอบว่ามีการติดตั้งแพ็คเกจเฉพาะบนเซิร์ฟเวอร์ CentOS ของคุณหรือไม่ (เช่น ตรวจสอบสถานะแพ็คเกจ apache):

yum list installed httpd

แพ็คเกจที่ติดตั้งhttpd.x86_64 2.4.6-89.el7.centos.1 @updates

คุณสามารถรับข้อมูลโดยละเอียดเกี่ยวกับแพ็คเกจเฉพาะ ตัวอย่างเช่น มาดูข้อมูลเพิ่มเติมเกี่ยวกับแพ็คเกจ MariaDB:

yum info mariadb

การใช้ YUM Package Manager บน CentOS และ RHEL

ในการติดตั้งแพ็คเกจ yum install ถูกนำมาใช้. ในการติดตั้งเว็บเซิร์ฟเวอร์ apache ให้รันคำสั่งนี้:

yum install httpd

หากคุณเห็น “Traceback (การโทรล่าสุดล่าสุด):thread.error:can't start new thread ” เมื่อรันคำสั่ง yum ใด ๆ เป็นไปได้ว่าคุณไม่มี RAM เพียงพอบนเซิร์ฟเวอร์ของคุณ ลองเพิ่ม RAM หรือปิดการใช้งานปลั๊กอิน yum (ระบุ plugins=0 ใน /etc/yum.conf ).

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

yum deplist httpd

หากคุณต้องการติดตั้งแพ็คเกจ แต่ลืมชื่อเต็ม คุณสามารถใช้ * ตัวแทน ตัวอย่างเช่น:

yum install epel-*

การแก้ไขการพึ่งพา-->การเรียกใช้การตรวจสอบธุรกรรม---> การติดตั้งแพ็กเกจ epel-release.noarch 0:7-11 จะถูกติดตั้ง--> การแก้ปัญหาการพึ่งพาที่เสร็จสิ้นแล้ว 1 ขนาดการดาวน์โหลด PackageTotal:15 k ขนาดที่ติดตั้ง:24 k ตกลงไหม [y /d/N]:

หากคุณเพิ่งป้อน:

yum install epel

ไม่มีแพ็คเกจ epel พร้อมใช้งาน ข้อผิดพลาด:ไม่มีอะไรทำ

คุณจะไม่เห็นแพ็คเกจใด ๆ ที่พร้อมใช้งาน

Yum ติดตั้งได้หลายแพ็คเกจพร้อมกัน:

yum install httpd php wget rsyslog

วิธีติดตั้งแพ็คเกจใหม่:

yum reinstall proftpd

หากต้องการลบแพ็คเกจที่ติดตั้งด้วย yum จะใช้พารามิเตอร์การลบ:

yum remove httpd

ก่อนที่คุณจะลบแพ็คเกจใด ๆ ขอแนะนำให้ตรวจสอบการขึ้นต่อกัน (มีแพ็คเกจที่ทำให้มีการลบแพ็คเกจอื่นเมื่อคุณพยายามลบออก)

yum deplist proftpd

การใช้ YUM Package Manager บน CentOS และ RHEL

หากต้องการค้นหาแพ็กเกจโดยใช้ชื่อหรือคำอธิบาย:

yum search nginx

เมื่อใช้ตัวเลือกให้ คุณจะพบแพ็คเกจที่มีไฟล์เฉพาะ เช่น:

yum provides */squid.conf

ในการอัพเดตแพ็คเกจที่ติดตั้งทั้งหมด ให้รันคำสั่งนี้:

yum update

คุณสามารถอัปเดตแพ็คเกจโดยใช้ชื่อ:

yum update php

คุณสามารถตรวจสอบว่ามีการอัปเดตสำหรับระบบของคุณหรือไม่โดยใช้คำสั่งต่อไปนี้:

yum check-update

ในการรับข้อมูลเกี่ยวกับการอัปเดตความปลอดภัยที่มีให้:

yum updateinfo list security

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

yum downgrade php

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

yum grouplist

มาดูกันว่ามันทำงานอย่างไรในตัวอย่างรายการ “Basic Web Server” หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับกลุ่มและแพ็คเกจ:

yum groupinfo "Basic Web Server"

การใช้ YUM Package Manager บน CentOS และ RHEL

หลังจากการตรวจสอบ เราจะเห็นว่าชุดของแพ็คเกจและบริการสำหรับเว็บเซิร์ฟเวอร์จะได้รับการติดตั้ง

นี่คือรายการกลุ่มที่มีประโยชน์อีกอย่างหนึ่ง – “เครื่องมือการดูแลระบบ”:

yum groupinfo "System Administration Tools”

การใช้ YUM Package Manager บน CentOS และ RHEL

อย่างที่คุณเห็น รายการนี้มีเครื่องมือตรวจสอบและแก้ไขข้อบกพร่อง

คุณสามารถติดตั้งรายชื่อกลุ่มโดยใช้คำสั่งนี้:

yum groupinstall "System Administration Tools"

แพ็คเกจที่ติดตั้งจะปรากฏในบล็อกแยกต่างหาก (“กลุ่มที่ติดตั้ง”):

การใช้ YUM Package Manager บน CentOS และ RHEL

การใช้คำสั่งประวัติ YUN

คุณสามารถแสดงประวัติการติดตั้ง yum (รายการธุรกรรม) โดยใช้:

yum history list

ผลลัพธ์ประกอบด้วย 5 คอลัมน์ คอลัมน์แรกแสดงรหัสธุรกรรมที่คุณสามารถใช้เพื่อดูรายละเอียดธุรกรรม (แพ็คเกจที่ติดตั้ง การขึ้นต่อกัน)

ตัวอย่างเช่น:

yum history info 10

การใช้ YUM Package Manager บน CentOS และ RHEL

นอกจากนี้ คุณสามารถยกเลิกการทำธุรกรรมโดยใช้คำสั่ง:

yum history undo 10

ในกรณีของฉัน แพ็คเกจ 4 รายการจะถูกลบออก:

การใช้ YUM Package Manager บน CentOS และ RHEL

คุณสามารถดูข้อมูลเกี่ยวกับการติดตั้ง/ลบแพ็คเกจ yum ได้ใน /var/log/yum.log :

cat /var/log/yum.log

ตัวเลือกคำสั่ง YUM ที่มีประโยชน์

Yum มีตัวเลือกที่มีประโยชน์ซึ่งคุณอาจต้องใช้บ่อยๆ เพื่อจัดการแพ็คเกจ ใช้ -y ตัวเลือกในการระงับเอาต์พุต yum ทั้งหมดยกเว้นข้อผิดพลาด ตัวอย่างเช่น:

yum update -y yum install httpd -y

ที่จะพูดว่า ไม่ ตามคำขอ ใช้ตัวเลือกนี้:

--assumeno

หากต้องการใช้ yum โดยไม่มีปลั๊กอินหรือปิดใช้งานหนึ่งในนั้น ให้ใช้พารามิเตอร์:

--noplugins
--disableplugin=fastestmirror

วิธีเปิดใช้งานปลั๊กอินที่ปิดใช้งาน:

--enableplugin=fastestmirror

ในการใช้ repo ที่ถูกปิดใช้งาน:

yum update –enablerepo=atomic

ในการปิดใช้งานที่เก็บเฉพาะใน yum:

yum update –disablerepo=atomic

ไฟล์การกำหนดค่า YUM /etc/yum.conf

ไฟล์การกำหนดค่า YUM คือ /etc/yum.conf .

พารามิเตอร์ไฟล์กำหนดค่าหลักคือ:

  • แคชเดียร์ – แคชแพ็คเกจท้องถิ่น (โดยค่าเริ่มต้น /var/cache/yum)
  • ไฟล์บันทึก — เส้นทางสู่ไฟล์บันทึก yum
  • ล้าสมัย — ไม่ว่าจะอัปเดตแพ็คเกจที่ล้าสมัย (1 — ใช่, 0 — ไม่ใช่)
  • gpgcheck — ตรวจสอบแพ็คเกจก่อนการติดตั้ง (1 — ใช่, 0 — ไม่ใช่)
  • เก็บไว้ — ไม่ว่าจะเก็บแคช (1 — ใช่, 0 — ไม่ใช่)
  • แคชเดียร์ — ไดเร็กทอรีสำหรับจัดเก็บ yum cache (โดยปริยายคือ /var/cache/yum)
  • ระดับการดีบัก – ระดับการดีบัก 1-10
  • ปลั๊กอิน —เปิดใช้งานปลั๊กอิน yum (1 — ใช่, 0 — ไม่ใช่)
  • bugtracker_url – ลิงก์ไปยังตำแหน่งที่จะลงทะเบียนข้อผิดพลาดของ yum
  • installonly_limit – จำนวนเวอร์ชันสูงสุดที่สามารถติดตั้งได้ในหนึ่งแพ็คเกจ

ปลั๊กอิน YUM ที่มีประโยชน์

ทำไมคุณถึงต้องการปลั๊กอินใน yum? ทำให้งานของเราง่ายขึ้นเช่นเดียวกับทุกที่

ต่อไปนี้คือปลั๊กอินยอดนิยมบางส่วนและคำอธิบาย:

yum-plugin-fastestmirror – วัดความเร็วมิเรอร์และเสนอแพ็คเกจที่เร็วที่สุดในการติดตั้ง

yum-plugin-security — ระบุรายการอัปเดตความปลอดภัยเท่านั้น

yum-plugin-keys — อนุญาตให้ใช้คีย์, ข้อมูลคีย์, คีย์ข้อมูล, พารามิเตอร์การถอดคีย์

ไดเร็กทอรีที่เก็บปลั๊กอินทั้งหมดคือ /etc/yum/ .

yum-plugin-versionlock – ป้องกันไม่ให้แพ็คเกจที่เลือกอัปเดต

หากต้องการแสดงรายการปลั๊กอิน yum ที่มีอยู่ ให้เรียกใช้คำสั่งนี้:

yum search yum-plugin

<ก่อนหน้า>======================================================================N/S ที่ตรงกัน:yum-plugin =======================================================================PackageKit-yum-plugin.x86_64 :บอก PackageKit ให้ตรวจสอบการอัปเดตเมื่อ yum exitsfusioninventory-agent-yum-plugin.noarch :ขอให้ตัวแทน FusionInventory ส่งสินค้าคงคลังเมื่อ yum exitskabi-yum-plugins.noarch :เคอร์เนล CentOS Linux ABI yum pluginyum-plugin-aliases.noarch :ปลั๊กอิน Yum เพื่อเปิดใช้งานตัวกรองนามแฝง filteryum-plugin-auto-update-debug-info.noarch :ปลั๊กอิน Yum เพื่อเปิดใช้งานการอัปเดตอัตโนมัติสำหรับการติดตั้ง debuginfo packageyum-plugin-changelog.noarch :ปลั๊กอิน Yum สำหรับการดู บันทึกการเปลี่ยนแปลงแพ็คเกจก่อน/หลังการอัพเดตyum-plugin-copr.noarch :Yum plugin เพื่อเพิ่ม copr commandyum-plugin-fastestmirror.noarch :Yum plugin ซึ่งเลือกที่เก็บที่เร็วที่สุดจาก mirrorlistyum-plugin-filter-data.noarch :Yum plugin to list filter based บนแพ็คเกจ datayum-plugin-fs-snapshot.noarch :ปลั๊กอิน Yum เพื่อสแน็ปช็อตไฟล์ของคุณโดยอัตโนมัติ เกิดขึ้นระหว่าง updatesyum-plugin-keys.noarch :ปลั๊กอิน Yum เพื่อจัดการกับการลงนาม keysyum-plugin-list-data.noarch :ปลั๊กอิน Yum เพื่อแสดงรายการแพ็คเกจรวม datayum-plugin-local.noarch :ปลั๊กอิน Yum เพื่อจัดการ repo ในเครื่องโดยอัตโนมัติ ของ packageyum-plugin-merge-conf.noarch ที่ดาวน์โหลด :ปลั๊กอิน Yum เพื่อผสานการเปลี่ยนแปลงการกำหนดค่าเมื่อติดตั้ง packageyum-plugin-ovl.noarch :ปลั๊กอิน Yum เพื่อแก้ไข overlayfs Issuesyum-plugin-post-transaction-actions.noarch :Yum ปลั๊กอินที่จะเรียกใช้ คำสั่งโดยพลการเมื่อ pkgs บางตัวถูกกระทำ onyum-plugin-pre-transaction-actions.noarch :ปลั๊กอิน Yum เพื่อเรียกใช้คำสั่งโดยอำเภอใจเมื่อ pkgs บางตัวถูกกระทำ onyum-plugin-priorities.noarch :ปลั๊กอินที่ให้ลำดับความสำคัญกับแพ็คเกจจาก reposyum-plugin- ที่แตกต่างกัน Protectbase.noarch :ปลั๊กอิน Yum เพื่อปกป้องแพ็คเกจจากที่เก็บบางอย่าง ไม่ได้ใช้อีกต่อไปเนื่องจากการลบyum-plugin-rpm-warm-cache.noarch :ปลั๊กอิน Yum เพื่อเข้าถึงไฟล์ rpmdb ก่อนกำหนดเพื่ออุ่นเครื่องการเข้าถึง dbyum-plugin-show-leaves.noarch :ปลั๊กอิน Yum ซึ่งแสดงแพ็คเกจลีฟที่ติดตั้งใหม่ -plugin-tmprepo.noarch :ปลั๊กอิน Yum เพื่อเพิ่มที่เก็บชั่วคราวyum-plugin-tsflags.noarch :ปลั๊กอิน Yum เพื่อเพิ่ม tsflags โดยบรรทัดคำสั่ง optionyum-plugin-upgrade-helper.noarch :ปลั๊กอิน Yum เพื่อช่วยอัปเกรดเวอร์ชันการแจกจ่ายถัดไป yum-plugin-verify.noarch :ปลั๊กอิน Yum เพื่อเพิ่มคำสั่งตรวจสอบและ optionsyum-plugin-versionlock.noarch :ปลั๊กอิน Yum เพื่อล็อคแพ็คเกจที่ระบุไม่ให้อัปเดต

คุณสามารถติดตั้งปลั๊กอินได้โดยใช้ yum install เหมือนแพ็คเกจอื่นๆ:

yum install yum-plugin-changelog
yum -y install yum-versionlock

หากต้องการบล็อกการอัปเดตแพ็กเกจโดยใช้ปลั๊กอิน ให้เรียกใช้คำสั่งต่อไปนี้:

yum versionlock nginx

วิธีแสดงรายการแพ็คเกจที่ถูกบล็อก:

yum versionlock list

วิธีลบแพ็คเกจออกจากรายการที่ถูกบล็อก:

yum versionlock delete nginx

การใช้ YUM Package Manager บน CentOS และ RHEL

หากคุณไม่ต้องการใช้ปลั๊กอิน คุณสามารถปิดใช้งานได้โดยเพิ่มตัวเลือกต่อไปนี้ในคำสั่ง yum:

--disableplugin=fastestmirror

หรือคุณสามารถปิดการใช้งานปลั๊กอิน yum ทั้งหมด:

--noplugins

จะกำหนดค่าพร็อกซีสำหรับ YUM ได้อย่างไร

Yum กำลังใช้โปรโตคอล HTTP/1.1 เพื่อโต้ตอบกับที่เก็บแพ็คเกจ หากเซิร์ฟเวอร์ Linux ของคุณสามารถเข้าถึงอินเทอร์เน็ตผ่านพร็อกซีเซิร์ฟเวอร์ HTTP เท่านั้น คุณสามารถระบุชื่อของพร็อกซีเซิร์ฟเวอร์ใน [main] ของไฟล์ /etc/yum.conf ของคุณ:

proxy=https://proxy_server_name:3128

หากพร็อกซีเซิร์ฟเวอร์ของคุณต้องมีการตรวจสอบสิทธิ์ ให้เพิ่มบรรทัดด้วย:

proxy_proxy_username=proxy_userproxy_password=proxy_user_passw0rd

เพื่อให้แน่ใจว่า yum ทำงานผ่านพร็อกซีเซิร์ฟเวอร์ ให้ใช้คำสั่งนี้:

yum clean all && yum search nginx

ในการตรวจสอบ ฉันได้ระบุที่อยู่พร็อกซีเซิร์ฟเวอร์สาธารณะของเยอรมัน และปลั๊กอินกระจกที่เร็วที่สุดที่ทริกเกอร์ระหว่างการติดตั้ง และพบมิเรอร์ที่มีความเร็วที่เร็วที่สุด:

การใช้ YUM Package Manager บน CentOS และ RHEL

หากคุณต้องการใช้พรอกซีสำหรับที่เก็บบางส่วนเท่านั้น คุณไม่จำเป็นต้องทำการเปลี่ยนแปลงไฟล์ /etc/yum.conf คุณสามารถระบุการตั้งค่าพร็อกซีเซิร์ฟเวอร์ในไฟล์การกำหนดค่าที่เก็บ /etc/yum.repos.d/your_config.repo แทน

ดังนั้นเราจึงพิจารณาคุณสมบัติพื้นฐานของ yum ซึ่งเป็นตัวจัดการแพ็คเกจ RPM ใน Linux CentOS/ RHEL ในบทความถัดไป เราจะแสดงวิธีจัดการที่เก็บ YUM/DNF โดยละเอียดยิ่งขึ้น