Kako osloboditi / (root) particiju za novi kernel?

OVAJ ČLANAK JE ZASTARIO, POGLEDAJTE ČLANAK http://sistemac.carnet.hr/node/795!

Stariji poslužitelji imaju root particiju veličine 250 MB, što nakon nekoliko iteracija instaliranja kernel-cn paketa više nije dovoljno. Kernel-2.6-cn nikad ne briše starije inačice iz /boot direktorija, samo generira novi /etc/lilo.conf a kernele i njihove module ostavlja na miru. Kako donosi čak četiri inačice kernela, sveukupno zauzeće prostora je nešto malo preko 101 MB (iako svaka inačica kernela zauzima oko samo 1.5 MB).

Pokažimo to primjerom s jednog starijeg Compaq ML310 poslužitelja:

# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 236M 221M 2.4M 99% /
...

Na / particiji postoji samo 2.4 MB slobodnog prostora, što je očigledno nedovoljno za instalaciju novog kernela (potrebno je nešto malo preko 101 MB). Pogledajmo što se sve u /boot direktoriju nalazi:

# ls -l /boot |grep vmlinuz
-rwxr-xr-x 1 root root 1044126 Oct 18 2001 vmlinuz-2.2.19pre17-compact
-rw-r--r-- 1 root root 576748 Nov 6 2001 vmlinuz-2.2.20
-rw-r--r-- 1 root root 783003 Nov 21 2001 vmlinuz-2.4.14
-rw-r--r-- 1 root root 1453144 Oct 17 2007 vmlinuz-2.6.22.9
-rw-r--r-- 1 root root 1481528 Oct 16 2007 vmlinuz-2.6.22.9-grsec
-rw-r--r-- 1 root root 1507416 Jan 30 19:42 vmlinuz-2.6.24
-rw-r--r-- 1 root root 1507928 Jan 30 18:58 vmlinuz-2.6.24-grsec
-rw-r--r-- 1 root root 1507320 Feb 11 16:01 vmlinuz-2.6.24.2
-rw-r--r-- 1 root root 803497 Dec 14 2005 vmlinuz-generic
-rw-r--r-- 1 root root 803497 Mar 9 2005 vmlinuz-old

Može se vidjeti da kerneli zauzimaju relativno malo mjesta. Daleko više mjesta zauzimaju kernel moduli:

# du -sh /lib/modules/*
1.9M /lib/modules/2.2.19pre17-compact
1.9M /lib/modules/2.4.14
1.8M /lib/modules/2.4.16
15M /lib/modules/2.6.22.9
15M /lib/modules/2.6.22.9-grsec
16M /lib/modules/2.6.24
16M /lib/modules/2.6.24-grsec
16M /lib/modules/2.6.24.2
16M /lib/modules/2.6.24.2-grsec
16M /lib/modules/2.6.24.5
14M /lib/modules/2.6.24.5-grsec

Što smijemo brisati? U najkraćim crtama, možemo sve. Naravno, u tom slučaju moramo odmah instalirati novi kernel jer reboot poslužitelja u suprotnom više neće biti moguć. Dakle:

# dpkg --purge kernel-2.4-cn kernel-2.6-cn

Gornja naredba će obrisati aktualni i eventualni zaostali 2.4 kernel, ali stariji kerneli (o kojima paketni sustav ne zna ništa) će ostati. Zato moramo ostatak pobrisati ručno:

# cd /boot
# rm vmlinuz* System.map* initrd* config*

Nakon toga možete obrisati i module:

# cd /lib/modules
# rm -fr 2*

Oprez kod izvođenja gornje naredbe, morate biti u /lib/modules direktoriju!

Dalje je jednostavno:

# apt-get install kernel-2.6-cn

Ukoliko imate problema s apt-om, skinite kernel-cn sa ftp.carnet.hr i instalirajte ga ručno:

# dpkg -i kernel-2.6-cn*deb

Gornje upute podrazumijevaju da je sa sustavom sve u redu. Ukoliko nije, nemojte ostavljati sustav bez kernela i ostavite trenutno radeći u /boot, uključujući i njegove module u /lib/modules.

Kernel koji će se startati sa svakim bootom je zapisan u /etc/lilo.conf datoteci:

...
default=linux
...

image=/boot/vmlinuz-2.6.24-grsec
label=linux
initrd=/boot/initrd-2.6.24-grsec
read-only

Može se vidjeti da je labela "linux" navedena kao default kernel koji će se startati kod pokretanja sustava ("default=" redak).

Ukoliko default kernel nije oznacen kao "linux", nego nekako drugačije, jednostavno na sustavu ostavite kernel na koji pokazuje "default=" redak.

Moramo li napomenuti da novi kernel neće biti aktivan sve dok ne restartate poslužitelj?

KEYWORDS: kernel kernel-cn

Vijesti: 
Kuharice: 
Vote: 
0
No votes yet

Komentari

Pohvala za ovaj clanak koji pojasnjava sta se sve osim "dpkg --purge kernel" moze pobrisati.Evo danas pri zamjeni kernela sam po uputi sve nepotrebno zbrisao,posto kronicno nemam mjesta u /boot-u.Dobro mi je doslo..a i ostali su clanci za pohvalu....