Unix Legendry (e anche altri * nix)


12

Questo è il gemello di questa domanda .

La risposta più oscura / votata riceverà il voto di risposta!

La maggior parte dei sistemi Unix e simili a Unix hanno una "storia tradizionale" che viene tramandata ad ogni generazione, in modo che i nuovi arrivati ​​possano vedere e comprendere alcune delle parti più esoteriche del sistema. A quale * nix amministratore di lunga data contribuisce alla "Leggenda" di "UNIX", per quanto riguarda la conoscenza esoterica alla quale dovrebbero essere esposti i nuovi amministratori?


2
Dovrebbe wiki questo, penso
squillman

Lo farò, in tempo utile. ;) A dire la verità, ho fatto diversi wiki di puro gioco e, a meno che non ci sia nemmeno un pizzico di voti da guadagnare, nessuno verrà . Scherzi a parte, funziona in questo modo ogni volta, a colpo sicuro. Le persone non inseriranno voci per un wiki a meno che non sia assurdamente non correlato al lavoro (ad es. Cartone animato di sysadmin preferito, ecc.)
Avery Payne,

2
Ho notato la cosa "nessuno commenta in wiki". È così bizzarro. Le persone giocano a serverfault come se fosse un videogioco. Dumb.
Matt Simmons,

1
L'ho notato anche io, ma (IMHO) non significa che dovremmo incoraggiare il rep-whoring ... Fammi sapere quando lo porti a meta, escono con delle fiamme piuttosto buone laggiù (fidati di me , lo capirai) :)
squillman,

1
Odio dirlo ... ma penso che dovrebbe esserci un qualche tipo di compromesso. La mia osservazione generale è stata che se raggiungi una certa "massa critica", puoi passare a una wiki e la domanda continuerà a raccogliere risposte. Quindi, mi chiedo, se imposti la bandiera wiki, forse dovrebbe attendere abbastanza risposte per dare il via alla domanda, e forse dopo un tempo prestabilito - diciamo 3 ore - entra automaticamente nel wiki. Questo è un buon compromesso, un equilibrio tra premiare le persone che sono disposte ad iniziare il processo e renderlo uno sforzo della comunità basato sul contributo. Idee? Commenti?
Avery Payne,

Risposte:


20

Un preferito personale è sempre stato "Il caso dell'e-mail da 500 miglia"

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

spoiler

$ units
2411 units, 71 prefixes, 33 nonlinear units

You have: 3 millilightseconds
You want: miles
    * 558.84719
    / 0.0017893979

1
Caspita, ho pubblicato tre risposte ma questa deve essere la vincitrice!
HTTP500

+1 Sì, lo adoro . Tranne che hai scritto male il preferito (haha, jk)
squillman

@squillman Tutto ciò che Tolkien sta crescendo ;-)
faultyserver il

@squilman - no, non l'ha fatto. Questa è l'ortografia inglese corretta.
Alnitak,

@squilman Dipende se sei canadese. (colore, preferito, controllo, ecc.) ;-)
KPWINC

11

Per me la cosa più sorprendente della tradizione UNIX è che UNIX è stato praticamente scritto da un ragazzo - Ken Thompson mentre era al Bell Labs. C'è un affascinante resoconto di questo che può essere trovato qui: http://www.bell-labs.com/history/unix/

Alcune citazioni non hanno prezzo:

"Ho assegnato una settimana ciascuno al sistema operativo, alla shell, all'editor e all'assemblatore per riprodursi ...", ha spiegato Thompson.

Pipes:

Un'altra innovazione di UNIX è stata lo sviluppo di pipe, che hanno dato ai programmatori la possibilità di mettere insieme una serie di processi per un output specifico.

Non è stato facile "È molto facile dire" gatto in grep in ... "o" chi in gatto in grep "", ha spiegato McIlroy. "Ma ci sono tutti questi parametri secondari che hanno questi comandi; semplicemente non hanno argomenti di input e output, ma hanno tutte queste opzioni."

