En el principio fue la línea de comandos (12 page)

BOOK: En el principio fue la línea de comandos
6.29Mb size Format: txt, pdf, ePub
ads

Dec 14 15:04:15 theRev syslogd 1.3-3#17: restart.

Dec 14 15:04:15 theRev kernel: klogd 1.3-3, log source =

/proc/kmsg started.

Dec 14 15:04:15 theRev kernel: Loaded 3535 symbols from

/System.map.

Dec 14 15:04:15 theRev kernel: Symbols match kernel version

2.0.30

Dec 14 15:04:15 theRev kernel: No module symbols loaded.

Dec 14 15:04:15 theRev kernel: Intel MultiProcessor

Specification v1.4

Dec 14 15:04:15 theRev kernel: Virtual Wire compatibility

mode.

Dec 14 15:04:15 theRev kernel: OEM ID: INTEL Product ID:

440FX APIC at: 0xFEE00000

Dec 14 15:04:15 theRev kernel: Processor #0 Pentium(tm) Pro

APIC version 17

Dec 14 15:04:15 theRev kernel: Processor #1 Pentium(tm) Pro

APIC version 17

Dec 14 15:04:15 theRev kernel: I/O APIC #2 Version 17 at

0xFEC00000.

Dec 14 15:04:15 theRev kernel: Processors: 2

Dec 14 15:04:15 theRev kernel: Console: 16 point font, 400

scans

Dec 14 15:04:15 theRev kernel: Console: colour VGA+ 80x25,

1 virtual console (max 63)

Dec 14 15:04:15 theRev kernel: pcibios_init : BIOS32

Service Directory structure at 0x000fdb70

Dec 14 15:04:15 theRev kernel: pcibios_init : BIOS32

Service Directory entry at 0xfdb80

Dec 14 15:04:15 theRev kernel: pcibios_init : PCI BIOS

revision 2.10 entry at 0xfdba1

Dec 14 15:04:15 theRev kernel: Probing PCI hardware.

Dec 14 15:04:15 theRev kernel: Warning : Unknown PCI device

(10b7:9001). Please read include/linux/pci.h

Dec 14 15:04:15 theRev kernel: Calibrating delay loop..

ok - 179.40 BogoMIPS

Dec 14 15:04:15 theRev kernel: Memory: 64268k/66556k

available (700k kernel code, 384k reserved, 1204k data)

Dec 14 15:04:15 theRev kernel: Swansea University Computer

Society NET3.035 for Linux 2.0

Dec 14 15:04:15 theRev kernel: NET3: Unix domain sockets

0.13 for Linux NET3.035.

Dec 14 15:04:15 theRev kernel: Swansea University Computer

Society TCP/IP for NET3.034 Dec 14 15:04:15 theRev

kernel: IP Protocols: ICMP, UDP, TCP Dec 14 15:04:15

theRev kernel: Checking 386/387 coupling... Ok, fpu using

exception 16 error reporting.

Dec 14 15:04:15 theRev kernel: Checking ’hlt’

instruction... Ok.

Dec 14 15:04:15 theRev kernel: Linux version 2.0.30

(root@theRev) (gcc version 2.7.2.1) #15 Fri Mar 27

16:37:24 PST 1998

Dec 14 15:04:15 theRev kernel: Booting processor 1 stack

00002000:Calibrating delay loop.. ok - 179.40 BogoMIPS

Dec 14 15:04:15 theRev kernel: Total of 2 processors

activated (358.81 BogoMIPS).

Dec 14 15:04:15 theRev kernel: Serial driver version 4.13

with no serial options enabled

Dec 14 15:04:15 theRev kernel: tty00 at 0x03f8 (irq = 4) is

a 16550A

Dec 14 15:04:15 theRev kernel: tty01 at 0x02f8 (irq = 3) is

a 16550A

Dec 14 15:04:15 theRev kernel: lp1 at 0x0378, (polling)

Dec 14 15:04:15 theRev kernel: PS/2 auxiliary pointing

device detected -- driver installed.

