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:: จะแสดงรายการแพ็คเกจที่ติดตั้งไว้ในลำดับที่เก็บข้อมูลย้อนกลับ