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)

годно, только ссылки на оверлей не хватает

я запутался или у меня какой косяк или что-то не то:

лишнее подлежащее удалению:

/usr/src/linux-3.2.9-gentoo

/usr/src/linux

/boot/initramfs-genkernel-x86_64-2.6.32-openvz-044.11-el6-gentoo-slep-1-gcbd8877

qnikst ★★★★★
()

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

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

Гента, как мы поняли из предыдущего треда, не нужна.

CYB3R ★★★★★
()

Зачем было аплоадить тар? достаточно в гите создать таг «v1.0» а далее гитхаб зделает все сам..

ZuBB ★★★★★
()

Арчик х32.

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

Next files will be removed:
/boot/initramfs-linux-fallback.img
/boot/initramfs-linux.img


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@ArchLinux ~]$ uname -a
Linux ArchLinux 3.5.3-1-ARCH #1 SMP PREEMPT Thu Aug 30 22:51:15 MSK 2012 i686 GNU/Linux
[behem0th@ArchLinux ~]$ ls -l /lib/modules/
итого 16
drwxr-xr-x 3 root root 4096 авг.  10 19:05 3.5.0-2-ARCH
drwxr-xr-x 3 root root 4096 авг.  31 00:02 3.5.1-1-ARCH
drwxr-xr-x 3 root root 4096 сент. 16 13:25 3.5.3-1-ARCH
drwxr-xr-x 2 root root 4096 авг.  30 22:54 extramodules-3.5-ARCH
То вот с удалением образов категорически нет.
[behem0th@ArchLinux ~]$ ls -l /boot/
итого 19264
drwxr-xr-x 3 root root     4096 нояб.  9  2011 grub
-rw-r--r-- 1 root root 12750724 авг.  31 00:02 initramfs-linux-fallback.img
-rw-r--r-- 1 root root  3722131 авг.  31 00:01 initramfs-linux.img
lrwxrwxrwx 1 root root       28 авг.  15  2011 kernel26-fallback.img -> initramfs-linux-fallback.img
lrwxrwxrwx 1 root root       19 авг.  15  2011 kernel26.img -> initramfs-linux.img
-rw-r--r-- 1 root root  3246896 авг.  30 22:54 vmlinuz-linux

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

ты хоть понимаешь чего я прошу?
покажи что есть что
как я думаю, твой /usr/src/linux указывает на непотребную диру

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

Зачем было аплоадить тар? достаточно в гите создать таг «v1.0» а далее гитхаб зделает все сам..

а я ему не доверяю :3

megabaks ★★★★
() автор топика
Ответ на: комментарий от megabaks
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 18 сент. 16 21:55 /usr/src/linux -> linux-3.2.9-gentoo

из этой диры собрано ядро

# uname -r
3.2.9-gentoo+
qnikst ★★★★★
()
Ответ на: комментарий от qnikst

/usr/src/linux-3.2.9-gentoo подлежит удалению
просил же - покажи с --list!
а ссылка сейчас == дире с испорченными сорсами, т.е. там только ошмётки от сборки ядра, а никак не сорсы

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

у меня тут негусто

Kernels:
/boot/kernel-3.4.11-gentoo    3.4.11-gentoo
Modules:
/lib/modules/3.4.11-gentoo
Sources:
/usr/src/linux-3.4.11-gentoo  3.4.11-gentoo
пару дней новое ядро погоняю и старое удаляю

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

хотел было написать что-то поучительное но потом понял что не поможет

перед сабмитом вспомнил твою же историю. первые коммиты в stuff сопровождались очень краткими комментариями (сам знаешь какими). и ты говорил что «мне пофиг». Не знаю что произошло но ты исправился :)

Так вот я таки напишу то что хотел изначально :)

Напиши ты сие творение на питоне (дефолтном языке в Генту и еще 100500 дистрах) ты автоматически увеличишь его нужность в N раз. А учитивая что питон может явно более чем баш, в случае чего разширить твой скрипт будет легче.

ps: знаешь сколько раз я уже плевался что написал свое портаж-поделие на руби? Учись на ошибках чужих и потом уже на своих

