GNU/Linux >> Tutoriels Linux >  >> Linux

Comment créer un disque RAM Linux de taille fixe qui ne permute jamais sur le disque ?

Ce n'est qu'une idée et a plus d'un inconvénient, mais cela pourrait être assez utilisable de toute façon.

Que diriez-vous de créer un fichier image et un système de fichiers à l'intérieur au-dessus de ramfs, puis de monter l'image en tant que périphérique de boucle ? De cette façon, vous pouvez limiter la taille du disque virtuel en limitant simplement la taille du fichier image. Par exemple :

$ 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

Dans l'exemple (un peu trop long) ci-dessus, le fichier image est créé pour être de 2 mégaoctets et lorsque vous essayez d'écrire plus de 2 mégaoctets dessus, l'écriture échoue simplement car le système de fichiers est plein.

Une réduction évidente pour tout cela est bien sûr qu'il y a beaucoup de complexité supplémentaire, mais au moins à des fins académiques, cela devrait suffire.


Linux
  1. Comment créer un système de fichiers sur une partition ou un volume logique Linux

  2. Comment créer ou augmenter l'espace d'échange sous Linux

  3. Comment créer une partition sur Linux pour une taille de 2 To à l'aide de Parted GPT

  4. Comment créer des instantanés de système de fichiers à l'aide de la commande Snapper sous Linux

  5. Comment créer un fichier avec une taille donnée sous Linux ?

Comment créer et utiliser un fichier d'échange sous Linux

Comment chiffrer le système de fichiers racine sous Linux

Comment formater des partitions de disque sous Linux

Comment créer des partitions de disque sous Linux

Comment fonctionne la mémoire d'échange sous Linux ?

Comment vérifier la taille des fichiers et du répertoire sous Linux