ฉันเพิ่งติดตั้ง Maverick และรู้สึกประหลาดใจที่แพ็คเกจเกือบทั้งหมดถูกทำเครื่องหมายว่าติดตั้งด้วยตนเอง (linux-headers และ wireless-crda ไม่ใช่) ไม่ได้มีจุดประสงค์เพื่อให้เกิดความแตกต่างระหว่างแพ็คเกจที่ติดตั้งโดยอัตโนมัติและด้วยตนเองหรือไม่
ฉันเพิ่งติดตั้ง Maverick และรู้สึกประหลาดใจที่แพ็คเกจเกือบทั้งหมดถูกทำเครื่องหมายว่าติดตั้งด้วยตนเอง (linux-headers และ wireless-crda ไม่ใช่) ไม่ได้มีจุดประสงค์เพื่อให้เกิดความแตกต่างระหว่างแพ็คเกจที่ติดตั้งโดยอัตโนมัติและด้วยตนเองหรือไม่
คำตอบ:
ดูเหมือนว่าพลังของ Google ของฉันอ่อนแอลง: นี่เป็นข้อผิดพลาดที่รู้จัก (เน้นที่ความคิดเห็นจาก Colin Watson) และมันแขวนอยู่รอบ ๆ ในบางครั้งโดยไม่มีการแก้ไขในสายตา:
การอ้างถึงColin Watson :
[... ] การออกแพ็คเกจทั้งหมดเมื่อติดตั้งด้วยตนเองนั้นไม่น่าดู แต่ผลที่ตามมาของข้อผิดพลาดนี้จะ จำกัด อยู่ที่การไม่จัดการที่ฉลาดพอที่จะลบแพ็คเกจที่ไม่ต้องการอีกต่อไป ข้อบกพร่องในทิศทางตรงกันข้ามจะแย่กว่าเดิมมากเพราะอาจทำให้แพ็กเกจถูกลบออกเมื่อยังต้องการ เนื่องจากดูเหมือนว่าจะไม่มีการแก้ไขที่ถูกต้องชัดเจนจึงควรออกอากาศ [sic] ที่ด้านข้างของข้อควรระวัง [ ... ]
ตกลงตอนนี้เป็นสิ่งแรกที่ฉันทำทันทีหลังจากติดตั้ง ฉันทำเครื่องหมาย (เกือบ) ทุกแพคเกจที่ติดตั้งโดยอัตโนมัติและพวกเขาอยู่ที่การพึ่งพาของubuntu-desktop
:
apt-mark showmanual | xargs sudo apt-mark auto
sudo apt-mark unmarkauto ubuntu-desktop
เป็นการดีที่จะเพียงพอ แต่ตามที่Colin Watsonโลกไม่สมบูรณ์แบบและเราต้องขัดเพิ่มเติม ย้ำ:
apt-get autoremove --simulate
# ...
# output of what's to be autoremoved
sudo apt-mark unmarkauto <package>
ซึ่ง<package>
สำหรับผมจบลงอย่างน้อยเป็นแต่ละubuntu-standard
, ,ubuntu-minimal
ubuntu-restricted-addons
บางแพ็คภาษา
ยังเป็นที่น่าสังเกตว่าaptitude
ด้วย TUI ซึ่งสามารถช่วยเหลือกระบวนการได้
เมื่อทำสิ่งนี้รายงานผู้จัดการแพคเกจระบบของฉันจะดูน่าพึงพอใจและเข้าใจได้มากกว่า:
$ apt-mark showmanual
aptitude
dkms
git
subversion
ubuntu-desktop
ubuntu-minimal
ubuntu-restricted-addons
ubuntu-standard
vim
zsh
Voila!
apt-get install
ฉันทำไปอย่างแม่นยำ การจัดการการพึ่งพาที่ค่อนข้างสะอาด
autoremove --simulate
ด้วยunmarkauto
มือหรือไม่? นั่นคือกุญแจสำคัญ คุณไม่ควรจะลบและติดตั้งแพคเกจกลับ การเปลี่ยนแปลงทั้งหมดที่คุณทำกับระบบประกอบด้วยการทำเครื่องหมายแพ็คเกจว่าติดตั้งด้วยตนเองหรือโดยอัตโนมัติ - เป็นการพึ่งพา (มักจะทางอ้อม) ของแพ็คเกจที่ติดตั้งด้วยตนเองอื่น ๆ