ในบทความนี้ เราจะพิจารณา 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 install
ถูกนำมาใช้. ในการติดตั้งเว็บเซิร์ฟเวอร์ apache ให้รันคำสั่งนี้:
yum install httpd
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 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 groupinfo "System Administration Tools”
อย่างที่คุณเห็น รายการนี้มีเครื่องมือตรวจสอบและแก้ไขข้อบกพร่อง
คุณสามารถติดตั้งรายชื่อกลุ่มโดยใช้คำสั่งนี้:
yum groupinstall "System Administration Tools"
แพ็คเกจที่ติดตั้งจะปรากฏในบล็อกแยกต่างหาก (“กลุ่มที่ติดตั้ง”):
การใช้คำสั่งประวัติ YUN
คุณสามารถแสดงประวัติการติดตั้ง yum (รายการธุรกรรม) โดยใช้:
yum history list
ผลลัพธ์ประกอบด้วย 5 คอลัมน์ คอลัมน์แรกแสดงรหัสธุรกรรมที่คุณสามารถใช้เพื่อดูรายละเอียดธุรกรรม (แพ็คเกจที่ติดตั้ง การขึ้นต่อกัน)
ตัวอย่างเช่น:
yum history info 10
นอกจากนี้ คุณสามารถยกเลิกการทำธุรกรรมโดยใช้คำสั่ง:
yum history undo 10
ในกรณีของฉัน แพ็คเกจ 4 รายการจะถูกลบออก:
คุณสามารถดูข้อมูลเกี่ยวกับการติดตั้ง/ลบแพ็คเกจ 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
คุณสามารถติดตั้งปลั๊กอินได้โดยใช้ yum install
เหมือนแพ็คเกจอื่นๆ:
yum install yum-plugin-changelog
yum -y install yum-versionlock
หากต้องการบล็อกการอัปเดตแพ็กเกจโดยใช้ปลั๊กอิน ให้เรียกใช้คำสั่งต่อไปนี้:
yum versionlock nginx
วิธีแสดงรายการแพ็คเกจที่ถูกบล็อก:
yum versionlock list
วิธีลบแพ็คเกจออกจากรายการที่ถูกบล็อก:
yum versionlock delete nginx
หากคุณไม่ต้องการใช้ปลั๊กอิน คุณสามารถปิดใช้งานได้โดยเพิ่มตัวเลือกต่อไปนี้ในคำสั่ง 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
ในการตรวจสอบ ฉันได้ระบุที่อยู่พร็อกซีเซิร์ฟเวอร์สาธารณะของเยอรมัน และปลั๊กอินกระจกที่เร็วที่สุดที่ทริกเกอร์ระหว่างการติดตั้ง และพบมิเรอร์ที่มีความเร็วที่เร็วที่สุด:
หากคุณต้องการใช้พรอกซีสำหรับที่เก็บบางส่วนเท่านั้น คุณไม่จำเป็นต้องทำการเปลี่ยนแปลงไฟล์ /etc/yum.conf คุณสามารถระบุการตั้งค่าพร็อกซีเซิร์ฟเวอร์ในไฟล์การกำหนดค่าที่เก็บ /etc/yum.repos.d/your_config.repo แทน
ดังนั้นเราจึงพิจารณาคุณสมบัติพื้นฐานของ yum ซึ่งเป็นตัวจัดการแพ็คเกจ RPM ใน Linux CentOS/ RHEL ในบทความถัดไป เราจะแสดงวิธีจัดการที่เก็บ YUM/DNF โดยละเอียดยิ่งขึ้น