Migrar o Coexistir

Embed Size (px)

Citation preview

  • 7/26/2019 Migrar o Coexistir

    1/93

    Migrar o Coexistir

    OpenCourseWare es un sitio web a travs del cual una Universidad, Centro de Formacin oInstituciones Pblicas, ofrece sus materiales docentes a la comunidad de Internet:profesores, estudiantes y autodidactas.

    El documento completo fue tomado de la Universitat Oberta de Catalunya(OpenCourseWare) del curso Administracin de Sistemas Linux.

    Algunas Fuentes de Soporte deGNU/Linux

    Algunas fuentes de soporte GNU/Linux

    Linux Howto's:http://www.tldp.org/

    HowtoForge:http://howtoforge.org/

    LinuxQuestions:http://www.linuxquestions.org

    Linux Forum:http://www.linuxforums.org/forum/

    Soporte Debian:

    http://www.debianhelp.org/

    http://forums.debian.net/

    http://www.debian-administration.org/

    Soporte Fedora:

    http://fedoraforum.org/

    http://fedorasolved.org/

    http://fedoraunity.org/

    Migrar o CoexistirA continuacin, vamos a plantear otro aspecto importante en elproceso de adopcin de lossistemas GNU/Linux. Supongamos que o

    http://www.tldp.org/http://www.tldp.org/http://www.tldp.org/http://howtoforge.org/http://howtoforge.org/http://howtoforge.org/http://www.linuxquestions.org/http://www.linuxquestions.org/http://www.linuxquestions.org/http://www.linuxforums.org/forum/http://www.linuxforums.org/forum/http://www.linuxforums.org/forum/http://www.debianhelp.org/http://www.debianhelp.org/http://forums.debian.net/http://forums.debian.net/http://www.debian-administration.org/http://www.debian-administration.org/http://fedoraforum.org/http://fedoraforum.org/http://fedorasolved.org/http://fedorasolved.org/http://fedoraunity.org/http://fedoraunity.org/http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856http://fedoraunity.org/http://fedorasolved.org/http://fedoraforum.org/http://www.debian-administration.org/http://forums.debian.net/http://www.debianhelp.org/http://www.linuxforums.org/forum/http://www.linuxquestions.org/http://howtoforge.org/http://www.tldp.org/
  • 7/26/2019 Migrar o Coexistir

    2/93

    bien somos principiantes en el manejo de este sistema o, por elcontrario, que somos experimentados y queremos adoptar uno ovariossistemas GNU/Linuxcomo usuarios individuales, para eltrabajo en nuestra pequea organizacin, o nos estamos planteandosustituir la infraestructura completa (o parcial) de nuestra granempresa u organizacin.

    Nos encontramos ante un proyecto de migracin, total o parcial, denuestros sistemas informticos hacia GNU/Linux, y comoadministradores somos responsables de este proceso.

    Como en todo proyecto, habr que estudiar el modo de responder acuestiones como: es rentable el cambio, en prestaciones, encoste?, con qu objetivo lo hacemos?, qu requerimientos

    queremos o debemos cumplir?, podemos hacer o es necesaria unamigracin completa?, tiene que haber coexistencia con otrossistemas?, habr que formar de nuevo a los usuarios?, podremosutilizar el mismo hardware o necesitaremos uno nuevo?, habrcostes aadidos importantes? o, simplemente, saldr bien? Esta ymuchas preguntas ms son las que tendremos que intentarresponder. En el caso empresarial, la respuesta pasara por ladefinicin de un proyecto/plan de migracin, con sus objetivos,anlisis de requerimientos, proceso de implantacin, estudioseconmicos, planes de formacin de usuarios, calendarios de fasesde desarrollo e implementacin, etc. No entraremos en esto, pero

    nos plantearemos algunas de las cuestiones de forma sencilla. Y enel apartado 5 examinaremos unos pequeos casos prcticos decuestiones a examinar en el proceso de migracin.

    Adems, en el momento en que empecemos la migracin a lossistemas GNU/Linuxes cuando comenzaremos a apreciar lasventajas que aportar a nuestra organizacin:

    a) Costes: reduccin de los costes, en licencias software delsistema y de las aplicaciones. GNU/Linux tiene un coste 0 en cuantoa las licencias, si se obtiene desde la Red (por ejemplo, en forma deimgenes de los CD de la distribucin), o un coste despreciableteniendo en cuenta que la mejor comparacin para sistemasequivalentes en prestaciones seran sistemas Windows Server, concostes que se sitan en rangos de varios miles de euros por licencia,sin incluir gran parte del software extra que proporciona unadistribucin GNU/Linux tpica.

    http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856
  • 7/26/2019 Migrar o Coexistir

    3/93

    Pero cuidado, no hay que desestimar los costes de mantenimiento yformacin. Si nuestra organizacin slo est formada por usuarios yadministradores Windows, podemos tener costes altos en nuevaformacin, personal, y quizs mantenimiento. Por eso, grandesempresas desean depender de algn distribuidor comercial deGNU/Linux para que les implante y mantenga el sistema, como porejemplo las versiones empresariales que ofrecen Red Hat, SuSe yotros. Estas versiones GNU/Linux tambin tienen costes de licenciaaltos (comparables a Windows), pero, por el contrario, estn yaadaptadas a estructuras empresariales y traen software propio paragestionar la infraestructura informtica de las empresas. Otroaspecto importante, que resumira esta estimacin de costes, es elconcepto de TCO (total cost of ownership), como evaluacin globalde los costes asociados que nos encontraremos al emprender undesarrollo tecnolgico. No slo hay que evaluar los costes de

    licencias y maquinaria, sino tambin los costes de soporte yformacin de las personas y productos implicados, que pueden sertan importantes o ms que los de la solucin implementada.

    b) Soporte: GNU/Linux tiene el soporte de mantenimiento mayorque haya tenido un sistema operativo, y gratis en su mayor parte. Apesar de ello, algunas empresas no lo adoptan por ciertos temores,objetando que no hay soporte del producto, y se dedican a comprardistribuciones comerciales que les ofrecen contratos de soporte ymantenimiento. GNU/Linux tiene una comunidad de soporte mundialbien establecida, por medio de diferentes organizaciones que

    proporcionan documentacin libre (los famosos Howto's), foros deusuarios especializados, comunidades de usuarios de prcticamentecualquier regin o pas del mundo, etc. Cualquier duda o problemacon el que nos encontremos puede buscarse (por ejemplo, poralguno de los buscadores en Internet), y podemos tener respuestasen minutos. Cuando no, si hemos encontrado un bug, error, osituacin no probada, podemos informar de ella en varios lugares(foros, sitios de desarrollo, sitios de bugsde distribuciones, etc.) yobtener soluciones en horas o a lo sumo en algunos das. Siempreque aparezca una duda o algn problema, hay que intentar primero

    algunos procedimientos (as se desarrolla el aprendizaje deadministracin), y si no obtenemos solucin en un tiempoprudencial, consultar a la comunidad GNU/Linux por si a algn otrousuario (o grupo de ellos) le ha ocurrido el mismo problema y haobtenido solucin. Si no, siempre podemos informar del problema(sitios de bugsde las distribuciones), para que nos planteen algunassoluciones temporales, o se comiencen a elaborar revisiones de los

  • 7/26/2019 Migrar o Coexistir

    4/93

    paquetes software afectados, si se considera que es un problemaimportante.

    Identificar Requerimientos deServicios

    Si tenemos unos sistemas ya funcionando, deberemos tenerimplantados algunos servicios de los cuales sern clientes losusuarios, o servicios que ayuden a la infraestructura del soporteinformtico. Los servicios entrarn dentro de alguna de lascategoras vistas anteriormente, con las opciones GNU/Linux quecomentamos.

    Lossistemas GNU/Linuxno son "nuevos" en absoluto, y derivan(como vimos en la introduccin) de una historia de ms de cuarentaaos de uso y desarrollo de los sistemas UNIX. Gracias a ello, unade las primeras cosas que veremos es que no nos falta soporte paraningn tipo de servicio que queramos. Si acaso, habr diferencias enla forma de hacer las cosas. Adems, muchos de los servicios que seutilizan en los sistemas informticos fueron pensados, investigados,desarrollados e implementados en su da para UNIX, yposteriormente adaptados a otros sistemas (como Windows, conms o menos acierto).

    Muchas de las empresas que disponen de UNIXpropietarios participan en GNU/Linux y ofrecenalgunos de sus desarrollos a la comunidad.

    Cualquier servicio disponible en cada momento podr ser adaptadoen lossistemas GNU/Linuxcon servicios equivalentes (cuando noiguales).

    Ejemplo

    Un caso famoso es el de los servidores Samba.

    Windows ofrece lo que l denomina "compartirarchivos e impresoras en red" mediante unosprotocolos propios denominados genricamente SMB(server message block) (con apoyo de red en losprotocolos NetBios y NetBEUI). Tambin es decomn uso el nombre CIFS (common Internet filesystem), que es como se denomin al protocolo en

    http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856
  • 7/26/2019 Migrar o Coexistir

    5/93

    una segunda revisin (que segua incluyendo a SMBcomo protocolo base). Estos protocolos permitencompartir carpetas de archivos (o discos) y deimpresoras en una red de mquinas Windows (en

    una configuracin de workgroup,o trabajo en grupo,o en dominios Windows). En UNIX esta idea ya eraantigua, cuando apareci en Windows, y se disponade servicios como NFS de comparticin de archivos ola gestin remota de impresoras, bajo protocolosTCP/IP.Uno de los problemas de sustituir los serviciosWindows de comparticin basados enNetBios/NetBeui (y ltimamente con NetBios sobreTCP/IP), era cmo dar soporte a estos protocolos, yaque, si queramos conservar las mquinas clientescon Windows, no podamos utilizar los serviciosUNIX (aunque distintos fabricantes hanimplementado clientes UNIX para Windows, suelenser una opcin o bien cara o bien no completa). Paraeste problema, Samba se desarroll como unservidor para UNIX que soportaba los protocolosWindows y poda sustituir a una mquinacliente/serverWindows de forma transparente; losusuarios clientes con Windows no tenan por qunotar absolutamente nada. Es ms, el resultado fue

    que en la mayor parte de los casos el rendimientoera comparable, cuando no era mejor que en lamquina original con los servicios Windows.Actualmente Samba evoluciona constantementepara mantener la compatibilidad de los serviciosWindows de comparticin de impresoras y archivos,debido a los cambios generales a que Microsoftsomete los protocolos SMB/CIFS (base que Sambaimplementa) en cada nueva versin de Windows; enparticular, la evolucin desde los esquemas de

    trabajo en grupo en sus versiones cliente deloperativo, a los esquemas centralizados en servidor(o en grupos de ellos), con servicios particulares deautentificacin de usuarios (NTLM, NTLMv2,Kerberos) y almacenamiento centralizado de lagestin del sistema como Active Directory. Tambinse vara la configuracin de servidores de dominios

  • 7/26/2019 Migrar o Coexistir

    6/93

    en las diferentes versiones de Windows serverexistentes (ya sean con servidores controladoresprimarios, backupo Active Directory).Actualmente, en los procesos de migracin con

    Samba tendremos que observar qu configuracionesde clientes/servidores Windows (y las versiones deste) existen en el sistema informtico, as comoqu mecanismos de autentificacin de los usuariosy/o gestin de la informacin se utilizan (grupos,dominios, sistema de autentificacin). Adems,necesitaremos conocer la estructuracin del sistemainformtico en dominios (y sus servidorescontroladores, miembros o servidores aislados),para poder realizar un mapeado completo y correctohacia soluciones basadas sobre Samba, y enservicios complementarios de autentificacin deusuarios (winbind, kerberos, nss_ldap) y gestin dedirectorios (como por ejemplo openLDAP).

    Proceso de MigracinEn el proceso de migracin, hay que tener en cuenta qu se quieremigrar, y si quiere realizarse de forma completa o parcial,coexistiendo con otros servicios o equipos o con un sistema

    operativo diferente.

    En estos ambientes, como en las grandesorganizaciones, en los que encontramos un grannmero de sistemas heterogneos, habr que teneren cuenta que seguramente no se migrarn todos,en especial los sistemas de tipo workstationdedicados a la ejecucin de alguna aplicacin bsicapara una tarea. Puede que no exista la aplicacinequivalente o simplemente podemos desearquedarnos con esos sistemas por razones de costeo para rentabilizar la inversin realizada.

    Podemos migrar varios elementos, ya sean los servicios queofrecemos, las mquinas que los sirven o los clientes que acceden aellos. Los elementos que se migren pueden ser variados.

    En la migracin, pasaremos por la sustitucin de un servicio por otro

  • 7/26/2019 Migrar o Coexistir

    7/93

    equivalente, normalmente con el menor impacto posible si noqueremos sustituir tambin a los clientes.

    En caso de clientes Windows, podemos usar el servidor Samba parasustituir los servicios de archivos e impresoras que proporcionaban

    las mquinas Windows. Si se trata de otros servicios, podremossustituirlos por los equivalentes GNU/Linux. En el caso de sustituirslo algn servicio, normalmente se inhabilitar el servicio en lamquina que lo ofreca y se habilitar en el sistema nuevo. Puedenser necesarios cambios en los clientes (por ejemplo, direcciones dela nueva mquina o parmetros relacionados con el servicio).

    Si la funcin la cumpla por entero una mquina servidora, hay queanalizar si la mquina estaba dedicada a uno o ms servicios y sitodos podrn ser sustituidos. En tal caso, slo hay que reemplazar lamquina antigua por la nueva (o mantener la antigua) con losservicios bajo GNU/Linux y, en todo caso, modificar algn parmetroen los clientes si fuese necesario. Normalmente, antes de efectuar elcambio, es conveniente testear la mquina por separado conalgunos clientes para asegurarse de que cumple su funcincorrectamente y sustituir las mquinas en algn periodo deinactividad del sistema.

    En cualquier caso, seguramente habr que hacer backupsde losdatos anteriores al nuevo sistema, por ejemplo, elsistema deficheroso las aplicaciones disponibles en el servidor original. Otro de

    los puntos previos a tener en cuenta es la portabilidad de los datos;un problema que a menudo presenta difcil solucin si en laorganizacin se utilizaban formatos de datos o aplicacionesdependientes de una plataforma.

    Algunos casos prcticos de problemas con que seencuentran algunas empresas hoy en da son:

    1) Aplicaciones en web con ASP oASP.net: algunas de estas aplicaciones sonslo realizables en plataformas web con

    Windows y el servidor web IIS de Microsoft.Habra que evitarlas, si en algn momentopensamos hacer una migracin deplataformas, y no queremos reescribirlas opagar a una empresa para que lo haga. Enplataformas GNU/Linux est disponible elservidor web Apache (el ms utilizado en

    http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466869http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466869http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466869http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466869http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466869http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466869
  • 7/26/2019 Migrar o Coexistir

    8/93

    Internet), que tambin se puede utilizar conWindows. Este servidor soporta ASP en Perl(en Windows se suele utilizar visual basic, C#y Javascript generalmente) y existen

    soluciones de terceros para migrar los ASP oms o menos convertirlos. Pero si nuestraempresa dependiese de esto, sera muycostoso en tiempo y dinero. Una solucinprctica habra sido realizar los desarrollosweb en Java (que s que es portable entreplataformas) u otras soluciones como PHP. Eneste punto cabe destacar el proyecto Mono(patrocinado por Novell) para la portabilidadde parte del entorno .NET de Microsoft aGNU/Linux, en particular gran parte de las API

    de .NET, el lenguaje C#, y la especificacinASP.NET. Permiten una migracin flexible deaplicaciones .NET basadas en API .NET queestn soportadas por la plataforma Mono. Porotra parte, cabe sealar el proyecto DotGnu dela FSF, como alternativa GPL a Mono.

    2) Bases de datos: utilizar, por ejemplo, unSQL serverde Microsoft nos hace totalmentedependientes de su plataforma Windows.Adems, si utilizamos soluciones propietarias

    en un entorno concreto para aplicaciones de labase de datos, sern de difcil transferencia.Otras bases de datos, como Oracle y DB2 (deIBM) son ms portables por disponer deversin en las diferentes plataformas(GNU/Linux incluida), o por utilizar lenguajesde programacin ms portables. Tambin sepodra trabajar con sistemas de bases dedatos PostgreSQL o MySQL (tambin tieneversin para Windows) disponibles enGNU/Linux, y que permiten una transicin ms

    fcil. Asimismo, si se combina con el desarrolloweb tenemos muchas facilidades. En estesentido, hoy en da se utilizan sistemas comoaplicaciones web con Java, ya sea servlets,appletso EJB, o bien soluciones como lasfamosas LAMP combinacin de GNU/Linux,

  • 7/26/2019 Migrar o Coexistir

    9/93

    Apache, Mysql y Php

    ltima modificacin: domingo, 17 de abril de 2016, 18:37

  • 7/26/2019 Migrar o Coexistir

    10/93

    Open Course Ware es un sitio web a travs del cual una Universidad, Centro de Formacino Instituciones Pblicas, ofrece sus materiales docentes a la comunidad de Internet:profesores, estudiantes y autodidactas.

    El documento completo fue tomado de la Universitat Oberta de Catalunya

    (OpenCourseWare) del curso Administracin de Sistemas Linux.

    Sistemas GNU/LinuxEn los primeros aos, los usuarios de los primeros ordenadorespersonales no disponan de muchos sistemas operativos dondeelegir.

    El mercado de los ordenadores personales lo dominaba un DOS de Microsoft. Otraposibilidad eran los Mac de Apple, pero a unos precios desorbitados (en

    comparacin) con el resto. La otra opcin importante, aunque reservada a grandes(y caras) mquinas, era UNIX.

    Una primera opcin que apareci fue MINIX(1984), creadodesde cero por Andrew Tanenbaum, con el objetivo de usarlopara la educacin, para ensear diseo e implementacin desistemas operativos.

    MINIX fue pensado para ejecutarse sobre una plataforma Intel8086, muy popular en la poca porque era la base de los primerosIBM PC. La principal ventaja de este operativo radicaba en su

    cdigo fuente, accesible a cualquiera (12.000 lneas de cdigoentre ensamblador y C), ya que estaba incluido en el libro docentede sistemas operativos de Tanenbaum [Tan87]. Pero MINIX erams una herramienta de enseanza que un sistema eficazpensado para el rendimiento o para actividades profesionales.

    En los noventa, la FSF (Free Software Foundation) y su proyectoGNU motiv a muchos programadores para promover el softwarede calidad y de distribucin libre. Y aparte de software deutilidades, se trabajaba en un ncleo (kernel) de operativodenominado HURD, que llevara varios aos de desarrollo.

    Mientras, en octubre de 1991, un estudiante finlands llamadoLinus Torvalds presentara la versin 0.0.1 de su kerneldesistema operativo, que denomin Linux, orientado a mquinasIntel con 386, y lo ofreci bajo licencia GPL a foros deprogramadores y a la comunidad de Internet para que lo probarany, si les gustaba, le ayudaran a su desarrollo. El entusiasmo fue

  • 7/26/2019 Migrar o Coexistir

    11/93

    tal que, en poco tiempo, haba un gran nmero de programadorestrabajando en el ncleo o en aplicaciones para l.

    Algunas de las caractersticas que diferenciaron a Linux de lossistemas de su tiempo y que siguen siendo aplicables, y otras

    heredadas de UNIX, podran ser:

    a) Sistema operativo de cdigo abierto: cualquiera puededisponer de sus fuentes, modificarlas y crear nuevas versionesque poder compartir bajo la licencia GPL (que, de hecho, loconvierte en un software libre).

    b) Portabilidad: tal como el UNIX original, Linux est pensadopara depender muy poco de una arquitectura concreta demquina. Consecuentemente Linux es, en su mayor parte,independiente de la mquina de destino y puede portarse a casicualquier arquitectura que disponga de un compilador C como elGNU gcc. Slo restan algunas pequeas partes de cdigoensamblador y de algunos dispositivos dependientes de lamquina, que tienen que ser rescritas en cada nueva arquitectura.Gracias a esto, GNU/Linux es uno de los sistemas operativos quecorre en mayor nmero de arquitecturas: Intel x86 y IA64, AMDx86 y x86_64, Sparc de Sun, MIPS de Silicon, PowerPC (Apple),IBM S390, Alpha de Compaq, m68k Motorola, Vax, ARM,HPPArisc...

    c) Kernelde tipo monoltico: el diseo del kernelest unido enuna sola pieza, pero es conceptualmente modular en lasdiferentes tareas. Otra escuela de diseo de operativos proponelos microkernel(un ejemplo es elproyecto Mach), donde losservicios se implementan como procesos aparte, comunicados porun (micro) kernelms bsico. Linux se decidi como monoltico,porque es difcil extraer buen rendimiento delosmicrokernels(resulta un trabajo bastante duro y complejo). Porotra parte, el problema de los monolticos es el crecimiento;cuando se vuelven muy grandes se vuelven intratables en eldesarrollo; esto se intent solucionar con los mdulos de carga

    dinmica.

    d) Mdulos dinmicamente cargables: permiten poner partesdel sistema operativo, como filesystems, o controladores dedispositivos, como porciones externas que se cargan (o enlazan)con el kernelen tiempo de ejecucin bajo demanda. Esto permitesimplificar el kernely ofrecer estas funcionalidades como

    http://www.cs.cmu.edu/afs/cs/project/mach/public/www/mach.htmlhttp://www.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html
  • 7/26/2019 Migrar o Coexistir

    12/93

    elementos que se pueden programar por separado. Con este usode mdulos, se podra considerar a Linux como un kernelmixto, yaque es monoltico, pero ofrece una serie de mdulos quecomplementan el kernel(aproximacin parecida a algunosconceptos demicrokernel).

    e) Desarrollo del sistema por una comunidad vinculada porInternet: los sistemas operativos nunca haban tenido undesarrollo tan amplio y disperso; no suelen salir de la compaaque los elabora (en el caso propietario) o de un pequeo conjuntode instituciones acadmicas y laboratorios que colaboran paracrear uno. El fenmeno de la comunidad Linux permite que cadauno colabore en la medida que el tiempo y sus propiosconocimientos se lo permitan. El resultado son de cientos a milesde desarrolladores para Linux. Adems, por su naturaleza de

    sistema de cdigo fuente abierto, Linux es un laboratorio idealpara probar ideas de sistemas operativos al mnimo coste; sepuede implementar, probar, tomar medidas y, si funciona, aadirla idea al kernel.

    Los proyectos se sucedieron y en el inicio de Linus con el kernela la gente de la FSF, con el software de utilidad GNU y, sobretodo, con su compilador de C (GCC), se les unieron otrosproyectos importantes como las XFree/Xorg (una versin PC delas X Window), y proyectos de escritorio como KDE y Gnome. Y eldesarrollo de Internet con proyectos como el servidor web

    Apache, el navegador Mozilla Firefox, o las bases de datos MySQLy PostgreSQL, acabaron por dar al kernelinicial Linux elrecubrimiento de aplicaciones suficiente para construir lossistemas GNU/Linux y competir en igualdad de condiciones con lossistemas propietarios. Y convertir a los sistemas GNU/Linux en elparadigma del software de fuente abierta (Open Source).

    Los sistemas GNU/Linux se han convertido en lapunta de lanza de la comunidad Open Source,por la cantidad de proyectos que se han podido

    aglutinar y llevar a buen trmino.

    El nacimiento de nuevas empresas, que crearon distribucionesGNU/Linux (empaquetamientos de kernel+ aplicaciones) y ledieron apoyo, como Red Hat, Mandrake, SuSe, contribuy aintroducir GNU/Linux en las empresas reacias, y a comenzar elimparable crecimiento que vivimos actualmente.

  • 7/26/2019 Migrar o Coexistir

    13/93

    Comentaremos tambin la discusin sobre la denominacin delos sistemas como GNU/Linux. El trmino Linux paraidentificar el sistema operativo con que se trabaja es de comnuso (para simplificar el nombre), aunque en opinin de algunosdesmerece el trabajo de la FSF con el proyecto GNU, el cual haproporcionado las principales herramientas del sistema. Aun as,el trmino Linux, para referirse al sistema operativo completo, esampliamente usado comercialmente.

    En general, para seguir una denominacin ms acorde a laparticipacin de la comunidad, se utiliza el trmino Linux, cuandonos estamos refiriendo slo al ncleo (kernel) del sistemaoperativo. Esto crea cierta confusin, ya que hay gente que hablade "sistemas Linux" o del "sistema operativo Linux" para abreviar.Cuando se trabaja con un sistema operativo GNU/Linux, se est

    trabajando sobre una serie de software de utilidades, en granparte fruto del proyecto GNU, sobre el ncleo Linux. Por lo tanto,el sistema es bsicamente GNU con un ncleo Linux.

    El proyecto GNU de la FSF tena por objetivo crear un sistemaoperativo de software libre al estilo UNIX denominado GNU[Sta02].

    Linus Torvalds consigui, en 1991, juntar su kernelLinux con lasutilidades GNU, cuando la FSF todava no dispona de kernel.El kernelde GNU se denomina Hurd, y hoy en da se trabaja

    bastante en l, y ya existen algunas versiones beta dedistribuciones de GNU/Hurd.

    Se calcula que, en una distribucin GNU/Linux,hay un 28% de cdigo GNU y un 3% quecorresponde al cdigo del kernelLinux; elporcentaje restante corresponde a cdigo deterceros, ya sea de aplicaciones o de utilidades.

    Para destacar la contribucin de GNU [FSF], podemos ver algunas

    de sus aportaciones incluidas en los sistemas GNU/Linux: El compilador de C y C++ (GCC) El shell bash El editor Emacs (GNU Emacs) El intrpretepostscript(GNU ghostscript) La biblioteca C estndar (GNU C library, o tambin glibc) El depurador (GNU gdb)

  • 7/26/2019 Migrar o Coexistir

    14/93

    Makefile(GNU make) El ensamblador (GNU assemblero gas) El linker(GNU linkero gld)

    Los sistemas GNU/Linux no son los nicos que utilizan softwareGNU. Los sistemas BSD, por ejemplo, incorporan tambinutilidades GNU. Y algunos operativos propietarios, como MacOS X(de Apple), tambin usan software GNU. El proyecto GNU haproducido software de alta calidad, que se ha ido incorporando ala mayor parte de las distribuciones de sistemas basadas en UNIX,tanto libres como propietarias.

    Es justo para todo el mundo reconocer el trabajode cada uno denominando GNU/Linux a los

    sistemas que trataremos.ltima modificacin: domingo, 17 de abril de 2016, 18:45

  • 7/26/2019 Migrar o Coexistir

    15/93

    Conceptos y OrdenesFundamentales

    El sistema GNU/Linux es un sistema multitarea, es decir, permite laejecucin de centenares de tareas al mismo tiempo independientementede la cantidad de coreso CPU que tenga para ejecutarse utilizando unacaracterstica comn en todos los sistemas operativos modernos llamadamultiprogramacin.

    Esta caracterstica permite ejecutar una tarea durante un determinadotiempo, suspenderla, pasar a la siguiente y as sucesivamente, y cuandose llega al final, volver a comenzar por la primera sin afectar sucomportamiento o ejecucin.

    Normalmente esta ejecucin se denomina "round robin", ya quedistribuye un "quantum"de tiempo (que oscila entre 15 milisegundos a150 milisegundos, dependiendo del operativo) para cada tarea enespera y volviendo a comenzar por la primera cuando se llega a laltima de la cola.

    Si el sistema posee ms de un core o procesador, GNU/Linux tienecapacidad para distribuir estas tareas en los diferentes elementos decmputo obteniendo las consiguientes mejoras en las prestaciones.Puede parecer que 15 milisegundos = 0,015 segundos es un tiempo

    pequeo, pero cualquier procesador actual puede como mnimo ejecutaren este tiempo unas 2,2 millones de instrucciones mquina! Adems,Gnu/Linux es un sistema operativo multiusuario que permite que ms deun usuario a la vez pueda estar trabajando con el sistema y que stecon su trabajo no pueda afectar a ninguna de las tareas de los otrosusuarios en el sistema.

    GNU/Linux es un sistema multitarea y multiusuario que permite (auncon un solo procesador/core) atender las necesidades simultneas demltiples usuarios, utilizando un tcnica habitual de los sistemasoperativos modernos denominada multiprogramacin.

    Todos los sistemas Unix, y GNU/Linux no es una excepcin, considerandos tipos de usuarios diferenciados: el superusuario (llamado root),que tiene todos los permisos sobre el sistema, y el resto de los usuariosque disponen de un directorio de trabajo (home) del que tienen todoslos permisos, pero en el resto del sistema lo que pueden hacer est enfuncin de su importancia y nivel de seguridad para el propio sistema.

  • 7/26/2019 Migrar o Coexistir

    16/93

    Generalmente, en cualquiera de estos sistemas *nix(Unix, Linux...) unusuario puede "mirar" (y en algunos casos ejecutar) todo aquello que noimplique informacin confidencial pero tiene generalmente restringido elresto de acciones.

    El segundo concepto interesante en los sistemas Linux es que se puedetrabajar interactivamente en dos modos diferenciados: modo texto ymodo grfico (y en este ltimo se puede abrir una ventana especialllamada Terminal, que permite trabajar en modo texto dentro del modogrfico).

    Normalmente, los modos grficos son los ms utilizados en sistemas deescritorio o de usuario domstico, mientras que los de texto sonadecuados para servidores.

    No obstante, como no se impone ninguna restriccin se puede cambiarfcilmente de uno a otro con una secuencia de teclas o incluso estar enmodo grfico y desarrollando cdigo en modo texto sobre un terminal, oconectado con un terminal a otra mquina o al disco de otra mquina.

    El tercer concepto interesante es que la interaccin entre el usuario y elncleo se realiza a travs de un intrprete de comandos/rdenesllamado shell y que puede ser escogido por el usuario entre losdiferentes que hay.

    Estos shellpermiten la ejecucin (interpretacin, mejor dicho, ya que el

    cdigo est escrito en lenguaje texto ASCII) de pequeos programasllamados shell scripts, que son muy potentes para realizar secuencias decomandos (y que pueden llegar a ser muy complejas). }

    Obviamente, al igual que otros sistemas operativos, Gnu/Linux en suinterfaz grfica soporta la interaccin grfica sobre los diferentesacciones del sistema, incluso permitiendo ejecutar shell scriptscomo side otro programa se tratara.

    Dos conceptos interesantes ms, en los sistemas Linux, son: la idea detarea de usuario o del sistema operativo y la estructura del

    sistema de archivos.

    En cuanto al primer concepto, una tarea es una actividad que deberealizar el sistema operativo que bien puede ser la ejecucin de uncomando, una orden, editar un archivo, etc.

  • 7/26/2019 Migrar o Coexistir

    17/93

    Para ello, el sistema operativo debe ejecutar un programa adecuadopara realizar esta tarea que normalmente se denomina ejecutable, yaque contiene las instrucciones mquina para realizar esta tarea.

    Cuando el programa ejecutable se carga en memoria se le llama

    proceso, o programa en ejecucin, ya que contiene, adems delejecutable, todas las estructuras de datos para que se pueda realizaresta tarea, y se libera toda la memoria cuando finaliza suejecucin.

    Este proceso se puede suspender, bloquear, continuar su ejecucin deacuerdo a las necesidades del usuario y a lo que ordene el sistemaoperativo.

    Una derivacin de este concepto de proceso es que en los procesadoresmodernos un proceso puede ser dividido entre varia subtareas (llamadoshilos o threads).

    Los hilos de ejecucin o threads pueden ser ejecutadosindependientemente por diferentes cores.

    Qu ventajas tiene un programa multithread? Que el cdigo queejecuta cada threadlo define el programador, por lo cual se puede tenerun thread atendiendo una lectura de disco y otro haciendo un refrescode una imagen en pantalla simultneamente dentro del mismo proceso.

    Aun teniendo un solo core, este tipo de programacin es ms eficienteque si hiciera una subtarea primero y otra despus.

    Por ltimo, los sistemas Linux disponen de una estructura de archivosestndar donde se ubican los archivos del sistema con totalindependencia a los dispositivos fsicos.

    Es decir, a partir de una raz (llamada root y definida por la "/") seubican los diferentes directorios en funcin de sus objetivos, y dondecada usuario dispone de un directorio propio de trabajo, generalmenteen el directorio /home/nombre-usuario, donde su dueo tendr total

    capacidad de decisin, mientras que no as en el resto del rbol (elsuperusuario tiene su propio directorio en/root).

    ltima modificacin: sbado, 30 de abril de 2016, 10:19

  • 7/26/2019 Migrar o Coexistir

    18/93

    Como Compilar los Programas de Linux (de CodigoAbierto)

    Publicado el 17 Agosto 2008 | | | Visto: 6940

    Ratio: / 0

    Malo Bueno

    La mayor parte del tiempo, especialmente en Windows y Mac OS X, los usuarios finales no tienen

    que compilar el software. Los programadores del software escriben el cdigo, y luego recopilado

    en un "binario ejecutable" se disea para funcionar en nuestro de ordenador y sistema operativo.

    Cada vez ms, sin embargo, con la popularidad del software de cdigo abierto, donde el cdigo

    fuente est disponible para todos y cada, y que puede leer y disfrutar, el ltimo paso de compilar

    el cdigo en un programa ejecutable, es que se puede dejar al usuario. Pueden ser compilados

    especficamente para el tipo de sistema que va a correr, y mantener separados los binarios paraWindows XP, Windows Vista, Mac OS X Tiger, Panther, Linux x86, y todos los dems. Adems,

    acaba de publicar el cdigo libre a los usuarios, para poder modificar, a menudo con los parches a

    disposicin del pblico, antes de compilar, para personalizarlo a sus necesidades.

    Compiladores

    Si te encuentras que tienes (o quieres) compilar una parte del software, el proceso es bastante

    simple. Cada pieza de software es diferente, pero aqu hay un resumen de las ms comunes. En

    primer lugar, usted necesitar una lnea de comandos y un compilador.

    Linux: casi seguro que Usted ya tiene una lnea de comandos, y un compilador llamadogcc.

    Intente escribir gcc en la lnea de comandos. Si se le dice que "comando no encontrado", instale

    gcc a travs de su gestor de paquetes.

    Mac OS XSu lnea de comandos es la terminal, que se encuentra en Aplicaciones / Utilidades. Para

    ello, deber descargarXcode,que contiene el compilador de Apple, desde Apple ->herramientas

    para desarrolladores desde la web o en tu CD Mac OS X.

    Microsoft Windowsproporciona un compilador libre para su descarga deVisual Studio Express,

    peroCygwines el ms til y ms fcil de usar. Descargue e instale, asegurndose de incluir todos

    los paquetes del "Desarrollo" cuando usted elige los paquetes.

    Asimismo, asegrese de leer nuestro tutorial:instalar y utilizar Cygwin

    DESCARGAR E INSTALAR LOS PAQUETES.

    http://www.linux-party.com/54-programacion/3603-como-compilar-los-programas-de-linux-de-codigo-abiertohttp://www.linux-party.com/54-programacion/3603-como-compilar-los-programas-de-linux-de-codigo-abiertohttp://www.linux-party.com/54-programacion/3603-como-compilar-los-programas-de-linux-de-codigo-abiertohttp://gcc.gnu.org/onlinedocs/http://gcc.gnu.org/onlinedocs/http://gcc.gnu.org/onlinedocs/http://developer.apple.com/tools/download/http://developer.apple.com/tools/download/http://developer.apple.com/tools/download/http://msdn.microsoft.com/vstudio/express/http://msdn.microsoft.com/vstudio/express/http://msdn.microsoft.com/vstudio/express/http://www.cygwin.com/http://www.cygwin.com/http://www.cygwin.com/http://www.webmonkey.com/tutorial/Install_and_Use_Cygwinhttp://www.webmonkey.com/tutorial/Install_and_Use_Cygwinhttp://www.webmonkey.com/tutorial/Install_and_Use_Cygwinhttp://www.webmonkey.com/tutorial/Install_and_Use_Cygwinhttp://www.linux-party.com/component/mailto/?tmpl=component&template=linuxpartyv1j25&link=628e9af6ac6ae4554400a22db68a3537402944d2http://www.linux-party.com/54-programacion/3603-como-compilar-los-programas-de-linux-de-codigo-abierto?tmpl=component&print=1&page=http://www.webmonkey.com/tutorial/Install_and_Use_Cygwinhttp://www.cygwin.com/http://msdn.microsoft.com/vstudio/express/http://developer.apple.com/tools/download/http://gcc.gnu.org/onlinedocs/http://www.linux-party.com/54-programacion/3603-como-compilar-los-programas-de-linux-de-codigo-abiertohttp://www.linux-party.com/54-programacion/3603-como-compilar-los-programas-de-linux-de-codigo-abierto
  • 7/26/2019 Migrar o Coexistir

    19/93

    Prcticamente todos los paquetes fuente vienen en formato de archivo comprimido. Esto tendr

    un sufijo. Tgz o. Tar.gz. Tambin tendr un nombre y un nmero de versin, algo as como

    ejemplo-3.2.8.tar.gz. Usted debe hacerse un directorio para trabajar, llamelo "fuente" o

    "construir" o algo en ese sentido. Ahora con su navegador, descargue el archivo fuente en ese

    directorio.

    Ahora, el desembalaje. A partir de su lnea de comandos, vaya a su directorio de trabajo

    (utilizando el comando cd): En el ejemplo utilizaremos como directorio uno llamado "source"

    cd source

    Desempaquetamos el contenido con la aplicacin tar:

    tar xzvf example-3.2.8.tar.gz

    Esto descomprimir todos los archivos del cdigo fuente en un nuevo subdirectorio con elmismo nombre que su aplicacin, incluida la versin. Si el nombre del archivo termina en.Bz2 en lugar de. Gz, en lugar de utilizar "xzvf" o "xvfz" que es como yo prefiero escribirlo,deber usar "xjvf". Ir en este directorio tecleando:

    cd example-3.2.8

    Leer la documentacin.

    Prcticamente cada paquete fuente contiene material de lectura, normalmente archivos connombres en maysculas, al igual que README e instalar. Lea estas! Ellos informan sobrela forma de proceder. Tambin puede haber documentacin para su situacin especfica, aligual que README.macosx. Puede utilizar el comando less en la lnea de comandos paraleerlos:

    less INSTALL

    (pulse 'q' en su teclado para salir) o simplemente abrirlos en su editor de textos favorito. Ladocumentacin podr necesitarlo para instalar software adicional antes de poder instalar

    este paquete ( "dependencias"), o peculiaridades del proceso de instalacin que ustednecesita para estar alerta. Gran parte de esto suele ser cubierto por el software de la pginaweb tambin.

    Building

    El proceso puede variar, pero el procedimiento ms comn es el siguiente. Tipo:

  • 7/26/2019 Migrar o Coexistir

    20/93

    ./configure

    El punto y barra previo (./) significa que usted quiere ejecutar la herramienta deconfiguracin en el directorio actual. Esto realizar pruebas de diagnstico en el equipo,averiguar si el software tiene todo lo que necesita (dependencias) y dnde estn losarchivos importantes. Puede que tenga que especificar la ubicacin de determinadosarchivos en su computadora en caso de no estar en el lugar obvio - la documentacindebera cubrir esta informacin, por ejemplo:

    ./configure --ssl-dir=/usr/local/include

    Para obtener una lista completa de todas las opciones que usted puede necesitar paraconfigurar la herramienta, debe ejecutar:

    ./configure --help

    El proceso de configuracin puede tardar varios minutos. Cuando se hace, si no le daningn mensaje de error, usted est listo para compilar. Si lo hace y le da un mensaje deerror, consulte la seccin *Solucin de problemas* ms adelante. Para compilar elsoftware, slo tienes que escribir:

    make

    Si todo va bien, debera tomar un tiempo, y puede monopolizar el procesador del ordenador

    cuando est corriendo. No te preocupes, la compilacin de software es un trabajo intensivo.Cuando termina, si todava no ve ningn mensaje de error, ya ests listo para el ltimopaso. Tenga en cuenta que probablemente no va a ver un mensaje de felicitaciones o bien,pero si no hay error, es que ha tenido xito. El software ha sido compilado. Todo lo quequeda por hacer es poner en aquellos casos en el lugar que le pertenece.

    make install

    Los distintos archivos que se han construido, sern colocados en sus lugares adecuados enel sistema de ficheros. Ahora est listo para ser utilizado.

    Solucin de problemas

    Si cualquiera de los pasos anteriores no van bien, hay algunos pasos sistemticos paratomar medidas que ayuden a averiguar cul es el problema. Asegrese de que han seguidotodas las instrucciones de rigor, y que tiene las necesarias dependencias instaladas.

  • 7/26/2019 Migrar o Coexistir

    21/93

    Si no puede averiguar dnde o que sali mal, busque el mensaje de error que has recibido, ypguelo en Google, Usenet, y en los foros y/o enve un correo a listas de correo pguelopara que otros le puedan ayudar. Si eso falla, puede probablemente enviar un e-mail la listade correo, del software con su pregunta, o incluso en contacto con el autor del softwaredirectamente si no hay lista de correo activa. De cualquier manera, asegrese de haber

    realizado su tarea en primer lugar.Tip:Catb.orgtiene un buen tutorial sobre cmo pedir ayuda.

    http://www.catb.org/~esr/faqs/smart-questions.htmlhttp://www.catb.org/~esr/faqs/smart-questions.htmlhttp://www.catb.org/~esr/faqs/smart-questions.htmlhttp://www.catb.org/~esr/faqs/smart-questions.html
  • 7/26/2019 Migrar o Coexistir

    22/93

    Compartir

    Cmo instalar programas en Linux desde

    su cdigo fuenteJos Mara Lpez|11 de febrero del 2008

    Utilidades Linux Tutoriales

    Nivel Avanzado Programacin

    Los usuarios de Windows estnacostumbrados a instalar programascon archivos ejecutables o .EXE. EnLinux, en cambio, hay variedad de

    http://articulos.softonic.com/editor/jose-maria-lopezhttp://articulos.softonic.com/editor/jose-maria-lopezhttp://articulos.softonic.com/t/utilidadeshttp://articulos.softonic.com/t/utilidadeshttp://articulos.softonic.com/t/linuxhttp://articulos.softonic.com/t/linuxhttp://articulos.softonic.com/t/tutorialeshttp://articulos.softonic.com/t/tutorialeshttp://articulos.softonic.com/t/nivel-avanzadohttp://articulos.softonic.com/t/nivel-avanzadohttp://articulos.softonic.com/t/programacion-softwarehttp://articulos.softonic.com/t/programacion-softwarehttp://articles-images.sftcdn.net/wp-content/uploads/sites/2/2008/02/snap22.pnghttp://articulos.softonic.com/t/programacion-softwarehttp://articulos.softonic.com/t/nivel-avanzadohttp://articulos.softonic.com/t/tutorialeshttp://articulos.softonic.com/t/linuxhttp://articulos.softonic.com/t/utilidadeshttp://articulos.softonic.com/editor/jose-maria-lopez
  • 7/26/2019 Migrar o Coexistir

    23/93

    instaladores segn la distribucin que uses, como DEB, RPM, BIN o TAR.

    En Softonic acostumbramos a ofreceros el cdigo fuente de las aplicaciones para quepodis instalarlo en cualquier distribucin Linux y para que tengis la versin ms actual.Sin embargo, instalar un programa a partir del cdigo fuente no es tarea fcil.

    En esta gua aprenderemos a compilar el cdigo fuente de un programa Linuxcualquiera.

    Antes de empezar, qu es cdigo fuente? El cdigo fuente es el programa tal como loescribi el programador. De esta forma podemos editarlo y adaptar la aplicacin a susnecesidades. Por otra parte, permite instalarlo en diferentes sistemas operativos, o en estecaso, cualquier distribucin Linux.

    Sin embargo, el ordenador no entiende este cdigo fuente, as que tendremos quecompilarlo usando el terminal.

    Descomprimir el cdigo fuente

    En primer lugar, y una vez hayamos conseguido el cdigo fuente desde Softonic, hay queextraerlo del archivo comprimidoen el que suele venir, ya sea ZIP, RAR o los ms

    habituales, TAR.GZ y TAR.BZ2. Aunque las distribuciones ms usadas descomprimen conaplicaciones grficas, desde el terminal descomprimiremos estos archivos con lossiguientes comandos:

    Acabados enTAR.GZ. Teclea tar -xvzf y su nombre con la extensin. Acabados enTAR.BZ2. Teclea tar -xvjf y su nombre con la extensin. Acabados enTAR.BZ. Teclea tar -xvify su nombre con la extensin. Acabados enRAR. Teclea unrar e -kby su nombre con la extensin.

  • 7/26/2019 Migrar o Coexistir

    24/93

    Acabados enZIP. Teclea unzipy su nombre con la extensin.

    Por ejemplo, tar -xvjf brasero-0.7.0.tar.bz2

    Resolver las dependencias

    Estos comandos crean una carpeta con el cdigo fuente, donde tendremos en cuenta lossiguientes archivos: README e INSTALL. En uno de los dos encontraremos qudependencias requiere el programa y qu comandos teclear en el terminal para compilarlo.

    El primer dato es fundamental, ya que las dependencias son los paquetes que utiliza elprograma que vamos a instalar para funcionar.

    Las dependencias pueden ser libreras de lenguajes de programacin, como Python, Perl oC++. Otras sern necesarias simplemente para compilar el cdigo, como make, cmake ogcc. Tambin las hay que forman parte de nuestro Entorno de Escritorio, KDE o Gnome. Yotras, simplemente, son libreras que realizan funciones por separado y en las que se apoyanuestro programa a compilar, como GTK (que usa GIMP) o gstreamer (para reproducirvdeos).

    El principal problema viene cuando el autor del programa no nos da ninguna instruccin dequ dependencias requiere su creacin. Por suerte, en algunos casos al intentar compilarveremos mensajes de error que, si nos fijamos bien, nos alertarn de que faltan ciertospaquetes.

  • 7/26/2019 Migrar o Coexistir

    25/93

    As pues, antes de compilar el cdigo fuente del programa a instalar tendremos quesatisfacer las dependencias. Podemos hacerlo desde el gestor de paquetes de nuestradistribucin, como Synaptic en Debian/Ubuntu o Yum en Fedora.

    Instalar el programa

    Desde terminal depender de la distribucin que usemos. En Ubuntu/Debian se puede usarla herramientaaptitude. Por ejemplo, el autor nos dice que su programa usa la libreraGTK para Java, libgtk-java. Pues escribimos en el terminal:

    >sudo aptitude install libgtk-java

    Aptitude se encargar de buscar e instalar tambin las dependencias de este paquete. Encaso de no saber el nombre concreto del paquete, podramos buscar GTK y Javaescribiendo:

    >aptitude search gtk java

    En Fedora y derivados, usaremos yum. Primero introducimos el comando su, para usar elterminal como root o superusuario. Para buscar paquetes, yum search, y para instalarlo yuminstall.

    >yum search amsn

    >su

    >yum install amsn

    Una vez resueltas las dependencias habr terminado el trabajo duro. El resto es pan comido.

    El proceso habitual suele consistir en:

    >make

  • 7/26/2019 Migrar o Coexistir

    26/93

    >sudo make install

    Otras aplicaciones requieren pasos distintos. En lugar de make, pueden usar cmake ojam,y algunos, programados en Python, se instalan simplemente con el comando:

    >sudo python setup.py installEspero que estas sencillas instrucciones os hayan sido tiles ahorrndoos quebraderos decabeza. Buena suerte!

  • 7/26/2019 Migrar o Coexistir

    27/93

    Cmo hacer preguntas de manera

    inteligente

    Copyright 2001 por Eric S. RaymondCopyright de la traduccin 2001 por Jose M. Fernndez

    ndice de contenidosIntroduccinAntes de preguntarCuando preguntesCmo interpretar las respuestasSobre cmo no reaccionar como un perdedorPreguntas que no hacerBuenas y malas preguntasSi no logras obtener respuesta

    IntroduccinEn el mundo de loshackers,el tipo de respuestas que obtengas a tus preguntas tcnicasdepende tanto de la manera en que formules tus preguntas como de la dificultad dedesarrollar la respuesta. En esta gua se ensear cmo preguntar de manera que puedasobtener una respuesta satisfactoria.

    Lo primero que tienes que entender es que a los hackers les gustan los problemas realmentecomplejos y las buenas preguntas que les hagan pensar en ellos. De no ser as no estaramosaqu. Si nos proporcionas una cuestin interesante te estaremos agradecidos; las buenaspreguntas suponen un estmulo y un regalo. Las buenas preguntas nos ayudan a desarrollarnuestra comprensin, y a menudo revelan problemas que podamos no haber percibido o enlos que de otra manera no habramos reparado. Entre los hackers, "Buena pregunta!" debeentenderse como un sincero cumplido.

    A pesar de esto, los hackers tienen la reputacin de enfrentarse a las preguntas sencillas conhostilidad o arrogancia. A veces parece como si resultsemos hostiles a los principiantes o alos ignorantes. Pero eso realmente no es cierto.

    Lo que somos, de una manera no apologtica, es hostiles con la gente que parece no quererpensar o hacer sus deberes antes de plantear las preguntas. La gente de ese tipo sonsumideros de tiempo -- toman sin dar a cambio, desperdician el tiempo que podramoshaber dedicado a otra cuestin ms interesante y con otra persona ms merecedora de unarespuesta. A las personas de este tipo las llamamos "perdedores" (y por razones histricas aveces escribimos "lusers".

    http://www.sindominio.net/ayuda/preguntas-inteligentes.html#INTROhttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#INTROhttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#BEFOREhttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#BEFOREhttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#ASKINGhttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#ASKINGhttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#ANSWERShttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#ANSWERShttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#NOT_LOSINGhttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#NOT_LOSINGhttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#CLASSIChttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#CLASSIChttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#EXAMPLEShttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#EXAMPLEShttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN264http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN264http://sindominio.net/biblioweb/telematica/hacker-como.htmlhttp://sindominio.net/biblioweb/telematica/hacker-como.htmlhttp://sindominio.net/biblioweb/telematica/hacker-como.htmlhttp://sindominio.net/biblioweb/telematica/hacker-como.htmlhttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN264http://www.sindominio.net/ayuda/preguntas-inteligentes.html#EXAMPLEShttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#CLASSIChttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#NOT_LOSINGhttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#ANSWERShttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#ASKINGhttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#BEFOREhttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#INTRO
  • 7/26/2019 Migrar o Coexistir

    28/93

    Somos, de largo, voluntarios. Robamos el tiempo de vidas ocupadas para responderpreguntas, y a veces nos sobrecargan. As que filtramos sin tregua. En particular,desechamos las preguntas de quienes parecen ser perdedores para ocupar el tiempo quededicamos a responder preguntas de una manera ms eficiente, con los ganadores.

    T no quieres ser uno de los perdedores. Tampoco quieres parecerte a ninguno de ellos. Lamejor manera de obtener una respuestas rpida y eficiente es preguntando como un ganadorcomo una persona con inteligencia, confianza en s mismo e indicios de que necesitaayuda con un problema en particular.

    (Las mejoras a esta gua sern bienvenidas. Puede enviar sus sugerencias (en ingls) [email protected].)

    N. del T.: "luser" es una contraccin de los trminos "user" (usuario) y "loser" (perdedor).

    Antes de preguntarAntes de hacer una pregunta tcnica por correo, en un grupo de noticias o en el foro de unsitio web, haz lo siguiente:

    1.

    Intenta encontrar una respuesta leyendo el manual.2. Intenta encontrar una respuesta leyendo las FAQs3. Intenta encontrar una respuesta buscando en la web.4.

    Intenta encontrar la respuesta preguntndole a un amigo con ms experiencia.

    Cuando hagas tu pregunta, destaca el hecho de que ya has hecho todo esto; esto ayudar aestablecer que no eres una esponja vaga y que slo ests desperdiciando el tiempo de losdems. An mejor, destaca lo que hayas aprendidoa partir de estas cosas. Nos gustaresponder a la gente que ha demostrado ser capaz de aprender de las respuestas.

    Prepara tu pregunta. Piensa en ella. Las preguntas precipitadas reciben respuestasprecipitadas, o ni siquiera eso. Cuanto ms hagas para demostrar que has puestopensamiento y esfuerzo en resolver tu problema antes de pedir ayuda, ms cerca estars derecibirla realmente.

    Ten cuidado de no hacer la pregunta equivocada. Si haces una que est basada enasunciones errneas, Hacker Al Azar seguramente te responder con algo literal e intilmientras piensa "Qu pregunta ms estpida...", y esperando que la experiencia de obteneruna respuesta a lo que has preguntado exactamente en vez de a lo que necesitas saber teensear una leccin.

    Nunca asumas que tienes derechoa una respuesta. No lo tienes. Te ganars una respuesta,si te la ganas haciendo una pregunta sustancial, interesante y que haga pensaruna que

    mailto:[email protected]:[email protected]:[email protected]
  • 7/26/2019 Migrar o Coexistir

    29/93

    contribuya implcitamente a la experiencia de la comunidad antes que solicitar de manerapasiva conocimiento de los dems.

    Por otra parte, un muy buen comienzo es dejar claro que puedes y quieres participar en elproceso de desarrollar la solucin. "Tiene alguien alguna pista?" "Qu le falta a mi

    ejemplo?" y "Hay alguna pgina que debiera haber consultado?" tendrn msprobabilidades de ser respondidas que "Publica por favor el procedimiento exacto quedebera seguir", porque ests dejando claro que ests realmente deseoso de completar elproceso si alguien simplemente te orienta en la direccin correcta.

    Cuando preguntes

    Elige el foro con cuidado

    Ten cuidado al elegir dnde planteas tu pregunta. Seguramente te ignorarn o te tacharn deperdedor si:

    publicas tu pregunta en un foro en el que se encuentra fuera de lugar (off topic) publicas una pregunta muy elemental en un foro en el que se esperan preguntas

    tcnicas avanzadas, o viceversa publicas el mensaje al mismo tiempo en grupos de noticas muy diferentes (cross-

    posting)

    Los hackers descartan las preguntas inapropiadas para intentar proteger sus canales de

    comunicacin de lo insustancial. No quieres que te suceda eso.

    Escribe de manera clara respetando la ortografa y lagramtica

    Sabemos por experiencia que los escritores descuidados y chapuceros tambin piensan demanera desordenada y chapucera (a menudo lo suficiente como para apostar por ello, noobstante). Responder a pensadores descuidados y chapuceros no recompensa; mejor

    estaramos usando nuestro tiempo en cualquier otro lugar.

    Por esto, es importante expresar tu pregunta de manera clara. Si no puedes molestarte enhacer eso, nosotros no podemos molestarnos en prestarte atencin. Aprovecha el esfuerzoaadido en pulir tu lenguaje. No tiene que ser nada estirado ni formal de hecho, lacultura hacker valora el habla informal, la jerga y el lenguaje cmico usado con precisin.Pero tiene queserpreciso; tiene que haber alguna indicacin de que ests pensando yprestando atencin.

  • 7/26/2019 Migrar o Coexistir

    30/93

    Deletrea correctamente. No confundas "its" con "it's" o "loose" con "lose". No ESCRIBASTODO EN MAYSCULAS, eso se lee como si estuvieses gritando, se considera poco"fino". Si escribes como un bobo medio analfabeto probablemente te ignorarn. Escribircomo un hax0r script kiddiede l33tes el beso de la muerte absoluto y te garantiza que norecibirs otra cosa que un silencio sepulcral (o, si tienes suerte, un montn de desprecio y

    sarcasmo).Si preguntas en un foro en el que no se usa tu idioma materno, obtendrs una cantidadlimitada de avisos por tus errores gramaticales y de ortografa pero ninguno aadido portus argumentaciones chapuceras (y s, normalmente conocemos la diferencia). Adems, amenos que conozcas las lenguas de quienes te respondan, escribe en ingls. Los hackersocupados tienden a descartar las preguntas en idiomas que no entienden, y el ingls es elidioma de trabajo en la red. Al escribir en ingls minimizas las posibilidades de quedescarten tu pregunta sin leerla.

    Enva las preguntas en formatos que sean fciles deentender

    Si artificialmente haces tu pregunta difcil de leer, tendr ms probabilidades de serignorada en favor de una que no lo sea. Por esto:

    Enva el correo en texto plano, no en HTML. No enves correo en el que prrafos completos consten de una nica lnea *

    mltiples veces. (Esto dificulta responder slo a partes del mensaje.) Tampoco enves mensaje codificados como MIME Quoted-Printable; todos esos

    =20esparcidos por el texto son feos y adems distraen. Jams de los jamasesesperes que los hackers puedan leer formatos de documentos

    propietarios como Microsoft Word. La mayora de los hackers reaccionan a esto deigual manera que reaccionaras t ante un montn de estircol humeante volcado enel umbral de tu puerta.

    Si envas correo desde una mquina con Windows, desactiva la estpida prestacin"Smart Quotes" (citas inteligentes) de Outlook. Esto es para evitar caracteres debasura esparcidos por tu mensaje.

    Usa ttulos especficos y con sentido

    En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidadde oro para atraer la atencin de expertos cualificados en aproximadamente 50 caracteres omenos. No los desperdicies en balbuceos como "Por favor aydame" (de "POR FAVORAYDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu

  • 7/26/2019 Migrar o Coexistir

    31/93

    angustia; mejor usa ese preciado espacio para una descripcin lo ms concisa posible delproblema.

    Estpido:

    AYUDA! El vdeo no funciona en mi porttil!Inteligente:

    Cursor del ratn deformado con XFree86 4.1, chipset de vdeo Loquesea MV1005

    S preciso e informativo sobre tu problema

    Describe los sntomas de tu problema o error con cuidado y claramente. Describe el entorno en el que ocurre (mquina, S.O., aplicacin, loquesea). Describe la investigacin que llevaste a cabo para acotar una posible respuesta al

    problema antes de hacer la pregunta. Describe los pasos de diagnstico que llevaste a cabo e intenta solucionar el

    problema t mismo antes de formular la cuestin. Describe cualquier cambio reciente en tu ordenador o combinacin de software que

    pueda resultar relevante.

    Hazlo lo mejor que puedas para anticiparte a las preguntas que un hacker te hara, y pararesponderlas antes de tu solicitud de ayuda.

    Simon Tatham ha escrito un excelente ensayo tituladoCmo informar de errores de maneraefectiva.Te recomiendo efusivamente que lo leas.

    Describe los sntomas del problema, no tus suposiciones

    No es til decirle a los hackers lo que t crees que est causndote el problema. (Si tusteoras de diagnstico fueran tan fiables, estaras pidiendo ayuda a otros?) Por esto,asegrate de que nicamente ests contndoles los sntomas de lo que va mal y no tusinterpretaciones o teoras. Deja que ellos lleven a cabo las interpretaciones y pronuncien sudiagnstico.

    Estpida:

    Me salen errores SIG11 durante la compilacin del ncleo, y sospecho que hayapodido romperse un hilo en uno de los circuitos de la placa base. Cul es la mejormanera de comprobar eso?

    http://www.chiark.greenend.org.uk/~sgtatham/bugs.htmlhttp://www.chiark.greenend.org.uk/~sgtatham/bugs.htmlhttp://www.chiark.greenend.org.uk/~sgtatham/bugs.htmlhttp://www.chiark.greenend.org.uk/~sgtatham/bugs.htmlhttp://www.chiark.greenend.org.uk/~sgtatham/bugs.htmlhttp://www.chiark.greenend.org.uk/~sgtatham/bugs.html
  • 7/26/2019 Migrar o Coexistir

    32/93

    Inteligente:

    Mi K6/233 ensamblado por m con una placa base FIC-PA2007 (chipset VIAApollo VP2) con 256MB Corsair PC133 SDRAM empieza a tener frecuenteserrores SIG11 sobre unos 20 minutos despus de haberlo arrancado durante el curso

    de compilaciones del ncleo, pero nunca durante los primeros 20 minutos. Sireinicio no se reinicia el reloj, pero si lo apago durante la noche s. Pasar toda laRAM a la particin de intercambio no ha servido de nada. A continuacin os pongola parte relevante del registro de una tpica sesin de compilacin.

    Describe los sntomas de tu problema en ordencronolgico

    Las pistas ms tiles para averiguar qu ha ido mal se encuentran a menudo en losacontecimientos inmediatamente anteriores. Por esto, deberas describir con precisin loque hiciste, y lo que hizo la mquina, hasta el momento fatdico. En el caso de procesos porlnea de rdenes, disponer de un registro de la sesin (p.ej., usando la utilidad del "script")y citando las veinte lneas o as relevantes resultara muy til.

    Si el programa en cuestin tiene opciones de diagnstico (como -v para prolijo) intentapensar cuidadosamente en elegir opciones que puedan aadir informacin de depuracintil para la transcripcin.

    Si tu mensaje acaba resultando muy largo (ms de cuatro prrafos), puede resultar tilcomentar el problema de manera sucinta al principio y luego hacerlo de maneracronolgica. De esta manera, los hackers sabrn dnde mirar al leer tu mensaje.

    No solicites que te respondan por correo en privado

    Los hackers creen que resolver problemas debera ser un proceso pblico y transparentedurante el cual un primer intento de respuesta puede y debera corregirse si alguien con msconocimientos percibe que la respuesta es incompleta o incorrecta. Adems, obtienen partede su recompensa por responder al verse que son competentes y que poseen conocimientos

    suficientes por parte de sus iguales.

    Cuando pides una respuesta privada, ests interrumpiendo tanto el proceso como larecompensa. No hagas eso. Es eleccin de quien respondehacerlo en privadoy si lohace, normalmente es porque piensa que la pregunta es demasiado obvia o mal planteadacomo para resultar interesante para otros.

  • 7/26/2019 Migrar o Coexistir

    33/93

    Hay una excepcin limitada a esta regla. Si piensas que puedes recibir una gran cantidad derespuestas muy similares por el tipo de pregunta, entonces las palabras mgicas son"mandadme las respuestas por correo-e y har un resmen para el grupo". Se consideracorts ahorrar a la lista de correo o al grupo de noticias una gran cantidad de respuestassustancialmente idnticaspero evidentemente tienes que mantener la promesa de

    resumirlas.

    Evita las preguntas insustanciales

    Resiste la tentacin de cerrar tu consulta con preguntas semnticamente nulas como"Puede ayudarme alguien?" o "Hay alguna respuesta?" Primero: si has escrito ladescripcin de tu problema de manera medianamente competente, ese tipo de preguntasaadidas sin ms resultan, como poco, suprfluas. Segundo: al ser suprfluas, los hackerslas encuentran molestasy probablemente te devolvern respuestas de una lgica

    impecable aunque ignorndote como "S, pueden ayudarte" o "No, no hay ayuda para ti".

    La cortesa nunca hiere, e incluso a veces hasta ayuda.

    S corts. Usa "Por favor" y "Gracias por adelantado". Deja claro que aprecias el tiempoque emplea la gente ayudndote gratis.

    S honesto, esto no es tan importante como (y no puede sustituir a) ser correctogramaticalmente, claro, preciso y descriptivo, evitar formatos propietarios, etc; los hackersprefieren, por lo general, los informes sobre errores concretos tcnicamente aunque bruscosa la vaguedad educada. (Si esto te deja contrariado, recuerda que valoramos una preguntapor lo que nos ensea).

    De todos modos, si obtuviste tus conocimientos tcnicos en una tmbola, la educacinincrementar tus posibilidades de recibir una respuesta til.

    Concluye con una breve nota sobre la solucin

    Enva una nota tras haber resuelto el problema a todos los que te ayudaron; hazles sabercmo acab todo y agradceles de nuevo su ayuda. Si el problema atrajo el inters generalen una lista de correo o grupo de noticias, entonces ser apropiado publicar la nota all.

    La nota no tiene que ser larga ni desarrollada, un sencillo "Pepe - que al final resulta que loque fallaba era el cable. Gracias a todos. - Jose Luis" ser mejor que nada. De hecho, un

  • 7/26/2019 Migrar o Coexistir

    34/93

    resmen corto y agradable es mejor que una larga disertacin a menos que la solucinrequiera de cierta profundidad tcnica.

    Adems de ser corts e informativo, esta especie de seguimiento ayuda a todos los que teasistieron a sentir una sensacin satisfactoria de cercana al problema. Si t no eres un

    hacker, crete que ese sentimiento es muy importante para los gurs y expertos a quienespediste ayuda. Los problemas que acaban sin resolverse resultan frustrantes; los hackersdesean verlos resueltos. El buen karma que aliviar ese picor te har ganar te resultar demucha ayuda la prxima vez que necesites plantear una pregunta.

    Cmo interpretar las respuestas

    RTFM y STFW: cmo decirte que la has cagado

    seriamenteHay una tradicin antigua y venerada: si obtienes por respuesta un "RTFM", la persona quelo envi piensa que deberas haberte ledo el puto manual. Casi con total seguridad estaren lo cierto. Ve y lee.

    RTFM tiene un familiar ms joven. Si recibes como respuesta "STFW", quien te lo envapiensa que deberas haber Buscado en La Puta Web. Casi con toda certeza tendr razn. Vey busca.

    A menudo, quien enva una de estas respuestas est contemplando el manual o la pginaweb en cuestin mientras escribe. Estas respuestas significan que piensa que (a) lainformacin que necesitas es fcil de encontrar, y (b) aprenders ms si buscas t mismo lainformacin que si te la dan a "digerir" con cuchara.

    Esto no debera ofenderte; segn el estndar de los hackers, se te est mostrando ciertorespeto (aunque spero, no lo neguemos) al simplemente no ignorarte. Deberas agradecerla extrema amabilidad.

    Si no entiendes...Si no entiendes la respuesta, no devuelvas inmediatamente la solicitud de una clarificacin.Usa las mismas herramientas que utilizaste para intentar resolver tu pregunta original(manuales, PUFs, la Web, amigos con mayores destrezas) para entender la respuesta. Sinecesitas pedir una clarificacin, intenta demostrar lo que has aprendido.

  • 7/26/2019 Migrar o Coexistir

    35/93

    Por ejemplo, supn que te digo: "Suena como si tuvieses unzentryatascado; necesitarsliberarlo." Entonces:

    He aqu una malapregunta: "Qu es unzentry?"

    He aqu una buenapregunta: "Est bien, he ledo la pgina de manual y loszentrysslo semencionan bajo las variables -z y -p. En ninguna de ellas se menciona nada sobre liberar aloszentrys. Es una de stas o me estoy perdiendo algo?"

    Sobre cmo no reaccionar como un

    perdedor

    Hay bastantes posibilidades de que te equivoques ms de una vez en foros de la comunidadhacker -- de maneras detalladas en este artculo o similares. Y se te dir exactamente en qute equivocaste, posiblemente con profusos detalles. En pblico.

    Cuando esto sucede, lo peor que puedes hacer es lamentarte por la experiencia, denotar quete han asaltado verbalmente, pedir disculpas, llorar, contener la respiracin, amenazar conpleitos, quejarte a los jefes de la gente, dejar la tapa del bao abierta, etc. En vez de eso,esto es lo que tienes que hacer:

    Superarlo. Es normal. De hecho, resulta saludable y apropiado.

    Los estndares de la comunidad no se mantienen por s mismos: los mantiene la gente quelos aplica activa, visiblemente, en pblico. No te quejes de que todas las crticas se tedeberan haber enviado por correo privado: as no es como funciona esto. Ni resulta tilinsistir en que se te ha insultado personalmente cuando alguien comenta que alguna de tuspeticiones era errnea, o que sus opiniones diferan. sas son actitudes de perdedores.

    Ha habido foros de hackers en los que, aparte de un sentido de la hipercortesa mal guiado,se ha prohibido la entrada a participantes por enviar cualquier mensaje haciendo constarerrores en los mensajes de los dems, y se les ha dicho "No digas nada si no deseas ayudaral usuario". El xodo de los participantes ms experimentados a otros lugares les ha hechodescender al balbuceo sin el menor sentido y han perdido toda su utilidad como forostcnicos.

    Exageradamente "amigable" (de esa manera) o til: Elige uno.

    Recuerda: cuando ese hacker te diga que te has equivocado, y (no importa cun rudamente)te diga que no vuelvas a hacerlo, su actuacin te concierne a (1) ti y a (2) su comunidad.Sera mucho ms sencillo para l ignorarte ponindote un filtro. Si no eres capaz de seragradecido ten al menos un poco de dignidad, no te quejes y no esperes que te traten como

  • 7/26/2019 Migrar o Coexistir

    36/93

    una frgil mueca slo porque seas un recin llegado de alma teatralmente hipersensible ycon ilusiones de estar autorizado a todo.

    Preguntas que no hacerHe aqu algunas preguntas estpidas que ya se han convertido en clsicas junto con lo quelos hackers estn pensando cuando no las responden.

    P:Dnde puedo encontrar el programa X?P:Tengo problemas con mi mquina en Windows. Podrais ayudarme?P:Tengo problemas al instalar Linux o X. Podrais ayudarme?P:Cmo puedo convertirme en root/robar privilegios de operador de canal/leer el correode alguien?

    P: Dnde puedo encontrar el programa X?

    R: En el mismo lugar donde yo lo habra encontrado, imbcil -- al otro lado de unbuscador.. Dios, An no sabe nadie cmo usar Google?

    P: Tengo problemas con mi mquina en Windows. Podrais ayudarme?

    R: Claro. Tira esa basura de Microsoft e instala Linux.

    P: Tengo problemas al instalar Linux o X. Podrais ayudarme?

    R:No. Necesitara poder acceder fsicamente a tu mquina para resolver eso. Pide ayuda entu grupo de usuarios de Linux local para eso.

    P: Cmo puedo convertirme en root/robar privilegios de operador de uncanal/leer el correo de otra persona?

    R: Eres un desgraciado por querer hacer esas cosas y un subnormal por pedir a un hackerque te ayude.

    Buenas y malas preguntasFinalmente, voy a ilustrar con ejemplos cmo hacer preguntas de una manera inteligente;he aqu pares de preguntas sobre el mismo problema, una planteada de manera estpida yotra de manera inteligente.

    http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN202http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN202http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN202http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN207http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN207http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN207http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN212http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN212http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN212http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN217http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN217http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN217http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN217http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN217http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN217http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN212http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN207http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN202
  • 7/26/2019 Migrar o Coexistir

    37/93

    Estpida:Dnde puedo encontrar informacin sobre el Funli Flurbamtico?

    Esta pregunta est pidiendo a gritos un"STFW"como respuesta.

    Inteligente:He usado Google para intentar encontrar algo sobre el "Funli Flurbamtico

    2600" en la Web, pero no he obtenido resultados satisfactorios. Sabe alguien dnde puedoencontrar informacin de programacin sobre este dispositivo?

    ste ya ha STFWado, y suena como si tuviese un verdadero problema.

    Estpida:No he conseguido compilar el cdigo del proyecto loquesea. Por qu est roto?

    Asume que a todo el mundo le ocurre lo mismo. Qu arrogante.

    Inteligente:El cdigo del proyecto loquesea no compila bajo Nulix versin 6.2. Me heledo las PUF, pero no aparece nada de problemas relacionados con Nulix. Os pego aqu

    una transcripcin de mi intento de compilacin; es por algo que hice mal?Ha especificado el entorno, se ha ledo las PUF, ha mostrado el error y no haasumido que sus problemas son culpa de otra persona. Quiz este chico se merezcaalgo de atencin.

    Estpida:Tengo problemas con mi placa base. Puede ayudarme alguien?

    La respuesta de un hacker cualquiera a esto sera algo como "De acuerdo.Necesitas tambin eructar y que te cambie los paales?" seguido de una ligerapresin sobre la tecla Supr.

    Inteligente:He intentado X, Y y Z con la placa base S2464. Cuando eso no funcion,intent A, B y C. Fjense en ese curioso sntoma cuando hice C. Obviamente el florbeadorestgromiqueando, pero los resultados no son los que podran esperarse. Cules son lascausas habituales delgromiqueoen las placas multiprocesador? Sabe alguien de algunaprueba ms que pueda llevar a cabo para averiguar el problema?

    Esta persona, por otra parte, parece merecedora de una respuesta. Ha mostrado suinteligencia en un intento de resolver el problema en vez de esperar que le caiga unarespuesta del cielo.

    En la ltima pregunta, fijos en la sutil pero importante diferencia entre pedir "Dame unarespuesta" y "Por favor, aydame a hacerme una idea de qu diagnsticos adicionalespuedo llevar a cabo para alcanzar a ver la luz".

    De hecho, la forma de la ltima pregunta se encuentra basada muy de cerca en un incidentereal que sucedi en Agosto de 2.001 en la lista de correo del ncleo de Linux. Yo (Eric) erael que preguntaba entonces. Estaba sufriendo misteriosos cuelgues con una placa Tyan

    http://www.sindominio.net/ayuda/preguntas-inteligentes.html#RTFMhttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#RTFMhttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#RTFMhttp://www.sindominio.net/ayuda/preguntas-inteligentes.html#RTFM
  • 7/26/2019 Migrar o Coexistir

    38/93

    S2464. Los miembros de la lista aportaron la informacin crtica que necesitaba pararesolver el problema.

    Al plantear la pregunta de la manera que la hice, le d a la gente algo con que entretenerse;hice fcil y atractivo para ellos que se involucraran. Demostr respeto por la capacidad de

    mis compaeros y les invit a consultarme tambin como compaero. Tambin demostrrespeto por el valor de su tiempo hacindoles saber los callejones sin salida con los que yame haba topado.

    Despus de todo, cuando les d a todos las gracias y remarqu lo bien que haba funcionadoel proceso, un miembro de la lista de correo del ncleo de Linux hizo la observacin de quecrea que haba sido as no porque yo tuvera un "nombre" en esa lista, sino porque hice lapregunta de la manera adecuada.

    Nosotros los hackers somos de alguna manera una ruda meritocracia; estoy seguro de quetena razn, y de que si me hubiesecomportado como una esponja se me habran echadotodos encima o me habran ignorado sin importar quien fuese. Su sugerencia de que habaescrito el completo incidente como una instruccin para otros condujo directamente a lacomposicin de esta gua.

    Si no logras conseguir una respuestaSomos conscientes que que hay mucha gente que slo quiere usar el software queescribimos y no est interesada en conocer los detalles tcnicos. Para la mayora de lagente, un ordenador es meramente una herramienta, un medio para un fin. Sabemos eso yno esperamos que todo el mundo se interese en asuntos tcnicos. No obstante, nuestro estilode responder se encuentra orientado a quienessse toman ese inters.

    Por esto, si no obtienes respuesta, no te tomes como algo personal que no sintamos quepodamos ayudarte. Hay otros recursos a menudo mejor adaptados a las necesidades de unprincipiante.

    Hay muchos grupos de usuarios en lnea y locales compuestos por entusiastas del softwareincluso aunque nunca hayan escrito software alguno ellos mismos. Estos grupos se formande manera que la gente pueda ayudarse entre s y ayudar a los nuevos usuarios.

    Hay adems muchas compaas comerciales a las que puedes contratar para que te prestensu ayuda, tanto grande como pequea. Que no te aterre la idea de tener que pagar por unpoco de ayuda! Despus de todo, si al motor de tu coche se le rompe una junta seguramentetendrs que llevarlo al mecnico y pagar para que te lo arreglen. Incluso aunque el softwareno te costase nada, no puedes esperar que el soporte sea siempre gratuito.

  • 7/26/2019 Migrar o Coexistir

    39/93

    Para el software popular como Linux, hay al menos unos 10.000 usuarios por cadadesarrollador. Resulta imposible que una sola persona pueda atender llamadas de soportetcnico de cerca de 10.000 usuarios. Recuerda que aunque tengas que pagar por el soporte,ests an pagando mucho menos que si tuvieses que comprar el software (y el soporte parael software de cdigo cerrado es por lo general mucho ms caro y menos competente que el

    soporte para el software de cdigo abierto).

  • 7/26/2019 Migrar o Coexistir

    40/93

    Herramientas Bsicas para ElAdministrador

    El administrador desistemas GNU/Linuxtiene que enfrentarse,diariamente, a una gran cantidad de tareas. En general, en lafilosofa UNIX no suele haber una nica herramienta para cada tareao una sola manera de hacer las cosas. Lo comn es que los sistemasUNIX proporcionen una gran cantidad de herramientas ms o menossimples para afrontar las diferentes tareas.

    Ser la combinacin de las herramientas bsicas, cada una conuna tarea muy definida, la que nos dar la posibilidad desolucionar un problema o tarea de administracin.

    En este apartado veremos diferentes grupos de herramientas,identificaremos algunas de sus funciones bsicas y veremos variosejemplos de sus usos. Comenzaremos por examinar algunosestndares del mundo GNU/Linux, que nos permitirn hallar algunasde las caractersticas bsicas que esperamos de cualquierdistribucin de GNU/Linux. Estos estndares, como el LSB (o LinuxStandard Base) [Linc] y el FHS (Filesystem Hierarchy Standard)[Key], nos hablan de herramientas que esperamos encontrardisponibles, de una estructura comn para elsistema de ficheros,as como de distintas normas que tienen que cumplirse para que unadistribucin sea considerada un sistema GNU/Linux y mantengareglas comunes para la compatibilidad entre estos estndares.

    En la automatizacin de tareas de administracin suelen utilizarsecomandos agrupados en shell scripts(tambin llamados guiones decomandos), mediante lenguaje interpretados por el shell(intrpretede comandos) del sistema. En la programacin de estos shell scriptsse nos permite unir los comandos del sistema con estructuras decontrol de flujo, y as disponer de un entorno de prototipo rpido deherramientas para la automatizacin de tareas.

    Otro esquema habitual es la utilizacin de herramientas decompilacin y depuracin de lenguajes de alto nivel (como porejemplo C). En general, sern utilizadas por el administrador paragenerar nuevos desarrollos de aplicaciones o herramientas, o paraincorporar al sistema aplicaciones que vengan como cdigo fuente ytengan que adaptarse y compilarse.

    http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466869http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466869http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466869http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466869http://licenciaturas.umg.edu.gt/moodle/mod/page/view.php?id=466856
  • 7/26/2019 Migrar o Coexistir

    41/93

    Tambin analizaremos el uso de algunas herramientas grficas conrespecto a las habituales de la lnea de comandos. Estasherramientas suelen facilitar las tareas al administrador, pero su usoes limitado, ya que dependen fuertemente de la distribucin deGNU/Linux, o incluso de cada versin. Aun as, hay algunasherramientas tiles que son compartidas entre distribuciones.

    Por ltimo, analizaremos un grupo de herramientas imprescindiblespara mantener el sistema actualizado, las herramientas de gestinde paquetes. El software servido en la distribucin GNU/Linux, oincorporado posteriormente, se suele ofrecer en unidadesdenominadas paquetes, que incluyen los archivos de un determinadosoftware, ms pasos necesarios para la preparacin de lainstalacin, la configuracin posterior o, si es el caso, laactualizacin o desinstalacin de un determinado software. Y cada

    distribucin suele aportar software de gestin para mantener laslistas de paquetes instalados, o por instalar, as como el control delas versiones existentes, o posibilidades diversas de actualizacinpor medio de diferentes fuentes origen.

    Herramientas grficas y lneasde comandos

    Existe un gran nmero de herramientas, de las que

    examinamos una pequea porcin en este y en los siguientesmdulos, que como herramientas de administracin sonproporcionadas por terceros de forma independiente a ladistribucin o por el mismo distribuidor del sistema GNU/Linux.

    Estas herramientas pueden cubrir ms o menos aspectos de laadministracin de una tarea concreta, y presentarse conmltiples interfaces diferentes: ya sean herramientas de lneade comandos con mltiples opciones y/o ficheros deconfiguracin asociados, o herramientas textuales con algntipo de mens elaborados, o bien herramientas grficas con

    interfaces ms adecuadas para el manejo de informacin, oasistentes que automaticen las tareas, o bien interfaces web deadministracin.

    Todo esto nos ofrece un gran nmero de posibilidades de caraa la administracin, pero siempre tenemos que valorar sufacilidad de uso junto con las prestaciones y los conocimientos

  • 7/26/2019 Migrar o Coexistir

    42/93

    que posea el administrador que se dedica a estas tareas.

    Las tareas habituales del administrador GNU/Linux puedenpasar por trabajar con diferentes distribuciones (por ejemplo,las que comentaremos, Fedora [Fed] o Debian [Debb], o

    cualquier otra), o incluso por trabajar con variantescomerciales de otros UNIX. Esto conlleva que tengamos queestablecer una cierta manera de trabajar que nos permitarealizar las tareas de la misma forma en los diferentessistemas.

    Por esta razn, en los diferentes apartados intentaremosdestacar todos aquellos aspectos ms comunes, y las tcnicasde administracin sern realizadas en su mayor parte a bajonivel, mediante una lnea de comandos y/o con edicin deficheros de configuracin asociados.

    Cualquiera de las distribuciones de GNU/Linux suele aportarherramientas del tipo lnea de comandos, textual o, enparticular, grficas, que complementan las anteriores ysimplifican, en mayor o menor medida, la administracin de lastareas [Sm]. Pero hay que tener en cuenta variaspuntualizaciones:

    a)Estas herramientas son una interfaz ms o menos elaboradade las herramientas bsicas de lnea de comandos y los

    correspondientes ficheros de configuracin.b)Normalmente no ofrecen todas las prestaciones oconfiguraciones que pueden realizarse a bajo nivel.

    c)Los errores pueden no gestionarse bien, o simplementeproporcionar mensajes tipo "la tarea no se ha podido realizar".

    d)El uso de estas herramientas oculta, a vecescompletamente, el funcionamiento interno del servicio o tarea.Comprender bien el funcionamiento interno es un conocimiento

    bsico para el administrador, y ms si tiene que desarrollartareas de correccin de errores o optimizacin de servicios.

    e)Estas herramientas son tiles en la mejora de la produccin.Una vez que el administrador tiene los conocimientosadecuados, puede gestionar con ellas de forma ms eficaz lastareas rutinarias y automatizarlas.

  • 7/26/2019 Migrar o Coexistir

    43/93

    f)O tambin el caso contrario, la tarea puede ser tancompleja, o necesitar tantos parmetros, o generar tantosdatos, que se vuelve imposible controlarla de forma manual. Enestos casos, las herramientas de alto nivel pueden ser muytiles y volver practicables algunas tareas que de otra manerason difciles de controlar. Por ejemplo, dentro de esta categoraentraran las herramientas de visualizacin, monitorizacin yresumen de actividades o servicios complejos.

    g)En la automatizacin de tareas, estas herramientas (de msalto nivel) pueden no ser las ms adecuadas: pueden no habersido pensadas para los pasos que hay que realizar, o bienhacerlo de una forma no eficaz. Un caso concreto puede ser lacreacin de usuarios, una herramienta visual puede ser muyatrayente, por la forma de introducir los datos, pero qu

    sucede cuando en lugar de introducir uno o pocos usuariosqueremos introducir una lista de decenas o centenares destos? La herramienta, si no est preparada, se vuelvetotalmente ineficiente.

    h)Por ltimo, los administradores suelen querer personalizarsus tareas utilizando las herramientas que consideran mscmodas y fciles de adaptar. En este aspecto, suele serhabitual la utilizacin de las herramientas bsicas de bajo nively la utilizacin de shell scriptspara combinarlas de modo queformen una tarea.

    Tenemos que saber valorar estas herramientasextra segn la vala que tengan para nuestrastareas.

    Podemos dar a estas herramientas un uso casual (o cotidiano),si tenemos los conocimientos suficientes para tratar los erroresque puedan producirse, o bien con el objetivo de facilitar algnproceso para el que haya sido pensada la herramienta, perosiempre controlando las tareas que implementamos y el

    conocimiento tcnico subyacente.

    Documentos de estndaresLos estndares, ya sean genricos del mundo UNIX oparticulares de GNU/Linux, nos permiten seguir unos criteriosbsicos, por los que nos guiamos en el momento de aprender o

  • 7/26/2019 Migrar o Coexistir

    44/93

    realizar una tarea, y que nos proporcionan informacin bsicapara comenzar nuestro trabajo.

    En GNU/Linux podemos encontrarnos conestndares como el FHS (Filesystem HierarchyStandard) [Linb], que nos explica qu podemosencontrarnos (o dnde buscarlo) en laestructura delsistema de ficherosde nuestrosistema. O el LSB (Linux Standard Base), quenos comenta diferentes componentes quesolemos encontrar en los sistemas [Linc].

    En el estndar FHS(Filesystem Hierchachy Standard) sedescribe la estructura en rbol delsistema de ficherosprincipal(/), donde se especifica la estructura de los directorios y los

    principales ficheros que contendrn. Este estndar es usado enmayor o menor medida tambin para los UNIX comerciales, enlos cuales al principio hubo muchas diferencias que hicieronque cada fabricante cambiara la estructura a su gusto. Elestndar pensado en origen para GNU/Linux se hizo paranormalizar esta situacin y evitar cambios drsticos. Aun as, elestndar es seguido con diferentes grados; la mayora dedistribuciones siguen en un alto porcentaje el FHS, realizandocambios menores o aportando ficheros o directorios que noexistan en el estndar.

    Un esquema bsico de directorios podra ser:

    /bin: utilidades de base del sistema, normalmenteprogramas empleados por los usuarios, ya sean desde loscomandos bsicos del sistema (como/bin/ls, listardirectorio), pasando por los shells (/bin/bash), etc.

    /boot: archivos necesarios durante el arranque delsistema, por ejemplo la imagen del kernel Linux, en/boot/vmlinuz.

    /dev: aqu encontramos ficheros especiales que

    representan los dispositivos posibles en el sistema. Elacceso a los perifricos en sistemas UNIX se hace comosi fueran ficheros. Podemos encontrar ficheros como/dev/console, /dev/modem, /dev/mouse, /dev/cdrom,/dev/floppy... que suelen ser en