Como comprimir um diretório?

0
Hey guys eu queria saber como eu iria gzip 7z tar ou apenas regular zip um diretório como este / var / Backups / Tones regular gzip não vai fazê-lo porque Tones é um diretório e este site ss64.com/bash não Eu realmente falo muito e eu pesquisei no google, mas o que essas pessoas estão falando é baseado em computador não móvel e eu gostaria de também tornar a senha do arquivo protegida, se possível? Se isso ajudar, estou usando o bash para fazer isso.

Isso será usado em um iDevice como o iPhone e o iPod do iPad quando houver jailbreak; eles têm 7z gzip e tar.

Ok, tenho a compactação para o diretório funcionar usando isso:

#!/bin/bash
cd /var/Backups
7z a -p{example} Tones.tar.7z

Meu problema agora é quando vou extrair o arquivo no meu iPhone e nem pedir uma senha, estou fazendo algo errado?

    
por The Nerd 03.07.2012 / 16:54

2 respostas

1

tar czf your_dir.tgz your_dir/ irá criar um arquivo compactado que a maioria dos outros programas zip pode pelo menos entender e descompactar se você precisar.

Para proteção por senha, no entanto, não há suporte direto em tar / gzip. Use a solução proposta pelo ghoti, ou configure o GPG / PGP e criptografe o tar antes de compactá-lo.

    
por 03.07.2012 / 17:13
1

Você tem várias opções.

7z

tar -cf tarfile.tar path/to/files/
7z a tarfile.tar.7z tarfile.tar

Isso criaria tarfile.tar.7z . Para ajudar com a limpeza, se você tiver instalado, você pode usar:

p7zip tarfile.tar

em vez disso.

Quanto à proteção por senha, essa não é uma opção de tar nem p7zip . Se você se sentir confortável usando o comando 7z , poderá atribuir uma opção -p{password} , de acordo com a página do manual.

7z a -p{password} tarfile.tar.7z tarfile.tar

Isso deixa tarfile.tar no lugar, então você precisa limpar algo como:

if 7z q -p{password} tarfile.tar.7z tarfile.tar; then
  rm tarfile.tar
fi

Uma opção mais simples pode comprometer sua compactação e usar o CEP com o -9 opção para a maior compactação possível.

Observe que isso não é tão seguro quanto um esquema projetado adequadamente usando PGP ou GnuPG, portanto, se você puder descobrir esse método (e a complexidade não comprometer sua segurança), você estará mais à frente. Leia sobre o PGP ou GnuPG , Ambos farão o que você precisa.

gzip

Assim como o 7z, você não poderá proteger com senha seu tar com uma única linha de comando. Além disso, o comando gzip também não fornece proteção por senha. Então, isso também força você a usar um segundo passo:

tar czf - path/to/files/ | openssl enc -aes-256-cbc -e > tarfile.tar.gz.enc

Leia a documentação para openssl para descobrir como fazer com que não peça uma senha a linha de comando. Ou:

tar czf tarfile.tar.gz path/to/files/
gpg --encrypt tarfile.tar.gz

Note que você precisará configurar o gpg antes que isso funcione.

Pode haver (ou "certamente há") outras maneiras de fazer isso. Você pode querer tratar isso como um ponto de partida para futuras pesquisas.

zip

Se o comando zip estiver incluído em seu iDevice desbloqueado, você poderá usar um comando como:

zip -e -P{password} zipfile.zip path/to/files/

Observe que a man page do zip informa a opção -P : ISSO É INSECURE . Ele continua, onde a segurança é realmente importante, use criptografia strong, como Pretty Good Privacy, em vez da criptografia padrão relativamente fraca fornecida pelos utilitários zipfile.

Qualquer um desses comandos pode ser colocado em um script. Se você quiser ajuda para escrever o roteiro, poste o que você conseguiu até agora, para que possamos fornecer feedback.

Isso é tudo que tenho.

    
por 03.07.2012 / 17:21

Tags