Unix Legendry (y otros * nix también)


12

Este es el gemelo de esta pregunta .

¡La respuesta más oscura / votada obtendrá el voto de respuesta!

La mayoría de los sistemas Unix y similares a Unix tienen una "historia tradicional" que se transmite con cada generación, para que los recién llegados puedan ver y comprender algunas de las partes más esotéricas del sistema. ¿Qué administradores de * nix desde hace mucho tiempo contribuyen a la "Leyenda" de "UNIX", en cuanto al conocimiento esotérico al que deben estar expuestos los nuevos administradores?


2
Debe wiki esto, me parece
squillman

Lo haré, a su debido tiempo. ;) A decir verdad, he hecho varios wikis de juego puro, y a menos que haya una pista de votos, nadie vendrá . En serio, funciona de esta manera cada vez, sin falta. La gente no se ponga en entradas para un wiki a menos que sea absurdo no relacionada con el trabajo (es decir, favorito de dibujos animados administrador de sistemas, etc.)
Avery Payne

2
Me he dado cuenta de que "nadie comenta en wikis". Eso es muy extraño. La gente juega a serverfault como si fuera un videojuego. Tonto.
Matt Simmons

1
También lo he notado, pero (en mi humilde opinión) no significa que debamos alentar el rep-whoring ... Avísame cuando lo lleves a meta, se les ocurren algunas llamas bastante buenas allí (confía en mí , lo conseguirás) :)
squillman

1
Odio decirlo ... pero creo que debería haber algún tipo de compromiso. Mi observación general ha sido que si alcanzas cierta "masa crítica", puedes pasar a una wiki y la pregunta continuará reuniendo respuestas. Entonces, me pregunto, si configura la bandera wiki, tal vez debería esperar suficientes respuestas para iniciar la pregunta, y tal vez después de un tiempo preestablecido, digamos 3 horas, se activa automáticamente en wiki. Este es un buen compromiso, un equilibrio entre recompensar a las personas que están dispuestas a comenzar el proceso y convertirlo en un esfuerzo comunitario basado en la contribución. Ideas? Comentarios?
Avery Payne

Respuestas:


20

Un favorito personal siempre ha sido "El caso del correo electrónico de 500 millas"

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

Revelación

$ units
2411 units, 71 prefixes, 33 nonlinear units

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

1
Wow, publiqué tres respuestas, ¡pero esta debe ser la ganadora!
HTTP500

+1 Sí, me encanta este. Excepto que mal escrito favorito (jaja, jk)
squillman

@squillman Todo lo que Tolkien está creciendo ;-)
defectyserver

@squilman: no, no lo hizo. Esa es la ortografía correcta en inglés.
Alnitak

@squilman Depende de si eres canadiense. (color, favorito, cheque, etc.) ;-)
KPWINC

11

Para mí, lo más sorprendente de la tradición de UNIX es que UNIX fue escrito básicamente por un tipo, Ken Thompson, mientras estaba en Bell Labs. Hay una cuenta fascinante de esto que se puede encontrar aquí: http://www.bell-labs.com/history/unix/

Algunas de las citas no tienen precio:

"Le asigné una semana al sistema operativo, el shell, el editor y el ensamblador para reproducirse ...", explicó Thompson.

Tubería:

Otra innovación de UNIX fue el desarrollo de tuberías, que les dio a los programadores la capacidad de unir varios procesos para una salida específica.

No fue facil. "Es muy fácil decir 'cat into grep into ...' o 'who into cat into grep'", explicó McIlroy. "Pero hay todos estos parámetros secundarios que tienen estos comandos; simplemente no tienen argumentos de entrada y salida, pero tienen todas estas opciones".

Aunque bloqueado, McIlroy no dejó caer la idea. "Y durante un período de 1970 a 1972, de vez en cuando decía '¿Qué tal hacer algo como esto?', Y presentaba otra propuesta, otra propuesta, otra propuesta. Y un día surgí con una sintaxis para el caparazón que acompañaba a la tubería, y Ken dijo: "¡Lo voy a hacer!"

"Estaba cansado de escuchar estas cosas", explicó McIlroy. "No hizo exactamente lo que le había propuesto para la llamada al sistema de tuberías. Inventó uno un poco mejor que finalmente cambió una vez más a lo que tenemos hoy. Usó mi sintaxis torpe".

"Thompson vio que los argumentos de archivo no iban a encajar con este esquema de cosas y entró y cambió todos esos programas en la misma noche. No sé cómo ... y a la mañana siguiente tuvimos esta orgía de uno -liners ".

" Puso tuberías en UNIX, puso esta notación en shell, todo en una noche ", dijo McElroy maravillado.

Tan técnicamente ingenioso como fue el logro, cuando Thompson creó tuberías, también puso algo más en UNIX: una filosofía.

Como lo describió McIlroy, "la filosofía que todos comenzaron a plantear fue 'Escribir programas que hagan una cosa y hacerlo bien. Escribir programas para trabajar juntos. Escribir programas que manejen flujos de texto, porque esa es una interfaz universal'".


77
Mejor. Toda la noche. Nunca.
Matt Simmons

8

tar nunca sale con un error. NUNCA. Tener cuidado.

