Linux Swap Partition leeren und Platten aufräumen

VonChristian Rehkopf

Linux Swap Partition leeren und Platten aufräumen

Wenn man eine Virtuelle Maschine kopieren / verschieben / versenden möchte, ist es durchaus sinnvoll, denn leeren Plattenplatz auch wirklich zu leeren. Das kann einem viel Platz und/oder Bandbreite sparen.

Ich baue derzeit wieder einmal an meinem Universalserver für den Büro-LAN-Einsatz, und da ist mir beim konvertieren in OVF aufgefallen, das das gezippte File größer war, als die Daten, die angeblich auf der Platte in Verwendung sind.

Da ich zu diesem Thema nichts zusammenhängend im deutschsprachigen Web ergugeln (was für ein germanifizierter Anglizismus)  hab ich hier einiges zusammengetragen, es hat bei meiner VM direkt 50% weniger Volumen des gezippten OVF zur Folge gehabt. Und 1,2 zu 2,4 GB ist schon eine Hausnummer, wenn es durch eine DSL-Leitung muss.

Das ganze spielt sich auf der Console mit root-Rechten ab.

1. Installationsverzeichnisse aufräumen, Paketlisten löschen – und nur die aktuellen vorhalten.
Ich verwende einen Ubuntu-Server und apt, es gibt auch zu den anderen Distributionen und Paket-Installern die entsprechenden Befehle. Ich habe nichts selber compiliert, Sourcen löschen entfällt bei mir.
apt-get autoremove
apt-get clean
rm -rf /var/lib/apt/lists/*
apt-get update

Das hatte bei mir  direkt 500 MB weniger Diskusage zur Folge.

2. Leere Plattenbereiche auch wirklich leeren.

Aber die OVF wären damit noch lange nicht kleiner, wir müssen die ehemals verwendeten Bereich mit Nullen beschreiben, damit diese „ordentlich“ gezippt werden können, wir schreiben so lange Nullen in eine Datei, bis die Platte voll ist, und löschen das File dann wieder:
dd if=/dev/zero of=zero.txt;rm zero.txt

Das dudelt eine Weile vor sich hin.

3. Swap-Partition leeren.

Danach haben wir das gleiche Problem (nicht leere Blöcke der Platten) auf dem Swapfile/ der Swap-Partition. Ich verwende Swap-Partitionen, und da ich nicht weiss, welche Partition das ist, schaue ich nach mit

fdisk -l

und bekomme (u.a.)

  Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sda1   *        2048   108877823    54437888   83  Linux
/dev/sda2       108879870   117229567     4174849    5  Erweiterte
/dev/sda5       108879872   117229567     4174848   82  Linux Swap / Solaris


Also /dev/sda5 ist die zu leerende Partition.

[Update]
Sauberer istswapon -sda kommt dann

Filename     Type       Size     Used    Priority
/dev/sda5    partition  2097148  43216   -1


[/Update]

Diese werde ich als Swap-partition deaktivieren, ausnullen und wieder als Swap-Partition aktivieren.
swapoff /dev/sda5
dd if=/dev/zero of=/dev/sda5
mkswap /dev/sda5
swapon /dev/sda5

Und das war’s – 50 % Dateigröße gespart.

Über den Autor

Christian Rehkopf administrator