Perintah unxz Linux: pulihkan berkas dan pertahankan .xz
Perintah unxz mendekompresi berkas .xz dan setara dengan xz -d. Secara bawaan, hasil dekompresi menggantikan berkas terkompresi; gunakan -k atau -c bila masukan .xz perlu disimpan.
Misalnya, dump.sql.xz menjadi dump.sql. Pada .tar.xz, dekompresi hanya melepas lapisan xz dan meninggalkan arsip .tar. Mengekstrak anggota arsip merupakan langkah berbeda yang dilakukan dengan tar.
Sintaks dan berkas yang perlu disiapkan
unxz [opsi] berkas.xz [berkas.xz ...]
opsi dan berkas.xz adalah penanda. Periksa xz --version serta man unxz untuk pilihan yang tersedia. Siapkan masukan yang dapat dibaca, direktori yang dapat ditulis, dan ruang untuk ukuran hasil dekompresi, bukan hanya ukuran .xz.
Contoh pertama dan kedua memakai dump.sql.xz, yaitu berkas teks perintah SQL (Structured Query Language) yang telah dikompresi. unxz hanya memulihkan berkas; alat ini tidak mengimpor isinya ke basis data. Untuk membuat masukan latihan dari teks sendiri, lihat xz untuk kompresi dan penyimpanan sumber.
Jalankan contoh bawaan dan -k pada salinan percobaan terpisah dengan dump.sql belum ada. Contoh bawaan dapat menghapus .xz setelah berhasil dan meninggalkan dump.sql, sehingga mencoba -k langsung sesudahnya tanpa menyiapkan ulang kondisi akan gagal.
Mendekompresi dengan perilaku bawaan
unxz dump.sql.xz
Jika berhasil dalam kondisi contoh, dump.sql dibuat dan dump.sql.xz dihapus. unxz biasanya tidak menampilkan pesan sukses. Periksa status keluar dan pesan galat, lalu pastikan hasilnya dapat dibaca.
Jika dump.sql sudah ada, xz menampilkan galat dan melewati masukan secara bawaan. Jangan menambahkan -f secara otomatis: opsi itu dapat menghapus tujuan yang sudah ada. Pilih direktori kosong atau nama hasil berbeda bila versi sebelumnya masih diperlukan.
Mempertahankan berkas terkompresi
unxz -k dump.sql.xz
-k mempertahankan dump.sql.xz sambil membuat dump.sql. Hasil yang diharapkan adalah kedua berkas tersedia. -k tidak mengizinkan penimpaan hasil lama, sehingga periksa konflik nama sebelum mengulang contoh.
Untuk menguji integritas tanpa membuat hasil dekompresi, gunakan unxz -t dump.sql.xz. Operasi ini mencoba dekompresi dan membuang keluarannya. Integritas bukan bukti asal berkas atau kecocokan dengan dokumen yang Anda butuhkan; data penting memerlukan pembandingan isi atau checksum, yaitu nilai ringkas isi berkas, dengan pembanding tepercaya.
Melihat awal berkas teks tanpa menyimpannya
Siapkan notes.txt.xz yang berisi teks. Nama notes.txt pada contoh ini berbeda dari note.txt pada contoh berikutnya:
unxz -c notes.txt.xz | head
-c mengirim data yang dipulihkan ke keluaran standar dan mempertahankan notes.txt.xz. head menampilkan sepuluh baris pertama secara bawaan, atau seluruh isi jika lebih pendek. Jangan menampilkan data biner langsung ke terminal hanya untuk memeriksa namanya.
Melihat awal berkas tidak membuktikan seluruh aliran berhasil dipulihkan. Pada masukan besar, head dapat berhenti lebih dahulu dan memutus pipa yang sedang ditulis unxz. Pada Bash, status pipeline secara bawaan mengikuti perintah terakhir; lakukan pengujian -t terpisah bila perlu memeriksa seluruh aliran.
Memulihkan ke nama baru sambil menyimpan .xz
Siapkan note.txt.xz di direktori percobaan. Jika dibuat dari teks hello dan satu baris baru, isi itulah yang diharapkan pada restored.txt. Pastikan restored.txt belum ada:
unxz -c note.txt.xz > restored.txt
ls -l restored.txt
Perintah pertama biasanya selesai tanpa pesan ketika berhasil. ls -l lalu menampilkan ukuran, nama, waktu, dan izin restored.txt sesuai berkas serta lingkungan. note.txt.xz tetap ada karena -c menulis ke keluaran standar.
Shell menangani > sebelum unxz berjalan dan dapat mengosongkan restored.txt yang sudah ada. Perlindungan penimpaan bawaan xz tidak melindungi berkas yang dibuka shell. Pilih nama baru, jangan arahkan keluaran ke note.txt.xz sendiri, dan jangan gunakan hasil parsial jika dekompresi gagal.
Periksa status unxz segera setelah baris pertama, sebelum ls mengganti status terakhir. Pada Bash gunakan echo $?: 0 berarti berhasil, 1 galat, dan 2 peringatan tanpa galat aktual. Keberhasilan ls hanya membuktikan daftar informasi berkas dapat ditampilkan, bukan bahwa isi hasil telah diverifikasi.
Jika note.txt asli masih tersedia dari percobaan kompresi, bandingkan dengan cmp note.txt restored.txt. cmp biasanya diam dengan status 0 bila isinya identik; status 1 berarti berbeda. Jika hanya memiliki checksum pembanding dari sumber tepercaya, hitung checksum hasil dengan algoritme yang sama dan cocokkan nilainya. Simpan cadangan terpisah untuk data penting.
Opsi utama dan keterbatasan pemulihan
| Opsi | Fungsi dan batasnya |
|---|---|
-k |
Mempertahankan berkas terkompresi masukan. |
-c |
Menulis hasil dekompresi ke keluaran standar dan mempertahankan masukan. |
-t |
Menguji aliran tanpa menyimpan hasil dekompresi. |
-f |
Memaksa penimpaan keluaran tertentu; periksa tujuan sebelum memakainya. |
-v |
Menampilkan informasi status pemrosesan lebih rinci. |
Pengaturan yang dipakai saat kompresi memengaruhi kebutuhan memori dekompresor. Jika proses gagal karena batas memori, periksa pesan dan kemampuan mesin; mengganti nama perintah menjadi unxz tidak menghilangkan kebutuhan tersebut. Periksa pula XZ_DEFAULTS dan XZ_OPT jika perilaku alat berbeda dari opsi yang Anda tulis.
Untuk skrip yang memerlukan dekompresi, manual XZ Utils merekomendasikan nama xz dengan argumen yang sesuai, misalnya xz -d atau xz -dc, dibanding mengandalkan nama alias unxz. Tetap pilih -k atau -c sesuai kebijakan penyimpanan masukan.
Membuka anggota arsip .tar.xz
unxz backup.tar.xz biasanya menghasilkan backup.tar dan menghapus masukan .xz setelah berhasil. Anggota arsip belum diekstrak. Gunakan tar -tf backup.tar untuk melihat nama anggotanya terlebih dahulu.
Jika masih memiliki backup.tar.xz, gunakan tar -tJf backup.tar.xz untuk daftar anggota. Siapkan direktori restore/ yang kosong lalu gunakan tar -xJf backup.tar.xz -C restore/ untuk dekompresi sekaligus ekstraksi. Untuk backup.tar yang sudah tidak terkompresi, gunakan tar -xf backup.tar -C restore/ tanpa -J.
Periksa jalur anggota dan kemungkinan konflik dengan berkas tujuan sebelum ekstraksi. Panduan tar untuk daftar anggota dan direktori pemulihan menjelaskan perbedaan operasi arsip tersebut. Huruf J untuk xz berbeda dari j untuk bzip2.
FAQ
Apa yang dilakukan setelah unxz backup.tar.xz?
Periksa daftar backup.tar dengan tar, kemudian ekstrak anggotanya ke direktori yang sudah disiapkan. unxz hanya melepas kompresi, bukan mengeluarkan semua anggota arsip.
Apakah -k melindungi restored.txt pada pengalihan shell?
Tidak. -k mengatur penyimpanan masukan, sedangkan shell membuka tujuan >. Pilih tujuan baru dan periksa nama sebelum menjalankan pengalihan.
Dokumentasi resmi
Rujuk manual resmi XZ Utils: alias unxz, opsi dekompresi, dan status keluar untuk perilaku alat secara rinci.




