[email protected]
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.
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.
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.
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.
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
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.
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
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.
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
�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.
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
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.
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
Ezt a m�veletet az "edquota" paranccsal tudjuk v�grehajtani ("man edquota", ha a r�szletekre vagy k�v�ncsi).
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.
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)
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).
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.
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.
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.
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.
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
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.
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.