Dec 14 15:04:15 theRev kernel: Real Time Clock Driver v1.07

Dec 14 15:04:15 theRev kernel: loop: registered device at

major 7

Dec 14 15:04:15 theRev kernel: ide: i82371 PIIX (Triton) on

PCI bus 0 function 57

Dec 14 15:04:15 theRev kernel: ide0: BM-DMA at

0xffa0-0xffa7

Dec 14 15:04:15 theRev kernel: ide1: BM-DMA at

0xffa8-0xffaf

Dec 14 15:04:15 theRev kernel: hda: Conner Peripherals

1275MB - CFS1275A, 1219MB w/64kB Cache, LBA,

CHS=619/64/63

Dec 14 15:04:15 theRev kernel: hdb: Maxtor 84320A5, 4119MB

w/256kB Cache, LBA, CHS=8928/15/63, DMA

Dec 14 15:04:15 theRev kernel: hdc: , ATAPI CDROM drive

Dec 15 11:58:06 theRev kernel: ide0 at 0x1f0-0x1f7,0x3f6 on

irq 14

Dec 15 11:58:06 theRev kernel: ide1 at 0x170-0x177,0x376 on

irq 15

Dec 15 11:58:06 theRev kernel: Floppy drive(s): fd0 is

1.44M

Dec 15 11:58:06 theRev kernel: Started kswapd v 1.4.2.2

Dec 15 11:58:06 theRev kernel: FDC 0 is a National

Semiconductor PC87306

Dec 15 11:58:06 theRev kernel: md driver 0.35 MAX_MD_DEV=4,

MAX_REAL=8

Dec 15 11:58:06 theRev kernel: PPP: version 2.2.0 (dynamic

channel allocation)

Dec 15 11:58:06 theRev kernel: TCP compression code

copyright 1989 Regents of the University of California

Dec 15 11:58:06 theRev kernel: PPP Dynamic channel

allocation code copyright 1995 Caldera, Inc.

Dec 15 11:58:06 theRev kernel: PPP line discipline

registered.

Dec 15 11:58:06 theRev kernel: SLIP: version

0.8.4-NET3.019-NEWTTY (dynamic channels, max=256).

Dec 15 11:58:06 theRev kernel: eth0: 3Com 3c900 Boomerang

10Mbps/Combo at 0xef00, 00:60:08:a4:3c:db, IRQ 10

Dec 15 11:58:06 theRev kernel: 8K word-wide RAM 3:5 Rx:Tx

split, 10base2 interface.

Dec 15 11:58:06 theRev kernel: Enabling bus-master

transmits and whole-frame receives.

Dec 15 11:58:06 theRev kernel: 3c59x.c:v0.49 1/2/98 Donald

Becker http://cesdis.gsfc.nasa.gov/linux/drivers

/vortex.html

Dec 15 11:58:06 theRev kernel: Partition check:

Dec 15 11:58:06 theRev kernel: hda: hda1 hda2 hda3

Dec 15 11:58:06 theRev kernel: hdb: hdb1 hdb2

Dec 15 11:58:06 theRev kernel: VFS: Mounted root (ext2

filesystem) readonly.

Dec 15 11:58:06 theRev kernel: Adding Swap: 16124k

swap-space (priority -1)

Dec 15 11:58:06 theRev kernel: EXT2-fs warning: maximal

mount count reached, running e2fsck is recommended

Dec 15 11:58:06 theRev kernel: hdc: media changed

Dec 15 11:58:06 theRev kernel: ISO9660 Extensions:

RRIP_1991A

Dec 15 11:58:07 theRev syslogd 1.3-3#17: restart.

Dec 15 11:58:09 theRev diald[87]: Unable to open options

file /etc/diald/diald.options: No such file or directory

Dec 15 11:58:09 theRev diald[87]: No device specified. You

must have at least one device!

Dec 15 11:58:09 theRev diald[87]: You must define a

connector script (option ’connect’).

Dec 15 11:58:09 theRev diald[87]: You must define the

remote ip address.

