Score:5

apt-get autoremove ต้องการลบแพ็คเกจมากกว่า 1,000 รายการและทุกอย่าง

ธง in

มันแสดงรายการ 1546 แพ็คเกจที่จะลบ รวมทั้ง xorg, เอ็กซ์เซิร์ฟเวอร์ และแพ็คเกจหลักอื่นๆ ก่อนหน้านี้ฉันป้อน "ใช่" และเป็นไปตามที่คาดไว้ ระบบปิดกั้นระบบปฏิบัติการ ฉันต้องติดตั้งใหม่ตั้งแต่เริ่มต้น คราวนี้ฉันตอบว่า "ไม่" และลอง:

sudo apt-get -y update --fix-missing

แต่ก็ยังต้องการที่จะลบทุกอย่าง ฉันจะแก้ไขได้อย่างไร!

Organic Marble avatar
us flag
คุณทำอะไรเพื่อสร้างสถานการณ์ คุณอาจลบ metapackage บางอย่างเช่นเดสก์ท็อป
Terrance avatar
id flag
ดูใน `/var/log/apt/history.log` เพื่อหาสิ่งที่เพิ่งลบออกไป คำสั่งที่เป็นไปได้ที่อาจช่วยได้คือ `cat /var/log/apt/history.log | grep - ฉันลบ `
guiverc avatar
cn flag
เราไม่รู้จักผลิตภัณฑ์หรือรีลีสของคุณ (*แม้ว่าคำอธิบายจะสื่อถึงการติดตั้งบนเดสก์ท็อป จะเป็นการดีที่สุดหากเราให้ข้อมูลนั้นและไม่ต้องคาดเดา*) แต่ฉันเดาว่าคุณเพิ่มแหล่งที่มาสำหรับระบบอื่น/ รีลีสซึ่งทำให้เกิดข้อขัดแย้งของแพ็คเกจและตอนนี้คุณอยู่ที่ไหน (*การลบแพ็คเกจจำนวนมากเป็นการแก้ไขข้อขัดแย้งที่ผู้ใช้สร้างขึ้น*) แต่ถ้าไม่มีความเฉพาะเจาะจงเราก็สามารถเดาได้เท่านั้น ให้ OS รายละเอียดการเผยแพร่ และแพ็คเกจจริงแก่เรา (เพื่อให้เราสามารถค้นหาบางส่วน & ให้เหตุผลที่เฉพาะเจาะจง & ไม่จำเป็นต้องคาดเดา *สาเหตุ* กับ *ผลกระทบ* ที่คุณอธิบาย)
U.V. avatar
cn flag
สิ่งนี้เกิดขึ้นกับฉันในระบบอายุ 3 ปีที่เริ่มต้นด้วย ubuntu-studio 18.04 แต่ใช้แอพ xfce4 และ mate และแอพ gnome บางตัว การอัพเกรดและสิ่งต่างๆมากมาย ทันใดนั้น ธันเดอร์เบิร์ด ไฟร์ฟอกซ์ และล็อตก็หายไป สมมติว่าโครงสร้างการพึ่งพาที่ apt สร้างขึ้นนั้นใช้งานไม่ได้หลังจากติดตั้งและอัปเกรดและลบเป็นเวลานาน ฉันเคยสงสัยเกี่ยวกับความสมบูรณ์ทางคณิตศาสตร์ของระบบนี้ และตอนนี้ฉันรู้ว่ามันไม่สมบูรณ์ ความหมายขององค์ประกอบของกราฟการขึ้นต่อกันมากเกินไปจะไม่สามารถย้อนกลับได้อย่างถูกต้อง ดังนั้นเราต้องระวัง (หรือติดตั้งใหม่บ่อยขึ้น) ;)
Score:4
ธง cn

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

ในตัวอย่างเดสก์ท็อป หมายความว่าเดสก์ท็อปสแต็กทั้งหมดแขวนอยู่บนเมตาแพ็กเกจเดียว (เช่น อูบุนตูเดสก์ท็อป บรรจุุภัณฑ์). เมื่อคุณลบองค์ประกอบหรือแอปพลิเคชันบางอย่างของเดสก์ท็อป ซึ่งลบเมตาแพ็กเกจของเดสก์ท็อปออก การดำเนินการดังกล่าวจะทำให้สแต็กเดสก์ท็อปทั้งหมดมีสิทธิ์สำหรับการลบอัตโนมัติ

