Je viens tout juste de commencer à utiliser Ubuntu comme principal système d’exploitation et je voulais apprendre des choses que je ne devrais pas faire, et tirer parti des mauvaises choses que les gens ont faites par le passé. Je suis tombé sur ces courriels concernant des histoires d'horreur que les administrateurs système UNIX et Linux avaient écrites sur leur propre système lorsqu'ils étaient nouveaux. Beaucoup d'entre eux impliquaient l'utilisation de la commande mknod à la fois pour distory et pour résoudre un problème. Je n'ai jamais entendu parler de cette commande auparavant et la page de manuel d'Ubuntu n'est pas très utile. Ma question est donc la suivante: à quoi cette commande est-elle utilisée et quels sont les exemples où elle est utile dans une utilisation quotidienne?
la source
udev
est-ce spécifique à Linux, n'est-ce pas? Peut-être que d'autres systèmes de type Unix créent encore manuellement des périphériques?devfs
et / oudevd
mais je n'ai aucune expérience personnelle avec l'un ou l'autre. Je suppose que d’autres unités de gestion ont mis au point leurs propres moyens d’automatiser le processus de création de nœuds de périphériques./dev/snd
correspondant aux différents éléments de chaque bit de matériel audio détecté et pris en charge. Les logiciels qui utilisent le son peuvent utiliser ces appareils pour générer du son sans avoir à savoir exactement à quel type de carte son ils parlent.Vous pouvez faire un tuyau nommé avec elle.
Je l'utilise avec un programme pour le lire et un autre pour y écrire.
Facilite la communication entre les processus.
Sinon, vous pouvez créer des fichiers de périphérique, pour les périphériques non présents.
Aussi: http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.cmds/doc/aixcmds3/mknod.htm
la source
mknod
pour autre chose que fabriquer des pipes nommées est plus que rare.En tant que administrateurs de base de données oracle travaillant sur des périphériques bruts pour créer des groupes de disques Oracle ASM, nous l’utilisons régulièrement
mknod
pour lier des périphériques.Les réponses ci-dessus m'ont été très utiles car nous ne sommes pas des administrateurs système. Je voulais simplement souligner le fait qu'il peut être rare d'utiliser
mknod
du point de vue des administrateurs de stockage, mais du point de vue d'Oracle ASM, c'est une utilisation courante. (Peut-être que quelqu'un pourrait trouver un meilleur moyen pour nous?)la source
/dev
avecmknod
, ces modifications disparaîtront au prochain redémarrage du système. Vous auriez besoin d'écrire un script ou unudev
fichier de règles qui apporterait les modifications / ajouts pour vous au moment du démarrage afin de les rendre persistants.IMHO, même pour faire des pipes nommés, la commande mkfifo soit meilleure que mknod. Premièrement, elle est auto-descriptive dans son nom. Deuxièmement, elle autorise l'option -m à remplacer les paramètres umask.
la source
mknod foo p
que c'était le seul moyen.La commande «mknod» a été transmise aux titulaires de licence sous Unix (TM) version 4 par AT & T. Je recommanderais à tout le monde de gagner du temps et de l’argent pour en obtenir un exemplaire.
Revue technique du système Bell, 57: 6. juillet-août 1978, pages 1905-1929. Le système de partage du temps UNIX. (Ritchie, DM; Thompson, K.)
Ce numéro, et en particulier cet article, vous mènera à une compréhension de plusieurs concepts fondamentaux qui permettent la construction du système d'exploitation élégant, compact, rapide, stable, sécurisé et polyvalent qu'était Unix (tm). Les différents systèmes disponibles sont encore assez polyvalents ;-)
Je vais essayer d'en mentionner quelques-unes ici.
1) les bits setuid et setgid et comment leur utilisation permet de séparer les utilisateurs en domaines de privilèges sécurisés et non sécurisés. Les sources de confiance incitent les utilisateurs de confiance à commander moins souvent le système à «# cd /; rm -rf * .o ”, notez à la fois l’utilisation abusive du privilège et“ l’espace de destruction ”. Notez également que la fin de la phrase avec une phrase citée dicte l’ordre des guillemets complet et fermé. La grammaire anglaise craint (FM). dmr et ken ont fait don du brevet de semnal au public, bénis-le.
2) accès au périphérique via le même espace de noms que les fichiers. C'est ici que l'élégance simple d'un petit outil combiné à d'autres outils simples pour effectuer des activités non considérées par les fondateurs devient puissante.
3) Un fichier dans l'espace de données est une chaîne. La structure est imposée par les programmes dans l'espace programme et n'est pas étroitement liée au programme compliqué Swiss-Army-Knife. Apple (R), Microsoft (R) et IBM (R) auraient peut-être eu de meilleurs produits si davantage d’entre eux lisaient BSTJ.
4) stdin, stdout, stderr.
5) coques, processeurs de commande d'interprétation, capables de comprendre facilement des outils simples.
6) n'optimisez le code que dans les boucles internes, utilisez votre temps et votre argent limités là où cela compte.
7) ne pas incorporer la syntaxe i / o dans les processeurs de traduction.
C. <FORTRAN
8) KISS.
9) «Il est plus facile de concevoir et de mettre en œuvre une extension du système multi-utilisateur multi-utilisateur qu'un bon système temps réel que dans l'autre sens», moi, une extension en temps partagé à RSX-11D, implémentée à l'aide de petits outils, écrite en MACRO 11 lorsque non nécessaire, sinon le langage de script de niveau supérieur était assez bon, 16 utilisateurs sur un PDP-11 // 45 de 248k octets (16k de mémoire solide le reste de la mémoire). Développement de programmes simultanés avec FOCAL, BASIC, FORTRAN IV, C, MACRO-11, édition de liens, exécution de programmes, acquisition par lots, acquisition interactive et contrôle / données de multiples expériences scientifiques à l'aide d'un LAB-11 et d'interfaces personnalisées créatives vers A / D, D / A, horloges haute résolution, ...
Pas de retards de retouches irritants observables avec les imprimeurs Decwriters 30cps ou CRT à 9600 bauds. Un peu saccadé avec une imprimante 300 l / min. UT200 et 2780 pour RJE. Développement de programme Fastesr plus rapide que RSX-11M, RSX-11M +, IAS et les premières versions de VMS.
Un ordonnanceur à partage de temps très simple implémenté en tant que tâche en temps réel utilisant les caractéristiques heureuses d'un ATL lié par priorité implémenté en tant que file d'attente.
Les variétés Unix sont ultra-rapides de nos jours, mais uniquement parce que les processeurs peuvent créer une boucle infinie en trois secondes. TFC.
la source