Login
Newsletter
Fr, 11. April 2003, 09:10

Entpacken von typischen Windows-Archiven in der Shell

Insbesondere, wenn man WINE benutzt, um völlig legal Spiele zu spielen, muss man eventuell mal ein typisches Windows-Archiv entpacken, um an entsprechende NoCD-Patches zu kommen.

Von Barross

Wer nun glaubt, daß man ACE, RAR und ZIP nicht unter Linux entpackt bekommt, hat weit gefehlt.

Zunächst benötigen wir die eigentlichen Entpacker:

  • unace
  • unrar
  • unzip

Fündig wird man bei unace auf FreshMeat, dort findet man einen Link zu einem tar.gz-Archiv mit der entsprechenden ausführbaren Datei, welche man entpackt und nach /usr/local/bin kopiert. Die anderen beiden kann man bei Debian mittels apt-get ziehen oder für RPM-basierte Systeme auf rpmseek.com suchen lassen und installieren.

Nun hätten wir am liebsten noch einen einzigen Befehl, mit dem man einfach alle Archive unkompliziert entpacken kann, dazu erstellen wir uns ein kleines Shellskript:

#!/bin/sh
while [ x"$1" != x ]; do
 case "$1" in
 *.tar.gz | *.tgz )
 tar -xzf "$1"
 shift
 ;;
 *.tar.bz2 | *.tbz )
 tar -xjf "$1"
 shift
 ;;
 *.zip)
 unzip "$1"
 shift
 ;;
 *.ace)
 unace e "$1"
 shift
 ;;
 *.rar)
 unrar e "$1"
 shift
 ;;
 *.tar)
 tar -xf "$1"
 shift
 ;;
 *.gz)
 gunzip "$1"
 shift
 ;;
 *.bz2)
 bunzip2 "$1"
 shift
 ;;
 *)
 shift
 ;;
 esac
done

Dieses speichern wir zum Beispiel unter dem Namen "unp", machen es ausführbar mit "chmod +x unp" und kopieren es anschließend auch nach /usr/local/bin. Ab sofort sollte man alle gängigen Archive mit "unp archivdatei.endung" entpacken können (übrigens auch mehrere auf einmal).

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten