Itu tergantung. Apa kebutuhan anda Bagaimana Anda mengukur "terbaik"? Alat apa yang Anda miliki? Sudahkah Anda mempertimbangkan opsi lain yang mungkin berguna untuk disebutkan?
Greg Hewgill
Belum dianggap orang lain. Hanya perlu enkripsi dasar, di mana seseorang tidak dapat membaca konten file, dan lebih baik mempertahankan rasio kompresi yang baik.
user75027
1
Umumnya jawabannya adalah tidak. Salah satu inti filosofi unix adalah "melakukan satu hal dan melakukannya dengan baik". tar -zadalah sedikit pengecualian karena ini adalah praktik yang sangat umum.
Patrick
1
tarVersi yang lebih baru mendukung kompresi xz (flag -J) yang rasio kompresinya biasanya lebih baik daripada kompresi gzip ( -z) atau bzip2 ( -j) yang lebih tradisional .
jofel
Saya perhatikan itu xzluar biasa. Saya ingat mengunduh kernel dan di-zip sekitar 1/7 dari ukuran aslinya. Saya kira saya akan tar cvJf out.tar.xz file1 [file2...]dan kemudian menggunakan gpg atau openssl untuk mengenkripsi itu. Saya juga memperhatikan bahwa xz sangat cepat. Bagaimana cara menghasilkan kompresi yang lebih baik daripada bz2 dan masih cepat?
user75027
Jawaban:
24
taradalah alat yang biasa untuk membundel file. Polos taritu sendiri tidak kompres. Ada alat yang terpisah seperti gzip , bzip2 dan xz (dalam urutan rasio kompresi pada file khas) yang mengkompres satu file. Banyak tarimplementasi, termasuk tar GNU (implementasi normal di Linux), dapat secara otomatis mengompres dengan opsi ( -zuntuk gzip, -juntuk bzip2, -Juntuk xz):
tar -cJf myarchive.tar.xz file1 file2 file3
Untuk mengenkripsi file, gunakan gpg . Buat kunci dan kaitkan dengan alamat email Anda (pengidentifikasi kunci GPG / PGP biasanya berisi alamat email, meskipun itu tidak perlu). Enkripsi file Anda, tentukan email Anda sebagai penerima. Untuk mendekripsi file, Anda harus memasukkan frasa sandi untuk membuka kunci kunci pribadi Anda.
GPG juga memungkinkan Anda mengenkripsi file dengan kata sandi. Ini kurang aman dan kurang fleksibel. Itu kurang fleksibel karena Anda perlu menentukan kata sandi saat mengenkripsi (jadi misalnya Anda tidak dapat membuat cadangan tanpa pengawasan). Itu kurang aman karena satu-satunya keamanan adalah kata sandi, sedangkan enkripsi berbasis kunci membagi keamanan antara kata sandi dan kunci.
Jangan gunakan opensslalat baris perintah. Ini adalah karya untuk perpustakaan OpenSSL, tidak dirancang untuk penggunaan produksi. Meskipun Anda dapat melakukan beberapa hal dengan itu (khususnya, itu memang memiliki semua primitif yang diperlukan untuk otoritas sertifikasi dasar), sulit untuk digunakan dengan benar dan tidak memiliki semua yang Anda butuhkan untuk melakukan sesuatu dengan benar. Di mana GPG memberi Anda sepeda, OpenSSL memberi Anda beberapa batang logam dengan berbagai ukuran dan beberapa ruang karet (sekrup dan pompa tidak termasuk). Gunakan GPG.
Saya mengerti tar sebagai bundler dan metode kompresi. Namun, kunci gpg baru bagi saya. Saya tidak benar-benar mengerti bagaimana menggunakannya, walaupun saya memiliki kunci. Kupikir. Saya pikir saya juga punya kunci ssh.
user75027
Inilah yang saya cari untuk mengompres dan mengenkripsi dengan satu perintah (menggunakan tardan gpgdalam pipa).
CGFoX
12
Anda dapat menggunakan 7zip:
7z a -p -mhe=on stuff.7z MyStuff
^ ^ ^ ^ ^
| | | | `--- Files/directories to compress & encrypt.
| | | `--- Output filename
| | `--- Encrypt filenames
| `---- Use a password
`---- Add files to archive
tar -z
adalah sedikit pengecualian karena ini adalah praktik yang sangat umum.tar
Versi yang lebih baru mendukung kompresi xz (flag-J
) yang rasio kompresinya biasanya lebih baik daripada kompresi gzip (-z
) atau bzip2 (-j
) yang lebih tradisional .xz
luar biasa. Saya ingat mengunduh kernel dan di-zip sekitar 1/7 dari ukuran aslinya. Saya kira saya akantar cvJf out.tar.xz file1 [file2...]
dan kemudian menggunakan gpg atau openssl untuk mengenkripsi itu. Saya juga memperhatikan bahwa xz sangat cepat. Bagaimana cara menghasilkan kompresi yang lebih baik daripada bz2 dan masih cepat?Jawaban:
tar
adalah alat yang biasa untuk membundel file. Polostar
itu sendiri tidak kompres. Ada alat yang terpisah seperti gzip , bzip2 dan xz (dalam urutan rasio kompresi pada file khas) yang mengkompres satu file. Banyaktar
implementasi, termasuk tar GNU (implementasi normal di Linux), dapat secara otomatis mengompres dengan opsi (-z
untuk gzip,-j
untuk bzip2,-J
untuk xz):Untuk mengenkripsi file, gunakan gpg . Buat kunci dan kaitkan dengan alamat email Anda (pengidentifikasi kunci GPG / PGP biasanya berisi alamat email, meskipun itu tidak perlu). Enkripsi file Anda, tentukan email Anda sebagai penerima. Untuk mendekripsi file, Anda harus memasukkan frasa sandi untuk membuka kunci kunci pribadi Anda.
GPG juga memungkinkan Anda mengenkripsi file dengan kata sandi. Ini kurang aman dan kurang fleksibel. Itu kurang fleksibel karena Anda perlu menentukan kata sandi saat mengenkripsi (jadi misalnya Anda tidak dapat membuat cadangan tanpa pengawasan). Itu kurang aman karena satu-satunya keamanan adalah kata sandi, sedangkan enkripsi berbasis kunci membagi keamanan antara kata sandi dan kunci.
Jangan gunakan
openssl
alat baris perintah. Ini adalah karya untuk perpustakaan OpenSSL, tidak dirancang untuk penggunaan produksi. Meskipun Anda dapat melakukan beberapa hal dengan itu (khususnya, itu memang memiliki semua primitif yang diperlukan untuk otoritas sertifikasi dasar), sulit untuk digunakan dengan benar dan tidak memiliki semua yang Anda butuhkan untuk melakukan sesuatu dengan benar. Di mana GPG memberi Anda sepeda, OpenSSL memberi Anda beberapa batang logam dengan berbagai ukuran dan beberapa ruang karet (sekrup dan pompa tidak termasuk). Gunakan GPG.sumber
tar
dangpg
dalam pipa).Anda dapat menggunakan 7zip:
Ini akan meminta Anda untuk kata sandi. Rupanya ia menggunakan AES-256 untuk enkripsi dan SHA-256 dari kata sandi dan sebuah penghitung diulang sebanyak 512 ribu kali untuk derivasi kunci.
Sunting : Ini tidak mengenkripsi nama file, jadi Anda mungkin ingintar
semuanya terlebih dahulu.Edit 2 : Ditambahkan
-mhe=on
.sumber
7za
Anda dapat mengenkripsi nama file dengan-mhe=on
opsi.Jadi, Anda juga dapat menggunakan nama file enkripsi 7zip:
sumber