Kv�ta mini-HOGYAN

Ralf van Dooren [email protected]

v0.5, 2003.08.09

FIGYELEM: a dokumentumot nem siker�lt t�k�letesen PDF form�tumba konvert�lni! Gyakorlatilag UHU-Linux alatt m�gnem t�k�letesen kompatibilis nyelv�nkkel a linuxdoc-tools programcsomag (ez nem az UHU-Linux hib�ja). Aki seg�teni akar (id�milliomosok el�nyben :-) k�rem �rjon a [email protected] c�mre.


El�sz�: ezt a dokumentumot Ralf van Dooren ([email protected]) �rta. Az eredeti sz�veg �s a dokumentum �ssze�ll�t�sa Albert M.C. Tam copyleft-je, nagyon sok k�sz�net illeti az eredeti mini-HOGYAN�rt. Erre a dokumentumra a GNU Free Documentation License el��r�sai �rv�nyesek. A jelen dokumentum v�ltozatlan form�ban szabadon haszn�lhat�, m�solhat� �s terjeszthet� nem kereskedelmi c�lb�l, amennyiben minden m�solatban �s ahhoz tartoz� dokumentumokban felt�ntetik a szerz�/szerkeszt� nev�t. A dokumentumot annak rem�ny�ben terjesztj�k, hogy hasznosnak bizonyul, de a szerz� SEMMILYEN GARANCI�T, sem kifejezett, sem bele�rtett form�ban nem v�llal. B�r mindent megtett�nk a jelen dokumentumban tal�lhat� inform�ci�k pontoss�g�nak biztos�t�s��rt, a szerz�/szerkeszt�/karbantart� NEM V�LLAL FELEL�SS�PGET az itt el�fordul� hib�k�rt, vagy az itt szerepl� inform�ci�k alkalmaz�s�b�l ered� esetleges k�rok�rt.

A dokumentum le�rja, hogyan enged�lyezz�k a f�jlrendszer-kv�t�t egy Linuxot futtat� g�pen, hogyan rendelj�nk kv�t�t a felhaszn�l�khoz �s csoportokhoz, valamint bemutatja a k�l�nb�z� kv�ta-parancsok haszn�lat�t. A le�r�s a 2.x verzi�j� (legut�bb a 2.4.21-esen tesztelt�k) kernelt haszn�l�k r�sz�re k�sz�lt.

Ha hib�t tal�lsz, vagy ha b�rmilyen inform�ci� hi�nyzik, nyugodtan k�ldj visszajelz�seket vagy megjegyz�seket az [email protected] c�mre. M�lt�nyolni fogom.

1. Mi a kv�ta?

1.1 Mi�rt kell a kv�ta?

A kv�ta lehet�v� teszi, hogy k�t szempontb�l is meghat�rozhass korl�tokat a lemezhaszn�latra vonatkoz�an: az inode-ok sz�m�ban, amiket egy felhaszn�l� vagy felhaszn�l�i csoport birtokolhat; ezen fel�l a lemezblokkok sz�m�ban, amit egy felhaszn�l�hoz vagy csoporthoz rendelni lehet.

A kv�ta l�nyege az, hogy a felhaszn�l�k arra vannak k�nyszer�tve, hogy maradjanak a lemezhaszn�lati korl�tjuk alatt, megfosztva �ket att�l a lehet�s�gt�l, hogy tetsz�leges m�ret� helyet foglalhassanak el a rendszeren. A kv�t�t felhaszn�l�i �s f�jlrendszer alapon kezelj�k. Ha t�bb mint egy f�jlrendszer van ahol a felhaszn�l� v�rhat�an l�trehozhat f�jlokat, akkor a kv�t�t egyenk�nt mindegyik f�jlrendszerre be kell �ll�tani. K�l�nb�z� programeszk�z�k l�teznek, amelyekkel adminisztr�lni �s automatiz�lni lehet a kv�ta be�ll�t�sokat egy adott rendszeren.

1.2 A kv�ta jelenlegi �llapota a Linuxon

