La Gaceta de Linux ...¡ haciendo a Linux un poco más divertido !

Desertores de Windows: Creo que ya no estamos en Redmond, Toto

Por Tom Brown

Traducción al español por Charles Bedón
el día 19 de Agosto de 2004, para La Gaceta de Linux

Antes de empezar, quiero advertirle. Soy una persona muy testaruda. Espero que las cosas funcionen bien. Espero que los computadores trabajen como me gusta, y no de otra forma. Cuando consigo nuevo software, espero ser capaz de poner el manual en el cubo de basura, luego poder usar las funcionalidades básicas del software con pocas molestias. Soy también un obsesionado con el control, por eso me gusta C/C++ sobre otros como Visual Basic. La facilidad en el uso sólo te aleja. Como dije, espero que las cosas funcionen bien, por lo que decidí darle una oportunidad a Linux

He programado sobre muchos diferentes sistemas operativos en los últimos 20 años, empezando con el venerable Commodore 64 a principios de los 80. En este tiempo, he descubierto que, a pesar de los fanáticos fogosos, cada sistema operativo tiene su lugar en le universo digital. Los Amiga se centraron en la multimedia(programas de TV como Babylon 5 y Seaquest los usaron para generar sus escenas 3D), Los MAC se centraron en las páginas impresas(la mayoría de agencias de publicidad y tiendas de impresión dependen de ellos), y Windows se centró en tomarse al mundo(perdón, una indirecta barata). La diversidad es buena.

Mi introducción al mundo de Unix sucedió hace tiempo, cuando mi jefe me dio un mes para colocar la misma base de datos en SCO, HP/UX y Solaris (algo así como un ejercicio de "veamos si puede respirar bajo el agua"). Me gustó la flexibilidad y estabilidad de Unix, pero me pregunté a qué bromista se le ocurrió los comandos crípticos(¿ls para leer un directorio? ¿cambiar el nombre de un archivo moviéndolo? Huh?). Mi favorito era el de alguna forma, recursivo, manual de usuario de SCO de ese tiempo, donde Ud. tenía que saber qué hacía un comando antes de averiguar[buscar] lo que hacía...

No fue sino hasta que apareció Mandrake 8.2 que consideré seriamente usar Linux. Teniendo experiencia en Unix a través de conexiones con terminales remotos, no esperaba muchas sorpresas. Ha! Me gustaría compartir con Uds. mi introducción a Linux desde mi perspectiva particular.

A punto de ver al Mago

La máquina en la que se instaló era un Pentium 4 de 2.53GHz, con 512MB de memoria, 2 discos duros IDE de 80GB funcionando en configuración RAID 0 (lo que significa que un archivo es escrito y leído enviando sectores a discos alternados, dándole una lectura y lectura más rápida) usando un controlador de Raid Promise empotrado en la tarjeta madre Intel, y un disco estándar IDE de 60GB. quería poner Linux en el disco Raid, pero ocurrió mi primer problema. El instalador no reconoció el controlador Promise. En vez de eso, vio los dos discos Raid como volúmenes separados. Ahí era donde tenía XP instalado, y no iba a arriesgarme a tirármelo[dañarlo]. Decidí usar un drive no Raid para Linux.

La voz de la experiencia: Antes de empezar la instalación de Linux, tenga una lista completa del hardware que hay en su máquina, incluyendo los nombres de marcas y números de modelos. Si ya tiene Windows en su máquina, esta información es fácil de conseguir. Mandrake es muy bueno en estos días auto-detectando hardware, pero no falta que falle identificando el último bit. Si el instalador no reconoce el monitor, podría tener que digitar la máxima resolución[de pantalla] manualmente, así que tenga el manual del monitor a mano.

Mandrake, al igual que la última distribución de Red Hat, viene con un asistente para guiarlo en el proceso de instalación. Una vez sepa dónde quiere colocar las cosas, es pan comido. Puede usar el instalador para particionar el disco duro, pero le recomiendo tener una copia del Partition Magic y hacerlo con anterioridad. Esto le permite cambiar el tamaño de una partición existente sin tener que sacar la información antes. Esto es útil si necesita cambiar las cosas luego.

Otro tip: No acepte la instalación de los paquetes por defecto. Asegúrese de tener suficiente espacio en el disco, e instale todo. Es más fácil hacerlo ahora que después. Si cree que nunca necesitará los paquetes de programación y el código fuente del kernel, por ejemplo, ¡se llevará una sorpresa!

Muchos How-to le dan un método simple de bootear Linux desde la partición de Windows, y generalmente funciona.

Excepto en mi caso. Bootear Windows desde el volumen Raid como el primer drive, significaba que la partición de Linux estaba en el segundo drive. Pero cuando Linux ya estaba instalado, pensaba que estaba en el primer drive. Estaba tratando de iniciar desde "hdb1" como si fuera de "hda1". Hmmm. No puede llegar allá desde aquí. Claro, como Linux no reconoció mi controlador Raid, no podía bootear Windows. Parece que tampoco puede llegar aquí desde allá. Terminé configurando Linux para que booteara Windows con una especificación de drive incorrecta. Esto falla, desde luego, pero cuando lo hace, simplemente presiona una tecla, y Windows se inicia. ¿Qué dijo? Esto sólo funciona si Ud tiene sólo un drive IDE regular. Si tiene un segundo, el inicio falla, porque trata de bootear del segundo disco IDE en vez del volumen Raid. La solución real, claro, es sacar Windows del volumen Raid. Creo que dejaré eso para mi reinstalación anual de Windows.(¿Qué? ¿No reinstala Windows cada año?¿No recibió el memo de Bill [Gates]?)

Si sólo tuviera un Cerebro

Algunas veces puedo ser realmente estúpido. No puedo dejarlo lo suficientemente bien solo. Unas semanas después de la instalación exitosa, con todo funcionado bien, decidí actualizar la memoria del computador de 512MB a 1GB. Quemé algunas películas caseras a un DVD, y dejé mi colección de CD's de audio en el computador, para poder usar la memoria extra.

¡Sólo que Mandrake no bootearía con los 512MB extra! los LED del Caps y el Scroll Lock empezaron a parpadear, pero nada aparecía en la pantalla. Para aquellos de Uds. que están en el mundo de Windows, este parpadeo indica lo que se conoce como "kernel panic". Es exactamente como suena. el kernel de Linux(el núcleo lógico del Sistema Operativo) llega a un punto en el que no sabe qué hacer así que se traba [pega, colapsa]. Un sitio web sugería disminuir la cantidad de memoria usada por Linux, esto funcionó para Mandrake 8.2, pero se quedó cuando me pasé a Mandrake 9.0!

¿Conoce esa parte del Mago de Oz, donde Dorothy baja por el Camino Amarillo Empedrado y entra en los pequeños círculos? así estaba yo. aunque realmente quería utilizar Mandrake, estaba a punto de darme por vencido con lo de la memoria extra, así que saqué Mandrake de mi computador empecé de nuevo con RedHat 8. Sólo era una presentación diferente, era Deja Vu. Todo de nuevo. La misma banca [de iglesia] diferente iglesia. Ya puede ver la escena. Red Hat se instaló fácilmente, y finalmente era tiempo de conocer Linux. Me prometí a mí mismo que nunca cambiaría nada más(por el momento) .

No hay lugar como el hogar

En Windows, cada usuario tiene una entrada en el directorio Documents and Settings en el disco "C". El equivalente Linux es el directorio de usuarios "home", el cual tiene el login del usuario, y está ubicado en la ruta "/home".(Nota: Linux separa los directorios con un slash, no con un backslash, como en Windows y DOS). todo ahí pretende ser privado para cada usuario en particular. un usuario puede estructurar su directorio "home" como quiera, y sus cambios no afectan a nadie más. Una vez se deja "/home" , los directorios de Linux pueden ser confusos para un usuario Windows.

Aquí hay una pequeña lista de los directorios importantes de Linux y qué hay dentro:

/home: Contiene todos lo directorios de los usuarios en el sistema, excepto el root

