LINUX.ORG.RU
ФорумTalks

Gentoo: kernel-cleaner-1.0

 ,


3

0

Умеет находить и удалять:

  • ядра из /boot, которые не имеют ни сорсов ни модулей
  • initramfs-ы/конфиги_ядер/карты, у которых не осталось родительского ядра в /boot
  • директории с осиротевшими модулями
  • директории с удалёнными сорсами, но с оставшимися ошмётками от сборки ядра

Дополнительно:

  • список игнорирования, задаваемый в конфиге, через переменную IGNORE, или ключом --ignore
  • форсировать удаление через перекрывающий игнор ключ --force
  • показывает список всего найденного, с указанием реального имени ядра ( с учётом EXTRAVERSION )
  • имена файлов ядер/конфигов/initramfs-ов не имеют значения
  • с ключом --force-deps, если под удаление попало ядро ( через --force в том числе), то вместе с ним будут удалены его initramfs/конфиг/карта

потестите
перед тем как запускать с --run, запустите лучше предварительно с --pretend, т.к. у меня просто нет миллиона различных конфигурация для собственноручного теста
на моём компе работает как надо
жду выхлопов...

живёт всё там же:
в оверлее stuff как sys-kernel/kernel-cleaner
на гитхабе https://github.com/megabaks/kernel-cleaner

★★★★

Последнее исправление: megabaks (всего исправлений: 2)
Ответ на: комментарий от Chaser_Andrey

на самом деле было --help, -h, -help, -?
но потом снёс
ну раз так хоца, верну

megabaks ★★★★
() автор топика
Ответ на: комментарий от Lavos

попробуй опять из гита стянуть
//похоже я просто ступил
да, починился не только лист, но и вообще всё связанное с initramfs

megabaks ★★★★
() автор топика
Последнее исправление: megabaks (всего исправлений: 1)
Ответ на: комментарий от Quasar

напоминает о чистилке реестра.

кто про что, а...ну ты понел

megabaks ★★★★
() автор топика
Ответ на: комментарий от z00ke

И да, джента не нужна, слез с этого школьного дистрибутива на Ubuntu, все устраивает.

Ну да, нести всякий тупняк можно и в убунте.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Согласен, с учетом того, что для этого она не менее удобна!

z00ke
()

Глянул pretend'ом - захотел грохнуть работающий свежак /lib/modules/3.5.4-pf, wtf?:) Собираю genkernel'ом.

commit 63eb19edcdedbbfd9c4ca8d0e66a10a297d58722

fang90 ★★★★★
()
Последнее исправление: fang90 (всего исправлений: 1)
Ответ на: комментарий от Myp3ik

Okay, подождем-с, специально руками чистить не буду:)

fang90 ★★★★★
()

Годно. Как раз на 3.5.4 обновился, попробую чистку

MahMahoritos ★★★
()

Не видит мои ядра в /boot. Я собираю без initrd, ядра именую, например 'kernel-3.5.4-pf'

Сорцы и модули почистил вроде бы

MahMahoritos ★★★
()
Ответ на: комментарий от megabaks

Теперь вроде правильно.

[behem0th@ArchLinux kernel-cleaner]$ ./kernel-cleaner --pretend

Next files will be removed:
  


Next directories will be removed:

  /lib/modules/3.5.0-2-ARCH
/lib/modules/3.5.1-1-ARCH
/lib/modules/extramodules-3.5-ARCH

Behem0th ★★★★★
()
Ответ на: комментарий от megabaks

Ничего не изменилоcь, только перед первой строкой пробелы появились.

$ /usr/sbin/kernel-cleaner --pretend

Next files will be removed:

  /boot/System.map-genkernel-x86_64-3.4.3-gentoo
/boot/System.map-genkernel-x86_64-3.4.4-gentoo
/boot/System.map-genkernel-x86_64-3.5.1-gentoo
/boot/System.map-genkernel-x86_64-3.5.2-gentoo
/boot/System.map-genkernel-x86_64-3.5.3-gentoo
/boot/System.map-genkernel-x86_64-3.5.4-gentoo


Next directories will be removed:

