Re: [ANNOUNCE] clean-boot.pl version 0.1 - Simple utility to clean up /boot and /lib/modules

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Dec 02, 2005 at 08:30:15PM -0500, Steven Rostedt wrote:
> I'm not sure if this has been done already or not (let me know if it
> has), but I've just noticed that after playing with several
> developmental kernels I had about 30 to 40 different versions of
> vmlinuz, initrd.img, config, and System.maps in my /boot directory, not
> to mention all the modules loaded in /lib/modules.

One more reason to put kernels and modules into /boot. On my systems,
/lib/modules is a symlink to /boot, so that I have my modules
physically located in /boot/<kversion> and my kernel, config, System.map, ...
into the same directory. So I just have to rm -rf /boot/<kversion> to remove
one kernel, and managing them is very easy. One more advantage is that
when you build many kernels, you just 'sudo make modules_install' first,
which creates the /boot/<kversion> entry, then you just have to
'sudo cp arch/i386/boot/bzImage System.map .config /boot/<kversion>/'
which is very convenient.

The default flat /boot directory + /lib/modules is a real mess, proved
by the fact that you had to write a tool just to manage that. Not that
I find your script useless at all, it's the opposite, I think it will
make life easier for people who want to keep this obsolete directory
structure.

> So I wrote this perl script that let me pick and choose what I wanted to
> clean up.  Be careful, this must be run as root, and although the
> default is to do nothing, if you hit a "y" in the wrong place, you can
> lose that kernel.
> 
> The script is here:
> 
> http://www.kihontech.com/code/clean-boot.pl
> 
> Here's the usage:
> 
> # ./clean-boot.pl -h
> 
> usage: clean-boot.pl [-b boot_dir] [-m module_dir]
>   (version 0.1)
>    default boot_dir = /boot
>    default module_dir = /lib/modules
> 
> It's run like the following:
> 
> ---
> #./clean-boot.pl
> List of versions found:
>   2.6.12-1-386              2.6.14                    2.6.14-2-386
>   2.6.14-2-k7-smp           2.6.14-kthrt2             2.6.14-rt13
>   2.6.14-rt13-logdev1       2.6.14-rt15               2.6.14-rt20
>   2.6.15-rc3
> Remove files for version 2.6.12-1-386 [y/N/l/q/?]:  ?
>   y - remove files from boot and modules
>   n [default] - skip this version
>   l - list the found versions again
>   q - quit
>   ? - display this message
> Remove files for version 2.6.12-1-386 [y/N/l/q/?]:  q
> ---
> 
> If you hit "y" (or yes or ye, case is ignored), it will then remove any
> of the vmlinuz, initrd.img, config and System.map files for version
> 2.6.12-1-386 in /boot and the directory /lib/modules/2.6.12-1-386.
> 
> This is under just a public license, no warranty, so just be careful not
> to delete too much.
> 
> Also remember to update lilo or grub, since this doesn't handle that.
> 
> Comments?
> 
> -- Steve

Regards,
Willy

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux