Mount point apa yang ada pada sistem Linux yang khas?

32

Saya punya 2 pertanyaan.

  1. Selama instalasi Linux kami menentukan ruang memori untuk 2 titik pemasangan - root dan swap. Apakah ada titik pemasangan lain yang dibuat tanpa pemberitahuan pengguna?
  2. Apakah pernyataan ini benar: "pemasangan muncul hanya ketika berurusan dengan partisi yang berbeda. Yaitu, Anda tidak dapat memasang, mengatakan, / proc kecuali itu partisi yang berbeda"?
John
sumber
1
+1 untuk judul pertanyaan! Jika semua pemula bertanya dengan polos ...
Caleb
Haha, tepatnya pikiranku juga! +1.
boehj
2
@ John: Mengajukan dua pertanyaan dalam satu tidak disarankan. Karena sekarang ada jawaban yang mencakup kedua pertanyaan, saya kira kami akan membiarkannya, tapi tolong ajukan pertanyaan terpisah secara terpisah di lain waktu. Kesulitan Anda menemukan judul yang bagus (tidak, judul Anda bukan ringkasan yang baik dari pertanyaan Anda) adalah karena mencoba menggabungkan beberapa pertanyaan menjadi satu.
Gilles 'SO- berhenti bersikap jahat'

Jawaban:

47

Ada kesalahpahaman di balik pertanyaan Anda.

  1. Swap tidak dipasang.
  2. Pemasangan tidak terbatas pada partisi.

Partisi

Sebuah partisi adalah slice¹ ruang disk yang dikhususkan untuk tujuan tertentu. Berikut adalah beberapa tujuan umum untuk partisi.

  • Sistem file , yaitu file yang disusun sebagai pohon direktori dan disimpan dalam format seperti ext2, ext3, FFS, FAT, NTFS, ...
  • Swap space, yaitu ruang disk yang digunakan untuk paging (dan menyimpan gambar hibernasi ).
  • Akses aplikasi langsung. Beberapa database menyimpan data mereka secara langsung di partisi daripada di sistem file untuk mendapatkan sedikit kinerja. (Bagaimanapun, sistem file adalah sejenis basis data.)
  • Wadah untuk partisi lain. Sebagai contoh, PC extended partisi , atau sepotong disk yang berisi partisi BSD, atau volume fisik LVM (berisi volume yang akhirnya logis yang dengan sendirinya dapat dianggap sebagai partisi), ...

Sistem File

Filesystem menyajikan informasi dalam struktur hierarkis. Berikut ini beberapa jenis sistem file:

  • Filesystem yang didukung disk, seperti ext2, ext3, FFS, FAT, NTFS, ...
    • Dukungan tidak harus langsung pada partisi disk, seperti yang terlihat di atas. Misalnya, ini bisa berupa volume logis LVM , atau loop mount .
  • Sistem file yang didukung memori, seperti Solaris dan Linux tmpfs .
  • Sistem file yang menyajikan informasi dari kernel, seperti procdan sysfsdi Linux.
  • Sistem file jaringan, seperti NFS , Samba , ...
  • Filesystem yang didukung aplikasi, yang FUSE memiliki koleksi besar . Filesystem yang didukung aplikasi dapat melakukan apa saja: membuat server FTP muncul sebagai filesystem, memberikan tampilan alternatif dari sistem file di mana nama file tidak peka terhadap huruf besar atau dikonversi ke pengkodean yang berbeda, perlihatkan konten arsip seolah-olah itu adalah direktori, ...

Pemasangan

Unix menyajikan file dalam hierarki tunggal, biasanya disebut "sistem file" (tetapi dalam jawaban ini saya tidak akan menggunakan kata "sistem file" dalam pengertian ini untuk menjaga kebingungan). Setiap sistem file harus dicangkokkan ke hierarki itu untuk mengaksesnya.³

Anda membuat sistem file dapat diakses dengan memasangnya. Mounting mengaitkan direktori root dari sistem file yang Anda mount dengan direktori yang ada di hierarki file. Direktori yang memiliki hubungan seperti itu dikenal sebagai titik mount.

  • Sebagai contoh, sistem file root di-mount pada saat boot (sebelum kernel memulai proses ²) ke /direktori.
  • Sistem file proc tempat beberapa varian unix seperti Solaris dan Linux memaparkan informasi tentang proses yang dipasang /proc, sehingga /proc/42/environmenunjuk file /42/environpada sistem file proc, yang (pada Linux, setidaknya) berisi tampilan read-only dari lingkungan proses nomor 42.
  • Jika Anda memiliki sistem file yang terpisah, misalnya untuk /home, maka /home/john/myfile.txttentukan file yang jalurnya berasal /john/myfile.txtdari root sistem file home.