Dec 15 11:58:09 theRev diald[87]: You must define the local

ip address.

Dec 15 11:58:09 theRev diald[87]: Terminating due to

damaged reconfigure.

Las únicas partes de esto que resultan legibles para las personas normales son los mensajes de error y las advertencias. Y sin embargo, es notable que Linux no se detiene, o se viene abajo, cuando encuentra un error; escupe un gemido quejumbroso, abandona los procesos dañados, y sigue adelante. Decididamente, esto no era así en las primeras versiones de los sistemas operativos de Apple y Microsoft, por el sencillo motivo de que un sistema operativo que no es capaz de andar y mascar chicle a la vez no puede recobrarse de los errores. Buscar y solucionar errores requiere un proceso aparte que corra en paralelo al que ha fallado. Una especie de superego, si lo prefieren, que mantiene vigilados a los demás y entra en acción cuando uno se desvía. Ahora que MacOS y Windows pueden hacer más de una cosa a la vez se les da mucho mejor tratar con los errores que antes, pero no se aproximan siquiera a Linux o los demás sistemas Unix en este aspecto; y su mayor complejidad les ha hecho vulnerables a nuevos tipos de error.

Falibilidad, enmienda, redención, confianza y otros arcanos conceptos técnicos

Linux no es capaz de tener políticas centralmente organizadas que dicten cómo escribir mensajes de error y documentación, así que cada programador escribe los suyos propios. Habitualmente están en inglés, aunque montones de programadores de Linux son europeos. Frecuentemente son graciosos. Siempre son honestos. Si ha ocurrido algo malo porque el software sencillamente todavía no está acabado, o porque el usuario fastidió algo, lo dirán con todas las letras. La interfaz de línea de comandos facilita que los programas escupan pequeños comentarios, advertencias y mensajes aquí y allí. Incluso si una aplicación está implosionando como un submarino dañado, habitualmente puede seguir lanzando un pequeño mensaje de SOS. A veces, cuando se deja de trabajar con un programa y se cierra, uno se encuentra con que ha dejado detrás una serie de advertencias y mensajes de error no muy graves en las ventanas de la interfaz de línea de comandos desde la que se ejecutó. Como si el software te contara cómo le iba mientras trabajabas con él.

