Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Hallo,
ich möchte ein Verzeichnis mit absolutem Pfadnamen in ein Tarfile packen. Allerdings schneidet das Tarfile immer den ersten "/" vorne ab - so dass der Pfad ein relativer wird:
warum ist das die Aufgabe beim Entpacken? Wenn ich das Tarfile wieder auspacke, möchte ich mich eigentlich nicht drum kümmern müssen, wo ich das auspacke. In meinem Beispiel müsste ich es immer im Root-Verzeichnis auspacken, ansonsten generiere ich ja einen neuen Verzeichnisbaum...??
Oder verstehe ich dich da falsch?
@api: Im allgemeinen möchte man keine Archive, die egal wo man sie entpackt, Dateien irgendwo an feste Pfade entpacken. Das ist bestenfalls nervig, und schlimmstenfalls ein Sicherheitsrisiko. Wenn ich etwas auf meinem System entpacke, möchte ich die Sicherheit haben, dass da nicht irgendwo, ohne das ich das merke, Konfigurationsdateien von mir überschrieben werden können, die nicht unterhalb des aktuellen Verzeichnisses liegen.
@BlackJack: Diese Haltung ist ja auch durchaus verständlich. Aber eigentlich erwarte ich von einer Umgebung (in diesem Fall jetzt das Python-Modul "Tarfile") das ich selbst entscheiden kann, ob ich eine Datei mit absolutem Pfadnamen einpacke.
Ich bewege mich normalerweise unter Solaris UNIX und kann dort mit dem "tar"-Befehl jegliche Art von Daten einpacken (auch ab Root). Deswegen wäre ich davon ausgegangen, dass das mit "Tarfile" auch möglich ist. Es müsste ja nicht der Default sein, aber ein Parameter wäre schon wünschenswert.
Um es vielleicht noch etwas verständlicher zu machen, was ich eigentlich damit bezwecke: Ich habe ein Verzeichnis, in dem ich Änderungen vornehmen will. Um dieses nun zu sichern, verwende ich "tar" bzw. wollte ich "Tarfile" verwenden. Und wenn meine Änderungen nun wieder rückgängig gemacht werden sollen, weil es eben doch nur ein schlechter Versuch war, so kann ich einfach das tar-File wieder auspacken (vorher lösche ich das Verzeichnis) - somit sollte das Verzeichnis natürlich wieder an der gleichen Stelle entpackt werden. Um zu verhindern, dass das Verzeichnis irrtümlicherweise woanders entpackt wird, ist der absolute Pfad im tar-File.
Aber deinen Äusserungen entnehme ich, dass das Tarfile so etwas nicht kann?!
@api: Das geht anscheinend nicht. Ist IMHO auch gut so, weil viel zu gefährlich. GNU Tar erzeugt Archive mit solchen Pfaden nicht und weigert sich auch, sie ohne weiteres zu entpacken. Gleiches gilt AFAIK auch für bsdtar, also unter anderem auf MacOS.
@BlackJack: War mir gar nicht bewusst, dass anscheinend doch relativ viele tar-Prgs dieses inzwischen unterbinden.
Man kann es ja auch umgehen, indem man dieses selbst beim Auspacken regelt - das ist ja nicht weiter wild. Aber ich war es halt so gewohnt, mich darum nicht kümmern zu müssen. Ausserdem schaue ich vor dem Entpacken immer in ein tar-File hinein bevor ich es entpacke - wer weiss, was da so alles auf einen zukommt...
Aber ok. So weiss ich nun wenigstens, dass es mit "Tarfile" nicht geht und brauch nicht weiter rumprobieren...