Ich habe eine tar.gz-Datei, insbesondere: http://download.oracle.com/otn-pub/java/jdk/8u20-b26/jdk-8u20-linux-x64.tar.gz . Ich werde es herunterladen, ändern und in meinem eigenen Repository ablegen.
Ich möchte den Namen des Stammverzeichnisses ändern, das extrahiert wird, ohne es tatsächlich zu extrahieren, zu ändern und dann manuell in separaten Befehlen zu komprimieren. Dies ist so, dass jeder, der es in Zukunft extrahiert, meinen angegebenen Ordnernamen hat.
Ich weiß, dass ich das benutzen kann --transform
Option, aber das ist NICHT Ich möchte, dass meine Benutzer diese Option nicht angeben müssen.
Ist das möglich?
Wenn nicht, gibt es einen Einzeiler, der das Extrahieren, Ändern und Komprimieren so ausführt, dass die Berechtigungen oder die Struktur usw. nicht geändert werden.
download && extract && mv folder_old folder_new
? Können Sie den Anwendungsfall beschreiben?Antworten:
Hier ist dein Einzeiler, RUN AS ROOT oder mit
sudo
um Berechtigungen usw. zu erhaltengunzip -c jdk-8u20-linux-x64.tar.gz | tar --transform=EXPRESSION xf - ; tar cf fixed.tar DIRNAME ; gzip fixed.tar
Es tut mir leid, ich kann Ihnen nicht helfen, wie der EXPRESSION / DIRNAME lauten soll, nur nicht genug Informationen in der Frage, um dort helfen zu können.
quelle