Unix Legendry (et autres * nix également)

12

C'est le jumeau de cette question .

La réponse la plus obscure / la plus votée obtiendra le vote de réponse!

La plupart des systèmes Unix et Unix ont une "histoire traditionnelle" qui se transmet à chaque génération, de sorte que les nouveaux arrivants peuvent voir et comprendre certaines des parties les plus ésotériques du système. Quels administrateurs de longue date * nix contribuent à la "Légende" de "UNIX", en ce qui concerne la connaissance ésotérique à laquelle les nouveaux administrateurs devraient être exposés?

Avery Payne
la source
2
Devrait wiki cela,
methinks
Je le ferai en temps utile. ;) À vrai dire, j'ai fait plusieurs wikis en jeu pur, et à moins qu'il n'y ait même un soupçon de votes à gagner, personne ne viendra . Sérieusement, cela fonctionne à chaque fois, sans faute. Les gens ne mettront pas d'entrées pour un wiki à moins qu'il ne soit absurdement sans rapport avec le travail (c.-à-d. Dessin animé sysadmin préféré, etc.)
Avery Payne
2
J'ai remarqué la chose "personne ne commente dans les wikis". C'est tellement bizarre. Les gens jouent à défaut de serveur comme si c'était un jeu vidéo. Stupide.
Matt Simmons
1
Je l'ai également remarqué, mais (à mon humble avis) ne signifie pas que nous devrions encourager la prostitution des représentants ... Faites-moi savoir quand vous passerez à la méta, ils arrivent avec de très bonnes flammes là-bas (croyez-moi , vous l'obtiendrez) :)
squillman
1
Je déteste le dire ... mais je pense qu'il devrait y avoir une sorte de compromis. Mon observation générale a été que si vous atteignez une certaine "masse critique", vous pouvez passer à un wiki et la question continuera à recueillir des réponses. Donc, je me demande, si vous définissez le drapeau wiki, il devrait peut-être attendre suffisamment de réponses pour lancer la question, et peut-être après un temps prédéfini - disons 3 heures - il se lancera automatiquement dans le wiki. Il s'agit d'un bon compromis, d'un équilibre entre récompenser les personnes qui sont disposées à démarrer le processus et en faire un effort communautaire basé sur la contribution. Des idées? Commentaires?
Avery Payne,

Réponses:

20

Un favori personnel a toujours été «Le cas du courrier électronique de 500 milles»

http://www.ibiblio.org/harris/500milemail.html

Divulgacher

$ units
2411 units, 71 prefixes, 33 nonlinear units

You have: 3 millilightseconds
You want: miles
    * 558.84719
    / 0.0017893979
2 tours
la source
1
Wow, j'ai posté trois réponses mais celle-ci doit être la gagnante!
HTTP500
+1 Oui, j'adore celui-ci. Sauf que vous avez mal orthographié votre favori (haha, jk)
squillman
@squillman Tout ce que Tolkien a grandi ;-)
faultyserver
@squilman - non, il ne l'a pas fait. C'est l'orthographe anglaise correcte.
Alnitak
@squilman Ça dépend si vous êtes Canadien. (couleur, favori, chèque, etc.) ;-)
KPWINC
11

Pour moi, la chose la plus étonnante à propos de la tradition UNIX est qu'UNIX a été essentiellement écrit par un gars - Ken Thompson alors qu'il était aux Bell Labs. Il y a un compte fascinant de ceci qui peut être trouvé ici: http://www.bell-labs.com/history/unix/

Certaines citations sont tout simplement inestimables:

"J'ai alloué une semaine chacun au système d'exploitation, au shell, à l'éditeur et à l'assembleur pour se reproduire ...", a expliqué Thompson.

Tuyaux:

Une autre innovation d'UNIX a été le développement de tuyaux, qui a permis aux programmeurs de regrouper un certain nombre de processus pour une sortie spécifique.

Ce n'était pas facile. "Il est très facile de dire" chat en grep en ... ", ou" qui en chat en grep ", a expliqué McIlroy. "Mais il y a tous ces paramètres secondaires que ces commandes ont; elles n'ont tout simplement pas d'arguments d'entrée et de sortie, mais elles ont toutes ces options."

Bien que bloqué, McIlroy n'a pas abandonné l'idée. "Et sur une période de 1970 à 1972, je disais de temps en temps, 'Et si on faisait quelque chose comme ça?', Et je mettais une autre proposition, une autre proposition, une autre proposition. Et un jour, je suis venu avec une syntaxe pour le shell qui accompagnait la tuyauterie, et Ken a dit: "Je vais le faire!" "

