
                               Kvta mini-HOGYAN

Ralf van Dooren r.vdooren@snow.nl

   v0.5, 2003.08.09

   FIGYELEM: a dokumentumot nem sikerlt tkletesen PDF formtumba
   konvertlni! Gyakorlatilag UHU-Linux alatt mgnem tkletesen
   kompatibilis nyelvnkkel a linuxdoc-tools programcsomag (ez nem az
   UHU-Linux hibja). Aki segteni akar (idmilliomosok elnyben :-)
   krem rjon a dacas@freemail.hu cmre.
     _________________________________________________________________

   Elsz: ezt a dokumentumot Ralf van Dooren (r.vdooren@snow.nl) rta.
   Az eredeti szveg s a dokumentum sszelltsa Albert M.C. Tam
   copyleft-je, nagyon sok ksznet illeti az eredeti mini-HOGYANrt.
   Erre a dokumentumra a GNU Free Documentation License elrsai
   rvnyesek. A jelen dokumentum vltozatlan formban szabadon
   hasznlhat, msolhat s terjeszthet nem kereskedelmi clbl,
   amennyiben minden msolatban s ahhoz tartoz dokumentumokban
   feltntetik a szerz/szerkeszt nevt. A dokumentumot annak
   remnyben terjesztjk, hogy hasznosnak bizonyul, de a szerz
   SEMMILYEN GARANCIT, sem kifejezett, sem belertett formban nem
   vllal. Br mindent megtettnk a jelen dokumentumban tallhat
   informcik pontossgnak biztostsrt, a
   szerz/szerkeszt/karbantart NEM VLLAL FELELSSPGET az itt
   elfordul hibkrt, vagy az itt szerepl informcik alkalmazsbl
   ered esetleges krokrt.
     _________________________________________________________________

   A dokumentum lerja, hogyan engedlyezzk a fjlrendszer-kvtt egy
   Linuxot futtat gpen, hogyan rendeljnk kvtt a felhasznlkhoz s
   csoportokhoz, valamint bemutatja a klnbz kvta-parancsok
   hasznlatt. A lers a 2.x verzij (legutbb a 2.4.21-esen
   teszteltk) kernelt hasznlk rszre kszlt.

   Ha hibt tallsz, vagy ha brmilyen informci hinyzik, nyugodtan
   kldj visszajelzseket vagy megjegyzseket az r.vdooren@snow.nl cmre.
   Mltnyolni fogom.

1. Mi a kvta?

1.1 Mirt kell a kvta?

   A kvta lehetv teszi, hogy kt szempontbl is meghatrozhass
   korltokat a lemezhasznlatra vonatkozan: az inode-ok szmban,
   amiket egy felhasznl vagy felhasznli csoport birtokolhat; ezen
   fell a lemezblokkok szmban, amit egy felhasznlhoz vagy csoporthoz
   rendelni lehet.

   A kvta lnyege az, hogy a felhasznlk arra vannak knyszertve, hogy
   maradjanak a lemezhasznlati korltjuk alatt, megfosztva ket attl a
   lehetsgtl, hogy tetszleges mret helyet foglalhassanak el a
   rendszeren. A kvtt felhasznli s fjlrendszer alapon kezeljk. Ha
   tbb mint egy fjlrendszer van ahol a felhasznl vrhatan
   ltrehozhat fjlokat, akkor a kvtt egyenknt mindegyik
   fjlrendszerre be kell lltani. Klnbz programeszkzk lteznek,
   amelyekkel adminisztrlni s automatizlni lehet a kvta belltsokat
   egy adott rendszeren.

1.2 A kvta jelenlegi llapota a Linuxon

   Jelenleg tbb jelents vltozs is folyamatban van a kvta
   mkdsvel kapcsolatban. Kt klnbz mdszer ltezik. Az eszkzk
   ugyangy mkdnek, a klnbsg csak a hasznlt fjlokban van. Ez a
   dokumentum az _j_ kvta-belltst taglalja. Mivel ez az j bellts
   nincs benne a hagyomnyos kernel-forrsban, szksg van nhny
   "foltra" (patch). A dokumentumban lerjuk a foltozs mdjt, s a
   linuxquota csomag teleptst. Ha mr teleptve van kvta-szoftver a
   gpeden, akkor nem biztos, hogy fel kell raknod ezt a foltot s
   csomagot. Ha krdsed van ezzel kapcsolatban, nyugodtan rhatsz nekem
   e-mailt. A jelen dokumentum egy ksbbi verzijban megprblok majd
   ttekintst adni a disztribcikrl, s kvtakezels klnbz
   megvalstsairl.

2. Kvetelmnyek a kvta hasznlathoz

