Quota: Unterschied zwischen den Versionen
| Zeile 226: | Zeile 226: | ||
= TMP = | = TMP = | ||
Disk '''Quota''' (englisch disk ‚Festplatte‘ und quota ‚Anteil‘, ‚Kontingent‘) sind Begrenzungen des Speicherplatzes auf Datenträgern für Benutzer oder Benutzergruppen | Disk '''Quota''' (englisch disk ‚Festplatte‘ und quota ‚Anteil‘, ‚Kontingent‘) sind Begrenzungen des Speicherplatzes auf Datenträgern für Benutzer oder Benutzergruppen | ||
Version vom 11. November 2025, 21:44 Uhr
Quota - Beschreibung
Beschreibung
Installation
sudo apt install quota
- Optional
sudo apt install quotatool
Aufruf
Optionen
| Unix | GNU | Parameter | Beschreibung |
|---|---|---|---|
Parameter
Umgebungsvariablen
Exit-Status
| Wert | Beschreibung |
|---|---|
| 0 | Erfolg |
| >0 | Fehler |
Anwendung
Quota setzen
Diese Operation wird mit dem Programm edquota durchgeführt.
- Falls man mehr über dieses Programm erfahren möchte, dem sei die Manual Page des Programms ans Herz gelegt.
Vorbereitung
Zuerst muss mit der Platzverbrauch der einzelnen Benutzer erfasst werden.
- Je nach Grösse der Partition(en) und dem belegten Speicherplatz kann dies unterschiedlich lange dauern.
Benutzerquota setzen
Angenommen, ich habe auf meinem System einen Benutzer mit dem Loginnamen tom.
- Wenn ich seine Quota setzen oder ändern möchte, rufe ich das Programm auf.
- Dann lande ich in dem Editor, der in der Variable
$EDITORspezifiziert ist. - Normalerweise ist das
vi. - Das könnte dann zum Beispiel so aussehen: Hier nun jede Zeile einzeln erklärt: Hier steht der Name des Benutzers, dessen Quota man gerade bearbeitet. Hier steht die Partition, auf die sich die Angaben beziehen (in diesem Fall
/dev/hda9) und wieviele Blöcke der Benutzer schon benutzt. - In den Klammern kann man die Softlimite und die Hardlimite für die Anzahl Blöcke festlegen.
- Ein Wert von Null bedeutet unbegrenzt. Diese Zeile bezieht sich auf die gleiche Partition wie die vorhergehende.
- Hier kann der Systemadministrator ablesen, wieviele Inoden der Benutzer schon gebraucht hat.
- Eine Inode entspricht einer Datei.
- In den Klammern kann man hier die Softlimite und die Hardlimite für die Anzahl der Inoden festlegen.
- Auch hier bedeutet ein Wert von Null unbegrenzt. Diese beiden Zeilen haben die gleiche Bedeutung wie die beiden anderen, beziehen sich jedoch auf eine andere Partition: in diesem Fall
/dev/hda2.
Gruppenquota setzen
Angenommen, ich möchte die Quota für ein bestimmte Gruppe setzen.
- Falls ich dies für die Gruppe users tun will, rufe ich auf.
- Dann erscheint wieder der Editor; das sieht dann zum Beispiel so aus: Die Optionen sind dieselben wie oben, deshalb werde ich nicht noch einmal daraufeingehen.
Quota für mehrere Benutzer vergeben
Hier ist eine Lösung, wie man mehreren Benutzer die gleiche Quota wie dem Benutzer tom geben kann.
- Dazu muss man aber die
cshals Shell benutzen: Bei diesem Beispiel wird angenommen, das die UIDs von 500 an aufwärts vergeben worden sind. - Falls dies nicht der Fall ist, muss man die Zahl 499 in dem Beispiel anpassen.
Die Grace Period setzen
Zu guter letzt kann man noch die Grace Period setzen.
- Dazu ruft man auf.
- Dann gelangt man wieder in seinen Lieblingseditor und kriegt folgendes zu sehen: Hier kann man die Grace Period einstellen.
- Auch hier muss man sie für jede Partition getrennt setzen.
- Hinter block grace period folgt die Zeitspanne für das Block-Limit, hinter file grace period die Zeitspanne für die Inoden-Limite.
- Mögliche Werte sind Tage (days), Stunden (hours), Minuten (minutes) und Sekunden (seconds).
- Ein guter Wert ist sieben Tage.
Starten und beenden der Quotaüberwachung
Manuell
Zum Starten und Beenden der Quotaüberwachung werden die Programme quotaon und quotaoff benötigt.
Mit wird die Quotaüberwachung eingeschaltet, mit wird sie ausgeschaltet.
Mit einem Skript
Am besten wäre es, wenn man die Quotaüberwachung schon beim Systemstart einschalten könnte.
- Dazu kann man sich folgenden Skriptes bedienen: Das Skript erwartet einen Parameter, nämlich start oder stop.
- Mit dem Paramter start wird die Quotaüberwachung gestartet, mit dem Parameter stop wird sie beendet.
Falls man das Skript von Hand starten möchte, kann man es in eine beliebiges Verzeichnis kopieren, und dann durchführen. /pfad/skriptname muss noch durch den wirklichen Skriptnamen und dessen Pfad ausgetauscht werden.
- Um es zu starten, wechselt man in das Verzeichnis, in dem sich das Skript befindet und gibt dann
./skriptnameein. - Auch hier muss
skriptnamenoch ersetzt werden.
Falls man es als Init-Skript benutzen will, muss man das Skript zuerst nach /etc/init.d (bei SuSE-Linux/ /sbin/init.d) kopieren.
- Am besten nennt man es
quota. - Dann führt man folgende Schritte durch: Ab jetzt wird die Quotaüberwachung bei jedem Systemstart aktiviert.
Verschiedene Kommandos
Quota
Der Befehl quota ist für die Benutzer gedacht.
- Damit können Sie sich ihren aktuellen Stand ansehen: Hier sieht der Benutzer, wieviel Blöcke und Inoden er in Benutzung hat und wie seine Quota gesetzt ist.
- Sobald er eine seiner Softlimiten überschreitet, wird in der Spalte grace die noch nicht abgelaufene Grace Period angezeigt.
- Ausserdem wird der Wert, den der Benutzer überschritten hat, durch einen Stern markiert: Hier sieht der Benutzer, dass er sein Inoden-Soft-Limit überschritten hat.
- Die Grace Period dauert nun noch 15.
- Leider wird nicht angezeigt, was für eine Einheit die Grace Period hat.
- Hoffentlich wird dies in zukünftigen Versionen der Quota Software geändert.
Quotacheck
Das Programm quotacheck wurde vorher schon einmal erwähnt. quotacheck erfasst den Platzverbrauch der einzeln Benutzer und Gruppen auf den Partitionen, auf den Quota eingeschaltet ist und schreibt die Ergebnisse in die Dateien quota.user und quota.group.
Repquota
repquota erzeugt eine tabellarische Übersicht über die gesetzen Quota und den Platzverbrauch der Benutzer und Gruppen.
- Die ausführlichste Übersicht erhält man mit Das führt zu folgender Ausgabe:
Quotaon und Quotaoff
Um Quota an- bzw. auszuschalten:
sudo quotaon -a sudo quotaoff -a
Quotacheck
Quotacheck scannt das Dateisystem nach der aktuellen Plattenauslastung:
sudo quotacheck -avugm quotacheck: Scanning /dev/sda1 [/] done quotacheck: Checked 22685 directories and 177183 files
Repquota
Repquota liefert einen Bericht:
sudo repquota / *** Report for user quotas on device /dev/sda1 Block grace time: 7days; Inode grace time: 7days
Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 3770548 0 0 198636 0 0 daemon -- 56 0 0 5 0 0 ... otto +- 102524 95000 120000 6days 7 0 0
Problembehebung
Konfiguration
Das System auf Quota vorbereiten
Kernelkonfiguration
Bei der Kernelkonfiguration muss man auf die Frage mit y antworten.
Kompilieren und Installieren der Quota Software
Den Source von der Quota Software findet man unter [./Ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/ ftp.funet.fi:/pub/Linux/PEOPLE/Linus/subsystems/quota/]Eventuell ist es günstiger, die Software von einem Mirror zu laden, da obengenannter Server die meiste Zeit überlastet ist.
Anpassen der /etc/fstab
Auf einem System, auf dem Quota noch nie zum Einsatz kam, sieht die /etc/fstab normalerweise so aus: Falls man Benutzerquota einsetzen möchte, muss man die Option usrquota einsetzen; das Ergebnis könnte dann zum Beispiel so aussehen: Falls man Gruppenquota einsetzen möchte, muss man die Option grpquota einsetzen; das Ergebnis könnte dann zum Beispiel so aussehen: Falls beide obengenannten Optionen benötigt werden:
Erstellen der Dateien quota.user und quota.group
Auf den vorhergehenden Seiten wurde erwähnt, das es Benutzerquota und Gruppenquota gebe und das die Quota für jede Partition einzeln überwacht werde.
- Aus diesen Gründen muss man für jede zu überwachende Partition zwei Dateien erstellen.
- Auch wenn nur Benutzerquota oder Gruppenquota zum Einsatz kommen, muss man zwei Dateien haben.
Diese zwei Dateien müssen im Wurzelverzeichnis der Partition sein und quota.user und quota.group heissen.
- Am besten setzt man die Zugriffsrechte so, das nur root die Datei lesen und schreiben darf, ansonsten könnten andere Benutzer die Quota ändern.
- Die Dateien erstellt man so: In dem Beispiel wird davon ausgegangen, dass die zu überwachende Partition unter
/partitiongemountet ist. - Das man diese Operation als root durchführen muss, muss wohl nicht speziell erwähnt werden.
Nachträglich eine Partition einbinden
Falls man alle Quota schon gesetzt hat, und eine weitere Partition einbinden will, so müssen nur die Schritte in den Abschnitten Anpassen der /etc/fstab und Erstellen der Dateien quota.user und quota.group für die einzubindende Partition durchgeführt werden.
- Dann kann man die Quota wie im Abschnitt Setzen der Quota beschrieben anpassen.
Änderungen wirksam machen
Nun könnte man einfach das System rebooten, um die Änderungen wirksam zu machen.
- Aber wir betreiben ja ein Linux System und da geht fast alles ohne neu zu booten.
- Um die Quotas nun tatsächlich zu aktivieren, genügt es, einfach die entsprechende Partition unzumounten und wieder zu mounten.
- Einfacher geht dies indem man
mountmit der Option -o remount aufruft. - Beispielweise: Im Falle des Wurzelverzeichnisses ist dies sogar die einzige Möglichkeit, da wir
/nicht einfach im laufenden Betrieb unmounten können.
Sollen in Zukunft weitere Dateisysteme mit Quotas versehen werden, müssen nur noch die Schritte, die in den Abschnitten Erstellen der Dateien quota.user und quota.group, Nachträglich eine Partition einbinden sowie Änderungen wirksam machen beschrieben werden, ausgeführt werden.
Dateien
| Datei | Beschreibung |
|---|---|
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks
TMP
Disk Quota (englisch disk ‚Festplatte‘ und quota ‚Anteil‘, ‚Kontingent‘) sind Begrenzungen des Speicherplatzes auf Datenträgern für Benutzer oder Benutzergruppen