GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie erstelle ich eine Linux-Ramdisk mit fester Größe, die niemals auf die Festplatte wechselt?

Dies ist nur ein Gedanke und hat mehr als einen Nachteil, aber es könnte trotzdem brauchbar genug sein.

Wie wäre es, eine Image-Datei und ein darin enthaltenes Dateisystem auf Ramfs zu erstellen und das Image dann als Loop-Gerät zu mounten? Auf diese Weise können Sie die Größe der Ramdisk begrenzen, indem Sie einfach die Größe der Bilddatei begrenzen. Zum Beispiel:

$ mkdir -p /ram/{ram,loop}
$ mount -t ramfs none /ram/ram
$ dd if=/dev/zero of=/ram/ram/image bs=2M count=1
1+0 records in
1+0 records out
2097152 bytes (2.1 MB) copied, 0.00372456 s, 563 MB/s
$ mke2fs /ram/ram/image
mke2fs 1.42 (29-Nov-2011)
/ram/ram/image is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
256 inodes, 2048 blocks
102 blocks (4.98%) reserved for the super user
First data block=1
Maximum filesystem blocks=2097152
1 block group
8192 blocks per group, 8192 fragments per group
256 inodes per group

Allocating group tables: done                            
Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done
$ mount -o loop /ram/ram/image /ram/loop
$ dd if=/dev/zero of=/ram/loop/test bs=1M count=5
dd: writing `/ram/loop/test': No space left on device
2+0 records in
1+0 records out
2027520 bytes (2.0 MB) copied, 0.00853692 s, 238 MB/s
$ ls -l /ram/loop
total 2001
drwx------ 2 root root   12288 Jan 27 17:12 lost+found
-rw-r--r-- 1 root root 2027520 Jan 27 17:13 test

In dem (etwas zu langen) Beispiel oben wird die Bilddatei mit 2 Megabyte erstellt, und wenn versucht wird, mehr als 2 Megabyte darauf zu schreiben, schlägt das Schreiben einfach fehl, weil das Dateisystem voll ist.

Eine offensichtliche Einschränkung für all dies ist natürlich, dass es viel zusätzliche Komplexität gibt, aber zumindest für akademische Zwecke sollte dies ausreichen.


Linux
  1. So erstellen Sie Dateien einer bestimmten Größe unter Linux

  2. So erstellen Sie eine Auslagerungsdatei unter Linux

  3. So erstellen Sie eine Partition unter Linux für eine Größe von 2 TB mit Parted GPT

  4. So erstellen Sie Dateisystem-Snapshots mit Snapper Command unter Linux

  5. So bestimmen Sie, welcher Prozess in Linux auf die Festplatte schreibt

So erstellen und verwenden Sie eine Auslagerungsdatei unter Linux

So verschlüsseln Sie das Root-Dateisystem unter Linux

So formatieren Sie Festplattenpartitionen unter Linux

So erstellen Sie Festplattenpartitionen unter Linux

Wie funktioniert Swap-Speicher in Linux?

So überprüfen Sie die Größe von Dateien und Verzeichnissen unter Linux