O que significa essa mensagem quando estamos usando tar para criar um tarball no Linux?
/usr/bin/tar: Removendo "/" inicial dos nomes dos membros
Saiba que isso não é um problema. Você não deseja barras iniciais em um arquivo tar. Seriamente! 🙂 Se você deseja extrair um arquivo para a raiz do sistema, especifique -C / ao extraí-lo.
Essa é uma escolha e atitude sábia da ferramenta tar.
Solução Alternativa
Vá para o diretório pai e execute o comando lá. Isso também vale se estiver executando dentro de um script o comando:
Ao invés de fazer assim:
tar -czf /var/www/meusite.gz /var/www/meusite
Faça isso:
cd /var/www/
tar -czf meusite.gz meusite
Mas se Eu Quiser Deixar o / Mesmo Assim?
para deixar o / use a opção –absolute-names ou -P para desativar esse recurso do tar.
tar fczP bkup.tar.gz /home/foo
tar fcz bkup.tar.gz --absolute-names /home/foo
Conclusão
Isso é realmente um recurso, não um problema. Arquivos com localizações absolutas são um risco de segurança. Os invasores podem usar esses arquivos para induzir os usuários a instalar arquivos em locais críticos do sistema.
Sim, você pode usar -P. Mas o que há de errado em permitir que o tar remova a barra e simplesmente exigir que o usuário do arquivo faça explicitamente a extração no diretório raiz?