"Il était fatigué d'entendre ce genre de choses", a expliqué McIlroy. "Il n'a pas fait exactement ce que j'avais proposé pour l'appel du système de tuyaux. Il en a inventé un légèrement meilleur qui a finalement été changé une fois de plus pour ce que nous avons aujourd'hui. Il a utilisé ma syntaxe maladroite."

"Thompson a vu que les arguments du dossier n'allaient pas correspondre à ce schéma de choses et il est entré et a changé tous ces programmes dans la même nuit. Je ne sais pas comment ... et le lendemain matin, nous avons eu cette orgie d'un -lineries. "

" Il a mis des tuyaux dans UNIX, il a mis cette notation dans le shell, le tout en une nuit ", a déclaré McElroy, étonné.

Aussi technique que fut l'accomplissement, quand Thompson a créé des tuyaux, il a également mis quelque chose d'autre dans UNIX - une philosophie.

Comme McIlroy l'a décrit, "la philosophie que tout le monde a commencé à proposer était" Écrire des programmes qui font une chose et le font bien. Écrivez des programmes pour travailler ensemble. Écrivez des programmes qui gèrent des flux de texte, car c'est une interface universelle. ""

HTTP500
la source
7
Meilleur. Nuit blanche. Déjà.
Matt Simmons
8

tar ne se ferme jamais avec une erreur. JAMAIS. Il faut se méfier.

Source: Manuel UNIX-HATERS, page 31 ( http://simson.net/ref/ugh.pdf ) Désolé, pas de version HTML.

Ce livre se trouve être plein à craquer d'autres légendes, et il est surtout encore applicable. Au cours de mes années d'utilisation de Linux, j'ai rencontré bon nombre de ces problèmes ... tout simplement aucun de ceux impliquant la gestion de l'intégralité de mon lecteur, Dieu merci. C'est étonnant pour moi qu'une grande partie de ce livre soit toujours exacte, même s'il a été écrit il y a plus de 15 ans.

Et maintenant ma propre histoire d'horreur tar, presque une réplique exacte de celle d'UNIX-HATERS. Même bug, 14 ans plus tard!

Je veux que mon sans fil fonctionne sur mon eeepc, pour lequel je dois télécharger un pilote, le compiler et l'installer. Je télécharge tout ce dont j'ai besoin et je pars travailler à la bibliothèque. À mi-chemin, je me rends compte que oui, j'ai vraiment besoin d'Internet pour quelque chose, alors je vais installer.

tar -cvf somewirelessdriver.tar ./importantcompilerfiles

Oh, merde. Est-ce que je viens de taper -cvf au lieu de -xvf?

Ouaip.

Tar a-t-il créé en silence un fichier tar de déchets aléatoires, écrasant mon fichier utilisable?

Ouaip. Génial. Je suppose que je ferai juste sans accès à Internet. Heureusement que ce n'était pas un fichier de plusieurs gigaoctets ... Oh, attendez, c'est arrivé une semaine auparavant.

Honnêtement, quel est le problème avec les arguments de ligne de commande cryptiques et les programmes Linux? Ne peuvent-ils pas simplement effectuer automatiquement l'opération de base lorsqu'ils sont invoqués sur un fichier avec l'extension appropriée. Pourquoi dans les flammes dois-je dire à tar quoi faire avec une ARCHIVE? Pense-t-il que je pourrais vouloir l'archiver ENCORE?

Je pense que je comprends enfin ce qu'est un «goudron», maintenant. C'EST UN LIEU QUE LES FICHIERS ALLENT MOURIR.

SilentW
la source
1
Sensationnel. Juste wow. Y a-t-il une chance que vous puissiez rééditer avec un lien à ce sujet?
Avery Payne
4
Allez, une erreur signifierait que tar a échoué. Vous devriez juste dire la vérité ... le goudron ne manque jamais ;-)
Matt Simmons
Lien ajouté, ainsi que plus de commentaires. En passant, j'ai en fait acheté mon MSI Wind, dépensant 350 $ supplémentaires, simplement pour ne pas avoir à utiliser Linux si je n'en avais pas envie. Cette histoire est l'une des nombreuses raisons pour lesquelles.
SilentW
Y a-t-il quelque chose que vous faites de nos jours pour éviter ce genre d'erreurs tar? Si oui, avez-vous des réponses pour stackoverflow.com/questions/1122977/…
Andrew Grimm
7