การป้องกัน

  • เมื่อผู้ใช้ใช้ Desktop Installer จริง จะมีการป้องกัน apt-marking อีกชั้นหนึ่งเพื่อป้องกันไม่ให้ผู้ใช้ลบเดสก์ท็อปทั้งหมดโดยอัตโนมัติ

  • คุณยังสามารถติดตั้ง (หรือ apt-mark) แอปพลิเคชันที่คุณใช้อย่างชัดเจน ด้วยวิธีนี้ การพึ่งพาเดสก์ท็อปส่วนใหญ่ของคุณจะไม่ถูกลบออกโดยอัตโนมัติ

    sudo apt install shotwell # ตัวอย่างของการติดตั้งอย่างชัดเจน
    sudo apt-mark shotwell ด้วยตนเอง # ตัวอย่างของการทำเครื่องหมาย apt
    
  • ติดตั้งโดยใช้ Task Packages เช่น Ubuntu MATE สามารถติดตั้งได้โดย

    sudo apt-get install ubuntu-mate-desktop^
    

    หมายเหตุ ^แปลว่า งาน; การติดตั้งด้วยวิธีนี้จะป้องกันไม่ให้ระบบเสียหายหากมีคนต้องการเรียกใช้คำสั่งที่อาจเป็นอันตรายเช่น sudo apt autopurge ubuntu-mate-desktop สำหรับเมตาแพ็คเกจ

การกู้คืน

  • คุณสามารถติดตั้งแพ็คเกจงานเดสก์ท็อปใหม่ได้

    sudo apt install --reinstall ubuntu-desktop^ # ตัวอย่างของการติดตั้งงานเดสก์ท็อป Ubuntu ใหม่
    
  • คุณยังสามารถคัดลอกรายการการลบจำนวนมากและวางรายการนั้นลงในคำสั่งติดตั้ง โปรดทราบว่า การตั้งชื่อ แพ็คเกจทำให้ไม่มีสิทธิ์สำหรับ autoremovals ในอนาคต แต่ข้อกังวลของคุณดูเหมือนจะมี autoremovals มากเกินไปแทนที่จะน้อยเกินไป หากคุณต้องการกู้คืนรายชื่อนั้น ก็อยู่ในของคุณ /var/log/apt/history.log ไฟล์.

N0rbert avatar
zw flag
มีข้อผิดพลาดมากเกินไป การใช้ Ubuntu ขั้นต่ำเป็นเรื่องปกติอย่างยิ่ง น่าเสียดายที่ Canonical [หลุด](https://discourse.ubuntu.com/t/poll-about-possible-netboot-mini-iso-revival-in-future-ubuntu-releases/19457) การติดตั้งระบบเดสก์ท็อปควรทำโดยใช้แพ็คเกจงาน เช่น `sudo apt-get install ubuntu-mate-desktop^` แพ็คเกจเมตาที่ออกแบบมาตามปกติไม่ควรทำให้เกิดการลบอัตโนมัติจำนวนมาก การรัน `sudo apt autopurge ubuntu-mate-desktop` จะไม่ทำลายระบบ แก้ไข `ubuntu-desktop` ที่ยอดเยี่ยมและมีประโยชน์ของคุณก่อน `apt-mark` ไม่น่าเชื่อถือ ให้ใช้พินแทน
user535733 avatar
cn flag
@ N0rbert คุณพูดถูก -- ฉันพลาด Task Packages คุณช่วยแก้ไขในสัญลักษณ์แสดงหัวข้อย่อยเพิ่มเติมได้ไหม
N0rbert avatar
zw flag
เสร็จแล้ว หวังว่าตอนนี้จะดีขึ้นหากไม่สามารถป้องกันข้อผิดพลาดได้
Score:0
ธง in

หากคุณคิดว่าการลบอัตโนมัติกำลังลบสิ่งที่คุณต้องการเก็บไว้ สำหรับแต่ละแพ็คเกจ คุณควร:

  • ใช้ dpkg -l | grep $shortpackagename เพื่อตรวจสอบว่ามีเวอร์ชันใหม่กว่าติดตั้งอยู่หรือไม่ ในกรณีนี้ คุณสามารถลบเวอร์ชันเก่าออกได้
  • ใช้ ฉลาดขึ้นอยู่กับ $packagename เพื่อดูว่ามีแพ็คเกจหลักที่คุณต้องการหรือไม่ หากมี ให้ติดตั้งแพ็คเกจพาเรนต์นั้นหรือการพึ่งพาแบบย้อนกลับของพาเรนต์นั้น
  • หากไม่มีแพ็คเกจการพึ่งพาพาเรนต์ (ชัดเจน) ที่คุณต้องการเก็บไว้ แต่คุณยังต้องการเก็บมันไว้ ฉลาดติดตั้ง $packagename ดังนั้นจึงไม่ถูกถอนการติดตั้งโดย autoremove

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

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

สถานการณ์นี้ไม่ปกติ ไม่ได้เกิดขึ้นโดยอัตโนมัติ มีสาเหตุจากบางจุดที่สำคัญถูกลบออกจากระบบ ซึ่งทำให้แพกเกจหลักที่สำคัญบางอย่าง (เช่น ubuntu-desktop) ถูกลบออก

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา