Mi objetivo es conseguir el helm binario de helm-v2.5.0-linux-amd64.tar.gz en mi /usr/local/bin en el menor número de pasos posible. El desafío es que el .tar.gz El archivo contiene el binario en un linux-amd64 subdirectorio.
Así que cuando hago esto:
$ 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
Termino con /usr/local/bin/linux-amd64/helm en lugar de /usr/local/bin/linux-amd64/helm .
¿Hay un tar parámetro que me falta o necesito incluir algunos mv y pasos de limpieza?
Respuesta aceptada:
Debe usar --strip-components=NUMBER :
--strip-components=NUMBER
Strip NUMBER leading components from file names on extraction.
lo que significa que su comando debería verse así:
tar -xzvf /tmp/helm-v2.5.0-linux-amd64.tar.gz -C /usr/local/bin --strip-components=1 linux-amd64/helm