
Olá pessoal, eu queria saber como eu faria o gzip 7z tar ou apenas o zip regular de um diretório como este /var/Backups/Tones o gzip regular não fará isso porque o Tones é um diretório e este site ss64.com/bash realmente não diz muito e pesquisei no Google, mas o que essas pessoas estão falando é que é baseado em computador e não em dispositivos móveis e gostaria também de tornar o arquivo protegido por senha, se possível? Se ajudar, estou usando o bash para fazer isso.
Isso será usado em um iDevice como iPad, iPhone e iPod quando estiver com jailbreak; eles têm 7z gzip e tar.
Ok, consegui que a compactação para o diretório funcionasse usando isto:
#!/bin/bash
cd /var/Backups
7z a -p{example} Tones.tar.7z
Meu problema agora é quando vou extrair aquele arquivo no meu iPhone ele nem pede senha, estou fazendo algo errado?
Responder1
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 na limpeza, se você o tiver instalado, poderá usar:
p7zip tarfile.tar
em vez de.
Quanto à proteção por senha, essa não é uma opção nem de tar
nem de p7zip
. Se você se sentir confortável em usar o 7z
comando, poderá dar uma -p{password}
opção, de acordo com a página de manual.
7z a -p{password} tarfile.tar.7z tarfile.tar
Isso permanece tarfile.tar
no lugar, então você precisará limpar com algo como:
if 7z q -p{password} tarfile.tar.7z tarfile.tar; then
rm tarfile.tar
fi
Uma opção mais simples pode ser comprometer sua compactação e apenas usarfecho eclaircom a -9
opção de maior compressão possível.
Observe que isso não é tão seguro quanto um esquema projetado adequadamente usando PGP ou GnuPG, portanto, se você conseguir descobrir esse método (e a complexidade não compromete sua segurança), você estará mais à frente. Ler sobrePGPouGnuPG, ambos farão o que você precisa.
gzip
Como no 7z, você não poderá proteger seu tar com senha com uma única linha de comando. Além disso, o gzip
comando também não fornece nenhuma proteção por senha. Portanto, isso também obriga você a usar uma segunda etapa:
tar czf - path/to/files/ | openssl enc -aes-256-cbc -e > tarfile.tar.gz.enc
Leia odocumentação para opensslpara saber como fazer com que não peça senha na linha de comando. Ou:
tar czf tarfile.tar.gz path/to/files/
gpg --encrypt tarfile.tar.gz
Observe que você precisará configurar o gpg antes que isso funcione.
Pode haver (ou "certamente existem") outras maneiras de fazer isso. Você pode querer tratar isso como um ponto de partida para suas próprias pesquisas futuras.
fecho eclair
Se o zip
comando estiver incluído no seu iDevice desbloqueado, você poderá usar um comando como:
zip -e -P{password} zipfile.zip path/to/files/
Observe que a página de manual do zip diz sobre a -P
opção:ISSO É INSEGURO. Continua dizendo,onde a segurança é realmente importante, use criptografia forte, como Pretty Good Privacy, em vez da criptografia padrão relativamente fraca fornecida pelos utilitários de arquivo zip.
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.
Responder2
tar czf your_dir.tgz your_dir/
criará um arquivo compactado que a maioria dos outros programas zip poderá pelo menos entender e descompactar, se necessário.
Para proteção por senha, porém, não há suporte direto em tar/gzip. Use a solução proposta por ghoti, ou configure GPG/PGP e criptografe o tar antes de compactá-lo.