Häufig ist es erforderlich, eine heruntergeladene oder hochgeladene ZIP-Datei (beispielsweise ein WordPress-Theme, eine Website-Sicherung oder das Installationspaket einer Anwendung) in ein bestimmtes Verzeichnis auf dem Server zu entpacken. Dazu müssen Sie die Datei nicht auf Ihren eigenen Rechner herunterladen: Sie können sie auch über SSH in der Befehlszeile in das ausgewählte Verzeichnis entpacken.
Installation von unzip
ZIP-Dateien werden mit dem Befehl „unzip“ entpackt. Dieser ist auf vielen Systemen standardmäßig installiert, fehlt jedoch häufig bei minimalen Serverinstallationen; auf dem Cloud-Image von AlmaLinux 10 waren beispielsweise weder „unzip“ noch „zip“ vorhanden. Falls der Befehl die Fehlermeldung „command not found“ ausgibt, installieren Sie ihn bitte:
sudo apt install unzip # Debian, Ubuntu
sudo dnf install unzip # AlmaLinux, Rocky Linux
Auf Shared Hosting ist „sudo“ nicht verfügbar; dort steht „unzip“ in der Regel bereits zur Verfügung.
Entpacken in einen angegebenen Ordner
Standardmäßig entpackt „unzip“ die Datei in das aktuelle Verzeichnis. Mit dem Schalter -d können Sie den Zielordner angeben:
unzip fontosfajl.zip -d /var/www/teszt
Wenn das Zielverzeichnis nicht existiert, legt „unzip“ es an, jedoch nur die unterste Ebene. Wenn auch die übergeordneten Verzeichnisse nicht vorhanden sind, bricht der Befehl mit der Fehlermeldung „checkdir: cannot create extraction directory: … No such file or directory“ ab (so war es im Test). In diesem Fall erstellen Sie zunächst den gesamten Pfad mit dem Befehl „mkdir -p“:
mkdir -p /var/www/teszt/uj/mappa
unzip fontosfajl.zip -d /var/www/teszt/uj/mappa
Inhalt vor dem Entpacken anzeigen
Es empfiehlt sich, zunächst einen Blick in das Archiv zu werfen, da viele ZIP-Dateien einen eigenen Stammordner enthalten (z. B. „sablon/“), wodurch die Dateien eine Ebene tiefer liegen, als Sie erwarten würden:
unzip -l fontosfajl.zip
Nützliche Links
-o: Überschreibt vorhandene Dateien ohne Rückfrage.-n: Vorhandene Dateien werden niemals überschrieben, es werden lediglich die fehlenden Dateien entpackt.-q: stiller Modus, die Dateien werden nicht einzeln aufgelistet.-j: Die Verzeichnisstruktur wird ignoriert, alle Dateien werden direkt in den Zielordner kopiert.- Entpacken einer einzelnen Datei:
unzip fontosfajl.zip wp-config.php -d /tmp/. Geben Sie den Pfad der Datei genau so an, wie er vonunzip -laufgelistet wird: Wenn sich im Archiv ein Stammverzeichnis befindet, beispielsweiseoldal/wp-config.php. Mit dem Schalter-jwird die Datei ohne Verzeichnisstruktur direkt in das Zielverzeichnis kopiert.
Wenn Sie weder die Option -o noch die Option -n angeben und im Zielverzeichnis bereits eine Datei mit demselben Namen vorhanden ist, fragt unzip bei jedem Namenskonflikt nach ([y]es, [n]o, [A]ll, [N]one, [r]ename).
Überprüfung und Berechtigungen
Nach dem Entpacken können Sie die Dateien mit dem Befehl „ls -la /var/www/teszt“ überprüfen. Wenn Sie als root-Benutzer in das Verzeichnis einer Website entpackt haben, gehen die Dateien in den Besitz von root über, und der Webserver kann sie nicht schreiben. Legen Sie den richtigen Eigentümer und die entsprechenden Berechtigungen mit den Befehlen „chmod“ und „chown“ fest.
Häufige Fehler
- „
End-of-central-directory signature not found“: Die Datei ist beschädigt oder wurde nicht vollständig heruntergeladen, möglicherweise liegt sie auch gar nicht im ZIP-Format vor. Der Befehl „file fontosfajl.zip“ zeigt den tatsächlichen Dateityp an: Handelt es sich beispielsweise um einHTML document, wurde beim Herunterladen anstelle der Datei eine Fehlerseite angezeigt. Eine unvollständige ZIP-Datei wird vom Befehl „file“ jedoch ebenfalls als ZIP angezeigt (im Test wurde sogar ein halbiertes Archiv als „Zip archive data“ angezeigt); vergleichen Sie in diesem Fall die Größe mit der des Originals und laden Sie die Datei erneut herunter. - Der Speicherplatz ist erschöpft: Die entpackte Datei kann deutlich größer sein als die ZIP-Datei. Überprüfen Sie zuvor den verfügbaren Speicherplatz mit dem Befehl „
df -h“.