2.1 Kernel

   A 2.x-es kernel-forrs megtallhat a [1]http://www.kernel.org
   webhelyen. Vlassz egy hozzd kzeli tkrszervert, hogy takarkoskodj
   a svszlessggel. Ha a tar program legjabb vltozatt hasznlod,
   letltheted a .bz2 tmrtett fjlt

   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 Kvta szoftver

   Attl fggen, hogy milyen Linux-disztribcit hasznlsz
   elkpzelhet, hogy a kvta-szoftver mr teleptve van a rendszeren. A
   legfrissebb verzi a SourceForge honlapjrl rhet el, s aktv
   fejleszts alatt ll. A fejlesztk honlapjt a
   [2]http://www.sourceforge.net/projects/linuxquota webhelyen tallod
   meg.

3. A kvta teleptse s belltsa

3.1 A kernel foltozsa

   Tltsd le a szksges kernel-foltot az
   [3]ftp::/atrey.karlin.mff.cuni.cz/pub/local/jack/quota/ webhelyrl.

   Vlaszd ki az ltalad hasznlt kernel verzijt, majd tltsd le a
   foltot. A "patch" parancs segtsgvel foltozd meg a kernelt.
   Amennyiben egynl tbb folt szksges a kerneledhez, figyelj arra,
   hogy a megfelel sorrendben rakd fel azokat. Ehhez hasznlhatod ezt a
   szkriptet (felttelezem, hogy a letlttt foltok a /tmp/quota/ , a
   kicsomagolt kernel pedig az /usr/src/linux knyvtrban 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 ismtelt belltsa

   A kernel jrafordtsa sorn a kapcsold be a kvta-tmogatst.

   A "make menuconfig" vagy "make xconfig" hasznlatakor a Filesystems
   men alatt tallhat meg a szksges vlasztsi lehetsg. Ha
   szksged van klnleges szolgltatsokra, itt bellthatod azokat
   (mint pldul 32 bites UID tmogats)

   Mentsd el a belltsokat s fordtsd jra a kernelt. Bizonyosodj meg
   rla, hogy az j kernel indul el a rendszerindtskor.

3.3 A kvta-szoftver lefordtsa s teleptse

   Az sszes szolgltats hasznlathoz szksg lehet az j kvta csomag
   (quota-package) letltsre. A fent emltett helyrl tltheted le
   azt.

   A letlts utn vgezd el a kvetkez mveleteket:
     _________________________________________________________________

$ gzip -dc <letlttt file> | tar xvf
$ cd quota-tools  (vagy abba a knyvtrba, ahova letlttted)
$ ./configure
$ make
$ su
# make install
     _________________________________________________________________

3.4 A rendszerindt szkriptek mdostsa a kvta indtskori ellenrzsre s
bekapcsolsra

   me egy plda:
     _________________________________________________________________

# 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
     _________________________________________________________________

   Aranyszably, hogy mindig kapcsold be a kvtt, miutn az
   /etc/fstab-beli fjlrendszert becsatoltad, klnben nem fog mkdni.
   Ajnlom, hogy kapcsold be a kvtt rgtn azutn, hogy a
   fjlrendszereket becsatolja a rendszerindt szkripted.

3.5 Az /etc/fstab mdostsa

   Azok a partcik, amelyeken nem engedlyeztk a kvtt, norml esetben
   valahogy gy nznek ki:
     _________________________________________________________________

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

   A felhasznli kvta-tmogats egy fjlrendszeren val
   engedlyezshez rd be a "usrquota" opcit a negyedik mezbe, ami a
   "defaults" szt tartalmazza (a rszletekrt lsd "man fstab").
     _________________________________________________________________

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

   Cserld le a "usrquota" szt "grpquota"-ra, ha csoportkvtra van
   szksged.
     _________________________________________________________________

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

   Mind felhasznli, mind csoportkvtra szksged van?
     _________________________________________________________________

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

3.6 A kvta rendszer bekapcsolsa

   A kvta szoftver aktivlshoz jra kell indtani a rendszert azrt,
   hogy az elvgzett vltoztatsok rvnyess vljanak. Ekkor betltdik
   az j, kvtt tmogat kernel, majd az elksztett rendszerindt
   szkripteket is vgrehajtja a gp. Az els futsnl a "quotacheck"
   kszti el a megfelel fjlokat a kvta-adatbzis karbantartshoz.

3.7 A "quotacheck" hozzadsa a crontab-hoz

   Br a kvta mkdik rendszeres ellenrzs nlkl is, nha hasznos
   lehet, ha rendszeres idkznknt, mondjuk hetente lefuttatjuk a
   "quotacheck"-et. Ehhez add hozz a kvetkez bejegyzst a
   rendszergazda crontab-jhoz:
     _________________________________________________________________

0 3 * * 0 /sbin/quotacheck -avug
     _________________________________________________________________

4. A kvta teleptse: programeszkzk

   Ezt a mveletet az "edquota" paranccsal tudjuk vgrehajtani ("man
   edquota", ha a rszletekre vagy kvncsi).

4.1 Kvta megadsa egy adott felhasznlhoz

   Lssunk egy pldt. Van egy bob nev felhasznl a rendszeremen. Az
   "edquota -u bob" parancs kiadsval a vi (vagy az $EDITOR krnyezeti
   vltozban belltott) szvegszerkesztben tallom magam, ahol be
   tudom lltani bob kvtjt mindegyik olyan partcin, ahol az
   engedlyezett:
     _________________________________________________________________

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 felhasznl ltal egy partcin elfoglalt sszes
   blokkok szma (kilobjtban).

   Az "inodes in use" az inode-ok szma, melyeket a felhasznl lefoglal
   a partcin.

4.2 Kvta hozzrendelse egy adott csoporthoz

   Most van egy games nev csoport a rendszeremen. Az "edquota -g games"
   ismt a vi-ba lptet, ahol a games csoport kvtjt tudom belltani:
     _________________________________________________________________

        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 Kvta hozzrendelse felhasznlk csoportjhoz, ugyanazzal az rtkkel

   Ahhoz, hogy gyorsan tudjak a rendszeremen lv bob nev
   felhasznlval azonos belltsokkal kvtt hozzrendelni mondjuk 100
   felhasznlhoz, elszr kzzel szerkesztem bob adatait, majd kiadom a
   kvetkez parancsot:
     _________________________________________________________________

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

   Felttelezem, hogy csh-t hasznlsz, s a felhasznlk UID-jei 500-al
   kezddnek.

   A kvthoz kapcsoldan 3 olyan fogalom van, amikkel meg kell
   bartkoznod: lgy korlt (soft limit), kemny korlt (hard limit) s
   trelmi id (grace period).

4.4 Lgy korlt (Soft Limit)

   A lgy korlt jelenti azt a maximlis mennyisg lemezterletet, amit
   egy felhasznl elfoglalhat egy partcin. Amikor a trelmi idvel
   kombinljuk, gy viselkedik, mint egy hatrvonal, ami a felhasznlt
   zenetekkel ltja el a kvta-bellts kzelg megsrtsrl, ha azt
   tllpi.

4.5 Kemny korlt (Hard Limit)

   A kemny korlt csak akkor mkdik, ha a trelmi idt is belltjuk.
   Ez az abszolt korltot jelenti a lemezfelhasznls szempontjbl,
   amit a felhasznl semmikppen sem lphet tl.

4.6 Trelmi id (Grace Period)

   A trelmi id az az idhatr, melynek leteltig rvnyes a lgy
   korlt a kvtt engedlyez fjlrendszereken. Az idrtkek lehetnek
   msodpercben (sec), percben (min), rban (hour), napban (day), htben
   (week) s hnapban (month) megadva. Ezt ltod az "edquota -t" parancs
   kiadsakor:
     _________________________________________________________________

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
     _________________________________________________________________

   Vltoztasd meg a "0 days" rszt brmely ltalad megfelelnek vlt
   idtartamra. Szemly szerint n 7 napot (vagyis egy hetet)
   vlasztottam.

5. Egyb kvtaparancsok

5.1 Quotacheck

   A "quotacheck" tvizsglja a fjlrendszert a lemezhasznlat
   megllaptshoz, s frissti az "aquota.user" adatfjlt a dolgok
   legfrissebb llsa szerint. Azt ajnlom, hogy a parancsot minden
   rendszerindtskor, s egy cron-feladaton keresztl idkznknt
   (mondjuk, minden hten?) futtasd le.

5.2 Repquota

   A "repquota" sszestett kvta-informcikat ad egy fjlrendszerrl.
   Az albbiakban egy minta tallhat a parancs kimenetrl:
     _________________________________________________________________

# 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" hasznlatos a kvta bekapcsolsra; a "quotaoff"
   kikapcsolja azt. Jelenleg mindkt fjl hasonl. A rendszerindtskor-
   s lelltskor hajtjuk ket vgre.

6. Magyar fordts

   A magyar fordtst [4]Szijjrt Lszl ksztette (2002.11.27). A
   lektorlst [5]Varga Zsolt vgezte el (2003.04.09). Utoljra [6]Daczi
   Lszl frisstette (2003.08.26). Brmilyen fordtssal kapcsolatos
   szrevtelt a [7]linuxhowto@sch.bme.hu cmre kldjetek. A dokumentum
   legfrissebb vltozata megtallhat a [8]Magyar Linux Dokumentcis
   Projekt honlapjn.

References

   1. http://www.kernel.org/
   2. http://www.sourceforge.net/project/linuxquota
   3. ftp://atrey.karlin.mff.cuni.cz/pub/local/jack/quota/
   4. mailto:laca@janus.gimsz.sulinet.hu_NO_SPAM
   5. mailto:tech.translation@axelero.hu_NO_SPAM
   6. mailto:dacas@freemail.hu_NO_SPAM
   7. mailto:linuxhowto@sch.bme.hu_NO_SPAM
   8. http://tldp.fsf.hu/index.html
