GNU/Linux >> Belajar Linux >  >> Linux

Apa itu file jarang di Linux

Pernahkah Anda mengamati perbedaan penggunaan disk dari beberapa file saat menggunakan perintah du dan ls. Misalnya:

$ du -sh /u02/ticoprd/redo/*
515M redo1a.rdo
524M redo3b.rdo
518M redo4a.rdo
$ ls -ltrh /u02/ticoprd/redo/*
-rw-r----- 1 oticoprd dba 1.1G Aug 4 01:09 redo1a.rdo
-rw-r----- 1 oticoprd dba 1.1G Aug 4 02:32 redo3b.rdo
-rw-r----- 1 oticoprd dba 1.1G Aug 4 03:51 redo4a.rdo

Kita bisa melihat perintah “ls” menampilkan ukuran file menjadi 1.1GB sedangkan ukuran file perintah “du” menjadi hanya 515MB. File-file ini adalah file yang jarang. "ls" menampilkan ukuran file yang tampak dan "du" menampilkan ukuran sebenarnya dari file yang berada di disk.

File jarang adalah jenis file komputer yang mencoba menggunakan ruang sistem file lebih efisien ketika blok yang dialokasikan ke file sebagian besar kosong. Hal ini dicapai dengan menulis informasi singkat (metadata) yang mewakili blok kosong ke disk alih-alih ruang "kosong" aktual yang membentuk blok, menggunakan lebih sedikit ruang disk (yaitu file sparse berisi blok nol yang keberadaannya dicatat, tetapi tidak memiliki ruang yang dialokasikan pada disk). Ukuran blok penuh ditulis ke disk sebagai ukuran sebenarnya hanya jika blok berisi data "nyata" (tidak kosong).

Saat membaca file yang jarang, sistem file secara transparan mengubah metadata yang mewakili blok kosong menjadi blok "nyata" yang diisi dengan nol byte saat run-time. Aplikasi tidak menyadari konversi ini. File jarang biasanya digunakan untuk image disk, snapshot database, file log, dll.

Keuntungan dari sparse files adalah penyimpanan hanya dialokasikan ketika benar-benar dibutuhkan:ruang disk disimpan, dan file besar dapat dibuat bahkan jika tidak ada cukup ruang kosong pada sistem file.

Kekurangannya adalah file yang jarang dapat menjadi terfragmentasi. Laporan ruang kosong sistem file mungkin menyesatkan dan menyalin file yang jarang dengan program yang tidak secara eksplisit mendukungnya dapat menyalin seluruh ukuran file yang tidak terkompresi, termasuk bagian yang jarang, sebagian besar nol yang tidak ada di disk — kehilangan manfaat dari properti sparse dalam file.

Kita dapat melihat perilaku ini dengan file /var/log/lastlog.

# ls -lh /var/log/lastlog
-rw-r--r--. 1 root root 144K Sep 8 22:45 /var/log/lastlog
# du -sh /var/log/lastlog
40K /var/log/lastlog 

Membuat File Jarang

Kita dapat membuat file sparse menggunakan perintah dd:

# dd if=/dev/zero of=sparse_file bs=1 count=0 seek=512M
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000381714 s, 0.0 kB/s
# ls -hl sparse_file
-rw-r--r--. 1 root root 512M Sep 9 00:13 sparse_file
# du -sh sparse_file
0 sparse_file

Untuk melihat penggunaan disk file dengan perintah “ls” kita dapat menggunakan opsi “-s”:

# ls -lhs sparse_file
0 -rw-r--r--. 1 root root 512M Sep 9 00:13 sparse_file

Untuk melihat ukuran file yang jelas menggunakan “du” kita dapat menggunakan opsi –apparent-size:

# du -h --apparent-size sparse_file
512M sparse_file 

Salin file sparse dengan perintah “cp”

'cp' mendukung file yang jarang dan bagus dalam mendeteksi itu, jadi cukup untuk menjalankan "cp". Tetapi cp memang memiliki opsi –sparse=WHEN.

# cp --sparse=always sparse_file sparse_file.2


Linux
  1. Salin file di terminal Linux

  2. Pindahkan file di terminal Linux

  3. Apa nomor inode di Linux?

  1. Apa itu File .run?

  2. Apa itu file /dev/zero dan /dev/null di Linux?

  3. Apa saja cara berbeda untuk mengatur izin file dll di gnu/linux

  1. Memindahkan file di Linux tanpa mv

  2. Linux – Apa Cara Berbeda Untuk Mengatur Izin File Dll Di Gnu/linux?

  3. Cara membuat file sparse di Linux menggunakan perintah 'dd'