Tenho que criar um arquivo com o comando gzip (não tar - é necessário) e o arquivo deve conter arquivos de outro diretório - por exemplo, /etc. Eu tentei usar o comando
gzip myetc.gz /etc
Mas não funcionou.
Responder1
gzip
funciona com arquivos, não com diretórios. Portanto, para criar um arquivo de um diretório que você precisa usar tar
(que criará um único tarball a partir de vários arquivos):
tar cvf myetc.tar /etc
ou, para um arquivo compactado:
tar cvzf myetc.tar.gz /etc
Responder2
O Gzip funciona apenas com um único arquivo ou um fluxo de dados canalizados para o gzip. Então você primeiro precisa gerar um arquivo, como no tar, e então você pode compactar ele. A outra opção é compactar todos os arquivos individuais e, em seguida, compactar tudo em um arquivo.
Ambas as soluções são estúpidas e não devem ser usadas. Você deve usar tar com a opção de compactação integrada e fazer tudo em um comando.
Responder3
Se você realmente não tem o tar disponível, você pode usar o gzip para criar um backup de um diretório usando a opção (-r - recursivamente), mas talvez não seja exatamente o que você espera...
Primeiro você precisará copiar seu diretório para outro nome, se quiser manter o diretório original intocável.
#cp -a directory my_gzip_alone_backup
Segundo, você compactará todos os arquivos do diretório recursivamente (-r).
#gzip -r my_gzip_alone_backup
Agora vamos dar uma olhada dentro do my-gzip-alone-backup. Você não terá um único arquivo myfile.gz como espera, mas muitos arquivos compactados recursivamente. Mas não é bom fazer isso com etc por causa dos links simbólicos...
Para descompactar o diretório a mesma lógica pode ser aplicada com gunzip.
Outra forma é converter o diretório em um único arquivo, caso você não tenha tar para fazer isso, mas tenha o utilitário dd, como demonstrado neste post:https://askubuntu.com/questions/626634/converting-a-file-to-directory