Jelenleg t�bb jelent�s v�ltoz�s is folyamatban van a kv�ta m�k�d�s�vel kapcsolatban. K�t k�l�nb�z� m�dszer l�tezik. Az eszk�z�k ugyan�gy m�k�dnek, a k�l�nbs�g csak a haszn�lt f�jlokban van. Ez a dokumentum az _�j_ kv�ta-be�ll�t�st taglalja. Mivel ez az �j be�ll�t�s nincs benne a hagyom�nyos kernel-forr�sban, sz�ks�g van n�h�ny "foltra" (patch). A dokumentumban le�rjuk a foltoz�s m�dj�t, �s a linuxquota csomag telep�t�s�t. Ha m�r telep�tve van kv�ta-szoftver a g�peden, akkor nem biztos, hogy fel kell raknod ezt a foltot �s csomagot. Ha k�rd�sed van ezzel kapcsolatban, nyugodtan �rhatsz nekem e-mailt. A jelen dokumentum egy k�s�bbi verzi�j�ban megpr�b�lok majd �ttekint�st adni a disztrib�ci�kr�l, �s kv�takezel�s k�l�nb�z� megval�s�t�sair�l.

2. K�vetelm�nyek a kv�ta haszn�lat�hoz

2.1 Kernel

A 2.x-es kernel-forr�s megtal�lhat� a http://www.kernel.org webhelyen. V�lassz egy hozz�d k�zeli t�k�rszervert, hogy takar�koskodj a s�vsz�less�ggel. Ha a tar program leg�jabb v�ltozat�t haszn�lod, let�ltheted a .bz2 t�m�r�tett f�jlt

Csomagold ki a kernelt:


cd /usr/src
tar jxvf /path/to/linux-2.4.21-tar.bz2      - for bzip2 kernel -
tar zxvf /path/to/linux-2.4.21-tar.gz       - for gzip kernel -
ln -s /usr/src/linux-2.4.21 /usr/src/linux

2.2 Kv�ta szoftver

Att�l f�gg�en, hogy milyen Linux-disztrib�ci�t haszn�lsz elk�pzelhet�, hogy a kv�ta-szoftver m�r telep�tve van a rendszeren. A legfrissebb verzi� a SourceForge honlapj�r�l �rhet� el, �s akt�v fejleszt�s alatt �ll. A fejleszt�k honlapj�t a http://www.sourceforge.net/projects/linuxquota webhelyen tal�lod meg.

3. A kv�ta telep�t�se �s be�ll�t�sa

3.1 A kernel foltoz�sa

T�ltsd le a sz�ks�ges kernel-foltot az ftp::/atrey.karlin.mff.cuni.cz/pub/local/jack/quota/ webhelyr�l.

V�laszd ki az �ltalad haszn�lt kernel verzi�j�t, majd t�ltsd le a foltot. A "patch" parancs seg�ts�g�vel foltozd meg a kernelt. Amennyiben egyn�l t�bb folt sz�ks�ges a kerneledhez, figyelj arra, hogy a megfelel� sorrendben rakd fel azokat. Ehhez haszn�lhatod ezt a szkriptet (felt�telezem, hogy a let�lt�tt foltok a /tmp/quota/ , a kicsomagolt kernel pedig az /usr/src/linux k�nyvt�rban van) :


#!/bin/sh

