7z

7z

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 tarni p7zip. Si se siente cómodo usando el 7zcomando, 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.taren 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 -9opció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 gzipcomando 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 zipcomando 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 -Popció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.

información relacionada