ZuBB ★★★★★
()
Последнее исправление: ZuBB (всего исправлений: 2)

Что-то тут не так...

$ /usr/sbin/kernel-cleaner --list
Kernels:
/boot/kernel-genkernel-x86_64-3.4.3-gentoo      3.4.3-gentoo
/boot/kernel-genkernel-x86_64-3.4.4-gentoo      3.4.4-gentoo
/boot/kernel-genkernel-x86_64-3.5.1-gentoo      3.5.1-gentoo
/boot/kernel-genkernel-x86_64-3.5.2-gentoo      3.5.2-gentoo
/boot/kernel-genkernel-x86_64-3.5.3-gentoo      3.5.3-gentoo
/boot/kernel-genkernel-x86_64-3.5.4-gentoo      3.5.4-gentoo
Initrams:
/boot/initramfs-genkernel-x86_64-3.4.3-gentoo   3.4.3-gentoo
/boot/initramfs-genkernel-x86_64-3.4.4-gentoo
Maps:
/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
Modules:
/lib/modules/3.4.3-gentoo
/lib/modules/3.4.4-gentoo
/lib/modules/3.5.1-gentoo
/lib/modules/3.5.2-gentoo
/lib/modules/3.5.3-gentoo
/lib/modules/3.5.4-gentoo
Sources:
/usr/src/linux-3.5.4-gentoo                     3.5.4-gentoo
$ /usr/sbin/kernel-cleaner --pretend

Next files will be removed:
/boot/initramfs-genkernel-x86_64-3.4.3-gentoo
/boot/initramfs-genkernel-x86_64-3.4.4-gentoo
/boot/initramfs-genkernel-x86_64-3.5.1-gentoo
/boot/initramfs-genkernel-x86_64-3.5.2-gentoo
/boot/initramfs-genkernel-x86_64-3.5.3-gentoo
/boot/initramfs-genkernel-x86_64-3.5.4-gentoo
/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
$ ls -1 /boot/ 
boot
grub
initramfs
initramfs-genkernel-x86_64-3.4.3-gentoo
initramfs-genkernel-x86_64-3.4.4-gentoo
initramfs-genkernel-x86_64-3.5.1-gentoo
initramfs-genkernel-x86_64-3.5.2-gentoo
initramfs-genkernel-x86_64-3.5.3-gentoo
initramfs-genkernel-x86_64-3.5.4-gentoo
kernel
kernel-genkernel-x86_64-3.4.3-gentoo
kernel-genkernel-x86_64-3.4.4-gentoo
kernel-genkernel-x86_64-3.5.1-gentoo
kernel-genkernel-x86_64-3.5.2-gentoo
kernel-genkernel-x86_64-3.5.3-gentoo
kernel-genkernel-x86_64-3.5.4-gentoo
lost+found
System.map
System.map-genkernel-x86_64-3.4.3-gentoo
System.map-genkernel-x86_64-3.4.4-gentoo
System.map-genkernel-x86_64-3.5.1-gentoo
System.map-genkernel-x86_64-3.5.2-gentoo
System.map-genkernel-x86_64-3.5.3-gentoo
System.map-genkernel-x86_64-3.5.4-gentoo
$ ls -1 /lib/modules/
3.4.3-gentoo
3.4.4-gentoo
3.5.1-gentoo
3.5.2-gentoo
3.5.3-gentoo
3.5.4-gentoo
$ ls -1 /usr/src/    
linux
linux-3.5.4-gentoo

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

на Пыхтоне

не слишком ли ласково?

сделать частью Gentoolkit ?

тебе нужно - делай. пусть сначала оно «станет» на питоне. а потом посмотрим

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

расскажи почему не согласен?

Это рабочие(единственные) образы.

