วิธีการแยก RPM จากฐานข้อมูล RPM บน Red Hat Enterprise Linux


8

มีวิธีการแยก RPM ที่ติดตั้งจากฐานข้อมูล RPM บน Red Hat Enterprise Linux เพื่อสร้าง.rpmไฟล์ต้นฉบับหรือไม่?


เหตุใดชื่อนี้จึงถูกแก้ไข Red Hat เป็นชื่อของซอฟต์แวร์ที่ไม่ใช่RedcHat
Ramhound

คำตอบ:


7

หากคุณต้องการบันทึกสำเนาของแพ็คเกจที่ติดตั้งอยู่ในปัจจุบันก่อนที่จะอัพเกรดหรือลบออกให้ใช้rpm --repackage- มันจะบันทึก RPMs ใน / var / tmp หรือ / var / spool / repackage หรือที่อื่นขึ้นอยู่กับการกำหนดค่าของคุณ

ไม่เช่นนั้นมีอยู่rpmrebuildซึ่งทำสิ่งที่คุณขออย่างแน่นอน

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


1
ฉันเชื่อว่ามันควรค่าแก่การสังเกตว่าrpm --repackageจะRe-package the files before erasing rpm.org/max-rpm-snapshot/rpm.8.htmlฉันเกือบจะเรียกใช้คำสั่งนี้แบบสุ่มสี่สุ่มห้า แต่ดูที่เอกสารที่เชื่อมโยงไว้ก่อน
เควินเมเรดิ ธ

rpm --repackageดูเหมือนจะไม่สามารถใช้ได้กับระบบใหม่ (เช่น RHEL 7) rpmrebuildมีอยู่ใน EPEL สำหรับ RHEL 7 และทำเคล็ดลับสำหรับฉัน
jayhendren

1

ไม่สามารถสร้างไฟล์รอบต่อนาทีดั้งเดิมได้ซึ่งจะถูกแยกและทิ้งไป ฐานข้อมูล rpm มีข้อมูลเกี่ยวกับไฟล์ที่ติดตั้งและ checksums สิทธิ์และสคริปต์หลังการใช้งาน:

# verify package contents
rpm -q packagename --verify
# read the scripts that run on installation and removal
rpm -q packagename --scripts

จะให้ข้อมูลบางอย่างกับคุณ

หากคุณต้องการได้รับรอบต่อนาทีจาก respository ฉันขอแนะนำให้ใช้ yumdownloader จากแพ็คเกจ yum-utils

yum install yum-utils
yumdownloader packagename

นี่จะดาวน์โหลดรอบต่อนาทีล่าสุดไม่ใช่อันที่ติดตั้งอยู่ในปัจจุบัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.