Tutoriel Linux

Criar um arquivo 7z no Linux quando um ZIP se torna muito pequeno

Débutant3 min de lecture

Um ZIP é suficiente para trocar alguns documentos. Assim que uma pasta se torna pesada, quando é necessário limitar o tamanho do arquivo ou ocultar os nomes que contém, o formato 7z se torna mais interessante. Eu o usaria para preparar um lote para transferir ou arquivar uma cópia de trabalho, não como único backup.

O procedimento consiste em quatro etapas: identificar o comando instalado, criar o arquivo sem apagar as fontes, ler o conteúdo e, em seguida, testá-lo antes de excluir ou enviar qualquer coisa.

Tux organizando pastas em um arquivo seguro para ilustrar a criação de um arquivo 7z no Linux
Um arquivo 7z deve ser verificado antes da transferência ou exclusão dos arquivos fonte.

Verificar o comando e preparar a pasta

Em versões recentes do Debian ou Ubuntu, o pacote 7zip geralmente fornece 7zz. Instalações mais antigas às vezes usam p7zip-full e o comando 7z. Comece verificando o que está realmente disponível:

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

Se nenhum comando responder, instale o pacote adequado para sua distribuição. No Debian ou Ubuntu, comece atualizando o índice e, em seguida, instale 7zip:

sudo apt update
sudo apt install 7zip

Trabalhe a partir do diretório pai da pasta a ser arquivada. Você evitará um arquivo cheio de caminhos absolutos e verá imediatamente o volume afetado. Verifique também o espaço disponível no destino:

du -sh projeto
 df -h .

Criar um arquivo 7z mantendo os arquivos fonte

Vá para a pasta que contém projeto e crie o arquivo. O comando a adiciona os arquivos. Ele não apaga a pasta fonte, a menos que você peça explicitamente um comportamento diferente.

7zz a backup-projeto.7z projeto/

Com o comando antigo, basta substituir 7zz por 7z. O nível padrão é suficiente na maioria dos casos. Para priorizar a velocidade em um servidor já sobrecarregado, adicione -mx=3. O nível -mx=9 consome mais CPU e nem sempre diminui o tamanho o suficiente para justificar a espera.

Para dividir o arquivo em volumes de 2 Gio destinados a um suporte ou envio limitado, use -v2g:

7zz a -v2g backup-projeto.7z projeto/

Mantenha todos os arquivos .001, .002 e seguintes na mesma pasta. O primeiro volume serve para teste e extração.

Criptografar o arquivo sem expor a senha

Evite usar -pmotdepasse diretamente na linha de comando: o Bash frequentemente o registra no histórico e pode aparecer na lista de processos. Use -p sem valor para que o 7-Zip solicite a senha interativamente. Adicione -mhe=on para criptografar também os nomes dos arquivos.

7zz a -p -mhe=on backup-projeto-secreto.7z projeto/

Um arquivo criptografado não substitui um backup. Perder a senha ou a chave de armazenamento tornará o conteúdo inutilizável. Para segredos empresariais, mantenha uma política de criptografia e recuperação distinta dessa operação pontual.

Listar, testar e, em seguida, extrair para uma cópia

Antes de uma transferência ou limpeza, verifique primeiro o conteúdo. l lista os arquivos, t verifica a integridade do arquivo. Esses dois comandos evitam descobrir um arquivo incompleto após ter excluído a pasta original.

7zz l backup-projeto.7z
7zz t backup-projeto.7z

Teste então uma extração em um diretório vazio. Mantenha a pasta fonte intacta até essa etapa:

mkdir -p /tmp/teste-7z
7zz x backup-projeto.7z -o/tmp/teste-7z
find /tmp/teste-7z -maxdepth 2 -type f | head

Para uma transferência importante, calcule também uma impressão digital do arquivo e compare-a após a cópia:

sha256sum backup-projeto.7z > backup-projeto.7z.sha256
sha256sum -c backup-projeto.7z.sha256

O formato 7z é usado para empacotar e comprimir. Para um backup regular com restauração testada, é necessário também um destino independente e uma rotação. Se você só precisa criar ou extrair um arquivo padrão do Unix, o guia tar no Linux continua sendo mais adequado para os fluxos correntes.

sudo apt update && sudo apt upgrade