zypper ar
บอกว่าผมได้เพิ่มพื้นที่เก็บข้อมูลโดยใช้ จากนั้นฉันไปแล้วและติดตั้งหลายแพคเกจจากที่เก็บ แต่ตอนนี้ฉันต้องการลบทั้งหมด
มีคำสั่งที่อนุญาตให้ฉันลบแพ็กเกจทั้งหมดที่ฉันติดตั้งจากที่เก็บเฉพาะนั้นหรือไม่?
zypper ar
บอกว่าผมได้เพิ่มพื้นที่เก็บข้อมูลโดยใช้ จากนั้นฉันไปแล้วและติดตั้งหลายแพคเกจจากที่เก็บ แต่ตอนนี้ฉันต้องการลบทั้งหมด
มีคำสั่งที่อนุญาตให้ฉันลบแพ็กเกจทั้งหมดที่ฉันติดตั้งจากที่เก็บเฉพาะนั้นหรือไม่?
คำตอบ:
ฉันคิดว่าไม่มีคำสั่งดังกล่าว คุณสามารถแสดงรายการแพ็คเกจจากที่เก็บเฉพาะ:
zypper search --installed-only --repo devel:tools
หรือแพ็กเกจที่ถูกโยงถึงทั้งหมดหากคุณลบที่เก็บแล้ว:
zypper packages --orphaned
จากนั้นคุณสามารถลองcut
ชื่อแพ็กเกจจากผลลัพธ์และส่งต่อไปยังzypper remove
ถ้ามันคุ้มค่ากับความพยายาม
--orphaned
ถูกเพิ่มใน zypper 1.9.2 ( github.com/openSUSE/zypper/issues/34 )
คุณสามารถใช้การรวมกันของzypper search
, awk
และxargs
จะลบทุกแพคเกจจากพื้นที่เก็บข้อมูล ตัวอย่างเช่น:
zypper se --repo openSUSE-Tumbleweed-Debug --installed | awk '/^i(\+|\s)/ {print $3}' | xargs sudo zypper rm
awk '/^i(\+|\s)/ {print $3}'
เพื่อให้ตรงกับแพ็คเกจที่ติดตั้งทั้งหมด (i หรือ i +)
--installed
เท่านั้น
-i
--installed-only
แต่ฉันก็ได้ค้นหา i และ i + ที่จุดเริ่มต้นเพื่อข้ามสองสามแถวแรก ( Loading repository data...
) อาจมีวิธีที่ดีกว่าในการข้าม 5 แถวแรก แต่ถ้าคุณใช้ regex อยู่แล้ว ... ;)
se [options] [query]
เช่นนั้นโซลูชันของคุณไม่ทำงาน
--orphaned
ตัวเลือก แต่อาจใช้งานได้zypper packages -i -R
:: จะแสดงรายการแพ็คเกจที่ติดตั้งไว้ในลำดับที่เก็บข้อมูลย้อนกลับ