GNU/Linux >> Linux Esercitazione >  >> Linux

Perché su alcuni sistemi Linux, il filesystem di root appare come /dev/root invece di /dev/<real device node>in mtab?

Questo è generalmente un artefatto dell'utilizzo di un initramfs.

Dalla documentazione del kernel (https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt)

Che cos'è rootfs?

Rootfs è un'istanza speciale di ramfs (o tmpfs, se abilitata), che è sempre presente nei sistemi 2.6. Non puoi smontare rootfs approssimativamente per lo stesso motivo per cui non puoi terminare il processo init; piuttosto che avere un codice speciale per controllare e gestire una lista vuota, è più piccolo e semplice per il kernel assicurarsi che certe liste non possano diventare vuote.

La maggior parte dei sistemi monta semplicemente un altro filesystem su rootfs e lo ignora. La quantità di spazio occupata da un'istanza vuota di ramfs è minima.

Così rootfs è il filesystem root che è stato creato per initramfs e non può essere smontato.

Per quanto riguarda /dev/root , sono meno sicuro su questo, ma se ricordo bene /dev/root viene creato quando si utilizza un initrd (non lo stesso di un initramfs).


Gentoo ha una patch che fa esattamente questo (assicura che venga mostrato il vero dispositivo root). Puoi trovarlo qui:https://lkml.org/lkml/2013/1/31/574


In Linux, /dev/root , se presente, è un collegamento simbolico al dispositivo effettivo creato al momento dell'avvio.

Puoi usare readlink /dev/root o cat /proc/cmdline per vedere il root parametro del kernel avviato, e quindi scoprire il vero dispositivo dietro di esso.

Dall'uomo dracut(8)

Tuttavia, per continuare con un avvio riuscito, l'obiettivo è individuare il volume di root e creare un collegamento simbolico /dev/root che punti al file system.


Linux
  1. Come generare una password casuale in Linux usando /dev/random

  2. In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

  3. Linux:differenza tra /dev/console , /dev/tty e /dev/tty0?

  4. Quanto sono portatili /dev/stdin, /dev/stdout e /dev/stderr?

  5. Come silenziare completamente un Cronjob in /dev/null/?

tty (/dev/tty ) vs pts (/dev/pts) in Linux

Cosa sono i file /dev/zero e /dev/null in Linux

Quando dovrei usare /dev/shm/ e quando dovrei usare /tmp/?

Perché Linux elenca le unità NVMe come /dev/nvme0 invece di /dev/sda?

Linux:differenza tra /dev/console , /dev/tty e /dev/tty0

Perché sono necessari < o > per usare /dev/tcp