Sebbene stymied, McIlroy non ha abbandonato l'idea. "E per un periodo dal 1970 al 1972, di tanto in tanto dicevo:" Che ne dici di fare una cosa del genere? ", E ho fatto un'altra proposta, un'altra proposta, un'altra proposta. E un giorno sono arrivato con una sintassi per il guscio che accompagnava le tubazioni e Ken disse: "Lo farò!"

"Era stanco di sentire queste cose", ha spiegato McIlroy. "Non ha fatto esattamente quello che avevo proposto per la chiamata del sistema di pipe. Ne ha inventato uno leggermente migliore che alla fine è stato cambiato ancora una volta rispetto a quello che abbiamo oggi. Ha usato la mia sintassi goffa."

"Thompson ha visto che gli argomenti dei file non si sarebbero adattati a questo schema di cose ed è entrato e ha cambiato tutti quei programmi nella stessa notte. Non so come ... e la mattina dopo abbiamo avuto un'orgia di uno -liners ".

" Ha messo le pipe in UNIX, ha messo questa notazione in shell, tutto in una notte ", ha detto McElroy meravigliato.

Tecnicamente pulito come il risultato ottenuto, quando Thompson creò le pipe, mise anche qualcos'altro in UNIX: una filosofia.

Come ha descritto McIlroy, "la filosofia che tutti hanno iniziato a mettere in campo è stata:" Scrivi programmi che fanno una cosa e la fanno bene. Scrivi programmi per lavorare insieme. Scrivi programmi che gestiscono flussi di testo, perché questa è un'interfaccia universale ".


7
Migliore. Tutta la notte. Mai.
Matt Simmons,

8

tar non esce mai con un errore. MAI. Attenzione.

Fonte: Manuale di UNIX-HATERS, pagina 31 ( http://simson.net/ref/ugh.pdf ) Siamo spiacenti, nessuna versione HTML.

Questo libro sembra essere pieno zeppo di altre leggende, ed è per lo più ancora applicabile. Nei miei anni di utilizzo di Linux, mi sono imbattuto in molti di questi gotcha ... solo nessuno di quelli che coinvolgono il mio intero disco, per fortuna. È sorprendente per me che gran parte di questo libro sia ancora accurato, anche se è stato scritto più di 15 anni fa.

E ora la mia storia horror di catrame, quasi una replica esatta di quella di UNIX-HATERS. Lo stesso bug, 14 anni dopo!

Voglio che il mio wireless funzioni sul mio eeepc, per il quale devo scaricare un driver, compilarlo e installarlo. Scarico tutto ciò di cui ho bisogno e vado in biblioteca a lavorare. A metà strada, mi rendo conto che sì, ho bisogno di Internet per qualcosa, quindi vado a installare.

tar -cvf somewirelessdriver.tar ./importantcompilerfiles

Oh merda. Ho appena digitato -cvf invece di -xvf?

Sì.

Tar ha appena creato in silenzio un file tar di immondizia casuale, sovrascrivendo il mio file utilizzabile?

Sì. Grande. Immagino che farò solo senza accesso a Internet. Meno male che non era un file multi-gigabyte ... Oh aspetta, è successo una settimana prima.

Onestamente, che diamine ci sono con argomenti criptici da riga di comando e programmi Linux? Non possono semplicemente eseguire automaticamente l'operazione di base quando vengono invocati su un file con l'estensione appropriata. Perché negli incendi devo dire a tar cosa fare di un ARCHIVIO? Pensa che potrei voler archiviarlo ANCORA?

Penso di aver finalmente capito cosa sia una "buca per catrame", ora. È UN POSTO IN CUI I FILE VENGONO MORTI.


1
Wow. Solo ... wow. Qualche possibilità che puoi modificare nuovamente con un link su questo?
Avery Payne,

4
Dai, un errore significherebbe che tar non è riuscito. Dovresti semplicemente dichiarare la verità ... il catrame non fallisce mai ;-)
Matt Simmons,

