Aufräumen schafft Platz - Tips zum Sparen von Plattenplatz

Im folgenden eine kurze Sammlung von Tips und Tricks zum Platzsparen, Löschen und Wiederherstellen von Dateien.

Platzbedarf ermitteln
Vorbeugen ist besser als Löschen
Nichtbenötigte Dateien löschen/entleeren
Auslagern von Dateien
Wiederherstellen versehentlich gelöschter Dateien
Komprimieren
Strippen und Linken - andere Wege sich klein zu machen

Platzbedarf ermitteln

df (disk free)gibt die Platzauslastung der verfügbaren(gemounteten) Festplatten an. du (disk usage ermittelt den Platzbedarf (Disk Usage) für Dateien und Verzeichnisse z.B.:

du -s ~ wieviel Platz benötigen alle meine Daten
du -s ~/* wieviel Platz rauben die Verzeichnisse im HOME Verzeichnis jeweils
du -s Verzeichnis das selbe für ein Verzeichnis mit allen seinen Dateien
Die Ausgabe erfolgt in Blöcken, ein Block entspricht hier 1 kB.

ls gibt ebenfalls Informationen über die Größe von Dateien aus.

ls -l langes Ausgabeformat, Filegröße in bytes
ls -s benötigter Plattenplatz der Datei in 1 kB Blöcken

Nicht vergessen, Dateien die mit einem Punkt beginnen z.B. .wastebasket gelten als versteckte (hidden) Dateien, die nur in Verbindung mit der Option a (ls -la) angezeigt werden. Darüber hinaus gibt es Unix-Implementationen (HP-UX appollo Workstations) die darüber hinaus ein hidden Flag für Dateien mittels chmod setzen lassen, diese werden erst mit der Option ls -H angezeigt.
sparse files
Wunderbar, ein core file mit 6 543 210 bytes, weg damit und viel Platz gespart. Huch, nur 64 Kbyte Platz gewonnen? Das war wohl ein sogenanntes sparse (dünn besetztes) File. Kurz erklärt enthält es mehr NUL Zeichen als andere. ls -ls deckt diese riesige Zwerge auf:

ls -ls core
64 -rw-r--r-- 1 mueller 8413616 Feb 4 19:59 core
^^                      ^^^^^^^
Plattenplatz in kB      Groesse in Byte
Kopiert kann sich dieses file allerdings auf die in size angegebene Größe aufblähen(cp -z kann das verhindern).Also aufgepasst, Dateigröße und Plattenbedarf einer Datei sind selten identisch. Gründe sind in der Blockstruktur des Dateisystems (unter DOS heisst das Zauberwort Cluster) zu suchen.

Vorbeugen ist besser als Löschen

Falls Sie es sinnvoll erachten, grosse Dateien garnicht erst entstehen zu lassen, können Sie eine Obergrösse setzen. Es werden dann keine Dateien grösser als die gegebene Grösse angelegt:
Für Nutzer der csh oder tcsh(betrifft fast alle Nutzer):
limit filesize (Groesse)
z.B.: limit filesize 2m     #Dateien groesser als 2 Megabyte werden nicht 
                             auf der Platte gespeichert werden
      limit coredumpsize 0  #Anlegen von core files wird generell unterbunden
Diese Zeilen können in die .cshrc eingetragen werden und gelten somit bei jedem login für jede (C-) Shell. Aufgehoben werden diese Begrenzungen mittels unlimit z.B.: unlimit coredumpsize
Für Nutzer der Korn Shell:
ulimit -f (limit in 512 byte Bloecken)
z.B.: ulimit -f 4000 #max. Dateigroesse ist 2 Mb
      ulimit -c    0 #keine core files erlauben
      
Diese Beschränkungen können nur durch den superuser gelockert werden. (Oder man startet eine neue Shell unter der das Kommando ulimit nicht ausgeführt wird.)

Nichtbenötigte Dateien löschen/entleeren

"Was nicht mehr ist, brummt nicht". Gemäß dieser Spruchweisheit ist Löschen die beste Methode Platz zu schaffen, aber: Gelöschte Dateien sind nicht wiederherstellbar.

Der Befehl zum löschen lautet rm(remove). Gelegentlich reicht es, die Datei zu leeren, meint, die Datei bleibt mit Namen und Rechten erhalten hat aber die Länge 0. Dazu in die Befehlszeile:

cp /dev/null [zu_leerende_Datei]
eingeben.

Im folgenden eine Aufstellung von Filetypen, die meiner Meinung nach als erste gelöscht werden sollten. Natürlich muß man sich erst vergewissern, das sie wirklich nicht mehr benötigt werden. Vorsichtshalber kann man den vermeindlichen Datenmüll erst komprimieren und in der folgenden Woche endgültig in den Bytehimmel schicken.

Backup (Sicherungs-) kopien
Erkennbar an der Endung .bak . Werden meist von Texteditoren angelegt und beinhalten eine Kopie der Datei vor der letzten Änderung und werden unnötig, so bald man mit der Orginaldatei (mit gleichen Namen aber ohne der Endung .bak) zufrieden ist.
Programmlaufzeitinformationen (log files)
Manche Programme sichern Informationen über ihre Arbeit gleich Hochseekapitänen in Logbüchern neudeutsch log-files, kenntlich an der Endung .log. Nett, falls man seine Arbeit mit dem Programm nach Tagen nachvollziehen möchte, aber meist Platzvergeuder, besonders bei Einträgen die Wochen alt sind. Eventuell die alten Einträge löschen oder die gesamte Datei leeren oder löschen.
Papierkorb (.wastebasket)
Der Filemanager bietet die Möglichkeit Daten anstatt zu löschen in das Verzeichnis .wastebasket zu kopieren, um sie bei Bedarf wiederherstellen zu können. Dadurch schwillt der Platzbedarf ständig an. Besser man stellt diese Optrion ab oder löscht regelmässig diesen Ordner.
Netscape cache und Version 1.1 files
Bitte nutzen Sie statt des Browserplattencaches den Laborweiten Proxycache. Erstens ist dieser grösser (150 MB) und bietet eine weite Auswahl schnell ladbarer Dokumente. Ferner könnte sich in Ihrem HOME Verzeichnis noch Konfigurationsdateien äterer Netscapeversionen befinden, die von der Version 2.0 und aufwärts nicht genutzt werden.
Mailfiles
mbox death.letter gelegentlich auf nicht mehr benötigte email absuchen.
xv Icons
Unter dem Menu "Visual Schnauzer" bietet der Bildbetrachter xv die Option "Update Icon" um Bilder als kleine Icons anzuzeigen. Diese werden in einem Verzeichnis namens .xvicons abgelegt. Gelegentlich vergisst xv dieses temporären Dateien zu löschen. Übernehmen Sie das für ihn.
Speicherabzüge (Core dumps)
Nennen sich core, stammen meist von abgestürzten Programmen und sind selten (scheinbar) kleiner als ein Megabyte. Ein Programmierer benötigt diese Bitmonster meist zum Fehlersuche in Programmen, da sich in ihnen eine Kopie des kompletten Inhaltes des vom Programm benutzten Arbeitsspeicher befindet (und mehr).
AUF KEINEN FALL LÖSCHEN
.login,.logout,.Xdefaults,.openwin-init .cshrc .mailtool-init .openwin* .xinitrc
Resourcenfiles
Diese enthalten wichtige Einstellungen(Optionen) für die verschiedensten Programme. Erkennbar sind sie an ihrem Namen der meist mit einem Punkt beginnt und auf rc endet z.B. .mailrc .cshrc .newsrc .xinitrc

Auslagern von Dateien

Was sich nicht mehr im CAE Labor befindet, belastet das Dateisystem nicht mehr. Daher sollten Sie nicht mehr für die Arbeit im CAE Labor notwendige Daten auf Diskette oder andere externe Speichermedien kopieren und von den Festplatten der Workstations löschen. Es gibt 3 Möglichkeiten Dateien einer überlaufenden Platte auszulagern:
Magnetband
Bitte sprechen Sie einen der Techniker an, wenn Sie ihre Daten auf einem Magnetband sichern wollen.
Diskette
Jede Workstation ist mit einem 1,44 MByte 3,5 Zoll Diskettenlaufwerk ausgestattet, so ist ein Einfaches eine handelsübliche Diskette zum Auslagern nicht mehr benötigter Daten zu verwenden. Folgende Befehle sollten Ihnen das Beschreiben der Diskette ermöglichen:
tar
mtools(mwrite,mread ...)
fdformat.
Eh sie womöglich den Computer auseinandernehmen, um den Auswurfknopf für die Diskette zu finden: Es gibt ihn nicht, dafür sind 6 Tasten zu betätigen: e j e c t <Return> . Moderne Technik ist eben nicht immer einfacher :-)
Andere Festplatte
Eine andere Festplatte zu finden ist leichter gesagt als getan. Erstens kann auch diese voll sein, zweitens werden Festplatten vom System im Dateibaum versteckt, soll heissen unter UNIX werden Festplatten an sogenannten Mountpoints in das Verzeichnissbaum eingebaut. Der Befehl mount gibt darüber Auskunft. In der Regel gilt, das das Verzeichniss /tmp eine andere Platte darstellt als die auf der sich das HOME Verzeichnis befindet. Allerdings wird diese Verzeichnis regelmässig aufgeräumt, es gibt also keine Garantie, das sich Dateien beim nächsten login noch dort befinden. Am besten ausprobieren. Für jede Workstation exestiert ein eigenes /tmp Verzeichnis. An dem Computer vorn rechts in das /tmp Verzeichnis kopierte Dateien sind nicht im /tmp auf der Maschiene Mitte rechts, falls man bei der nächsten Sitzung an einer anderen Maschiene arbeitet. Also merken welches /tmp man benutzte und rlogin nicht vergessen. Allerdings benutzen viele Programme das temporäre Verzeichnis für ihre Arbeit. Besser Sie verstopfen es nicht mit Daten, die besser auf Diskette etc. aufgehoben sind. Der Vollständigkeit halber sei noch auf spool Verzeichnisse z.B für email und Druckeraufträge verwiesen, auf die man meist begrenzten Schreibzugriff hat. Einfaches Beispiel: zu sichernde Dateien als attachment im Mail tool oder in der Befehlszeile an sich selbst schicken
mail [mein_user_name] < [name_der_zu_sichernde_datei]
Allerdings ist gerade das Mailverzeichnis ständig übervoll, also benutzt bitte diese Variante der Freundlichkeit wegen nicht.

Wiederherstellen versehentlich gelöschter Dateien

Für UNIX gilt: "Der Tod ist endgültig". Unabhängig von der Relegion des Benutzers sind gelöschte Daten nicht wiederherstellbar. Aber während man von Menschen (noch) keine Kopien am sicheren Ort verwahren kann, lässt sich meist eine Kopie einer älteren Datei weiterverwenden. Änderungen sind zwar verloren, die komplette Neuerstellung bleibt aber glücklicherweise erspart. In regelmässigen Abständen (täglich) werden die Daten eines jeden Nutzers als "incremental backup" (d.h. nur Dateien, die seit der letzten Sicherung bearbeitet wurden werden kopiert) auf Band gesichert. Eine kurze email an den Systemverwalter (root) mit der Bitte um Wiederherstallung des verlorenen Gutes ist schnell geschrieben. Weiterhin kann man mit etwas Glück auch selbst eine Kopie finden, z.B. als temporäre Datei eines Texteditors im Verzeichnis /tmp oder im Verzeichnis /.wastebasket. Vielleicht treibt sich auch irgendwo ein Fenster mit einem offenen Editor rum, in dem sich gerade gelöschte Datei befindet. Oder, oder,||, ..

Komprimieren

Dateien können mittels Komprimierprogramme gepackt werden, heisst, sie enthalten die selbe Information, verbrauchen allerdings weniger Platz und müssen für die weitere Arbeit wieder entpackt werden. Compress ist das weitverbreiteste Ko,prierprogramm:
compress dickesfile     # zum Packen, das komprimierte file erhaelt die Endung .Z
uncompress dickesfile.Z # zum Entpacken
gzip erreicht meist höhere Packungsdichten.
gzip dickesfile       #Packen, das komprimierte file erhaelt die Endung .gz
gzip -9 dickesfile    #hoechste Packdichte
gzip -d dickesfile.gz #entpacken
Für Verzeichnisse sind dieses vorher mittels tar zu archivieren, auf deutsch, das Verzeichnis und alle darin befindliche Dateien und Unterverzeichnisse werden zu einer Datei "verschmolzen" (Selbstverständlich ist dieser Vorgang umkehrbar.) Oder in einem Ruck:
tar clf - dickes_verzeichniss|gzip -c9 > dickes_verzeichnis.tar.gz
   # das Orginalverzeichnis bleibt erhalten
gzip -dc dickes_verzeichniss.tar.gz| tar xf - 
   # stellt das Verzeichnis wieder her 

Strippen und Linken - andere Wege sich klein zu machen

Ohne mit der entsprechende Option kompilierte Programme enthalten noch jede Menge an Informationen, die für die Programmentwicklung nützlich sein mögen aber für die normale Arbeit unnütz sind.
strip programmname entfernt diese.

Symbolische Links sind zusätzliche Namen/Pfade zu einer Datei. Beispiel:

ln -s datei zusaetzliche_name
ln -s ~init/.cshrc ~/.cshrc 
Anstatt ein eigens .cshrc file zu verwenden, nutzen Sie so die Musterdatei. Diese wird nicht in Ihr Nutzerverzeichnis kopiert, sondern erscheint quasi an dieser Stelle zum zweiten Mal.

In vielen UNIX Systemen werden Dateieinträge nie gelöscht, sondern als frei markiert. Ohne tief ins Detail abzusteigen, zu jedem Verzeichnis wird eine Tabelle angelegt in dem die "Namen" der in dieser Verzeichniss befindlichen Dateien eingetragen werden. Beim Löschen einer Datei wird in dieser Tabelle der entsprechende Eintrag als frei markiert, der bei Anlegen einer neuen Datei wieder verwendet werden kann. So wird diese Tabelle nie kleiner, was zwar nur wenige Plattenplatz beansprucht, aber Filezugriffe verlangsamt. Einzige Lösung: dieses Verzeichnis neu anlegen.
z.B.

mv beispieldir beispieldir.zugross
mkdir beispieldir
mv beispieldir.zugross/benoetigte_Datei beispieldir
rm -r beispieldir.zugross


Stand: 29. Mai 96
Volker Urban
spinne@iee1.et.tu-dresden.de
Kommentare,Vorschläge,Kritik und Fragen sind stets willkommen.