Saltar al contenido

Crear archivos

Niveles, códecs, hilos y formatos para arca create, incluidos los nuevos archivos RAR5.

Actualizado el

Salida
arca create <OUT> <INPUTS>... [-l LEVEL] [-c CODEC] [-j THREADS] [-p PASSWORD] [--hide-names]
OpciónValoresPor defectoDescripción
-l, --levelstore · fast · normal · bestnormalNivel de compresión.
-c, --codecauto · store · deflate · zstd · lzma2autoDeflate en .zip, LZMA2 en .7z, .xz y .tar.xz, el compresor RAR en .rar (solo auto o store).
-j, --threadsun número0Límite de hilos ZIP y XZ. 0 usa todos los núcleos; 7z y RAR son secuenciales.
-p, --passwordtextoningunaCifra ZIP o 7z con AES-256. Se rechaza en .rar.
--hide-namesindicadordesactivadoCifra también las cabeceras 7z; exige una contraseña no vacía.

Niveles

Terminal
arca create copy.zip my-files/ -l store    # sin compresión, lo más rápidoarca create copy.zip my-files/ -l fastarca create copy.zip my-files/ -l normal   # el valor por defectoarca create copy.zip my-files/ -l best     # el resultado más pequeño

Códecs

auto elige Deflate para .zip, porque un zip existe para que cualquiera pueda abrirlo. Pide Zstandard explícitamente cuando controlas el lado receptor:

Terminal
arca create copy.zip my-files/ -c zstd

Hilos

Arca usa todos los núcleos por defecto. Fija el número con -j, por ejemplo en ejecutores de CI compartidos:

Terminal
arca create copy.zip my-files/ -j 8arca create copy.zip my-files/ -j 0    # todos los núcleos (el valor por defecto)

El escalado midió 1.79× con dos hilos, 90% de eficiencia, frente a un requisito de diseño (R3) de al menos 1.6×. Consulta benchmarks para ver el comando.

7z

Terminal
arca create copy.7z my-files/ -l normalarca create stored.7z my-files/ -c storearca create secret.7z my-files/ -c lzma2 -p "a password" --hide-names

Los niveles store, fast, normal y best seleccionan Copy o LZMA2 con nivel 1, 6 y 9. -c store prevalece sobre el nivel. 7z solo admite auto, store y lzma2; la selección explícita Deflate/Zstandard se aplica a ZIP, no a 7z. TAR ignora esas opciones y .tar.gz siempre usa gzip; lzma2 se rechaza fuera de 7z. La creación es secuencial independientemente de -j, con un bloque independiente por fichero, sin compresión sólida. Sí se pueden leer archivos sólidos existentes.

7z incluye ficheros y directorios vacíos y rechaza enlaces simbólicos, puntos de reanálisis y ficheros especiales. La creación usa un temporal junto al destino y solo lo sustituye al terminar correctamente; un fallo conserva el destino anterior. La carpeta padre del destino debe existir. Si todas las entradas están vacías, el cifrado 7z exige --hide-names para que se pueda comprobar la contraseña.

RAR

Terminal
arca create backup.rar documents/ notes.txt -l bestarca create stored.rar big.iso -c store

Crea un archivo RAR5 nuevo, de un solo volumen, no sólido y sin cifrar, que UnRAR y 7-Zip oficiales abren. Los cuatro niveles eligen la fuerza del compresor RAR; -c store equivale a -l store y cualquier otro códec explícito se rechaza. La creación es secuencial (-j mayor que 1 se rechaza), guarda ficheros y directorios vacíos y rechaza enlaces simbólicos y ficheros especiales en lugar de seguirlos.

La salida RAR nunca se cifra (-p y --hide-names se rechazan), nunca es un .cbr, nunca es sólida ni multivolumen y nunca reemplaza un fichero existente: el archivo se prepara junto al destino, se verifica con el lector de Arca y solo se publica si el nombre sigue libre. Los RAR/CBR existentes siguen siendo de solo lectura. Los límites y la lista completa de rechazos están en la guía de RAR.

TAR y gzip

Terminal
arca create copy.tar my-files/arca create copy.tar.gz my-files/ -l best

La capa gzip respeta el nivel elegido. TAR no tiene dónde poner el cifrado, así que -p se rechaza para .tar y .tar.gz.

XZ

Terminal
arca create copy.tar.xz my-files/ -l best   # también vale .txzarca create notes.txt.xz notes.txt          # un fichero, sin contenedor

Un .xz es un flujo comprimido, no un archivo: guarda los bytes de un único fichero, sin nombre, fecha ni carpeta. Arca rechaza una carpeta o más de una entrada y sugiere .tar.xz, que mete un TAR dentro del flujo XZ. Al extraer notes.txt.xz se escribe notes.txt; si el fichero no lleva el sufijo, se le añade .out.

Los niveles corresponden a presets de xz: store es el preset 0, fast el 1, normal el 6 y best el 9. Incluso el preset 0 comprime con LZMA2, porque XZ no tiene modo sin compresión. Como códec solo se admiten auto y lzma2, y -p y --hide-names se rechazan. La salida lleva una comprobación CRC64 que xz y tar -J verifican.

-j fija cuántos bloques se comprimen a la vez. Cada hilo necesita la memoria de su preset, así que Arca usa tantos como quepan en 2 GiB (uno con best, hasta 14 con normal) e indica cuántos ha usado. Con más de uno, el flujo se divide en bloques independientes, lo que cuesta un poco de ratio. La lectura es un único flujo secuencial. La creación escribe un temporal junto al destino y solo lo renombra si termina bien.

Qué se guarda

  • Los directorios se recorren de forma recursiva en orden alfabético, así que la misma entrada siempre produce el mismo orden de entradas.
  • Las rutas se guardan relativas al padre de cada entrada: arca create a.zip ~/work/site guarda las entradas como site/….
  • Se preservan las fechas de modificación.
  • ZIP/TAR añaden ficheros normales y omiten enlaces simbólicos. 7z y RAR también conservan directorios vacíos y rechazan enlaces simbólicos (ver arriba).

Cifrar al crear

Terminal
arca create secret.zip folder/ -p "a password"

Consulta Cifrado para conocer el esquema, sus garantías y sus límites.

Salida

Salida
silesia.zip: 12 files, 202.1 MB -> 63.1 MB (68.8% smaller) in 0.282 s · 717 MB/s · 24 threads