Ta bort inledande katalog när man packar upp ett tar-arkiv

Ibland innehåller ett tar-arkiv mer kataloginformation än man skulle vilja. Ett exempel är om man vill lägga flera wordpressinstallationer i olika underkataloger i en baskatalog. En titt i tar-arkivet ger följande:

$ tar ztvf latest.tar.gz

drwxr-xr-x www-data/www-data 0 2012-09-06 21:43 wordpress/
-rw-r--r-- www-data/www-data 19929 2012-05-06 09:28 wordpress/license.txt
-rw-r--r-- www-data/www-data  4264 2011-12-14 00:45 wordpress/wp-activate.php
-rw-r--r-- www-data/www-data 29084 2012-06-26 20:53 wordpress/wp-login.php
-rw-r--r-- www-data/www-data  9177 2012-09-04 01:23 wordpress/readme.html
[...]

Av detta ser man att alla filer kommer att packas upp i underkatalogen wordpress.

Detta blir ett problem om man redan har en sådan katalog och man inte vill skriva över denna. Ett alternativ är att skapa den underkatalog man vill ha, packa upp tar-filen i denna och sedan flytta filerna manuellt frå underkatalog/wordpress till underkatalog. Ett bättre sätt är dock att använda flaggan --strip-components=N. Denna tar bort de N inledande katalogerna vid uppackning.

Lösningen blir därför att skapa önskad underkatalog, gå in i denna och sedan packa upp tar-arkivet med flaggan --strip-components=1 efter filnamnet enligt följande exempel:

$ cd underkatalog
underkatalog$ tar ztvf latest.tar.gz --strip-components=1

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s