
Hola chicos, me preguntaba cómo puedo comprimir 7z tar o simplemente comprimir un directorio como este /var/Backups/Tones. El gzip normal no lo hará porque Tones es un directorio y este sitio ss64.com/bash realmente no lo dice. Mucho y he buscado en Google, pero de lo que esas personas están hablando es de computadora, no de dispositivos móviles, y también me gustaría proteger el archivo con contraseña, si es posible. Si ayuda a alguien, estoy usando bash para hacer esto.
Esto se usará en un iDevice como iPad, iPhone y iPod cuando se haga jailbreak; Tienen 7z gzip y tar.
Ok, obtuve la compresión para que el directorio funcione usando esto:
#!/bin/bash
cd /var/Backups
7z a -p{example} Tones.tar.7z
Mi problema ahora es que cuando voy a extraer ese archivo en mi iPhone ni siquiera me pide una contraseña. ¿Estoy haciendo algo mal?
Respuesta1
Tienes varias opciones.
7z
tar -cf tarfile.tar path/to/files/
7z a tarfile.tar.7z tarfile.tar
Esto crearía tarfile.tar.7z
. Para ayudar con la limpieza, si lo tiene instalado, puede usar:
p7zip tarfile.tar
en cambio.
En cuanto a la protección con contraseña, esa no es una opción ni de tar
ni p7zip
. Si se siente cómodo usando el 7z
comando, puede darle una -p{password}
opción, según la página del manual.
7z a -p{password} tarfile.tar.7z tarfile.tar
Esto se deja tarfile.tar
en su lugar, por lo que tendrás que limpiar con algo como:
if 7z q -p{password} tarfile.tar.7z tarfile.tar; then
rm tarfile.tar
fi
Una opción más sencilla puede ser comprometer la compresión y simplemente utilizarCREMALLERAcon la -9
opción de la mayor compresión que pueda reunir.
Tenga en cuenta que esto no es tan seguro como un esquema diseñado adecuadamente usando PGP o GnuPG, por lo que si puede descubrir ese método (y la complejidad no compromete su seguridad), estará más adelante. Leer acerca dePGPoGnuPG, los cuales harán lo que necesita.
zip
Al igual que 7z, no podrás proteger tu tar con contraseña con una sola línea de comando. Además, el gzip
comando tampoco proporciona ninguna protección con contraseña. Entonces esto también te obliga a utilizar un segundo paso:
tar czf - path/to/files/ | openssl enc -aes-256-cbc -e > tarfile.tar.gz.enc
Leer eldocumentación para opensslpara saber cómo hacer que no solicite una contraseña en la línea de comando. O:
tar czf tarfile.tar.gz path/to/files/
gpg --encrypt tarfile.tar.gz
Tenga en cuenta que necesitará configurar gpg antes de que esto funcione.
Puede haber (o "ciertamente hay") otras formas de hacer esto. Es posible que desee tratar esto como un punto de partida para futuras investigaciones propias.
cremallera
Si el zip
comando está incluido en su iDevice con jailbreak, puede usar un comando como:
zip -e -P{password} zipfile.zip path/to/files/
Tenga en cuenta que la página de manual de zip dice sobre la -P
opción:ESTO ES INSEGURO. Continúa diciendo,Cuando la seguridad es realmente importante, utilice un cifrado fuerte como Pretty Good Privacy en lugar del cifrado estándar relativamente débil que proporcionan las utilidades zipfile.
Cualquiera de estos comandos se puede colocar en un script. Si desea ayuda para escribir el guión, publique lo que tiene hasta ahora para que podamos brindarle comentarios.
Eso es todo lo que tengo.
Respuesta2
tar czf your_dir.tgz your_dir/
creará un archivo comprimido que la mayoría de los demás programas zip pueden al menos comprender y descomprimir si es necesario.
Sin embargo, para la protección con contraseña, no hay soporte directo en tar/gzip. Utilice la solución propuesta por ghoti o configure GPG/PGP y cifre el tar antes de comprimirlo.