sonnenblen.de - Das unabhängige Sun User Forum

Betriebssysteme => Solaris => Thema gestartet von: linus83 am 14. Juni 2010, 10:46:46

Titel: /var läuft voll
Beitrag von: linus83 am 14. Juni 2010, 10:46:46
Hallo,

bei mir läuft auf einem Solaris 10 /var voll. Die beiden größten "Platzfresser" sind /var/sadm/pkg und /var/adm/wtmpx. Beides ist um die 2,5 GB groß.

Was kann man aus /var/pkg löschen?
/var/adm $ find /var/sadm/pkg -name obsolete.Z -exec du -h {} \; Die Pakte die hier raus kommen, sollten doch löschbar sein, ohne das man sie bei einem update oder downgrade einmal benötigt, oder? Auch wenn das nur um die 200 MB sind. Oder kann man den gesamten Inhalt von /var/pkg löschen?

Kann man wtmpx auch via logadm rotieren und auch löschen lassen? Ich habe mal die manpage zu logadm gelesen Ich würde folgendes in die /etc/logadm.conf hinzufügen:

/var/adm/wtmpx -C 10 -o adm -g adm -m 664 -s 100m -t '$file_%Y-%m-%d_%H:%M' -z 1

Das soll die File auf 100 MB anwachen und dann wird es rotiert und komprimiert. Ich lasse immer 10 Versionen liegen und dann werden jeweils die ältesten gelöscht.

Muss ich irgendwas neu starten, damit logadm seine neue Konfiguration einließt? Ich kann den Rechner nicht neu starten.

Gruß
Titel: Re: /var läuft voll
Beitrag von: Drusus am 14. Juni 2010, 11:58:57
Moin,

die Aenderung in der  logadm.conf Datei wird sofort wirksam (bei dem naechsten logadm Lauf, d.h. in der Regel per root-crontab einmal nachts). Ein Reboot ist hier nicht notwendig.

Den Inhalt von /var/sadm/pkg kannst du nicht loeschen. Dieser wird vom System benoetigt um z.B. zu erkennen welche Packages und Patches installiert sind. Wenn du das Verzeichnis loescht, so wird kein "showrev -p" oder "patchadd" bzw. "patchrm" mehr gehen.
Die Platzfresser in /var/sadm/pkg sind ueblicherweise die Backout-Daten der Patches (/var/sadm/pkg/<package>/save/<patch-id> sowie /var/sadm/pkg/<package>/pspool/<package>/save/<patch-id>). Diese Daten werden dann benoetigt, wenn du einen Patch wieder entfernen willst (patchrm).
Ein Tool zum Aufraeumen der patchrm-Daten gibt es afaik nicht. Du kannst selektiv einzelne save/<patch-id> Verzeichnisse loeschen (niemals /var/sadm/pkg/<package>/save selber oder irgendwas darueber) aber dann kannst du halt diesen Patch dann nicht mehr per patchrm entfernen. Das klingt erstmal einfach aber die Tuecke steckt im Detail: Selbst wenn ich mir sicher bin, dass ich Patch xyz nie wieder vom System entfernen will, so kann es sein, dass ein anderer Patch eine Abhaengigkeit zu diesem hat. Wenn ich nun die Backout Daten zu xyz loesche, dann kann ich unter Umstaenden nun den anderen Patch auch nicht mehr entfernen.
Alternativ kannst du bei der Patchinstallation gleich ein "patchadd -d" benutzen um die Backout-Daten erst gar nicht anzulegen. In dem Fall wirst du aber den Patch auch nicht wieder per "patchrm" entfernen koennen.

Tschau,
  Drusus.
Titel: Re: /var läuft voll
Beitrag von: linus83 am 14. Juni 2010, 15:38:57
Danke, dann lasse ich /var/sadm/pkg liegen. Das kann ich auch noch auf ein zfs packen und dort hin mounten.


# du -hs /var
 2.6G   /var
# df -h  /var
/dev/dsk/c1t3d0s3      4.9G   4.6G   292M    95%    /var


Ich habe die logs rotiert. Wann bekommt df mit, dass wieder Platz auf dem Device ist?

Gruss
Titel: Re: /var läuft voll
Beitrag von: stiefkind am 15. Juni 2010, 06:26:33
# du -hs /var
 2.6G   /var
# df -h  /var
/dev/dsk/c1t3d0s3      4.9G   4.6G   292M    95%    /var


Ich habe die logs rotiert. Wann bekommt df mit, dass wieder Platz auf dem Device ist?

Sofort wenn der Platz da ist.

Aber: die Ausgaben von du und df müssen nicht zwingend das gleiche Ergebnis zeigen. Warum das so ist, wird in recht ausführlich z. B. hier (http://linuxshellaccount.blogspot.com/2008/12/why-du-and-df-display-different-values.html) beschrieben. Sogar mit Beispielen auf Solaris 10.

wolfgang
Titel: Re: /var läuft voll
Beitrag von: linus83 am 15. Juni 2010, 08:57:00
Danke