Tutoriel Linux

Crear un archivo 7z en Linux cuando un ZIP se queda corto

Débutant4 min de lecture

Un ZIP es suficiente para intercambiar algunos documentos. Tan pronto como una carpeta se vuelve pesada, hay que limitar el tamaño del archivo o ocultar los nombres que contiene, el formato 7z se vuelve más interesante. Lo utilizaría para preparar un lote para transferir o archivar una copia de trabajo, no como única copia de seguridad.

El procedimiento consiste en cuatro controles: identificar el comando instalado, crear el archivo sin eliminar las fuentes, leer su contenido y luego probarlo antes de eliminar o enviar cualquier cosa.

Tux organiza carpetas en un archivo seguro para ilustrar la creación de un archivo 7z en Linux
Un archivo 7z se verifica antes de la transferencia o eliminación de los archivos fuente.

Verificar el comando y preparar la carpeta

En Debian o Ubuntu recientes, el paquete 7zip generalmente proporciona 7zz. Instalaciones más antiguas a veces usan p7zip-full y el comando 7z. Comience por ver qué está realmente disponible:

command -v 7zz || command -v 7z
7zz i 2>/dev/null || 7z i

Si ningún comando responde, instale el paquete adecuado para su distribución. En Debian o Ubuntu, comience por actualizar el índice y luego instale 7zip:

sudo apt update
sudo apt install 7zip

Trabaje desde el directorio padre de la carpeta a archivar. Evitará un archivo lleno de rutas absolutas y verá de inmediato el volumen afectado. También verifique el espacio disponible en el destino:

du -sh proyecto
 df -h .

Crear un archivo 7z manteniendo los archivos fuente

Colóquese en la carpeta que contiene proyecto, y luego cree el archivo. El comando a agrega los archivos. No elimina la carpeta fuente, a menos que le pida explícitamente un comportamiento diferente.

7zz a respaldo-proyecto.7z proyecto/

Con el comando antiguo, simplemente reemplace 7zz por 7z. El nivel predeterminado es adecuado en la mayoría de los casos. Para priorizar la velocidad en un servidor ya cargado, agregue -mx=3. El nivel -mx=9 consume más CPU y no siempre reduce lo suficiente el tamaño para justificar la espera.

Para dividir el archivo en volúmenes de 2 Gio destinados a un soporte o un envío limitado, use -v2g:

7zz a -v2g respaldo-proyecto.7z proyecto/

Conserve todos los archivos .001, .002 y siguientes en la misma carpeta. El primer volumen se utiliza para la prueba y extracción.

Cifrar el archivo sin exponer la contraseña

Evite -pmotdepasse directamente en la línea de comando: Bash la guarda a menudo en el historial y puede aparecer en la lista de procesos. Pase -p sin valor para que 7-Zip solicite el secreto de manera interactiva. Agregue -mhe=on para cifrar también los nombres de los archivos.

7zz a -p -mhe=on respaldo-proyecto-privado.7z proyecto/

Un archivo cifrado no reemplaza una copia de seguridad. Si pierde la contraseña o la clave de almacenamiento, el contenido se vuelve inutilizable. Para secretos empresariales, mantenga una política de cifrado y recuperación distinta de este comando puntual.

Listar, probar y luego extraer en una copia

Antes de una transferencia o limpieza, primero controle el contenido. l lista los archivos, t verifica la integridad del archivo. Estos dos comandos evitan descubrir un archivo incompleto después de haber eliminado la carpeta original.

7zz l respaldo-proyecto.7z
7zz t respaldo-proyecto.7z

Luego pruebe una extracción en un directorio vacío. Mantenga la carpeta fuente intacta hasta esta etapa:

mkdir -p /tmp/prueba-7z
7zz x respaldo-proyecto.7z -o/tmp/prueba-7z
find /tmp/prueba-7z -maxdepth 2 -type f | head

Para una transferencia importante, calcule también un hash del archivo y compárelo después de la copia:

sha256sum respaldo-proyecto.7z > respaldo-proyecto.7z.sha256
sha256sum -c respaldo-proyecto.7z.sha256

El formato 7z se utiliza para empaquetar y comprimir. Para una copia de seguridad regular con restauración comprobada, también se necesita un destino independiente y una rotación. Si solo necesita crear o extraer un archivo estándar de Unix, la guía tar en Linux sigue siendo más adecuada para los flujos actuales.