Collegamento aggiunto, oltre a ulteriori commenti. Come nota a margine, ho effettivamente acquistato il mio MSI Wind, spendendo altri 350 $, semplicemente per non dover usare Linux se non ne avevo voglia. Questa storia è una delle MOLTE ragioni per cui.
Silenzioso,

C'è qualcosa che fai al giorno d'oggi per evitare questo tipo di errori tar? In tal caso, hai qualche risposta per stackoverflow.com/questions/1122977/…
Andrew Grimm,


6

L' originale simbolo della pipa era ^

La chiave di eliminazione originale era #

Il tasto "kill" originale (cancella tutto sulla riga) era @

Se si accede mai a un sistema precedente e non riesci a digitare un commento o un indirizzo e-mail, stty diventa tuo amico.

Questo è un esempio della sessione di accesso del 7 ° ed in cui la persona che ha effettuato il log è stata abbastanza gentile da eseguire stty .. Inoltre, come menzionato qui , dice "Come identificare una shell Bourne tradizionale? 1 Un semplice controllo per una caratteristica spesso non documentata ma caratteristica: È possibile utilizzare il circumflex ^ (punto di inserimento) in sostituzione di | (pipe). "


1
Interessante. Qualche fonte per questo, per ulteriori letture?
sleske,



2

Uno che probabilmente molti neofiti di Linux non sanno è che il creatore di Linux (Linus Torvalds) ha preso in prestito pesantemente dal sistema operativo MINIX (uno strumento educativo) creato dal professor Andrew Tanenbaum: http://en.wikipedia.org /wiki/Andrew_S._Tanenbaum#MINIX .

Linus e il Prof. Tanenbaum hanno anche discusso a lungo dei meriti / pragmatismi di un kernel monolitico (Linux) rispetto a un microkernel (MINIX, Solaris). Il dibattito è stato pubblico e può essere trovato qui: http://oreilly.com/catalog/opensources/book/appa.html

Saluti


1
Il dibattito Torvalds-Tanenbaum è un vero classico :-).
sleske,


2

Tutto è un file o può essere trattato come tale ... tranne l'utente maledetto.

Errore bus indica che si sta tentando di eseguire dati, che sono stati memorizzati sul lato dati del bus dati / programma suddiviso del PDP / 11.

Unix è l'unico O / S che ha avuto calendari e orologi fin dall'inizio, solo perché un astronomo era uno dei creatori. (Credito commento aggiuntivo: nome di quello scrittore. Credito extra extra: nome del vincitore della medaglia olimpica nella squadra UNIX.)

Il campo GCOS in / etc / passwd è stato chiamato in base al sistema operativo GECOS e vi è stato inserito solo perché utilizzavano un mainframe GECOS come server di stampa su Unix mini originale e aveva bisogno dei dati per accettare un lavoro di stampa.


1
e networking. Chissà cosa stavano fumando quando creavano il modello di rete BSD in unix, ma di sicuro non è univoco.
chris,

AT&T ha implementato Streams per essere un'API di rete più UNIXy e ha messo un livello API Socket su di esso per la compatibilità. Quindi BSD (4.4 credo) ha aggiunto Streams come API di livello di compatibilità che ha chiamato Socket.
kmarsh

1

Una cosa non così divertente che ho fatto con tar una volta, e un tar che ha richiesto una settimana per essere eseguito:

  1. tar zcf foo.tar.gz ...
    • Qualche tempo durante il giorno successivo, la sessione dello schermo è stata visualizzata sul mio schermo: <UP>
    • Circa un giorno dopo: <enter>
    • Tar ha finito, indovina cosa hanno tenuto le chiavi nel buffer ed è entrato nella shell il secondo dopo che il tar ha finito ...

Un giudizio sul loro commento per la prima persona che ha spiegato cosa è successo :-) La morale della storia, fa girare le cose sullo sfondo della sessione dello schermo.

Detto questo, adoro ancora * NIX. Non mi importa quando le cose sono incasinate perché è stata colpa mia .


Più una risposta alla risposta di SilentW che la domanda stessa :-)
Kyle Brandt,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.