[behem0th@ArchLinux kernel-cleaner]$ ./kernel-cleaner --list
Kernels:
/boot/vmlinuz-linux                 3.5.3-1-ARCH
Initrams:
/boot/initramfs-linux-fallback.img  3.5.3-1-ARCH
/boot/initramfs-linux.img
Modules:
/lib/modules/3.5.0-2-ARCH
/lib/modules/3.5.1-1-ARCH
/lib/modules/3.5.3-1-ARCH
/lib/modules/extramodules-3.5-ARCH
Sources:
/usr/src/linux-3.5.3-1-ARCH         3.5.3-1

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

//оно ещё и на арче работает? о_О

Просто стало интересно, я ядро только дистрибьютивное пересобираю, так что удалять ручками не проблема.

Behem0th ★★★★★
()

Замечания

  • никак не реагирует на '-h'; ("-h" == "--help")
  • после git clone нужно еще делать chmod
  • оно медленно
    crusader kernel-cleaner # time ./kernel-cleaner --pretend
    
    ...skipped..
    
    real	0m15.473s
    user	0m13.015s
    sys	0m0.384s
    crusader kernel-cleaner # 
    
  • и глючно (или я ничего не понял)
    crusader kernel-cleaner # ./kernel-cleaner --list
    Kernels:
    /boot/vmlinuz-2.6.38.8             2.6.38.8
    /boot/vmlinuz-3.0.17-gentoo-r2     3.0.17-gentoo-r2
    /boot/vmlinuz-3.3.2-gentoo         3.3.2-gentoo
    /boot/vmlinuz-3.3.2-gentoo.old     3.3.2-gentoo
    /boot/vmlinuz-3.4.4                3.4.4
    /boot/vmlinuz-3.4.4-gentoo         3.4.4-gentoo
    /boot/vmlinuz-3.5.1-pf             3.5.1-pf
    Configs:
    /boot/config-3.3.2-gentoo          3.3.2-gentoo
    /boot/config-3.3.2-gentoo.old      3.3.2-gentoo
    /boot/config-3.4.4                 3.4.4
    /boot/config-3.4.4-gentoo          3.4.4-gentoo
    /boot/config-3.5.1-pf              3.5.1-pf
    Maps:
    /boot/System.map-2.6.38.8
    /boot/System.map-3.0.17-gentoo-r2
    /boot/System.map-3.3.2-gentoo
    /boot/System.map-3.3.2-gentoo.old
    /boot/System.map-3.4.4
    /boot/System.map-3.4.4-gentoo
    /boot/System.map-3.5.1-pf
    Modules:
    /lib/modules/2.6.38.8
    /lib/modules/3.3.2-gentoo
    /lib/modules/3.4.4
    /lib/modules/3.4.4-gentoo
    /lib/modules/3.5.1-pf
    Sources:
    /usr/src/linux-3.5.1-pf            3.5.1-pf
    crusader kernel-cleaner # ./kernel-cleaner --pretend
    
    Next files will be removed:
    /boot/config-3.5.1-pf
    /boot/System.map-3.5.1-pf
    /boot/vmlinuz-3.0.17-gentoo-r2
    .old
    
    (reverse-i-search)`drp': cat /mnt/cdrom/http---devid.^Cp.su--dev\=VEN_104C%26DEV_803B\ недоступен.url 
    crusader kernel-cleaner # ^C
    crusader kernel-cleaner # echo 1 > /proc/sys/vm/drop_caches
    crusader kernel-cleaner # time ./kernel-cleaner --pretend
    
    Next files will be removed:
    /boot/config-3.5.1-pf
    /boot/System.map-3.5.1-pf
    /boot/vmlinuz-3.0.17-gentoo-r2
    .old
    
    
    real	0m15.473s
    user	0m13.015s
    sys	0m0.384s
    crusader kernel-cleaner # 
    
ZuBB ★★★★★
()
Ответ на: комментарий от ZuBB

чот я не распарсил что ты хотел сказать
медленно? о_О
ты хоть понимаешь сколько оно всего делает?
достать версию из 1 инитрам только стоит 0.5 сек
а теперь прикинь кол-во проверок

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

Feature request

в «удаленные» не должно попадать то что в grub. сие должно бы опционально

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

у меня нет инитрам'а. куда еще могло уйти 15 сек?

ZuBB ★★★★★
()

Calculate

dexx@homedexx ~/megabaks-kernel-cleaner-ff456da $ ./kernel-cleaner --list
Kernels:
/boot/vmlinuz-3.3.8-i686-CLDG            3.3.8-calculate
/boot/vmlinuz-3.4.5-i686-CLDG            3.4.5-calculate
Initrams:
/boot/initramfs-3.3.8-i686-CLDG          3.3.8-calculate
/boot/initramfs-3.3.8-i686-CLDG-install
Configs:
/boot/config-3.3.8-i686-CLDG             3.3.8-calculate
/boot/config-3.4.5-i686-CLDG             3.4.5-calculate
Maps:
/boot/System.map-3.3.8-i686-CLDG
/boot/System.map-3.4.5-i686-CLDG
/boot/System.map-5c750ead
Modules:
/lib/modules/3.3.8-calculate
/lib/modules/3.4.5-calculate
Sources:
/usr/src/linux-3.3.8-calculate           3.3.8-calculate
/usr/src/linux-3.4.5-calculate           3.4.5-calculate


dexx@homedexx ~/megabaks-kernel-cleaner-ff456da $ ./kernel-cleaner --pretend

Next files will be removed:
/boot/initramfs-3.3.8-i686-CLDG
/boot/initramfs-3.3.8-i686-CLDG-install
/boot/initramfs-3.4.5-i686-CLDG
/boot/initramfs-3.4.5-i686-CLDG-install
/boot/System.map-3.3.8-i686-CLDG
/boot/System.map-3.4.5-i686-CLDG
/boot/System.map-5c750ead

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

икак не реагирует на '-h'

а с каких оно должно реагировать? о_О
очень редко кто на это раегирует

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

Попробовать что ли генту, а то на арчике скучно. все работает. Ну, или почти все. Надо принтер настроить. )

Sociopsih ★☆
()
Ответ на: Feature request от ZuBB

пока не до этого
тем более тогда надо запиливать миллион загрузчиков
и есть игнор, да

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

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

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

что-то не то:
лишнее подлежащее удалению

Ты прав, бро! Не хватает запятой :)

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

list починился, а pretend все равно странный:

$ /usr/sbin/kernel-cleaner --list
Kernels:
/boot/kernel-genkernel-x86_64-3.4.3-gentoo      3.4.3-gentoo
/boot/kernel-genkernel-x86_64-3.4.4-gentoo      3.4.4-gentoo
/boot/kernel-genkernel-x86_64-3.5.1-gentoo      3.5.1-gentoo
/boot/kernel-genkernel-x86_64-3.5.2-gentoo      3.5.2-gentoo
/boot/kernel-genkernel-x86_64-3.5.3-gentoo      3.5.3-gentoo
/boot/kernel-genkernel-x86_64-3.5.4-gentoo      3.5.4-gentoo
Initrams:
/boot/initramfs-genkernel-x86_64-3.4.3-gentoo   3.4.3-gentoo
/boot/initramfs-genkernel-x86_64-3.4.4-gentoo   3.4.4-gentoo
/boot/initramfs-genkernel-x86_64-3.5.1-gentoo   3.5.1-gentoo
/boot/initramfs-genkernel-x86_64-3.5.2-gentoo   3.5.2-gentoo
/boot/initramfs-genkernel-x86_64-3.5.3-gentoo   3.5.3-gentoo
/boot/initramfs-genkernel-x86_64-3.5.4-gentoo   3.5.4-gentoo
Maps:
/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
Modules:
/lib/modules/3.4.3-gentoo
/lib/modules/3.4.4-gentoo
/lib/modules/3.5.1-gentoo
/lib/modules/3.5.2-gentoo
/lib/modules/3.5.3-gentoo
/lib/modules/3.5.4-gentoo
Sources:
/usr/src/linux-3.5.4-gentoo                     3.5.4-gentoo
$ /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

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

1. Это в духе POSIX

2. -h/--help полезные опции, позволяющие вспомнить ключи и/или их назначение без необходимости лезть в ман.

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