Connexion avec toutes les majuscules

http://utcc.utoronto.ca/~cks/space/blog/unix/UnixFossilizationExample

hrm. Je crains d'avoir mal compris la question :-)

Mais je quitte le lien, car je le trouve intéressant!

Matt Simmons
la source
En fait, la réponse est parfaite; l'intention de la question était de rassembler l'ésotérique (un peu comme sa question de frère) à partir des expériences de diverses personnes.
Avery Payne
6

Le symbole du tuyau d' origine était ^

La clé de suppression d'origine était #

La clé "kill" d'origine (effacer tout sur la ligne) était @

Si vous vous connectez à un ancien système et que vous ne paraissez pas taper un commentaire ou une adresse e-mail, stty devient votre ami.

Il s'agit d'un exemple de session de connexion 7e édition où la personne qui a créé le journal a eu la gentillesse d'exécuter stty .. De plus, comme mentionné ici, il dit "Comment identifier un shell Bourne traditionnel? Vous pouvez utiliser le circonflexe ^ (caret) en remplacement de | (pipe). "

chris
la source
1
Intéressant. Une source pour cela, pour une lecture plus approfondie?
sleske
2

Un que beaucoup de nouveaux venus sur Linux ne savent probablement pas, c'est que le créateur de Linux (Linus Torvalds) a emprunté massivement au système d'exploitation MINIX (un outil éducatif) créé par le professeur Andrew Tanenbaum: http://en.wikipedia.org /wiki/Andrew_S._Tanenbaum#MINIX .

Linus et le professeur Tanenbaum ont également longuement débattu des mérites / pragmatisme d'un noyau monolithique (Linux) par rapport à un micro-noyau (MINIX, Solaris). Le débat était public et peut être trouvé ici: http://oreilly.com/catalog/opensources/book/appa.html

À votre santé

HTTP500
la source
1
Le débat Torvalds-Tanenbaum est un vrai classique :-).
sleske
2

L'art de la programmation Unix est une bonne lecture pour quiconque s'intéresse à l'informatique, pas seulement à ceux qui s'intéressent à Unix. Oui une partie est datée, mais c'est toujours une lecture essentielle.

goo
la source
2

Tout est un fichier, ou peut être traité comme tel ... sauf l'utilisateur sacrément.

Une erreur de bus signifie que vous essayez d'exécuter des données, qui ont été stockées du côté des données du bus de données / programme divisé du PDP / 11.

Unix est le seul O / S à avoir des calendriers et des horloges dès le début, uniquement parce qu'un astronome était l'un des créateurs. (Extra comment-credit: nom de cet écrivain. Extra-extra credit: nom du médaillé olympique dans l'équipe UNIX.)

Le champ GCOS dans / etc / passwd a été nommé d'après le système d'exploitation GECOS et n'y a été placé que parce qu'ils utilisaient un ordinateur central GECOS comme serveur d'impression pour le mini Unix d'origine et qu'il avait besoin des données pour accepter un travail d'impression.

kmarsh
la source
1
et le réseautage. Qui sait ce qu'ils fumaient en créant le modèle BSD de mise en réseau sous Unix, mais ce n'est certainement pas Unixy.
chris
AT&T a implémenté Streams pour être une API réseau plus UNIXy, et a mis une couche API Socket dessus pour la compatibilité. Ensuite, BSD (4.4 je pense) a ajouté Streams en tant qu'API de couche de compatibilité appelée Sockets.
kmarsh
1

Une chose pas si drôle que j'ai faite avec du goudron une fois, et un goudron qui a pris une semaine à fonctionner:

  1. tar zcf foo.tar.gz ...
    • Au cours de la journée du lendemain, la session d'écran était sur mon écran: <UP>
    • Un jour plus tard: <enter>
    • Le goudron a fini, devinez quoi les clés se sont tenues dans le tampon, et sont entrées dans le shell la seconde après que le goudron a fini ...

Un vote positif sur leur commentaire pour que la première personne explique ce qui s'est passé :-) La morale de l'histoire, lancez des trucs en arrière-plan de la session écran.

Cela étant dit, j'aime toujours * NIX. Cela ne me dérange pas quand les choses sont gâchées parce que c'était de ma faute.

Kyle Brandt
la source
Plus une réponse à la réponse de SilentW que la question elle-même :-)
Kyle Brandt