Android

คำสั่ง Rpm ใน linux

Linux Terminal 201: Apt vs Apt-Get - HakTip 151

Linux Terminal 201: Apt vs Apt-Get - HakTip 151

สารบัญ:

Anonim

RPM Package Manager (RPM) เป็นระบบจัดการบรรจุภัณฑ์ที่มีประสิทธิภาพซึ่งใช้โดย Red Hat Linux และอนุพันธ์ของ CentOS และ Fedora RPM ยังอ้างถึงคำสั่ง .rpm และรูปแบบไฟล์ .rpm แพ็คเกจ RPM ประกอบด้วยไฟล์เก็บถาวรและข้อมูลเมตารวมถึงข้อมูลเช่นการอ้างอิงและตำแหน่งการติดตั้ง

ในบทช่วยสอนนี้เราจะพูดถึงวิธีการใช้คำสั่ง rpm เพื่อติดตั้งอัปเดตลบตรวจสอบสอบถามและจัดการแพ็คเกจ RPM

การติดตั้งการอัพเดตและการลบแพ็กเกจ RPM

โดยปกติในการติดตั้งแพคเกจใหม่บน Red Hat based distributions คุณจะต้องใช้คำสั่ง yum หรือ dnf ซึ่งสามารถแก้ไขและติดตั้งการขึ้นต่อกันของแพ็คเกจทั้งหมด

คุณควรเลือกใช้ yum หรือ dnf มากกว่า rpm เมื่อทำการติดตั้งอัพเดตและลบแพ็คเกจ

ก่อนที่จะติดตั้งแพ็คเกจ RPM คุณต้องดาวน์โหลดแพ็คเกจบนระบบของคุณก่อนโดยใช้เบราว์เซอร์หรือเครื่องมือบรรทัดคำสั่งเช่น curl หรือ wget

เมื่อติดตั้งแพ็คเกจ RPM ตรวจสอบให้แน่ใจว่าสร้างขึ้นสำหรับสถาปัตยกรรมระบบของคุณและเวอร์ชัน CentOS ของคุณ โปรดใช้ความระมัดระวังเป็นพิเศษเมื่อทำการเปลี่ยนหรืออัปเดตแพ็คเกจระบบที่สำคัญเช่น glibc, systemd หรือบริการและไลบรารีอื่น ๆ ที่จำเป็นสำหรับการทำงานของระบบของคุณ

เฉพาะผู้ใช้ root หรือผู้ใช้ที่มีสิทธิ์ sudo เท่านั้นที่สามารถติดตั้งหรือลบแพ็คเกจ RPM ได้

ในการติดตั้งแพ็คเกจ RPM ด้วย rpm ให้ใช้ตัวเลือก -i ตามด้วยชื่อแพ็คเกจ:

sudo rpm -ivh package.rpm

ตัวเลือก -v บอก rpm เพื่อแสดงผลลัพธ์ verbose และตัวเลือก -h เพื่อแสดงแถบความคืบหน้าการทำเครื่องหมายแฮช

คุณสามารถข้ามส่วนการดาวน์โหลดและระบุ URL ไปยังแพ็คเกจ RPM ไปที่คำสั่ง rpm :

sudo rpm -ivh

ในการอัพเกรดแพ็คเกจ RPM ให้ใช้ตัวเลือก -U หากไม่ได้ติดตั้งแพคเกจจะทำการติดตั้ง:

sudo rpm -Uvh package.rpm

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

ในการติดตั้งแพ็คเกจ RPM โดยไม่ต้องมีการพึ่งพาที่จำเป็นทั้งหมดติดตั้งบนระบบให้ใช้ตัวเลือก --nodeps :

sudo rpm -Uvh --nodeps package.rpm

ในการลบ (ลบ) แพ็คเกจ RPM ให้ใช้ตัวเลือก -e :

sudo rpm -e package.rpm

ตัวเลือก --nodeps ยังมีประโยชน์เมื่อคุณต้องการลบแพ็กเกจโดยไม่ลบการอ้างอิง:

sudo rpm -evh --nodeps package.rpm

ตัวเลือก --test บอกให้ rpm รันการติดตั้งหรือลบคำสั่งโดยไม่ทำอะไรเลย มันแสดงให้เห็นว่าคำสั่งจะทำงานได้หรือไม่:

sudo rpm -Uvh --test package.rpm

การค้นหาแพ็คเกจ RPM

ตัวเลือก -q บอกให้คำสั่ง rpm เรียกใช้แบบสอบถาม

หากต้องการเคียวรี (ค้นหา) ว่ามีการติดตั้งแพ็กเกจที่แน่นอนหรือไม่ให้ส่งชื่อแพ็กเกจไปที่คำสั่ง rpm -q คำสั่งต่อไปนี้จะแสดงให้คุณเห็นว่ามีการติดตั้งแพ็คเกจ OpenJDK 11 บนระบบหรือไม่:

sudo rpm -q java-11-openjdk-devel

หากมีการติดตั้งแพ็คเกจคุณจะเห็นดังนี้:

java-11-openjdk-devel-11.0.4.11-0.el8_0.x86_64

ผ่าน -i เพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับแพ็คเกจสอบถาม:

sudo rpm -qi java-11-openjdk-devel

ในการรับรายการไฟล์ทั้งหมดในแพ็คเกจ RPM ที่ติดตั้ง:

sudo rpm -ql package

sudo rpm -qf /path/to/file

ในการรับรายการแพ็กเกจที่ติดตั้งทั้งหมดบนระบบของคุณให้ใช้ตัวเลือก -a :

sudo rpm -qa

การตรวจสอบแพ็กเกจ RPM

เมื่อตรวจสอบแพ็กเกจคำสั่ง rpm จะตรวจสอบว่าแต่ละไฟล์ที่ติดตั้งโดยแพ็กเกจนั้นมีอยู่ในระบบไฟล์ย่อยความเป็นเจ้าของสิทธิ์อนุญาต ฯลฯ

ในการตรวจสอบแพ็คเกจที่ติดตั้งให้ใช้ตัวเลือก -V ตัวอย่างเช่นเพื่อตรวจสอบแพคเกจ openldap ที่คุณจะเรียกใช้:

sudo rpm -V openldap-2.4.46-9.el8.x86_64

หากการตรวจสอบผ่านคำสั่งจะไม่พิมพ์ออกใด ๆ มิฉะนั้นหากการตรวจสอบบางอย่างล้มเหลวก็จะแสดงตัวอักษรบ่งชี้ว่าการทดสอบล้มเหลว

ตัวอย่างเช่นผลลัพธ์ต่อไปนี้แสดงให้เห็นว่าไฟล์ mTime มีการเปลี่ยนแปลง (“ T”):

…….T. c /etc/openldap/ldap.conf

อ้างถึง RMP man page เกี่ยวกับความหมายของอักขระแต่ละตัว

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

sudo rpm -Va

ข้อสรุป

rpm เป็นเครื่องมือบรรทัดคำสั่งระดับต่ำสำหรับการติดตั้งการสอบถามการตรวจสอบการอัปเดตและการลบแพ็กเกจ RMP เมื่อติดตั้งแพคเกจ RPM ควรใช้ yum หรือ dnf เพราะพวกเขาแก้ไขการอ้างอิงทั้งหมดสำหรับคุณโดยอัตโนมัติ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกคำสั่งที่มีให้พิมพ์ man rpm ในเทอร์มินัลของคุณหรือเยี่ยมชมเว็บไซต์ RPM.org

centos เทอร์มินัลรอบต่อนาที