لن أخفي عليكم اعجابي بأداة Yum لإدارة الحزم بصيغة rpm من على سطر الأوامر في الفترة الأخيرة لكن موضوع اليوم ليس بصددها بل هو مخصص لأداة kernel-remove التي نجدها على مستودع توزيعة aptosid و التي تقوم بازالة كل النسخ السابقة للنواة.
aptosid هي توزيعة غنو/لينوكس مبنية على الفرع الغير مستقر (unstable) المسمى sid لتوزيعة دبيان. هذا الفرع لا يوجد له أي قرص تثبيت رسمي على عكس الفرع الاختباري (testing) حيث يمكن الحصول على قرصه من هذه الصفحة.
لتثبيت دبيان الغير مستقر يجب تثبيت أساس نظام دبيان الاختباري أو المستقر أولا ثم تعديل ملف المستودعات /etc/apt/sources.list ليستعمل الفرع unstable و من ثم إكمال عملية الترقية و التثبيت. أو استعمال توزيعة aptosid التي تأتي بواجهتي كيدي (kde) و إكس إف سي إي (Xfce)، عدم توفير جنوم (Gnome) كخيار راجع إلى قرار المطورين.
توزيعة aptosid ليست تفرعا عن دبيان بل هي دبيان سيد (sid) نفسها مع مستودع إضافي يضم أدواة تساعد في إعداد النظام و نواة مخصصة و معدلة لتلائم الحواسب المكتبية و تقدم أحسن أداء عليها.
كما سبق، أداة رسومية kernel-remover تصلح لإزالة كل حزم الأنوية السابقة. لكن لم؟
كأية توزيعة تخضع لتطوير مستمر، يتم دفع نسخ أحدث للنواة بشكل دوري، كل نسخة تأخد ما بين 60 و 120 ميجا من مساحة القرص و لا مشكلة في ذلك إن اقتصر الأمر على ثلاثة أو أربع لكن إن زادة يصبح مظهر قائمة الإقلاع بشع و لا دور لها و ربما قد تتسبب - بعد توالي الترقيات - في نفاد مساحة قسم الإقلاع إن كان مستقلا و بمساحة محدودة.
هناك طريقتين للحصول على أداة kernel-remover.
الطريقة 1:
تحميلها يدويا من هنا ثم تثبيتها. مثال:
الطريقة 2:
باضافة مستودع aptosid الأساسي إلى ملف المستودعات على دبيان أو أبونتو ثم تثبيت kernel-remover بواسطة أداة إدارة الحزم apt-get
مستخدمي أبونتو يحتاجون إلى خطوة إضافية لأن أداة su-to-root لا تأتي مثبتة بشكل افتراضي كما هو الحال مع دبيان، و لذلك سنعدل مشغل البرنامج المتواجد على القائمة إما بتعديل خيارات القائمة أو بتنفيذ الأمر التالي:
الآن عند تشغيل kernel-remover من القائمة ستظهر نافدة بها الأنوية المثبتة و من بينها النواة الحالية؛ نختار تلك التي لا نريد ثم نظغط على الزر موافق.
أيضا هناك طريقة بديلة تعتمد كليا على سطر الأوامر.
ذلك السطر مركب من عدة أجزاء مفصولة بعلامة | . الجزء الأول و الثاني يعرضان معلومات خامة لكل الحزم المثبتة التي تبدأ بكلمة linux-
مثال:
الجزء الثالث ينظف المخراجات السابقة
الجزء الرابع يزيد من تنظيف المخرجات بواسطة التعابير المنتظمة/النمطية
الجزء الخامس سيزيل النواة الحالية التي نعمل عليها من القائمة السابقة
هذه المخرجات النهائية هي التي ستتوصل بها أداة apt-get purge المتواجدة في بداية السطر
بينما على فيدورا و ما بني عليها يكفي تنفيذ أمر واحد و انتهينا
aptosid هي توزيعة غنو/لينوكس مبنية على الفرع الغير مستقر (unstable) المسمى sid لتوزيعة دبيان. هذا الفرع لا يوجد له أي قرص تثبيت رسمي على عكس الفرع الاختباري (testing) حيث يمكن الحصول على قرصه من هذه الصفحة.
لتثبيت دبيان الغير مستقر يجب تثبيت أساس نظام دبيان الاختباري أو المستقر أولا ثم تعديل ملف المستودعات /etc/apt/sources.list ليستعمل الفرع unstable و من ثم إكمال عملية الترقية و التثبيت. أو استعمال توزيعة aptosid التي تأتي بواجهتي كيدي (kde) و إكس إف سي إي (Xfce)، عدم توفير جنوم (Gnome) كخيار راجع إلى قرار المطورين.
توزيعة aptosid ليست تفرعا عن دبيان بل هي دبيان سيد (sid) نفسها مع مستودع إضافي يضم أدواة تساعد في إعداد النظام و نواة مخصصة و معدلة لتلائم الحواسب المكتبية و تقدم أحسن أداء عليها.
كما سبق، أداة رسومية kernel-remover تصلح لإزالة كل حزم الأنوية السابقة. لكن لم؟
كأية توزيعة تخضع لتطوير مستمر، يتم دفع نسخ أحدث للنواة بشكل دوري، كل نسخة تأخد ما بين 60 و 120 ميجا من مساحة القرص و لا مشكلة في ذلك إن اقتصر الأمر على ثلاثة أو أربع لكن إن زادة يصبح مظهر قائمة الإقلاع بشع و لا دور لها و ربما قد تتسبب - بعد توالي الترقيات - في نفاد مساحة قسم الإقلاع إن كان مستقلا و بمساحة محدودة.
هناك طريقتين للحصول على أداة kernel-remover.
الطريقة 1:
تحميلها يدويا من هنا ثم تثبيتها. مثال:
wget -q -erobots=off -r -l1 -nd -N -A.deb http://aptosid.com/debian/pool/main/k/kernel-remover/ sudo dpkg -i kernel-remover*.deb
الطريقة 2:
باضافة مستودع aptosid الأساسي إلى ملف المستودعات على دبيان أو أبونتو ثم تثبيت kernel-remover بواسطة أداة إدارة الحزم apt-get
echo 'deb http://aptosid.com/debian/ sid main' | sudo tee -a /etc/apt/sources.list sudo apt-get update sudo apt-get -t aptosid/main --allow-unauthenticated install aptosid-archive-keyring sudo apt-get update sudo apt-get -t aptosid/main install kernel-remover
مستخدمي أبونتو يحتاجون إلى خطوة إضافية لأن أداة su-to-root لا تأتي مثبتة بشكل افتراضي كما هو الحال مع دبيان، و لذلك سنعدل مشغل البرنامج المتواجد على القائمة إما بتعديل خيارات القائمة أو بتنفيذ الأمر التالي:
sudo sed -i 's/su-to-root -X -c/gksu/g' /usr/share/applications/aptosid/kernel-remover.desktop
الآن عند تشغيل kernel-remover من القائمة ستظهر نافدة بها الأنوية المثبتة و من بينها النواة الحالية؛ نختار تلك التي لا نريد ثم نظغط على الزر موافق.
أيضا هناك طريقة بديلة تعتمد كليا على سطر الأوامر.
sudo apt-get purge $(dpkg -l 'linux-*' | grep ^ii | cut -d ' ' -f3 | grep -E '(l.+)-(i.+|h.+)-([0-9]+)' | grep -iv $(uname -r | cut -d '-' -f 1-2))
ذلك السطر مركب من عدة أجزاء مفصولة بعلامة | . الجزء الأول و الثاني يعرضان معلومات خامة لكل الحزم المثبتة التي تبدأ بكلمة linux-
dpkg -l 'linux-*' | grep ^ii
مثال:
ii linux-firmware 1.38.4 Firmware for Linux kernel drivers ii linux-generic 2.6.35.27.34 Complete Generic Linux kernel ii linux-headers-2.6.35-24 2.6.35-24.42 Header files related to Linux kernel version 2.6.35 ii linux-headers-2.6.35-24-generic 2.6.35-24.42 Linux kernel headers for version 2.6.35 on x86/x86_64 ii linux-headers-2.6.35-26 2.6.35-26.46 Header files related to Linux kernel version 2.6.35 ii linux-headers-2.6.35-26-generic 2.6.35-26.46 Linux kernel headers for version 2.6.35 on x86/x86_64 ii linux-headers-2.6.35-27 2.6.35-27.47 Header files related to Linux kernel version 2.6.35 ii linux-headers-2.6.35-27-generic 2.6.35-27.47 Linux kernel headers for version 2.6.35 on x86/x86_64 ii linux-headers-generic 2.6.35.27.34 Generic Linux kernel headers ii linux-image-2.6.35-24-generic 2.6.35-24.42 Linux kernel image for version 2.6.35 on x86/x86_64 ii linux-image-2.6.35-26-generic 2.6.35-26.46 Linux kernel image for version 2.6.35 on x86/x86_64 ii linux-image-2.6.35-27-generic 2.6.35-27.47 Linux kernel image for version 2.6.35 on x86/x86_64 ii linux-image-generic 2.6.35.27.34 Generic Linux kernel image ii linux-libc-dev 2.6.35-1027.47 Linux Kernel Headers for development ii linux-sound-base 1.0.23+dfsg-1ubuntu4 base package for ALSA and OSS sound systems
الجزء الثالث ينظف المخراجات السابقة
| cut -d ' ' -f3لتصبح كالتالي:
linux-firmware linux-generic linux-headers-2.6.35-24 linux-headers-2.6.35-24-generic linux-headers-2.6.35-26 linux-headers-2.6.35-26-generic linux-headers-2.6.35-27 linux-headers-2.6.35-27-generic linux-headers-generic linux-image-2.6.35-24-generic linux-image-2.6.35-26-generic linux-image-2.6.35-27-generic linux-image-generic linux-libc-dev linux-sound-base
الجزء الرابع يزيد من تنظيف المخرجات بواسطة التعابير المنتظمة/النمطية
| grep -E '(l.+)-(i.+|h.+)-([0-9]+)'لتصبح كالتالي (أنوية و ترويساتها فقط)
linux-headers-2.6.35-24 linux-headers-2.6.35-24-generic linux-headers-2.6.35-26 linux-headers-2.6.35-26-generic linux-headers-2.6.35-27 linux-headers-2.6.35-27-generic linux-image-2.6.35-24-generic linux-image-2.6.35-26-generic linux-image-2.6.35-27-generic
الجزء الخامس سيزيل النواة الحالية التي نعمل عليها من القائمة السابقة
| grep -iv $(uname -r | cut -d '-' -f 1-2)لتصبح كالتالي (2.6.35-27 هي الحالية حسب مثالنا)
linux-headers-2.6.35-24 linux-headers-2.6.35-24-generic linux-headers-2.6.35-26 linux-headers-2.6.35-26-generic linux-image-2.6.35-24-generic linux-image-2.6.35-26-generic
هذه المخرجات النهائية هي التي ستتوصل بها أداة apt-get purge المتواجدة في بداية السطر
بينما على فيدورا و ما بني عليها يكفي تنفيذ أمر واحد و انتهينا
package-cleanup --oldkernels
ليست هناك تعليقات:
إرسال تعليق