Lavos ★★★★★
()

зачем оно хочет удалить модули текущего ведра?

$ ./kernel-cleaner --pretend

Next files will be removed:
  


Next directories will be removed:
  /usr/src/linux-3.4.5-gentoo
  /lib/modules/3.1.4-ck
/lib/modules/3.2.1-ck
/lib/modules/3.3.3-gentoo
/lib/modules/3.4.0-gentoo
/lib/modules/3.4.5-gentoo
/lib/modules/3.5.1-gentoo
/lib/modules/3.5.3-gentoo

$ uname -r
3.5.3-gentoo

Stil ★★★★★
()
Ответ на: комментарий от Stil

давно не убирался, да

$ ./kernel-cleaner --list
Modules:
/lib/modules/3.1.4-ck
/lib/modules/3.2.1-ck
/lib/modules/3.3.3-gentoo
/lib/modules/3.4.0-gentoo
/lib/modules/3.4.5-gentoo
/lib/modules/3.5.1-gentoo
/lib/modules/3.5.3-gentoo
Sources:
/usr/src/linux-3.5.0-gentoo  3.5.0-gentoo
/usr/src/linux-3.5.1-gentoo  3.5.1-gentoo
/usr/src/linux-3.5.2-gentoo  3.5.2-gentoo
/usr/src/linux-3.5.3-gentoo  3.5.3-gentoo
/usr/src/linux-3.5.4-gentoo  3.5.4-gentoo
Broken                              sources:
/usr/src/linux-3.4.5-gentoo
Stil ★★★★★
()
Ответ на: комментарий от z00ke

Незаметно. Для меня вот не вариант променять гибкий в плане зависимостей portage на какой-то ужас apt

Pinkbyte ★★★★★
()
Ответ на: комментарий от MahMahoritos

не видеть оно не может никак
впрочем косяки ясны - на днях допилю
про /etc/portage...а что там кроме сортировки может пригодиться?
для всех

sort_uniq(){
  for i in `find /etc/portage/ -type f -name "package*"`;do
    sort -u ${i} --output=${i}
  done
}
для юзов
sort_use(){
  PACKAGES="$(awk '{print $1}' /etc/portage/package.use | uniq)"
  for ATOM in ${PACKAGES};do
    for option in "$(grep "^${ATOM} " /etc/portage/package.use | sed -e "s|${ATOM} ||" | tr " " "\n" | uniq | tr "\n" " ")";do
      ATOM_OPTS+="${option}"
    done
    echo "${ATOM} ${ATOM_OPTS}" | sed 's/[ \t]*$//' >> /tmp/package.use
    unset ATOM_OPTS
  done
  mv /tmp/package.use /etc/portage/package.use
}

megabaks ★★★★
() автор топика
Последнее исправление: megabaks (всего исправлений: 1)
Ответ на: комментарий от Lavos

всё ясно
вопрос снят с повестки
лучше накидайте мне initramfs-ов, конфигов, ядер и карт
да по-больше
тестить через 10 рук тяжкое занятие

megabaks ★★★★
() автор топика

пока можно догадку попробовать из гита потестить...
жду ссылок

megabaks ★★★★
() автор топика
Ответ на: комментарий от Behem0th

megabaks

Next files will be removed:

За кем следующие, лол? Следующие в смысле «нижеследующие» будет the following. То же относится и к каталогам.
А ещё есть такая полезная штука как getopts, очень рекомендую.

Deleted
()

$./kernel-cleaner.sh --pretend

