Il mio obiettivo è ottenere il helm binario da helm-v2.5.0-linux-amd64.tar.gz nel mio /usr/local/bin nel minor numero di passaggi possibile. La sfida è che il .tar.gz contiene il file binario in un linux-amd64 sottodirectory.
Quindi, quando faccio questo:
$ wget -P /tmp https://storage.googleapis.com/kubernetes-helm/helm-v2.5.0-linux-amd64.tar.gz
$ tar -xzvf /tmp/helm-v2.5.0-linux-amd64.tar.gz -C /usr/local/bin linux-amd64/helm
Finisco con /usr/local/bin/linux-amd64/helm invece di /usr/local/bin/linux-amd64/helm .
C'è un tar parametro mi manca o devo includere alcuni mv e passaggi di pulizia?
Risposta accettata:
Devi utilizzare --strip-components=NUMBER :
--strip-components=NUMBER
Strip NUMBER leading components from file names on extraction.
il che significa che il tuo comando dovrebbe assomigliare a questo:
tar -xzvf /tmp/helm-v2.5.0-linux-amd64.tar.gz -C /usr/local/bin --strip-components=1 linux-amd64/helm