/root: Es el directorio "home" del root. ¡Nunca se loguee como root(El equivalente de Administrador en Windows)! Siempre loguéese como Ud mismo para darse privilegios de root para ciertos comandos específicos. La razón es que los programas y rutinas [scripts] pueden hacer mucho daño cuando se corren como root. Los daños pueden deberse a un programa hostil, o a su propia (ahem!) estupidez (estar aquí, hacer esto, conseguir una camiseta)

/bin: Programas y rutinas esenciales para iniciar y/o reparar el sistema. Algunos de estos son usados por otros programas.

/sbin: Programas y rutinas usados por el sistema como tal, y por usuarios para administrar el sistema.

/boot: Programas y ruinas usados para iniciar Linux

/etc: Archivos de configuración. Bien podría encontrarse Ud. mismo editándolos, pero sea cuidadoso, y sáquele una copia de seguridad a los archivos antes de hacer un desorden con ellos(la voz de la experiencia #2).

/lib: Rutinas compartidas entre programas. Son como DLL's (escuché algunas quejas frente a esta analogía en los foros).

/tmp: Un lugar para guardar los archivos temporales.

/usr: Este directorio contiene todos los programas(/usr/bin) y librerías (/usr/lib) que no son esenciales para iniciar el equipo y para hacer reparaciones de emergencia. /usr ocupa hasta el 90% del espacio en disco en muchos sistemas, así que varios administradores lo mantienen separado en una partición de sólo lectura. Cualquier información que sea dependiente del equipo donde se almacena o varíe con el tiempo se guarda en cualquier otra parte.

/var: Contiene archivos variables de información. Por ejemplo, aquí encontrará los logs. Este directorio le permite al /usr ser de sólo lectura, ya que lo que cualquier cosa que se escriba durante la operación del sistema está en /var.

/opt: Este directorio se reserva para la instalación de aplicaciones software extra. Por ejemplo, Oracle usa este directorio para almacenar sus archivos binarios y los demás que use. Este directorio es un estándar usado en algunos sistemas Unix. Su uso en sistemas Linux es controversial.

Además existen directorios que sólo parecen directorios. Son especiales, y tienen un propósito específico:

/dev: Cada “archivo” dentro de este directorio representa un dispositivo hardware del computador.

/mnt: Este directorio (o uno de sus subdirectorios) es convencionalmente usado para montar los sistemas de archivos temporales como disquetes. Una vez montado, el contenido del disquete aparece como si estuviera físicamente en la ruta “/mnt/floppy”. Piense en esto como si se asignara una letra al drive(local o en la red) en Windows. Sin embargo otras distribuciones de Linux, montan el montan el disquete en /floppy.

/proc: Los “archivos” que aparecen en este directorio no son realmente archivos, sino que representan los programas que están corriendo actualmente y su información desde el kernel de Linux. Puede escribir ciertos “archivos” para modificar el comportamiento del kernel, pero los cambios durarán hasta que se reinicie.

Información adicional acerca de estos directorios la puede encontrar en Filesystem Heirarchy Standard.

No le ponga atención al hombre tras la Cortina

Una de los principales problemas en el paso de Windows a Linux es el soporte de los diferentes dispositivos en la máquina. Es más probable encontrar hardware soportado en una máquina vieja que en una de las últimas. Un buen ejemplo de esto es mi controlador Raid Promise. Puedo trabajar con él usando otro drive, pero significaría tener que usa Windows para acceder a esos 160GB de espacio.

Otro ejemplo es mi tarjeta de video nVidia. Tengo una Gforce 4 ti4200, y sólo relativamente hace poco, sacó un driver para ella. Ahora, si está acostumbrado a la agradable forma en que Windows instala los drivers para los dispositivos, está en un verdadero problema. La instalación del driver (en RedHat 9, mi distribución actual de Linux) fue así:

1. Reiniciar Linux en modo de Línea de Comandos (es decir no en modo gráfico).

2. Correr el instalador nVidia. Si el kernel no es el que él espera, genera uno para Ud (recuerde, le previne acerca de tener herramientas de programador y el código fuente del kernel instalados).

3. El archivo de configuración Make cambia, dependiendo de las instrucciones que venían con el instalador.

4. Reiniciar Linux en modo Gráfico.

Ahora, si actualiza el kernel, necesita hacer esto de nuevo, de forma que el instalador de nVidia lo pueda generar de nuevo. ¿No es exactamente tan fácil como ejecutar “setup.exe” cierto? Personalmente, creo que debería ser así de fácil, pero eso sería argumento para otra ocasión.

Habiendo dicho esto, la mayoría de de hardware fue reconocido y usado apropiadamente. Puedo quemar CD's en mi quemador de DVD. Puedo ver películas caseras en mi DVD. Mi tarjeta de sonido Creative funciona bien(aunque no del todo en las últimas versiones de Linux). La última versión de RedHat (la 9) funciona mejor incluso en mi laptop[portátil] que en el otro, ya que es un poco más antigua (una Compaq Presario 1800T).

Nota acerca del DVD: si quiere reproducir películas (del estilo de las de Hollywood) en Linux, necesita una librería de rutinas que puedan forzar la protección contra copia del DVD. Sí, es ilegal, y una violación de la DMCA. Uso Windows para reproducirlas por ahora. No deseando que la MPAA venga a tocar a mi puerta, no puedo identificar el software que se necesita en Linux, pero probablemente pueda buscarlo en Internet[algo como googlear, propone el autor]. Tal vez tenga que aprender noruego, creo.

Monos Voladores

Otra problema que tuve para migrando a Linux es perder las aplicaciones con las que me había familiarizado. Aunque que RedHat viene con una versión de Open Office, fui tentado por Ximian, que prometía una mejor integración, además de un Open Office personalizado, y otras adiciones. Me interesó particularmente la implementación de Ximian de un “Network Neighborhood” [“Vecindario de Red”], que usa un programa de Código Abierto llamado Samba para acceder a los directorios Windows desde Linux. Cuando Samba está instalado separadamente, Ud tiene que configurarlo. Ximian decía poder hacerlo por Ud.

Ximian se instala desde la web, en vez de bajar un archivo zip o tar/gz. Esto puede ser un problema si está instalando en una máquina que no tiene una conexión rápida a internet. (No aconsejo hacerlo en una conexión por módem). Se instaló en mi portátil fácilmente, y trabaja como lo promocionaba. Su implementación de “Network Neighborhood” era agradable. Vi todas las impresoras y los directorios compartidos en mi red casera si sobresaltos o configuraciones. Muy bueno[Chévere, chido, bacano, ...].

Bueno, ahora que está razonablemente impresionado, lo desilusionaré.

El problema llegó la siguiente vez que usé el programa de actualización de RedHat (algo así como el Windows Update) para instalar los últimos parches. No funcionó. Parece que Ximian reemplaza partes del sistema operativo con sus propios bits, causando errores de dependencia durante durante el proceso de actualización. Como resultado, no pude aplicar de nuevo parches. Incluso no pude adicionar paquetes desde el CD de instalación a causa de esto (como lo dije antes: instale todo).

Espero que Ximian resuelva el problema de conflictos, porque de veras me gustaba usarlo.

Y su perrito, también

Como todo, Linux tiene sus molestias, por lo menos desde la perspectiva de Windows.

Tanto Red Hat como Ximian usan por defecto Gnome, pero prefiero KDE. Instalar KDE es opcional, otra razón para instalar todo al principio.

Las dependencias de los paquetes RPM. Esto es aún más molesto si ni siquiera tiene idea de cómo arreglarlo. Ud. sólo quiere algo instalado. Si el computador sabe qué está mal, debería arreglarlo o decirle claramente qué falta. Tip: Corra “rpm” desde a línea de comando en vez de darle doble clic en el ícono del paquete, usando la opción de sacar todo en pantalla [-v] para ver qué salió mal.

Otro problema tiene que ver con los módems. En la actualidad la mayoría de ellos son lo que se llama “winmodems”, lo que significa que dependen de Windows para trabajar. Son inútiles en Linux, y los que funcionan no siempre son fáciles de encontrar.

A riesgo de ofender a todos, “vi”. Es el editor más comúnmente usado tanto en Linux como en Unix, y fue originalmente diseñado para ser usado con una conexión por módem lenta y una pantalla de 80 x 25 caracteres. ¿Qué tan lenta? Como 300 baudios. Hoy hay muchas más opciones, como Emacs que tiene versiones en consola o en X Window, así como varios IDEs [Integrated Development Enviroment] para programación que hacen reconocimiento de sintaxis, pero si todo lo que está haciendo es editar archivos de configuración ahora y siempre, esto podría ser matador. Si lo que realmente quiere es algo como Notepad, tiene la opción de usar Kedit(en KDE) o Gedit(en Gnome). La voz de la experiencia #3: Mantenga una copia impresa de las teclas de comando de “vi” a mano. Las necesitará cuando tenga que editar algún archivo de configuración o un script de shell y X Windows[X Window] no esté corriendo (o no correrá porque accidentalmente lo echó abajo). No diga que no se lo advertí.

La instalación de programas y dispositivos es un espantoso dolor en el sector de arranque. Algunos vendedores, como Borland con sus herramientas Kylix y J Builder, hacen el programa de instalación muchísimo más simple, pero incluso ellos tienen cosas por mejorar. Y ya he dicho el trabajito que tuve instalando controladores de dispositivos.

Las particiones de disco no siempre se montan automáticamente. Mandrake escanea sus discos, y configura espacios para cualquier partición FAT que encuentre, pero en Red Hat, Ud. tiene que probar abrir el manual y hacerlo Ud. mismo. No es difícil, pero es un dolor. Leer el manual, después de todo, es la última opción.

No puede sólo sacar el CD-ROM como lo hace en Windows. Tiene que desmontarlo primero. Sé que sólo es un clic derecho de ratón (o un comando en una CLI[Command Line Interface]), pero, oigan, ¡Soy perezoso!

La ayuda es un poco dispersa para mi gusto. Tiene dos lugares dónde encontrar páginas de manuales, así como archivos de ayuda gráficos. Me gustaría tener todo disponible y referenciado entre sí en un solo sitio, preferiblemente desde una interfaz de usuario. Algunos sistemas tienen el comando “xman”, que es una versión gráfica del comando “man”, pero no lo he visto en Red Hat. En favor de Linux debo decir, que hay toneladas de guías “HOWTO”[CÓMOs] ahí afuera, cubriendo una amplia gama de temas, así que supongo que lo compensa.

Las ventanas de diálogo de Abrir y Guardar no son tan elegantes como las de Windows y causa un poco de sobresalto si se pasa de un sistema operativo a otro como yo lo hago. Pequeñas minucias, eso es todo.

Ding-Dong la Bruja está Muerta

Linux tiene unas características sobresalientes. Aquí están mis favoritas desde mi retorcido punto de vista(su importancia podría variar):

En mi opinión, Linux en general, y en particular KDE, tiene el mejor, más flexible entorno gráfico de todos. Algunas veces, quisiera poder reemplazar el escritorio de Windows con KDE. Entonces de nuevo, desearía que Windows fuera sólo un shell que trabajara sobre Linux (sigue soñando, tonto)

Otra gran característica de Linux es la habilidad de copiar y pegar casi en cualquier parte usando el tercer botón de ratón. Sólo seleccionando el texto fuente, y dando clic al botón del medio para pegar en la posición el la que se encuentra el cursor [puntero]. Simple y oh-tan-elegante. Esta es la clase de trabajo que uno hace repetidamente, y con Linux no tengo que quitar mi mano del ratón para hacerlo. Esto puede sonar raro para la mayoría de amigos de Linux, quienes odian quitar sus manos del teclado para usar el ratón. Sí, soy un poco extraño. Sean amables, he sido prisionero de Windows.

La seguridad disponible para los archivos es también mucho mejor que en Windows. Linux le da mucho mejor control sobre lo que tiene que hacer con un archivo. Por ejemplo, considere que un archivo de Linux necesita permisos de ejecución antes que pueda correr. Windows, por otro lado, le dejará ejecutar casi todo. Una vez que se ha acostumbrado a ello, querrá este nivel de seguridad para Windows, también(pero no lo tendrá: nah..nah...nah..nah..nah).

Las Interfaces de Línea de Comando pueden listar los directorios coloreados (y el comando “dir” trabaja sin tener que crear un alias en le shell o un script para hacer lo que él hace), lo cual es una característica que tenía en mis días de DOS usando un programa llamado 4DOS.

Todo comando que necesite privilegios de “root”(piense en él como el “Administrador” de Windows) para ejecutarse pedirá la contraseña de para hacerlo. Bien Toto, ¿eso significa que los trabajos de administración no pueden ser ejecutados a mis espaldas? Siempre había sabido que tanto Unix como Linux tenían mejores opciones de seguridad que Windows, pero esto es genial. En Windows, tenía que darle yo mismo los privilegios de Administrador, o loguearme como tal para ejecutar ciertas tareas. En Linux, puedo ser un usuario ordinario, y aún tener el poder de hacer las cosas.

Linux tiene una poderosa alternativa al “Fast User Switch”[Cambio Rápido de Usuario] en XP para loguearse como root. Se llama el comando “su”. Escríbalo en la línea de comando, y le pedirá la contraseña de root. De ahí en adelante sólo esa línea de comando, y el programa que se corra desde ahí, se hará con privilegios de root. El resto de la pantalla seguirá siendo suya.

Sí, sus comandos son extraños, y un poco crípticos, pero las rutinas de shell en Linux hacen que los archivos de procesamiento por lotes de DOS parezcan algo de principio de los 80 (oh, esperen...). Una rutina de shell es algo así como un archivo de esos, pero con supiciente potencial para reemplazar a mayoría de programas de “C” en uso actualmente. Hay dos clases principales de shells: cshell y bash. Uno de los dos, bash es usado más comúnmente en Linux. Microsoft va a adicionar una nueva interfaz de línea de comandos a su versión Longhorn [Cuernolargo], y suena mucho como al shell de Linux(probablemente propietario e incompatible, claro). Eso le debería darle una idea de los poderoso que los Shells y las Rutinas de Shell son.

¡Mozilla! ¡Adiós Internet Explorer! Adiós Outlook y Outlook Express! He estado usando el Mozilla Firebird para mi navegación, y Mozilla Thunderbird para el correo últimamente, y he empezado a usarlos en Windows también. Thinderbird hace un trabajo maravilloso acabando con el spam.

¡Open Office 1.1! Todo lo que normalmente hago en Microsoft Office puedo hacerlo aquí, incluso guardar en formatos MS. Uso este también en Linux y Windows.

¡El Gimp! No tenía necesidad de un editor de gráficos caro, sólo limpiar algunas fotos de mi cámara digital, pero necesitaba algo más que MS Paint. Intenté con el Gimp sólo porque era gratuito (sí, admito ser un tacaño) pero me impactó descubrir cuan bueno es el programa. No es tan fácil de usar como MS Paint (porque MS Paint no hace tanto), pero cuando necesite algo que sea más poderoso, tiene que probarlo. Ahora tengo un o dos pequeños contratiempos con el programa(como, denme una opción para poner todas esas ventanas separadas en forma MDI[Multiple Document Interface], de manera que pueda encontrar todo), pero en términos generales, este es el editor de imágenes que uso tanto el Windows como el Linux. ¡Ni siquiera he tenido que leer el manual la primera vez!

Podría seguir, pero pueden ver el punto aquí. Si un programa es tan bueno que me da para usarlo en Linux y Windows, se debe preguntar por qué seguir usando Windows. De hecho uso Windows generalmente para jugar, y algunas otras pequeñas cosas.

Debería sólo tirar lejos mis zapatillas de rubí, Toto. Linux tiene formas de ir para satisfacer al señor Picky, pero creo que ya estoy en casa.

[BIO]Tom ha sido un desarrollador de software desde los primeros días del Commodore 64, con clásicos comerciales como el Prototerm -64 y el Colorez -128, y ha visto muchos Sistemas Operativos llegar e irse. Todo lo que le gustaba se ha descontinuado (OS/2) o quebrado (Commodore Amiga). Ahora le gusta Red Hat, que no tendrá más soporte después de abril de 2004. Como resultado, hemos estado tratando de hacer que se enamore de Windows, pero no ha habido suerte hasta ahora.

Copyright © 2003, Tom Brown. Copying license http://linuxgazette.net/copying.html

Publicado en el número 97 de Linux Gazette, Diciembre 2003