Next directories will be removed:
/usr/src/linux-2.6.34-gentoo-r12
/usr/src/linux-2.6.34-gentoo-r6
/usr/src/linux-2.6.35-gentoo-r12
/usr/src/linux-2.6.36-gentoo-r5
/usr/src/linux-2.6.36-gentoo-r8
/usr/src/linux-2.6.37-gentoo-r4
/usr/src/linux-2.6.38-gentoo-r6
/usr/src/linux-2.6.39-gentoo-r3
/usr/src/linux-3.0.6-gentoo
/usr/src/linux-3.1.10-gentoo-r1
/usr/src/linux-3.1.6-gentoo
/usr/src/linux-3.2.12-gentoo
/usr/src/linux-3.2.1-gentoo-r2
2
/lib/modules/2.6.29-gentoo-r5
/lib/modules/2.6.30-gentoo-r4
/lib/modules/2.6.30-gentoo-r5
/lib/modules/2.6.30-gentoo-r6
/lib/modules/2.6.30-gentoo-r7
/lib/modules/2.6.30-gentoo-r8
/lib/modules/2.6.31-gentoo-r10
/lib/modules/2.6.31-gentoo-r6
/lib/modules/2.6.32-gentoo-r7
/lib/modules//lib/modules/2.6.27-gentoo-r8

$uname -r
3.2.21-gentoo

record ★★★★★
()
Ответ на: комментарий от megabaks

Спасибо. Я использую суррогатные файлы /etc/portage/package.*/zzz, чтобы emerge с autounmask=y срал в него. В итоге там со временем накапливается куча одинаковых пакетов разных версий. В принципе можно и вручную почистить - грохнуть этот файл и посмотреть, что --depclean соберется удалять

Я правильно понял второй скрипт - он объединяет строки одинаковых пакетов?

MahMahoritos ★★★
()

Когда-нибудь ты подрастешь и поставишь Дебиан. и не будешь заниматься этой ерундой.

Debasher ★★★★★
()
Ответ на: комментарий от aptyp

частая пересборка ядра в gentoo нужна ровно так же как и в других дистрибутивах. Кстати, при установки новой версии ядра в бинарных /boot чистится?

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

даже не помню, в убунте давно сохранялись старые ядра, сейчас стоит тестинг, у него только текущее ядро

aptyp ★★★★
()

Пасибо, полезный скриптик.

На моей системе отработало отлично. Если там чего помочь потестить, обращайся.

shell-script ★★★★★
()
Ответ на: комментарий от aptyp

сейчас стоит тестинг, у него только текущее ядро

подозреваю что это временно, до появления нового ядра. На самом деле это краеугольный камень, либо удалять и получать шанс небутабельной системы, либо неудалять и подобный скрипт будет иметь смысл.

qnikst ★★★★★
()
Ответ на: комментарий от MahMahoritos

Я правильно понял второй скрипт - он объединяет строки одинаковых пакетов?

да, правильно
порядок юзов сохраняется

megabaks ★★★★
() автор топика
Ответ на: комментарий от shell-script

накидай ссылок на ядра/конфиги/карты...
чем более странные имена будут, тем лучше
и версии по-разнообразней

megabaks ★★★★
() автор топика
>>kernel-cleaner --pretend                                                                                                                                                                                   ~/ :)

Next directories will be removed:

/lib/modules/3.6.0-rc3+
/lib/modules/3.6.0-rc4+
/lib/modules/3.6.0-rc5
/lib/modules/3.6.0-rc5+

>>ls /boot                                                                                                                                                                                                   ~/ :)
>>mount /boot                                                                                                                                                                                                ~/ :)
>>kernel-cleaner --pretend                                                                                                                                                                                   ~/ :)

Next files will be removed:
/boot/System.map-genkernel-x86-3.6.0-rc3+
/boot/System.map-genkernel-x86-3.6.0-rc4+
/boot/System.map-genkernel-x86-3.6.0-rc5+


Next directories will be removed:

/lib/modules/3.6.0-rc5

>>ls /boot                                                                                                                                                                                                   ~/ :)
grub2/       System.map-genkernel-x86-3.6.0-rc3+  System.map-genkernel-x86-3.6.0-rc5+  initramfs-genkernel-x86-3.6.0-rc4+  kernel-genkernel-x86-3.6.0-rc3+  kernel-genkernel-x86-3.6.0-rc5+
lost+found/  System.map-genkernel-x86-3.6.0-rc4+  initramfs-genkernel-x86-3.6.0-rc3+   initramfs-genkernel-x86-3.6.0-rc5+  kernel-genkernel-x86-3.6.0-rc4+

Я боюсь эту штуку...

nCdy
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.