Di Linux, dimungkinkan untuk sistem file yang sama dapat diakses melalui lebih dari satu jalur, berkat bind mount .

Sistem file Linux tipikal memiliki banyak sistem file yang terpasang. (Ini adalah contoh; distribusi, versi, dan pengaturan yang berbeda akan menyebabkan sistem file yang berbeda dipasang.)

  • /: sistem file root, yang dipasang sebelum kernel memuat proses pertama. Bootloader memberi tahu kernel apa yang harus digunakan sebagai sistem file root (biasanya partisi disk tetapi bisa juga yang lain seperti ekspor NFS).
  • /proc: proc filessytem, ​​dengan informasi proses dan kernel.
  • /sys: sistem file sysfs , dengan informasi tentang perangkat perangkat keras.
  • /dev: sistem file dalam memori tempat file perangkat dibuat secara otomatis oleh udev berdasarkan perangkat keras yang tersedia.
  • /dev/pts: sistem file tujuan khusus yang berisi file perangkat untuk menjalankan emulator terminal .
  • /dev/shm: sistem file dalam memori yang digunakan untuk keperluan internal oleh pustaka standar sistem.
  • Bergantung pada komponen sistem apa yang telah Anda jalankan, Anda dapat melihat filesystem tujuan khusus lainnya seperti binfmt_misc(digunakan oleh subsistem kernel format file executable asing ), fusectl(digunakan oleh FUSE ), nfsd(digunakan oleh server kernel NFS), ...
  • Setiap sistem file yang disebutkan secara eksplisit dalam /etc/fstab(dan tidak ditandai noauto) dipasang sebagai bagian dari proses boot.
  • Sistem file apa pun yang dipasang secara otomatis oleh HAL (atau fungsi yang setara) mengikuti penyisipan perangkat yang dapat dilepas seperti kunci USB.
  • Setiap sistem file secara eksplisit dipasang dengan mountperintah.

¹ Berbicara secara informal di sini.
² Initrd dan semacamnya berada di luar cakupan jawaban ini.
³ Ini tidak seperti Windows, yang memiliki hierarki terpisah untuk setiap sistem file, misalnya c:atau \\hostname\sharename.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
5
+10 Gilles darimana Anda mendapatkan waktu? Satu-satunya komentar saya adalah bahwa saya harus memberi orang kelonggaran pada masalah swap karena sangat membingungkan untuk memiliki partisi swap saya terdaftar /etc/fstabketika itu tidak akan dipasang.
Caleb
pasti pertanyaan konyol ... tapi tidak bisa menghentikan diriku sendiri. Anda berkata "Mounting mengaitkan direktori dengan root dari sistem file." Jadi di mana direktori "/" berada?
John
2
@ John: Bukan pertanyaan konyol sama sekali, kata-kata "filesystem" dan "root" memiliki dua arti yang berbeda di sini: ada sistem file individual (masing-masing dengan root), dan ada seluruh hierarki direktori (dengan root, /direktori) . Saya telah menyusun ulang bagian dari jawaban saya ini, semoga sekarang menjadi lebih jelas.
Gilles 'SANGAT berhenti menjadi jahat'
Jawaban itu sangat membantu - itu ensiklopedia. Saya juga berharap bisa melakukan +10 di sini. Jawaban yang luar biasa.
boehj
13
  1. Setiap distro linux memiliki pengaturan partisi default sendiri; beberapa dari mereka menggunakan lusinan partisi, beberapa hanya satu. 3 dan 4 adalah pengaturan yang cukup umum (/ boot, /, swap dan / home). Beberapa tata letak yang lebih lama sering memiliki / var di partisi yang terpisah dan sistem ekstrem dan semua yang ada di / var / * dan / opt / * di partisi yang terpisah! Generalisasi terbaik yang dapat saya lakukan untuk menjawab pertanyaan Anda adalah bahwa tidak ada yang dilakukan di dunia unix tanpa pemberitahuan pengguna atau kemampuan untuk mengubahnya !
  2. Anda dapat memasang hal-hal yang bukan partisi. Sebagai contoh / proc biasanya bukan partisi, itu adalah sistem file semu yang disediakan oleh kernel yang memungkinkan Anda untuk membaca dan menulis data tentang menjalankan proses seolah-olah mereka adalah file. Anda juga dapat me-mount file (seperti ISO) seolah-olah mereka drive menggunakan perangkat loopback, mengikat mount folder ke tempat lain, dan melakukan berbagai trik ninja lainnya.
Caleb
sumber
1
Semua partisi yang dipasang secara otomatis saat boot berada di /etc/fstab. Jika Anda menambahkan partisi di sana, partisi itu akan ada di sana pada boot berikutnya.
LawrenceC