Зачистка старых версий ядер
Anarchist 29 Августа, 2008 - 11:47
// В предположении, что конфиг загрузчика уже исправлен, initramfs не используется.
# rm -rf /usr/src/kernel-$OLDKERNEL # rm -rf /lib/modules/kernel-$OLDKERNEL # mount /boot # rm -f /boot/kernel-$OLDKERNEL # umount /boot
Ничего не забыл?
»
emerge -C
emerge -C =sys-kernel/gentoo-sources-$OLDKERNEL - первой командой
_______________________
From Siberia with Love!
Снова...
Матчасть помнить кто будет!?!
Особо одарённым и внимательным подсказка:
Что происходит с
sys-kernel/gentoo-sources-$OLDKERNEL
в процессе выполнения# emerge -uDN world
?ЗЫ: У меня хорошая память. При выставлении bind_policy в hard до старта OpenLDAP сервера в FreeBSD дело скорее всего просто не дойдёт.
Пиши о чём знаешь. И когда пишешь - думай. Некоторым помогает...
--
Live free or die
ахха
ничего, новое ставиться в слот
?
Если ядро устанавливалось как:
# emerge =sys-kernel/gentoo-sources-$version
то могу согласиться.
Если же ядро ставилось как:
# emerge sys-kernel/gentoo-sources
то ни фига! :)
--
Live free or die
.
Ну это у кого как. У меня emerge -uDN world ставит новое ядро рядом со старым. Иногда по три ядра скапливаются :-)
?
В смысле не удаляет каталог вместе с оставшимися там после сборки файлами (те же, что шли в составе архива удаляются, по крайней мере по поведению virtualbox-modules у меня сложилось именно такое впечатление)?
--
Live free or die
.
Перечитав разговор начиная с ответа winterheart-а,
прихожу к выводу, что
* должным образом не оценён совершенно верный "emerge -C" winterheart-а
* смешиваются в кучу "emerge -C" и "emerge -uDN". "emerge -C" - да, не удаляет "левые файлы" из /usr/src/linux-XXXXXX, "emerge -uDN" ставит новое ядро рядом со старым и даже не пытается начинать что-то удалять.
.
Вывод ошибочный. Ибо:
Но:
--
Live free or die
В них остались
В них остались те файлы, которые не принадлежали пакетам - конфиги, внешние модули.
_______________________
From Siberia with Love!
=
В таком случае я бы предложил добавить в стандартный ебилд gentoo-sources USE типа
force_clean
.Чтобы всем было счастье.
--
Live free or die
вот это плохая
вот это плохая мысль - если ничего не чистить то ядро нормально будет загружаться, разве что собрать ничего неудасться, а так придётся делать USE чтоб оно не чистило или ещё как выкручиваться. проще руками удалить
Почему?
Если зачистить
/lib/modules/$OLDKERNEL
- то да, грузиться со старым ядром система не будет.И этот каталог (как и /boot/) следует чистить ручками.
Но вот от полной зачистки /usr/src/$OLDKERNEL независимо от того что туда клал portage, а что не клал ИМХО хуже не будет.
--
Live free or die
Как минимум
Как минимум конфиг ядра можеш потерять, не у всех опция позволяющая его выдрать из "живого" ядра включана.
Мысль неплохо бы закончить
... и развить :)
Во-первых, необходимым условием здесь является уникальность старого конфига (который
/usr/src/linux-$OLDKERNEL/
) и который выше с изящной аргументацией было рекомендовано хранить в несмонтированном /boot вместо world readable по умолчанию/usr/src/linux-$OLDKERNEL/
).Ну и во-вторых я бы просил просветить мою скромную персону на предмет ситуаций в которых хранение конфига в запущенном ядре нежелательно (&& см комментарий к п.1).
--
Live free or die
Quote: Мысль
Мысль содержала достаточный аргумент, который при её незамутнённом восприятии должен был остановить дальнейшее обсуждение.
Я то поясню твоей "скромной персоне", но боюсь не поможет :) Уж слижком ты упрям.
Я лишь о том, что такое может быть в принципе, не обсуждая того, кто и зачем это делает. Поведение системы будет некорректным, если она удалит ценный для пользователя конфиг.
Также, не думаю что все любители накладывать патчи, хранят их в отдельных папках от исходиков ядра, да за милую душу положит кто-нибудь патч вместе с ядром и потом будет также как ты на форуме писать, только по противоположной теме - "портедж губит файлы пользователей!".
И в конце концов, небольшие трюки с грамотной подчисткой конкретного пакета на уровне ebuild-а, я согласен, можно сделать, ну так сделай и напиши мантейнеру ебилда, либо просто тему подними на уровне разработчиков, зачем людям здесь то мозг на части рвать. Все и так знают как оно работает, ничего нового ты не открыл. Меня вот полностью устраивает текущая схема, я допускаю особенное отношение к главному компоненту в системе, поэтому и не предпринимаю никаких действий в эту сторону. Обсуждение подобных вопросов здесь, делу за которое ты борешься - не помогает.
.
Не вижу противоречий.
Почему вы считаете, что внутри "emerge -C" или "emerge -uDN"
должна прятаться команда "rm -R /usr/src/linux-XXXXX" ?
Её там нет, что и продемонстрировано вами.
Однако(!) отсюда не следует, что шаг "emerge -C" должен быть
проигнорирован со словами
"нафиг emerge -C, после него всё равно остаётся /usr/src/linux-XXXXX"
Как и было сказано В САМОМ НАЧАЛЕ winterheart-ом,
первый шаг - "emerge -C"
потом - ваши "rm" многочисленные.
Просто, вы, видимо, подумали, что предлагается "ЗАМЕНИТЬ ВАШУ ПЕРВУЮ КОМАНДУ",
на самом деле имелось ввиду "ДОБАВИТЬ ПЕРЕД ВАШЕЙ ПЕРВОЙ".
Отсюда всё непонимание на весь день. И экспрессия. Порой излишняя до неуместности.
Повторяю на бис для особо внимательных:
На самом деле непонимание (вплоть до игнорирования написанного) наблюдается у Вас.
И "нафиг emtrge -C" не по тому, что порождено Вашим воображением, а потому что эта команда уже выполнена в рамках
# emerge -uDN world
!Попробуйте обновить дерево портов и выполнить
# emerge -u gentoo-sources
- и сами увидите :)--
Live free or die
.
29 Август, 2008 в 14:32 я написал, что emerge -uDN world ставит новое ядро рядом со старым и даже не пытается начинать что-то удалять.
1 Сентябрь, 2008 в 11:45 вы написали, что emerge -uDN world содержит в себе emerge -C, и, видимо, удаляет ваши прошлые ядра.
Я в изумлении готов согласится лишь с тем, что у нас несколько разные системы.
Я обязательно вечером попробую emerge -u gentoo-sources и отпишусь о результатах.
+
Изумляться Вы можете сколько Вам угодно :)
Я же приведу ключик к поиску из собственных наблюдений:
# emerge -u $PACKAGE
1. Для случая пакетов т.н. userspace (evince. abiword /etc) удаляет старую версию.
2. Для случая пакетов т.н. категории libs - не удаляет (для их удаления нужен ключ
--depclean
).То, что в Вашем случае
# emerge -u gentoo-sources
не удаляет исходников ядра означает, что они отнесены ко второй категории.Как/зачем/почему - неясно.
И, если что, про
# emerge --depclean
не забудьте :)--
Live free or die
.
Я обновил дерево портов, сделал $ emerge -pvu gentoo-sources
[ebuild NS ] sys-kernel/gentoo-sources-2.6.26-r1 USE="symlink -build" 48,370 kB
Total: 1 package (1 in new slot), Size of downloads: 48,370 kB
Понимаете?
Вы сделали свою классификацию из собственных наблюдений, но в HandBook-е написано:
В Portage используется технология слотов. Ядро ставится в новый слот.
Но есть т.н. "unslotted packages", и для них emerge -u $PACKAGE удаляет старую версию.
То, что в Вашем случае # emerge -u gentoo-sources удалял бы исходники ядра означало бы, что у вас gentoo-sources внезапно стали unslotted.
Как/зачем/почему - неясно.
Но самое интересное, что даже у вас это не так: вы ранее показали, что имеете
Installed versions: 2.6.23-r9 + 2.6.25-r7, значит, ваши сообщения
от "29 Август, 2008 - 15:09" и от "1 Сентябрь, 2008 - 11:45" противоречат друг другу.
Поздравляю вас, гражданин, соврамши!
Слово "--depclean" ранее в разговоре никак не фигурировало, и почему вы предупреждаете не забыть emerge --depclean, непонятно. Разговор был за emerge -uDN world
Эдак разговор может уйти совсем в другую сторону, а суть его, напоминаю, в том, что ПЕРВЫЕ ЖЕ камменты winterheart-а и Lupo Alberto достаточны и фактически закрывают тему.
.
Нет большей радости, чем приписать оппоненту ложь.
Не удалял бы, а удаляет!
Навыки чтения - тоже сугубо избирательные: видим только то, что подтверждает уютненькую, тешащю самолюбие, точку зрения.
Особо одарённым и внимательным обращаю внимание на альтернативный вариант получения состояния, из которого делается далеко идущий вывод о вранье:
# emerge =sys-kernel/gentoo-sources-2.6.23-r9
(в дополнение к уже установленному 2.6.25)
Теперь про unslotted: исходники ядра не "внезапно стали", а всегда (в моей системе) отрабатывались именно так.
Почему - второй вопрос. Но куда интереснее вопрос "как правильно?".
Можете представить аргументированную точку зрения?
То, что исходники ядра можно ставить как минимум двумя разными (и есть мнение, что обновление мира отрабатывает их по-разному) способами от Вас по всей видимости ускользнуло.
Круговая порука налицо.
Комментарии winterheart'а можно смело игнорировать в силу полной некомпетентности этого товарища.
При этом (что показательно и демонстрирует глубину Вашего понимания) - полностью проигнорирована замечательная по лаконичности/полноте формулировка evadim'а.
--
Live free or die
.
Кто ж знал, что у вас не как у всех людей?
Вы бы предупреждали заранее, что ли...
?
А откуда мне знать, что это - "не как у всех людей"?
И (что куда интереснее) - почему нормой считается иное поведение? ИМХО всё логично.
Вы бы всё же описали каким образом ставить исходники ядра Вы. Есть мнение, что бОльшая часть непоняток со слотами исчезла бы (узелок на память: перед следующим обновлением поставить 2.6.23 с явным указанием версии и посмотреть как оно будет отработано).
--
Live free or die
Общение с вами
Общение с вами становится все более и более контрпродуктивным. _Ничего_ про emerge -uDN world в старте не значится. Кроме того, вы сами пробовали эту команду? Покажите ее вывод так, чтобы сносились старые пакеты ядра.
По LDAP я разговаривать не намерен, так как вы не поняли моего ответа, из чего я заключаю, что вы его даже не читали толком. Ваш совет откастуйте на себя, тоже может помочь.
_______________________
From Siberia with Love!
.
Неудивительно.
Для этого же (о ужас!) думать надо.
Повтроить проведённый для ndrwsh урок чтения?
Какие альтернативные решения [задачи обовления ядра в Gentoo Linux] Вы предложите?
В лучших традициях ndrwsh приписываете оппоненту глупости?
В отличие от Вас не имею привычки писать порождения больного воображения.
Буду обновлять систему - обязательно напишу.
Только обновлять её я буду по своему графику, а не на потеху сомнительной степени компетентности модератора.
Изображаете сломанные часы (которые два раза в сутки показывают правильнео время)?
Для того, чтобы написать ответ нужно понять вопрос. Чего Вам (судя по содержанию ответа) не удалось.
--
Live free or die
Все ответы, я
Все ответы, я думаю вы получили. Топик сваливается в нападки. Причем по вашей вине. Closed.
_______________________
From Siberia with Love!
Если в /boot были
Если в /boot были скопированы файлы System.map и config от старых ядер, можно и их удалить :)
Этот момент я упустил
Про System.map - моя недоработка.
Надо будет разобраться.
А копирование
/usr/src/linux/.config
в/boot/kernel-$VERSION.config
- идея интересная. Спасибо!--
Live free or die
.
эту идею реализует make install после сбоки ядра, копирует систем мап, конфиг и ядро, то что было раньше переименовывает в .old и делает ссылки с
config, System.map и vmlinuz на их новые версии.
.
Ну, лично мне не лень порулить ручками во имя использования более мнемоничных имён.
Хотя с точки зрения автоматизации процедуры обновления (при использовании в качестве загрузчика lilo,
make install
ещё и ломиться переписать загрузчик, правда, не проверяя /boot на используемые имена ядер) - понятно и обоснованно.--
Live free or die