La documentación, en Linux, viene en forma de páginas man (abreviatura de
manual
. Se puede acceder a ellas bien mediante una GUI (xman) o desde la línea de comandos (man). Esta es una muestra de la página man de un programa llamado rsh:

Detener señales detener sólo el proceso rsh local; esto es posiblemente erróneo, pero actualmente bastante difícil de solucionar por razones demasiado complicadas para explicarlas aquí.

Las páginas man contienen un montón de material parecido, que suena como las murmuraciones de pilotos pugnando con los mandos de aviones averiados. La sensación general es la de miles de monumentales pero oscuras pugnas vistas a la luz paralizante de un estroboscopio. Cada programador está tratando con sus propios obstáculos y fallos; está demasiado ocupado solucionándolos, y mejorando el software, para explicar las cosas en detalle o tener elaboradas pretensiones.

En la práctica casi nunca se encuentra un fallo serio en Linux. Cuando se encuentra, es casi siempre en el software comercial (varios vendedores comercializan software que funciona en Linux). El sistema operativo y sus programas fundamentales de utilidad son demasiado importantes para contener fallos serios. Llevo ejecutando Linux cada día desde finales de 1995 y he visto cómo muchos programas de aplicaciones caían pasto de las llamas, pero nunca he visto que el sistema operativo se venga abajo. Nunca. Ni una sola vez. Hay unos cuanto sistemas Linux que llevan meses o años funcionando continuamente y trabajando duro sin necesidad de reiniciarlos.

Los sistemas operativos comerciales tienen que adoptar la misma postura oficial hacia los errores que tenían los países comunistas frente a la pobreza. Por razones de doctrina, no resultaba posible admitir que la pobreza era un serio problema en los países comunistas, porque la idea misma del comunismo era erradicar la pobreza. Igualmente, las compañías de sistemas operativos comerciales como Apple o Microsoft no pueden ir por ahí admitiendo que su software tiene errores y se cae todo el rato, no más de lo que Disney puede emitir comunicados de prensa firmando que el ratón Mickey es un actor disfrazado.

Esto es un problema, porque los errores existen y suceden. Cada pocos meses Bill Gates trata de hacer una demostración de un nuevo producto de Microsoft ante un gran público sólo para que le reviente en las narices. Los distribuidores de sistemas operativos comerciales, como consecuencia directa de ser comerciales, se ven forzados a adoptar la posición groseramente tosca de que los errores son raras aberraciones, habitualmente la culpa de otro, y por tanto no merece la pena hablar de ello en detalle. Esta postura, que todo el mundo sabe que es absurda, no se limita a comunicados de prensa y campañas publicitarias: constituye el modo mismo en que estas compañías hacen negocios y se relacionan con sus clientes. Si la documentación estuviera bien escrita, mencionaría fallos, errores y caídas del sistema en cada página. Si los sistemas de ayuda en línea que vienen con estos sistemas operativos reflejaran la experiencia y preocupaciones de sus usuarios, estarían dedicados básicamente a instrucciones acerca de cómo tratar con los fallos y errores del sistema.

Pero esto no sucede. Las compañías de accionistas son maravillosos inventos que nos han dado muchos excelentes bienes y servicios. Se les dan bien muchas cosas. Admitir el fracaso no es una de ellas. Diablos, ni siquiera admiten fallos menores.

Por supuesto, este comportamiento no es tan patológico en una compañía como lo sería en un ser humano. La mayoría de la gente hoy en día entiende que los comunicados de prensa de las empresas se lanzan para quedar bien con los accionistas de la compañía, no para ilustrar al público. A veces los resultados de esta deshonestidad institucional pueden ser espantosos, como en el caso del tabaco y del amianto. En el caso de los distribuidores de sistemas operativos comerciales no es nada así, por supuesto; solamente es irritante.

Algunos podrían argüir que la irritación de los consumidores, con el tiempo, se convierte en una especie de placa endurecida que puede ocultar un serio deterioro, y que la honestidad podría ser así la mejor política a largo plazo; el jurado aún tiene que decidir acerca de esto en el mercado de los sistemas operativos. El negocio se está expandiendo lo bastante rápido como para que siga siendo mucho mejor tener miles de millones de clientes crónicamente irritados que millones de clientes contentos.

La mayoría de administradores de sistemas que conozco que trabajan siempre con Windows NT están de acuerdo en que cuando tiene un fallo hay que reiniciarlo, y cuando se fastidia en serio el único modo de arreglarlo es reinstalar el sistema operativo desde el principio. O al menos éste es el único modo que conocen de arreglarlo, lo cual viene a ser lo mismo. Es muy posible que los ingenieros de Microsoft tengan un montón de información privilegiada sobre cómo arreglar el sistema cuando va mal, pero si la tienen, no parecen estar transmitiendo el mensaje a ninguno de los administradores de sistema que yo conozca.

Debido a que Linux no es comercial —porque es, de hecho, gratuito, así como bastante difícil de obtener, instalar, y operar
29
— no tiene que mantener ninguna pretensión acerca de su fiabilidad. En consecuencia, es mucho más fiable. Cuando algo falla en Linux, el error es detectado y discutido vivamente de inmediato. Cualquiera con los conocimientos técnicos necesarios puede ir derecho al código fuente y señalar el origen del error, que es rápidamente solucionado por el hacker que fuera responsable de ese programa en particular.

BOOK: En el principio fue la línea de comandos
6.29Mb size Format: txt, pdf, ePub
ads

Other books

The Cowboy's Sweetheart by Brenda Minton
Mistress of Magic by Heather Graham
The Shepard's Agony by Mandy Rosko
Muttley by Ellen Miles
Blood Tears by Michael J. Malone
Bird by Noy Holland
Retromancer by Robert Rankin
Wolfman - Art Bourgeau by Art Bourgeau