web-dev-qa-db-fra.com

Créer un périphérique de bloc virtuel qui écrit dans / dev / null

Je veux tester certains liens physiques dans une configuration. Les outils logiciels que je peux utiliser pour tester cela nécessitent un périphérique de bloc pour lire/écrire de/vers. Les périphériques de blocs dont je dispose ne peuvent pas saturer le lien physique, je ne peux donc pas le tester complètement.

Je sais que je peux configurer un périphérique de bloc virtuel qui est soutenu par un fichier. Donc, mon idée était de configurer en quelque sorte un périphérique de bloc virtuel sur/dev/null mais le problème est bien sûr que je ne peux pas le lire. Existe-t-il un moyen de configurer un périphérique de bloc virtuel qui écrit dans/dev/null mais renvoie simplement toujours zéro lors de la lecture?

Merci pour toute aide!

15
John Smith

https://wiki.gentoo.org/wiki/Device-mapper#Zero

Voir Documentation/device-mapper/zero.txt pour l'utilisation. Cette cible n'a pas de paramètres spécifiques à la cible.

La création de cible "zéro" fonctionne de la même manière que/dev/zero: toutes les lectures renvoient un zéro binaire et toutes les écritures sont rejetées. Normalement utilisé dans les tests [...]

Cela crée un objectif zéro de 1 Go (secteur 1953125):

root# dmsetup create 1gb-zero --table '0 1953125 zero'
33
sourcejedi

Si vous n'en avez pas besoin pour avoir une taille limitée spécifique, vous pouvez simplement utiliser /dev/zero directement. Techniquement, c'est un appareil de caractère, pas un bloc.

/dev/zero jette les écritures comme /dev/null mais lit comme zéro au lieu de EOF.

Comme indiqué dans la page de manuel , sous Linux, vous pouvez créer le vôtre sous n'importe quel nom avec
mknod -m 666 /dev/zero c 1 5 Ou bien sûr, créez un lien symbolique vers /dev/zero.

5
Peter Cordes