Добавити нове ядро дуже просто (при умові, що воно вже є у сховищі):
Достатньо викликати термінал (Alt+1,"terminal",Enter) і виконати в ньому наступну команду:
$ sudo yum install kernel
При цьому в системі з'являється ще одне ядро (це видно у меню Grub2 при старті системи). Причому система стартує з найновішим ядром за замовчуванням.
Для чого в системі зберігаються попередні версії ядер Linux? Це зроблено за для нашої безпеки: а що, як нове ядро у нашому випадку запрацює не так, як очікувалось? А що як установка ядра була раптово перервана (вимиканням світла, наприклад) і воно хоч і з'явилось у меню, але непрацездатне? (До речі такий випадок у мене мав місце).
Отже при додаванні ново ядра в систему маємо поступове збільшення їх кількості.
Але що робити, якщо в системі проінстальовано забагато ядер, якими ми не користуємось?
Насамперед переконаємось що ядер у нас справді "забагато" :) - тобто їх кількість може переповнити простір виділений на їх зберігання у файловій системі /boot (для цього в терміналі запускаємо 'df -h'):
Вивід:
В мене розділ /boot (виділено червоним) зайнятий на 20%, тож місце ще є.$ df -h
Ф. система Розм Вик Дост Вик% змонтований на
rootfs 43G 5,0G 36G 13% /
devtmpfs 3,9G 0 3,9G 0% /dev
tmpfs 3,9G 216K 3,9G 1% /dev/shm
tmpfs 3,9G 49M 3,9G 2% /run
/dev/mapper/vg_tannenbaum-lv_root 43G 5,0G 36G 13% /
tmpfs 3,9G 49M 3,9G 2% /run
tmpfs 3,9G 0 3,9G 0% /sys/fs/cgroup
tmpfs 3,9G 0 3,9G 0% /media
tmpfs 3,9G 12K 3,9G 1% /tmp
/dev/sdc2 497M 94M 379M 20% /boot
/dev/mapper/vg_tannenbaum-lv_home 22G 624M 20G 4% /home
Рішення №1. Вилучення вручну (yum)
Найкращим, на мою думку, рішення, буде ручне вилучення непотрібних ядер з системи. Спочатку давайте дізнаємось, яким ядром ми, наразі, користуємось. Для цього необхідно відкрити термінал (Alt+F1, "terminal", Enter) і виконати в ньому команду uname -r:$ uname -r 3.2.2-1.fc16.x86_64Зараз працюючим у нас є ядро Linux 3.2.2-1.fc16.x86_64
Тепер глянемо, що там у нас встановлено (для цього запустимо в терміналі команду: yum list kernel):
Вивід:
$ yum list kernel Завантажені додатки: langpacks, presto, refresh-packagekit Встановлені пакунки kernel.x86_64 3.1.0-7.fc16 @anaconda-0 kernel.x86_64 3.2.1-3.fc16 @updates kernel.x86_64 3.2.2-1.fc16 @updates
Як видно, в моїй системі встановлено 3 ядра. Зазвичай добре зберігати останні 3-4 ядра для перестраховки. Мало що... Може якесь ваше обладнання відмовиться працювати з новим ядром.
Проте, якщо вже ми вирішили вилучати непотрібні ядра, давайте це робимо! :) В мене найстарішим є ядро 3.1.0-7.fc16 , яке встановилося ще з DVD інсталятором Аnacodna (про що ми й бачимо напис вище).
Щоб вилучити непотрібне ядро з системи достатньо в терміналі набрати наступну команду: sudo yum remove kernel-3.1.0-7.fc16 або su -c 'yum remove kernel-3.1.0-7.fc16'.Команда sudo спитає ваш власний пароль, команда su - пароль користувача root. Після чого yum ще раз перепитає (y/n) чи справді ми бажаємо продовжити.
$ sudo yum remove kernel-3.1.0-7.fc16 [sudo] password for vlad: Завантажені додатки: langpacks, presto, refresh-packagekit Налаштування процесу вилучення Розв’язання залежностей --> Виконання перевірки операції ---> Пакунок kernel.x86_64 0:3.1.0-7.fc16 буде вилучено --> Визначення залежностей завершено Залежності розв’язано ================================================================================ Пакунок Архітектура Версія Сховище Розмір ================================================================================ Вилучення: kernel x86_64 3.1.0-7.fc16 @anaconda-0 111 M Резюме операції ================================================================================ Remove 1 Package Розмір після встановлення: 111 M Виконати дію? [y/N]: y Звантаження пакунків: Виконання перевірки операції Запускається операція з перевірки Операцію з перевірки успішно завершено Виконання операції Вилучення : kernel-3.1.0-7.fc16.x86_64 1/1 Вилучено: kernel.x86_64 0:3.1.0-7.fc16 Завершено!
Повторний запуск yum list kernel вказує, що справді, в нас в системі залишилось тільки 2 ядра:
$ yum list kernel Завантажені додатки: langpacks, presto, refresh-packagekit Встановлені пакунки kernel.x86_64 3.2.1-3.fc16 @updates kernel.x86_64 3.2.2-1.fc16 @updates
Ну і, звичайно, можна побачити, що місце на файловій системі /boot також звільнилось:
$ df -h /boot
Ф. система Розм Вик Дост Вик% змонтований на
/dev/sdc2 497M 72M 401M 16% /boot
Рішення №2. Вилучення в напів-автоматичному режимі (package-cleanup):
Для тих, хто любить діяти, але не любить думати - ще один спосіб вилучення старих ядер з системи: команда package-cleanup. Ця команда використовується для вирішення різних проблем з локально встановленими пакетами rpm. Однією з фінкцій цієї системи є підчищення старих ядер (по замовчуванню ця команда залишає в системі 2 ядра (деталі див. man package-cleanup). Ось приклад виклику цієї команди:$ sudo package-cleanup --oldkernels --count=2 Завантажені додатки: langpacks, presto, refresh-packagekit No old kernels to removeЯкщо бажаємо зберігати в системі два найновіших ядра, параметр --count=2 можна не вказувати.
Рішення №3. Вилучення в автоматичному режимі (/etc/yum.conf):
Ну і, на послідок, для решти користувачів: ЗАЗВИЧАЙ, НІЧОГО РОБИТИ ВЗАГАЛІ НЕ ПОТРІБНО!!! "Федора" все вже продумала без нас. Гляньте в конфігураційний файл /etc/yum.conf, і побачите, що там встановлено ліміт на кількість завантажених ядер в кількості трьох штук:$ cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3
Всі старіші ядра автоматично буде вилучено при завантаженні нових. Якщо таке "свавілля" системи вам не до вподоби - змініть параметр installonly_limit на 0. В цьому випадку система нічого сама вилучати не буде.На цім все! Шануйтесь!
Немає коментарів:
Дописати коментар