Fuente: Manual de UNIX-HATERS, página 31 ( http://simson.net/ref/ugh.pdf ) Lo sentimos, no hay una versión HTML.

Este libro está lleno de otras leyendas, y en su mayoría sigue siendo aplicable. En mis años de uso de Linux, me he encontrado con muchas de estas trampas ... pero ninguna de las que involucran el manejo de todo mi disco, gracias a Dios. Es sorprendente para mí que gran parte de este libro aún sea exacto, a pesar de que fue escrito hace más de 15 años.

Y ahora mi propia historia de terror de alquitrán, casi una réplica exacta de UNIX-HATERS. ¡El mismo error, 14 años después!

Quiero que mi conexión inalámbrica funcione en mi eeepc, para lo cual debo descargar un controlador, compilarlo e instalarlo. Descargo todo lo que necesito y me dirijo a la biblioteca para trabajar. A mitad de camino, me doy cuenta de que sí, necesito internet para algo, así que voy a instalar.

tar -cvf somewirelessdriver.tar ./importantcompilerfiles

Oh mierda. ¿Acabo de escribir -cvf en lugar de -xvf?

Sip.

¿Tar simplemente creó silenciosamente un archivo tar de basura aleatoria, sobrescribiendo mi archivo utilizable?

Sip. Excelente. Supongo que lo haré sin acceso a internet. Lo bueno es que no fue un archivo de varios gigabytes ... Oh, espera, eso sucedió una semana antes.

Honestamente, ¿qué diablos pasa con argumentos crípticos de línea de comandos y programas de Linux? ¿No pueden simplemente hacer la operación básica automáticamente cuando se invocan en un archivo con la extensión adecuada? ¿Por qué en las llamas necesito decirle a tar qué hacer con un ARCHIVO? ¿Piensa que podría querer archivarlo OTRA VEZ?

Creo que finalmente entiendo qué es un 'pozo de alquitrán', ahora. ES UN LUGAR QUE ARCHIVA IR A MORIR.


1
Guau. Simplemente guau. ¿Hay alguna posibilidad de que puedas volver a editar con un enlace sobre esto?
Avery Payne

44
Vamos, un error significaría que el alquitrán falló. Deberías decir la verdad ... el alquitrán nunca falla ;-)
Matt Simmons

Enlace agregado, así como más comentarios. Como nota al margen, de hecho compré mi MSI Wind, gastando 350 $ adicionales, simplemente para no tener que usar Linux si no tenía ganas. Esta historia es una de las MUCHAS razones por las cuales.
SilentW

¿Hay algo que hagas hoy en día para evitar este tipo de errores de tar? Si es así, ¿tiene alguna respuesta para stackoverflow.com/questions/1122977/…
Andrew Grimm


6

El símbolo original de la tubería era ^

La clave de eliminación original era #

La clave original "kill" (borrar todo en la línea) era @

Si alguna vez inicia sesión en un sistema anterior y parece que no puede escribir un comentario o una dirección de correo electrónico, stty se convierte en su amigo.

Esta es una sesión de inicio de sesión de 7ª edición de ejemplo en la que la persona que hizo el registro fue lo suficientemente amable como para ejecutar stty. Además, como se menciona aquí , dice "¿Cómo identificar un shell Bourne tradicional? 1 Una simple comprobación de una característica a menudo indocumentada pero característica: Puede usar el circunflejo ^ (caret) como reemplazo de | (tubería) ".


1
Interesante. ¿Alguna fuente para eso, para leer más?
sleske



2

Uno que probablemente muchos de los recién llegados a Linux no saben es que el creador de Linux (Linus Torvalds) tomó prestado mucho del Sistema Operativo MINIX (una herramienta educativa) creado por el Profesor Andrew Tanenbaum: http://en.wikipedia.org /wiki/Andrew_S._Tanenbaum#MINIX .

Linus y el profesor Tanenbaum también debatieron extensamente los méritos / pragmatismo de un núcleo monolítico (Linux) versus un microkernel (MINIX, Solaris). El debate fue público y se puede encontrar aquí: http://oreilly.com/catalog/opensources/book/appa.html

Salud


1
El debate Torvalds-Tanenbaum es un verdadero clásico :-).
sleske


2

Todo es un archivo, o puede ser tratado como tal ... excepto el maldito usuario.

Error de bus significa que está intentando ejecutar datos, que se almacenaron en el lado de datos del bus de datos / programas divididos del PDP / 11.

Unix es el único O / S que obtuvo calendarios y relojes desde el principio, solo porque un astrónomo fue uno de los creadores. (Crédito-comentario adicional: nombre de ese escritor. Crédito extra-extra: nombre del ganador de la medalla olímpica en el equipo UNIX).

El campo GCOS en / etc / passwd recibió el nombre del sistema operativo GECOS, y se colocó allí solo porque estaban usando un mainframe GECOS como servidor de impresión para el Unix mini original, y necesitaba los datos para aceptar un trabajo de impresión.


1
y redes. Quién sabe qué estaban fumando al hacer el modelo BSD de redes en Unix, pero seguro que no es unixy.
Chris

AT&T implementó Streams para ser una API de red más UNIXy, y colocó una capa de Socket API sobre compatibilidad. Luego BSD (4.4 creo) agregó Streams como una API de capa de compatibilidad que llamó Sockets.
kmarsh

1

Una cosa no tan divertida que hice con alquitrán una vez, y un alquitrán que tardó una semana en ejecutarse:

  1. tar zcf foo.tar.gz ...
    • En algún momento durante el día siguiente más o menos, la sesión de pantalla estaba activa en mi pantalla: <UP>
    • Un día más tarde: <enter>
    • El alquitrán terminó, adivine qué teclas se guardaron en el búfer, y entró en el caparazón el segundo después de que el alquitrán terminó ...

Un voto positivo en su comentario para que la primera persona explique lo que sucedió :-) La moraleja de la historia, ejecuta cosas en el fondo de la sesión de pantalla.

Dicho esto, todavía me encanta * NIX. No me importa cuando las cosas están en mal estado porque fue mi culpa.


Más una respuesta a la respuesta de SilentW que la pregunta en sí :-)
Kyle Brandt
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.