gunzip /tmp/quota/*.gz
cd /usr/src/linux
COUNT=`ls -1 /tmp/quota/*.diff | wc -l`
for I in `seq 1 $COUNT`
do
   patch -p1 < /tmp/quota/quota-2.4.21-$I-*.diff
done

3.2 A kernel ism�telt be�ll�t�sa

A kernel �jraford�t�sa sor�n a kapcsold be a kv�ta-t�mogat�st.

A "make menuconfig" vagy "make xconfig" haszn�latakor a Filesystems men� alatt tal�lhat� meg a sz�ks�ges v�laszt�si lehet�s�g. Ha sz�ks�ged van k�l�nleges szolg�ltat�sokra, itt be�ll�thatod azokat (mint p�ld�ul 32 bites UID t�mogat�s)

Mentsd el a be�ll�t�sokat �s ford�tsd �jra a kernelt. Bizonyosodj meg r�la, hogy az �j kernel indul el a rendszerind�t�skor.

3.3 A kv�ta-szoftver leford�t�sa �s telep�t�se

Az �sszes szolg�ltat�s haszn�lat�hoz sz�ks�g lehet az �j kv�ta csomag (quota-package) let�lt�s�re. A fent eml�tett helyr�l t�ltheted le azt.

A let�lt�s ut�n v�gezd el a k�vetkez� m�veleteket:


$ gzip -dc <let�lt�tt file> | tar xvf
$ cd quota-tools  (vagy abba a k�nyvt�rba, ahova let�lt�tted)
$ ./configure
$ make
$ su
# make install

3.4 A rendszerind�t� szkriptek m�dos�t�sa a kv�ta ind�t�skori ellen�rz�s�re �s bekapcsol�s�ra

�me egy p�lda:


# Check quota and then turn quota on.
if [ -x /usr/sbin/quotacheck ]
        then
               echo "Checking quotas. This may take some time."
               /usr/sbin/quotacheck -avug
               echo " Done."
        fi
         if [ -x /usr/sbin/quotaon ]
        then
                echo "Turning on quota."
                /usr/sbin/quotaon -avug
        fi

Aranyszab�ly, hogy mindig kapcsold be a kv�t�t, miut�n az /etc/fstab-beli f�jlrendszert becsatoltad, k�l�nben nem fog m�k�dni. Aj�nlom, hogy kapcsold be a kv�t�t r�gt�n azut�n, hogy a f�jlrendszereket becsatolja a rendszerind�t� szkripted.

3.5 Az /etc/fstab m�dos�t�sa

Azok a part�ci�k, amelyeken nem enged�lyezt�k a kv�t�t, norm�l esetben valahogy �gy n�znek ki:


/dev/hda1       /       ext2    defaults        1       1
/dev/hda2       /usr    ext2    defaults        1       1

A felhaszn�l�i kv�ta-t�mogat�s egy f�jlrendszeren val� enged�lyez�s�hez �rd be a "usrquota" opci�t a negyedik mez�be, ami a "defaults" sz�t tartalmazza (a r�szletek�rt l�sd "man fstab").


/dev/hda1       /       ext2    defaults        1       1
/dev/hda2       /usr    ext2    defaults,usrquota       1       1

Cser�ld le a "usrquota" sz�t "grpquota"-ra, ha csoportkv�t�ra van sz�ks�ged.


/dev/hda1       /       ext2    defaults        1       1
/dev/hda2       /usr    ext2    defaults,grpquota       1       1

Mind felhaszn�l�i, mind csoportkv�t�ra sz�ks�ged van?


/dev/hda1       /       ext2    defaults        1       1
/dev/hda2       /usr    ext2    defaults,usrquota,grpquota       1   1

3.6 A kv�ta rendszer bekapcsol�sa

A kv�ta szoftver aktiv�l�s�hoz �jra kell ind�tani a rendszert az�rt, hogy az elv�gzett v�ltoztat�sok �rv�nyess� v�ljanak. Ekkor bet�lt�dik az �j, kv�t�t t�mogat� kernel, majd az elk�sz�tett rendszerind�t� szkripteket is v�grehajtja a g�p. Az els� fut�sn�l a "quotacheck" k�sz�ti el a megfelel� f�jlokat a kv�ta-adatb�zis karbantart�s�hoz.

3.7 A "quotacheck" hozz�ad�sa a crontab-hoz

B�r a kv�ta m�k�dik rendszeres ellen�rz�s n�lk�l is, n�ha hasznos lehet, ha rendszeres id�k�z�nk�nt, mondjuk hetente lefuttatjuk a "quotacheck"-et. Ehhez add hozz� a k�vetkez� bejegyz�st a rendszergazda crontab-j�hoz:


0 3 * * 0 /sbin/quotacheck -avug

4. A kv�ta telep�t�se: programeszk�z�k

Ezt a m�veletet az "edquota" paranccsal tudjuk v�grehajtani ("man edquota", ha a r�szletekre vagy k�v�ncsi).

4.1 Kv�ta megad�sa egy adott felhaszn�l�hoz

L�ssunk egy p�ld�t. Van egy bob nev� felhaszn�l� a rendszeremen. Az "edquota -u bob" parancs kiad�s�val a vi (vagy az $EDITOR k�rnyezeti v�ltoz�ban be�ll�tott) sz�vegszerkeszt�ben tal�lom magam, ahol be tudom �ll�tani bob kv�t�j�t mindegyik olyan part�ci�n, ahol az enged�lyezett:


Quotas for user bob:
/dev/hda3: blocks in use: 2594, limits (soft = 5000, hard = 6500)
         inodes in use: 356, limits (soft = 1000, hard = 1500)

A "blocks in use" a felhaszn�l� �ltal egy part�ci�n elfoglalt �sszes blokkok sz�ma (kilob�jtban).

Az "inodes in use" az inode-ok sz�ma, melyeket a felhaszn�l� lefoglal a part�ci�n.

4.2 Kv�ta hozz�rendel�se egy adott csoporthoz

Most van egy games nev� csoport a rendszeremen. Az "edquota -g games" ism�t a vi-ba l�ptet, ahol a games csoport kv�t�j�t tudom be�ll�tani:


        Quotas for group games:
        /dev/hda4: blocks in use: 5799, limits (soft = 8000, hard = 10000)
                inodes in use: 1454, limits (soft = 3000, hard = 4000)

4.3 Kv�ta hozz�rendel�se felhaszn�l�k csoportj�hoz, ugyanazzal az �rt�kkel

Ahhoz, hogy gyorsan tudjak a rendszeremen l�v� bob nev� felhaszn�l�val azonos be�ll�t�sokkal kv�t�t hozz�rendelni mondjuk 100 felhaszn�l�hoz, el�sz�r k�zzel szerkesztem bob adatait, majd kiadom a k�vetkez� parancsot:


edquota -p bob `awk -F: '$3 > 499 {print $1}' /etc/passwd`

Felt�telezem, hogy csh-t haszn�lsz, �s a felhaszn�l�k UID-jei 500-al kezd�dnek.

A kv�t�hoz kapcsol�d�an 3 olyan fogalom van, amikkel meg kell bar�tkoznod: l�gy korl�t (soft limit), kem�ny korl�t (hard limit) �s t�relmi id� (grace period).

4.4 L�gy korl�t (Soft Limit)

A l�gy korl�t jelenti azt a maxim�lis mennyis�g� lemezter�letet, amit egy felhaszn�l� elfoglalhat egy part�ci�n. Amikor a t�relmi id�vel kombin�ljuk, �gy viselkedik, mint egy hat�rvonal, ami a felhaszn�l�t �zenetekkel l�tja el a kv�ta-be�ll�t�s k�zelg� megs�rt�s�r�l, ha azt t�ll�pi.

4.5 Kem�ny korl�t (Hard Limit)

A kem�ny korl�t csak akkor m�k�dik, ha a t�relmi id�t is be�ll�tjuk. Ez az abszol�t korl�tot jelenti a lemezfelhaszn�l�s szempontj�b�l, amit a felhaszn�l� semmik�ppen sem l�phet t�l.

4.6 T�relmi id� (Grace Period)

A t�relmi id� az az id�hat�r, melynek letelt�ig �rv�nyes a l�gy korl�t a kv�t�t enged�lyez� f�jlrendszereken. Az id��rt�kek lehetnek m�sodpercben (sec), percben (min), �r�ban (hour), napban (day), h�tben (week) �s h�napban (month) megadva. Ezt l�tod az "edquota -t" parancs kiad�sakor:


Time units may be: days, hours, minutes, or seconds
Grace period before enforcing soft limits for users:
/dev/hda2: block grace period: 0 days, file grace period: 0 days

V�ltoztasd meg a "0 days" r�szt b�rmely �ltalad megfelel�nek v�lt id�tartamra. Szem�ly szerint �n 7 napot (vagyis egy hetet) v�lasztottam.

5. Egy�b kv�taparancsok

5.1 Quotacheck

A "quotacheck" �tvizsg�lja a f�jlrendszert a lemezhaszn�lat meg�llap�t�s�hoz, �s friss�ti az "aquota.user" adatf�jlt a dolgok legfrissebb �ll�sa szerint. Azt aj�nlom, hogy a parancsot minden rendszerind�t�skor, �s egy cron-feladaton kereszt�l id�k�z�nk�nt (mondjuk, minden h�ten?) futtasd le.

5.2 Repquota

A "repquota" �sszes�tett kv�ta-inform�ci�kat ad egy f�jlrendszerr�l. Az al�bbiakban egy minta tal�lhat� a parancs kimenet�r�l:


# repquota -a
                                Block limits               File limits
        User            used    soft    hard  grace    used  soft  hard  grace
        root      --  175419       0       0          14679     0     0
        bin       --   18000       0       0            735     0     0
        uucp      --     729       0       0             23     0     0
        man       --      57       0       0             10     0     0
        user1     --   13046   15360   19200            806  1500  2250
        user2     --    2838    5120    6400            377  1000  1500

5.3 Quotaon �s Quotaoff

A "quotaon" haszn�latos a kv�ta bekapcsol�s�ra; a "quotaoff" kikapcsolja azt. Jelenleg mindk�t f�jl hasonl�. A rendszerind�t�skor- �s le�ll�t�skor hajtjuk �ket v�gre.

6. Magyar ford�t�s

A magyar ford�t�st Szijj�rt� L�szl� k�sz�tette (2002.11.27). A lektor�l�st Varga Zsolt v�gezte el (2003.04.09). Utolj�ra Daczi L�szl� friss�tette (2003.08.26). B�rmilyen ford�t�ssal kapcsolatos �szrev�telt a [email protected] c�mre k�ldjetek. A dokumentum legfrissebb v�ltozata megtal�lhat� a Magyar Linux Dokument�ci�s Projekt honlapj�n.