GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:quali punti di montaggio esistono su un tipico sistema Linux?

Ho 2 domande.

  1. Durante l'installazione di Linux specifichiamo lo spazio di memoria per 2 punti di montaggio:root e swap. Ci sono altri punti di montaggio creati senza che gli utenti se ne accorgano?
  2. Questa affermazione è corretta:“il montaggio entra in gioco solo quando si ha a che fare con partizioni diverse. cioè, non puoi montare, diciamo, /proc a meno che non sia una partizione diversa”?

Risposta accettata:

Ci sono idee sbagliate dietro le tue domande.

  1. Lo scambio non è montato.
  2. Il montaggio non è limitato alle partizioni.

Partizioni

Una partizione è una fetta¹ di spazio su disco dedicata a uno scopo particolare. Ecco alcuni scopi comuni per le partizioni.

  • Un filesystem, ovvero file organizzati come un albero di directory e archiviati in un formato come ext2, ext3, FFS, FAT, NTFS, …
  • Spazio di scambio, ovvero lo spazio su disco utilizzato per il paging (e la memorizzazione delle immagini di ibernazione).
  • Accesso diretto all'applicazione. Alcuni database memorizzano i propri dati direttamente su una partizione piuttosto che su un filesystem per ottenere un po' di prestazioni. (Un filesystem è comunque una specie di database.)
  • Un contenitore per altre partizioni. Ad esempio, una partizione estesa per PC, o una fetta di disco contenente partizioni BSD, o un volume fisico LVM (contenente eventualmente volumi logici che possono essere a loro volta considerati partizioni), …

Filesystem

I filesystem presentano le informazioni in una struttura gerarchica. Ecco alcuni tipi comuni di filesystem:

  • Filesystem con supporto su disco, come ext2, ext3, FFS, FAT, NTFS, …
    • Non è necessario che il supporto sia direttamente su una partizione del disco, come visto sopra. Ad esempio, questo potrebbe essere un volume logico LVM o un montaggio in loop.
  • Filesystem supportati da memoria, come Solaris e tmpfs di Linux.
  • Filesystem che presentano informazioni dal kernel, come proc e sysfs su Linux.
  • Filesystem di rete, come NFS, Samba, …
  • Filesystem supportati da applicazioni, di cui FUSE ha una vasta collezione. I filesystem supportati da applicazioni possono fare qualsiasi cosa:far apparire un server FTP come un filesystem, fornire una vista alternativa di un filesystem in cui i nomi dei file non fanno distinzione tra maiuscole e minuscole o convertiti in una codifica diversa, mostrare i contenuti dell'archivio come se fossero directory,...

Montaggio

Unix presenta i file in un'unica gerarchia, solitamente chiamata "il filesystem" (ma in questa risposta non userò la parola "filesystem" in questo senso per mantenere bassa la confusione). I singoli filesystem devono essere innestati in quella gerarchia per potervi accedere.³

Rendi accessibile un filesystem montandolo. Il montaggio associa la directory principale del filesystem che stai montando a una directory esistente nella gerarchia dei file. Una directory con tale associazione è nota come punto di montaggio.

  • Ad esempio, il filesystem di root viene montato all'avvio (prima che il kernel avvii qualsiasi processo²) su / directory.
  • Il filesystem proc su cui alcune varianti di Unix come Solaris e Linux espongono informazioni sui processi è montato su /proc , in modo che /proc/42/environ designa il file /42/environ sul filesystem proc, che (almeno su Linux) contiene una vista di sola lettura dell'ambiente del processo numero 42.
  • Se hai un filesystem separato, ad es. per /home , quindi /home/john/myfile.txt designa il file il cui percorso è /john/myfile.txt dalla radice del filesystem home.
Correlati:Cheat Sheet di Arch Linux

Sotto Linux, è possibile che lo stesso filesystem sia accessibile attraverso più di un percorso, grazie ai mount di bind.

Un tipico filesystem Linux ha molti filesystem montati. (Questo è un esempio; diverse distribuzioni, versioni e configurazioni porteranno al montaggio di diversi filesystem.)

  • / :il filesystem di root, montato prima che il kernel carichi il primo processo. Il bootloader dice al kernel cosa usare come filesystem di root (di solito è una partizione del disco ma potrebbe essere qualcos'altro come un'esportazione NFS).
  • /proc :il file system proc, con informazioni sul processo e sul kernel.
  • /sys :il filesystem sysfs, con informazioni sui dispositivi hardware.
  • /dev :un filesystem in memoria in cui i file del dispositivo vengono creati automaticamente da udev in base all'hardware disponibile.
  • /dev/pts :un filesystem speciale contenente file di dispositivo per l'esecuzione di emulatori di terminale.
  • /dev/shm :un filesystem in memoria utilizzato per scopi interni dalla libreria standard del sistema.
  • A seconda dei componenti di sistema in esecuzione, potresti vedere altri filesystem per scopi speciali come binfmt_misc (usato dal sottosistema del kernel in formato file eseguibile esterno), fusectl (usato da FUSE), nfsd (usato dal server NFS del kernel), …
  • Qualsiasi filesystem esplicitamente menzionato in /etc/fstab (e non contrassegnato con noauto ) viene montato come parte del processo di avvio.
  • Qualsiasi filesystem montato automaticamente da HAL (o funzionalità equivalente) in seguito all'inserimento di un dispositivo rimovibile come una chiave USB.
  • Qualsiasi filesystem montato esplicitamente con mount comando.

¹ Informalmente parlando qui.
² Initrd e simili esulano dallo scopo di questa risposta.
³ Questo è diverso da Windows, che ha una gerarchia separata per ogni filesystem, ad es. c: o \hostnamesharename .


Linux
  1. Come montare e smontare filesystem/partizione in Linux (esempi di comando di montaggio/smontaggio)

  2. Come creare e montare filesystem in Linux

  3. Come montare e smontare un file system in Linux

  4. Quali sono le opzioni di montaggio per migliorare le prestazioni del filesystem ext4 in Linux

  5. Qual è l'API GUI nativa di Linux?

Comprensione dei filesystem Linux:ext4 e oltre

Come montare un filesystem Linux remoto usando SSHFS

Come crittografare il filesystem di root su Linux

Che cos'è il file system Linux? Guida facile

Differenze tra nobootwait e nofail nei filesystem Linux

Che cosa sono le chiamate di sistema Linux e le funzioni di libreria?