GNU/Linux >> Belajar Linux >  >> Linux

Cara menggunakan dd di Linux tanpa merusak disk Anda

Artikel ini dikutip dari bab 4 Linux in Action, diterbitkan oleh Manning.

Baik Anda mencoba menyelamatkan data dari drive penyimpanan yang sekarat, mencadangkan arsip ke penyimpanan jarak jauh, atau membuat salinan sempurna dari partisi aktif di tempat lain, Anda harus tahu cara menyalin drive dan sistem file dengan aman dan andal. Untungnya, dd adalah alat penyalinan gambar yang sederhana dan kuat yang telah ada, cukup lama. Dan selama itu, tidak ada yang berhasil dengan lebih baik.

Membuat salinan drive dan partisi yang sempurna

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

Ada banyak hal yang dapat Anda lakukan dengan dd jika Anda meneliti cukup keras, tetapi yang menonjol adalah cara Anda bermain dengan partisi. Anda tentu saja dapat menggunakan tar atau bahkan scp untuk mereplikasi seluruh sistem file dengan menyalin file dari satu komputer lalu menempelkannya apa adanya di atas penginstalan Linux baru di komputer lain. Namun, karena arsip sistem file tersebut bukan gambar yang lengkap, mereka memerlukan OS host yang berjalan di kedua ujungnya untuk berfungsi sebagai basis.

Menggunakan dd , di sisi lain, dapat membuat gambar byte-untuk-byte yang sempurna dari, yah, hampir semua hal digital. Tetapi sebelum Anda mulai melemparkan partisi dari satu ujung bumi ke ujung lainnya, saya harus menyebutkan bahwa ada beberapa kebenaran dari lelucon lama admin Unix itu:"dd singkatan dari penghancur disk ." Jika Anda mengetik bahkan satu karakter yang salah dalam dd perintah, Anda dapat secara instan dan permanen menghapus seluruh drive data berharga. Dan ya, ejaan itu penting.

Ingat: Sebelum menekan tombol Enter untuk panggil dd , berhenti sejenak dan pikirkan baik-baik!

Operasi dd dasar

Sekarang setelah Anda diperingatkan, kita akan mulai dengan sesuatu yang langsung. Misalkan Anda ingin membuat gambar yang tepat dari seluruh disk data yang telah ditetapkan sebagai /dev/ sda . Anda telah memasang drive kosong (idealnya memiliki kapasitas yang sama dengan /dev/ Anda sda sistem). Sintaksnya sederhana:if= mendefinisikan drive sumber dan of= mendefinisikan file atau lokasi di mana Anda ingin data Anda disimpan:

# dd if=/dev/sda of=/dev/sdb

Contoh berikutnya akan membuat arsip .img dari /dev/ sda drive dan simpan ke direktori home akun pengguna Anda:

# dd if=/dev/sda of=/home/username/sdadisk.img

Perintah-perintah itu membuat gambar dari seluruh drive. Anda juga bisa fokus pada satu partisi dari drive. Contoh berikutnya melakukan itu dan juga menggunakan bs untuk mengatur jumlah byte yang akan disalin sekaligus (4.096, dalam hal ini). Bermain dengan bs nilai dapat berdampak pada kecepatan keseluruhan dd pengoperasian, meskipun pengaturan yang ideal akan bergantung pada profil perangkat keras Anda dan pertimbangan lainnya.

# dd if=/dev/sda2 of=/home/username/partition2.img bs=4096

Memulihkannya sederhana:Secara efektif, Anda membalikkan nilai if dan of . Dalam hal ini, if= mengambil gambar yang ingin Anda pulihkan, dan of= mengambil drive target tempat Anda ingin menulis gambar:

# dd if=sdadisk.img of=/dev/sdb

Anda juga dapat melakukan operasi buat dan salin dalam satu perintah. Contoh ini, misalnya, akan membuat gambar terkompresi dari drive jarak jauh menggunakan SSH dan menyimpan arsip yang dihasilkan ke mesin lokal Anda:

# ssh [email protected] "dd if=/dev/sda | gzip -1 -" | dd of=backup.gz

Anda harus selalu menguji arsip Anda untuk memastikannya berfungsi. Jika itu adalah drive boot yang Anda buat, tempelkan ke komputer dan lihat apakah itu diluncurkan seperti yang diharapkan. Jika itu adalah partisi data normal, pasanglah untuk memastikan file ada dan dapat diakses dengan tepat.

Menghapus disk dengan dd

Bertahun-tahun yang lalu, saya memiliki seorang teman yang bertanggung jawab atas keamanan di kedutaan luar negeri pemerintahnya. Dia pernah mengatakan kepada saya bahwa setiap kedutaan di bawah pengawasannya dilengkapi dengan palu resmi yang dikeluarkan pemerintah. Mengapa? Jika fasilitas tersebut berisiko diserbu oleh orang-orang yang tidak bersahabat, palu akan digunakan untuk menghancurkan semua hard drive mereka.

Apa itu? Kenapa tidak dihapus saja datanya? kamu bercanda kan? Semua orang tahu bahwa menghapus file yang berisi data sensitif dari perangkat penyimpanan tidak benar-benar menghapus data. Dengan waktu dan motivasi yang cukup, hampir semua hal dapat diambil dari hampir semua media digital, dengan kemungkinan pengecualian dari media yang telah dipalu dengan baik dan benar.

Namun, Anda dapat menggunakan dd untuk membuatnya jauh lebih sulit bagi orang jahat untuk mendapatkan data lama Anda. Perintah ini akan menghabiskan waktu menulis jutaan dan jutaan nol di setiap sudut /dev/sda1 partisi:

# dd if=/dev/zero of=/dev/sda1

Tapi itu menjadi lebih baik. Menggunakan /dev/ urandom file sebagai sumber Anda, Anda dapat menulis melalui disk dengan karakter acak:

# dd if=/dev/urandom of=/dev/sda1

Memantau operasi dd

Karena pengarsipan disk atau partisi dapat memakan waktu yang sangat lama, Anda mungkin ingin menambahkan monitor kemajuan ke perintah Anda. Instal Pipe Viewer (sudo apt install pv di Ubuntu) dan masukkan ke dd . Dengan pv , perintah terakhir itu mungkin terlihat seperti ini:

# dd if=/dev/urandom | pv | dd of=/dev/sda1
4,14MB 0:00:05 [ 98kB/s] [      <=>                  ]

Menunda pencadangan dan manajemen disk? Dengan dd, Anda tidak memiliki terlalu banyak alasan. Sebenarnya tidak sulit, tapi hati-hati. Semoga berhasil!


Linux
  1. Cara menggunakan BusyBox di Linux

  2. Bagaimana saya menggunakan cron di Linux

  3. Cara mempartisi disk di Linux

  1. Cara menggunakan FIND di Linux

  2. Cara menggunakan Perintah Su di Linux

  3. Cara Menggunakan OpenSSH untuk Menghubungkan ke Server Linux Anda

  1. Bagaimana saya menggunakan pengaturan aksesibilitas Linux

  2. Cara mengatur printer Anda di Linux

  3. Cara menggunakan fdisk untuk mempartisi disk di Linux