Tengo que crear un archivo con el comando gzip (no tar, es necesario) y el archivo debe contener archivos de otro directorio, por ejemplo, /etc. Intenté usar el comando
gzip myetc.gz /etc
Pero no funcionó.
Respuesta1
gzip
Funciona con archivos, no con directorios. Por lo tanto, para crear un archivo de un directorio, debe usar tar
(lo que creará un único tarball a partir de varios archivos):
tar cvf myetc.tar /etc
o, para un archivo comprimido con gzip:
tar cvzf myetc.tar.gz /etc
Respuesta2
Gzip funciona sólo con un único archivo o una secuencia: datos canalizados a gzip. Entonces, primero necesitas generar un archivo, como con tar, y luego puedes comprimirlo. La otra opción es comprimir todos los archivos individuales y luego convertirlos en un solo archivo.
Ambas soluciones son estúpidas y no deberían utilizarse. Deberías usar tar con la opción de compresión incorporada y hacerlo todo con un solo comando.
Respuesta3
Si realmente no tienes tar disponible, puedes usar gzip para crear una copia de seguridad de un directorio usando la opción (-r - recursivamente), pero tal vez no sea exactamente lo que esperas...
Primero deberá copiar su directorio con otro nombre, si desea mantener el directorio original intocable.
#cp -a directory my_gzip_alone_backup
En segundo lugar, comprimirá todos los archivos del directorio de forma recursiva (-r).
#gzip -r my_gzip_alone_backup
Ahora echemos un vistazo al interior de my-gzip-alone-backup. No tendrá un solo archivo myfile.gz como esperaba, sino muchos archivos comprimidos con gzip de forma recursiva. Pero no es bueno hacer eso con etc debido a los enlaces simbólicos...
Para descomprimir el directorio se puede aplicar la misma lógica con gunzip.
Otra forma es convertir el directorio en un solo archivo, si no tienes tar para hacerlo, pero tienes la utilidad dd, como se demuestra en esta publicación:https://askubuntu.com/questions/626634/convertir-un-archivo-a-directorio