Las Preguntas Frecuentes (FAQ) sobre Debian GNU/Linux ----------------------------------------------------- Autores de la FAQ sobre Debian 26 June 2008 ------------------------------------------------------------------------------- Resumen ------- Este documento responde Preguntas Frecuentes (FAQ) sobre Debian GNU/Linux. Nota de Copyright ----------------- Copyright (C) 1996-2003 by Software in the Public Interest Permission is granted to make and distribute verbatim copies of this document provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this document under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this document into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. ------------------------------------------------------------------------------- Contenidos ---------- 1. Definiciones y un vistazo 1.1. ¿Qué es Debian GNU/Linux? 1.2. Está bien, ahora sé qué es Debian...¿¡qué es Linux!? 1.3. ¿Qué es eso del "Hurd"? 1.4. ¿Cuál es la diferencia entre Debian GNU/Linux y las otras distribuciones de Linux? 1.5. ¿Qué relación tiene Debian con el proyecto GNU de la Free Software Foundation? 1.6. ¿Cómo se pronuncia Debian, y qué significa esa palabra? 2. Conseguir e instalar Debian GNU/Linux 2.1. ¿Dónde/cómo puedo conseguir los discos de instalación de Debian? 2.2. ¿Cómo consigo e instalo Debian desde un CD-ROM? 2.3. Tengo mi propia grabadora de CDs, ¿hay imágenes de CD disponibles en algún sitio? 2.4. ¿Cómo puedo obtener/instalar Debian a partir de un conjunto de disquetes? 2.5. ¿Cómo puedo conseguir e instalar Debian directamente desde un servidor de FTP? 2.6. ¿Cómo puedo conseguir e instalar Debian desde cinta de streamer? 2.7. ¿Cuál es la última version de Debian? 3. Cuestiones de Compatibilidad 3.1. ¿En qué arquitecturas/sistemas funciona Debian GNU/Linux? 3.2. ¿Hasta qué punto es Debian compatible con otras distribuciones de Linux? 3.3. ¿Hasta qué punto es Debian compatible en código fuente con otros sistemas Unix? 3.4. ¿Puedo utilizar los paquetes Debian (los ficheros ".deb") en mi sistema Linux RedHat/Slackware/...? ¿Puedo utilizar los paquetes RedHat (los ficheros ".rpm") en mi sistema Debian GNU/Linux? 3.5. ¿Es capaz Debian de ejecutar mis viejos programas "a.out"? 3.6. ¿Puede Debian ejecutar mis programas libc5 antiguos? 3.7. ¿Puede utilizarse Debian para compilar programas libc5? 3.8. ¿Cómo debería instalar un paquete que no es Debian? 3.9. ¿Por qué me da el mensaje de error "Can't find libX11.so.6" cuando trato de ejecutar `fu'? 3.10. ¿Por qué no puedo compilar programas que requieren libtermcap? 3.11. ¿Por qué no puedo instalar AccelX? 3.12. ¿Por qué se cuelgan mis aplicaciones Motif de Xfree 2.1 antiguas? 3.12.1. ¿Puedo instalar y compilar un núcleo sin `retoques' específicos para Debian? 4. Software disponible en el sistema Debian 4.1. ¿Qué tipos de aplicaciones y software de desarrollo hay disponible para Debian GNU/Linux? 4.2. ¿Quién ha escrito todo este software? 4.3. ¿Cómo puedo conseguir una lista de los programas que se han empaquetado para el proyecto Debian? 4.4. ¿Qué falta en Debian GNU/Linux? 4.5. ¿Por qué me salen mensajes "ld: cannot find -lfoo" al compilar programas? ¿Por qué no hay ficheros libfoo.so en los paquetes de bibliotecas de Debian? 4.6. ¿(Cómo) Soporta Java Debian? 4.6.1. ¿Cómo puedo comprobar si estoy usando un sistema Debian? 4.6.2. ¿Cómo puedo saber la "versión" de Debian que estoy usando? 4.7. ¿Cómo soporta Debian los idiomas no ingleses? 4.7.1. ¿Qué hay sobre las limitaciones de exportación en los EE.UU.? 4.8. ¿Dónde está pine? 5. Los archivos FTP de Debian 5.1. ¿Qué son todos esos directorios en los archivos de FTP de Debian? 5.2. ¿Cuántas distribuciones de Debian hay en el directorio `dists'? 5.3. ¿Qué son todos esos nombres como slink, potato, etc.? 5.3.1. ¿Qué otros nombres clave se han utilizado ya? 5.3.2. ¿De dónde provienen estos nombres clave? 5.4. ¿Y qué es "sid"? 5.5. ¿Qué contiene el directorio stable? 5.5.1. ¿Qué contiene el directorio unstable? 5.5.2. ¿Qué son todos esos directorios dentro de `dists/stable/main'? 5.5.3. ¿Dónde está el código fuente? 6. Conceptos básicos del Sistema de Gestión de Paquetes de Debian 6.1. ¿Qué es un paquete Debian? 6.2. ¿Cuál es el formato de un paquete Debian? 6.3. ¿Por qué los nombres de los paquetes Debian son tan largos? 6.4. ¿Qué es un archivo de control de Debian? 6.5. ¿Qué es un conffile de Debian? 6.6. ¿Qué son los scripts Debian preinst, postinst, prerm, y postrm? 6.7. ¿Qué es un paquete Requerido/Importante/Estandar/Opcional/Extra? 6.8. ¿Qué es un paquete virtual? 6.9. ¿A qué se refieren al decir que un archivo Depende/Recomienda/Sugiere/Entra en conflicto/Reemplaza/Proporciona otro paquete? 6.10. ¿Qué significa Pre-Dependencia? 6.11. ¿Qué significa desconocido/instalar/quitar/borrar/conservar en el estado del paquete? 6.11.1. ¿Dónde puedo encontrar información detallada sobre la creación de paquetes Debian? 7. Las herramientas de gestión de paquetes de Debian 7.1. ¿Qué programas tiene Debian para la gestión de los paquetes? 7.1.1. dpkg 7.2. dselect 7.2.1. dpkg-deb 7.2.2. dpkg-split 7.2.3. Debian asegura ser capaz de actualizar programas que están siendo ejecutados; ¿Cómo se puede hacer esto? 7.2.4. ¿Cómo se puede comprobar qué paquetes han sido instalados en un sistema Debian? 7.3. ¿Cómo se puede averiguar qué paquete produjo un fichero en particular? 8. Actualización del sistema Debian 8.1. ¿Cómo puedo actualizar mi distribución Debian 1.3.1 (o anterior), basada en libc5, a la versión 2.0 (o posterior), basada en libc6? 8.2. ¿Cómo puedo mantener mi Sistema Debian actualizado? 8.2.1. dpkg-ftp 8.2.2. mirror 8.3. ¿Debo cambiar a modo monousuario para actualizar un paquete? 8.4. ¿Tengo que guardar todos esos ficheros .deb en mi disco? 8.4.1. ¿Cómo puedo mantener un registro de los paquetes que he ido añadiendo al sistema? 9. Debian y el núcleo 9.1. ¿Qué herramientas proporciona Debian para crear núcleos personalizados? 9.2. ¿Cómo puedo crear un disco de arranque personalizado? 9.3. ¿Qué medios especiales proporciona Debian para el uso de módulos? 9.4. ¿Puedo desinstalar sin peligro un núcleo antiguo y, si es así, cómo? 10. Personalización de la instalación de Debian GNU/Linux 10.1. ¿Cómo puedo asegurarme de que todos los programas usen el mismo tamaño de papel? 10.2. ¿Cómo puedo proporcionar acceso a periféricos de hardware sin comprometer la seguridad? 10.3. ¿Cómo cargo una fuente de consola en el arranque al estilo Debian? 10.4. ¿Cómo puedo configurar los valores por omisión de una aplicación X11? 10.5. Cada distribución parece tener un método diferente para `arrancar'. Cuénteme acerca del usado por Debian. 10.6. Parece ser que Debian no usa `rc.local' para personalizar el proceso de inicialización, ¿qué facilidades provee Debian para esta tarea? 10.7. ¿Cómo puedo reemplazar un fichero instalado por un paquete con otro? 10.8. ¿Cómo puedo incluir el paquete Debian que creé localmente en la lista de paquetes disponibles usada por el sistema de administración de paquetes? 10.9. A algunos usuarios les gusta mawk, a otros les gusta gawk; algunos prefieren vim mientras que otros prefieren elvis; algunos quieren usar trn, a otros les gusta tin; ¿cómo soporta Debian la diversidad? 11. Cómo obtener soporte para Debian GNU/Linux 11.1. ¿Qué otra documentación existe sobre y para un sistema Debian? 11.2. ¿Existe algún recurso en línea para hablar sobre Debian? 11.2.1. Listas de correo 11.2.2. Mantenedores 11.3. ¿Hay alguna forma rápida de buscar información sobre Debian GNU/Linux? 11.4. ¿Existen registros de bugs conocidos? 11.5. ¿Cómo informo de un bug en Debian? 12. Contribuir al proyecto Debian 12.1. ¿Cómo puedo convertirme en un desarrollador de software para Debian? 12.2. ¿Cómo puedo contribuir con recursos al proyecto Debian? 12.3. ¿Cómo puedo contribuir económicamente al proyecto Debian? 12.4. Software in the Public Interest 12.5. Free Software Foundation 13. Redistribución de Debian GNU/Linux en un producto comercial 13.1. ¿Puedo producir y vender CDs de Debian? 13.2. ¿Puede incluirse Debian en un paquete junto con software no libre? 13.3. Estoy creando una distribución de Linux especial para un "mercado vertical". ¿Puedo usar Debian GNU/Linux como base del sistema Linux y añadir mis propias aplicaciones sobre él? 13.4. ¿Puedo hacer un "paquete" Debian de mi programa comercial, para que se instale sin esfuerzo en cualquier sistema Debian? 14. Cambios esperados en la próxima versión de Debian 14.1. Mayor seguridad 14.2. Más soporte para usuarios no angloparlantes 14.3. Más arquitecturas 14.4. Más núcleos 15. Información general sobre la FAQ 15.1. Autores 15.2. ¿A dónde debo enviar preguntas, correcciones, etc. sobre esta traducción? 15.3. Disponibilidad 15.4. ¿En qué formato está escrito este documento? 15.4.1. ¿A dónde debo enviar preguntas, correcciones, etc. sobre [la versión inglesa de] este documento? 15.4.2. ¿(Cómo) Puedo redistribuir este fichero? 15.5. ¿Dónde puedo conseguir la última versión de esta traducción? ------------------------------------------------------------------------------- 1. Definiciones y un vistazo ---------------------------- 1.1. ¿Qué es Debian GNU/Linux? ------------------------------ Debian GNU/Linux es una _distribución_ en particular del sistema operativo Linux, junto a numerosos paquetes que funcionan sobre él. En principio, los usuarios pueden obtener el núcleo Linux a través de Internet o a partir de otras fuentes, y compilarlo ellos mismos. De la misma manera, pueden obtener el código fuente de muchas aplicaciones, compilar los programas y luego instalarlos en el sistema. En el caso de programas complicados, este proceso puede no sólo llevar un montón de tiempo, sino que además está sujeto a errores. Para evitarlo, los usuarios con frecuencia eligen una distribución de Linux, que les provea tanto el sistema operativo como los paquetes de aplicación. La diferencia que existe entre las distintas distribuciones de Linux radica en el software, protocolos, y prácticas que utilizan para empaquetar, instalar, y seguir la pista a los paquetes de aplicación cuando están instalados en el sistema del usuario; además de las herramientas de instalación y mantenimiento, documentación, y otros servicios. Debian GNU/Linux es el resultado de un esfuerzo voluntario para crear un sistema operativo libre, de alta calidad, compatible con Unix, acompañado por una pléyade de aplicaciones. La idea de un sistema libre de estilo Unix se origina en el proyecto GNU, y muchas de las aplicaciones que hacen a Debian GNU/Linux tan útil fueron desarrolladas por dicho proyecto. Para Debian, la palabra inglesa "free" tiene el significado de GNU (véanse las Directrices sobre Software Libre de Debian (DFSG) (http://www.debian.org/social_contract.html#guidelines)). Cuando hablamos de software libre, nos referimos a la libertad, no al precio. Software libre significa que usted tiene la libertad de distribuir copias de software libre, que usted recibe el código fuente o puede obtenerlo si lo desea, que puede cambiar el software o usar partes de él en nuevos programas libres; y que usted sabe que puede hacer todo esto. Debian fue creado por Ian Murdock en 1993, inicialmente bajo el patrocinio del proyecto GNU de la Free Software Foundation. En la actualidad, los desarrolladores de Debian consideran su trabajo como un descendiente directo del proyecto GNU. Debian GNU/Linux es * _Completo_: Debian incluye más de 15180 paquetes de software en este momento. Los usuarios pueden seleccionar qué paquetes instalar; Debian provee una herramienta para ese fin. Encontrará una lista con las descripciones de los paquetes actualmente disponibles con Debian en cualquiera de los sitios réplica (http://www.debian.org/distrib/ftplist) de Debian. * _libre para utilizar y redistribuir_: No se requiere ninguna clase de cuota para ser socio de ningún consorcio, ni pago solicitado para participar en su distribución y desarrollo. Todos los paquetes que formalmente son parte de Debian GNU/Linux son libres para ser redistribuidos, normalmente bajo los términos especificados por la Licencia Pública General de GNU. Los archivos FTP de Debian también tienen aproximadamente 220 paquetes de software (en los directorios `non-free' y `contrib' de los archivos FTP), los cuales se distribuyen bajo términos específicos que se incluyen con cada paquete. * _dinámico_: Con alrededor de 1570 voluntarios constantemente contribuyendo con código nuevo y mejorado, Debian evoluciona rápidamente. Se planea realizar nuevas entregas cada varios meses, y los archivos FTP se actualizan diariamente. Aunque Debian GNU/Linux en sí mismo es software libre, es una base sobre la cual se pueden construir distribuciones de Linux con valor añadido. Al proveer un sistema base completo y fiable, Debian proporciona a los usuarios de Linux un alto grado de compatibilidad y permite a los creadores de distribuciones de Linux eliminar la duplicación de esfuerzos y enfocar su trabajo en aquellas cosas que hacen especial su distribución. Vea Sección 13.3, `Estoy creando una distribución de Linux especial para un "mercado vertical". ¿Puedo usar Debian GNU/Linux como base del sistema Linux y añadir mis propias aplicaciones sobre él?' para más información. 1.2. Está bien, ahora sé qué es Debian...¿¡qué es Linux!? --------------------------------------------------------- Abreviando, Linux es el núcleo de un sistema operativo estilo Unix. Originalmente se diseñó para PCs con 386 (o superior); en estos momentos están en etapa de desarrollo las versiones para otros sistemas, incluyendo sistemas multiprocesador. Linux fue escrito por Linus Torvalds, junto con muchos científicos computacionales de todo el mundo. Además del núcleo, usualmente un sistema "Linux" tiene: * un sistema de ficheros que cumple con la Norma para la Jerarquía del Sistema de Ficheros de Linux (Linux Filesystem Hierarchy Standard) http://www.pathname.com/fhs/. * una gran variedad de utilidades Unix, muchas de las cuales han sido desarrolladas por el proyecto GNU y la Free Software Foundation (FSF). La combinación del núcleo Linux, el sistema de ficheros, las utilidades de GNU y FSF, y las otras utilidades, se han diseñado para cumplir la norma POSIX (IEEE 1003.1); véase Sección 3.3, `¿Hasta qué punto es Debian compatible en código fuente con otros sistemas Unix?'. Para más información acerca de Linux, vea la INFO-SHEET (cartilla informativa) (ftp://ibiblio.org/pub/Linux/docs/HOWTO/INFO-SHEET) de Michael K. Johnson y la META-FAQ (ftp://ibiblio.org/pub/Linux/docs/HOWTO/META-FAQ). 1.3. ¿Qué es eso del "Hurd"? ---------------------------- El Hurd es un conjunto de servidores que funcionan sobre el micronúcleo Mach de GNU. Juntos constituyen la base del sistema operativo GNU. Actualmente, Debian solamente está disponible para Linux, pero con Debian GNU/Hurd hemos comenzado a ofrecer también el Hurd como plataforma tanto de desarrollo como de escritorio. Sin embargo, Debian GNU/Hurd no está publicado oficialmente todavía, y no lo estará durante algún tiempo. Por favor vea http://www.gnu.org/software/hurd/ para más información sobre GNU/Hurd en general, y http://www.debian.org/ports/hurd/ para más información sobre Debian GNU/Hurd. 1.4. ¿Cuál es la diferencia entre Debian GNU/Linux y las otras distribuciones de Linux? ---------------------------------------------------------------------------- Las siguientes características clave distinguen a Debian de las otras distribuciones de Linux: El sistema de mantenimiento de paquetes de Debian: Todo el sistema, o cualquier componente individual, puede actualizarse sin reformatear, sin perder los ficheros de configuración con las personalizaciones, y (en la mayoría de los casos) sin reiniciar el sistema. La mayoría de las distribuciones de Linux disponibles en la actualidad tienen alguna clase de sistema de mantenimiento de paquetes; el sistema de paquetes de Debian es único y particularmente robusto. (Véase Capítulo 6, `Conceptos básicos del Sistema de Gestión de Paquetes de Debian') Desarrollo abierto: Mientras que otras distribuciones son el producto del desarrollo de individuos, pequeños grupos cerrados, o vendedores comerciales, Debian es la única distribución de Linux que está siendo desarrollada cooperativamente gracias al trabajo de muchos individuos a través de Internet, en el mismo espíritu de Linux y otros paquetes de software libre. Más de 1570 voluntarios encargados de mantener paquetes trabajan en más de 15400 paquetes y mejoran Debian GNU/Linux. Los desarrolladores Debian no escriben nuevo software (en la mayoría de los casos), sino que contribuyen empaquetando software existente de acuerdo a las normas del proyecto, comunicando los informes de bugs a los desarrolladores originales, y suministrando soporte a los usuarios. Puede encontrar más información sobre Sección 12.1, `¿Cómo puedo convertirme en un desarrollador de software para Debian?'. El Sistema de Seguimiento de Bugs: La dispersión geográfica de los desarrolladores Debian requiere de herramientas sofisticadas y de una comunicación rápida de los bugs y sus enmiendas para acelerar el desarrollo del sistema. Se pide encarecidamente a los usuarios que envíen los bugs que encuentren en un estilo formal, y los mismos se hacen fácilmente accesibles a través de archivos en la WWW o mediante correo electrónico. Si lo desea, puede leer más acerca de esto en la FAQ de la administración del Sección 11.4, `¿Existen registros de bugs conocidos?'. Las normas de Debian: Solamente Debian dispone de unas especificaciones extensivas de nuestros estándares de calidad, las normas de Debian (`Debian Policy'). Este documento define las calidades y estándares bajo las cuales se mantienen los paquetes Debian. Para más información sobre esto, por favor vea nuestra página web sobre razones para elegir Debian (http://www.debian.org/intro/why_debian). 1.5. ¿Qué relación tiene Debian con el proyecto GNU de la Free Software Foundation? ---------------------------------------------------------------------------- El sistema Debian se edifica sobre los ideales del software libre, defendidos primero por la Free Software Foundation http://www.gnu.org/ y en particular por Richard Stallman. Las potentes herramientas de desarrollo de sistemas, las utilidades y las aplicaciones de la FSF también son una parte clave del sistema Debian. El proyecto Debian es una entidad aparte de la FSF, sin embargo nos comunicamos regularmente y cooperamos en varios proyectos. La FSF solicitó explícitamente que llamásemos "Debian GNU/Linux" a nuestro sistema, y nos hace muy felices cumplir con dicha solicitud. El objetivo a largo plazo de la FSF es el desarrollo de un nuevo sistema operativo denominado GNU, basado en el (Hurd (http://www.gnu.org/software/hurd/hurd.html)). Debian está trabajando con la FSF en este sistema, llamado Debian GNU/Hurd (http://www.debian.org/ports/hurd/). 1.6. ¿Cómo se pronuncia Debian, y qué significa esa palabra? ------------------------------------------------------------ En español, el nombre del proyecto es una palabra llana, así que se pronuncia "Dé-bian", con acento en la e. La palabra es la contracción de los nombres Debra e Ian Murdock, quienes fundaron el proyecto. ------------------------------------------------------------------------------- 2. Conseguir e instalar Debian GNU/Linux ---------------------------------------- 2.1. ¿Dónde/cómo puedo conseguir los discos de instalación de Debian? --------------------------------------------------------------------- Puede conseguir los discos de instalación copiando los ficheros adecuados del servidor FTP de Debian: ftp://ftp.debian.org/pub/debian/ y sus réplicas (http://www.debian.org/distrib/ftplist.html). Por favor, siga las instrucciones dadas en la Guía de Instalación. Está disponible (en inglés) en los ficheros `install.txt (ftp://ftp.debian.org/pub/debian/dists/stable/main/disks-i386/current/install.txt)' (Texto) y `install.html (ftp://ftp.debian.org/pub/debian/dists/stable/main/disks-i386/current/install.html)' (HTML). Algunos casos especiales se detallan a continuación. 2.2. ¿Cómo consigo e instalo Debian desde un CD-ROM? ---------------------------------------------------- Linux soporta el sistema de ficheros ISO 9660 (CD-ROM) con las extensiones Rock Ridge (conocidas anteriormente como "High Sierra"). Diversos distribuidores (http://www.debian.org/distrib/vendors) ofrecen Debian en este formato. Atención: Cuando vaya a instalar a partir de CD-ROM, normalmente no es una buena idea escoger el método de acceso `cdrom' de dselect. Este método normalmente es muy lento. Los métodos de acceso `mountable' y `apt', por ejemplo, son mucho mejores para la instalación a partir de CD-ROM. 2.3. Tengo mi propia grabadora de CDs, ¿hay imágenes de CD disponibles en algún sitio? ---------------------------------------------------------------------------- Sí. Para que a los distribuidores de CD les resulte más fácil proporcionar discos de alta calidad, existen imágenes de CD oficiales aquí (http://cdimage.debian.org/). 2.4. ¿Cómo puedo obtener/instalar Debian a partir de un conjunto de disquetes? ---------------------------------------------------------------------------- Copie los paquetes de Debian en disquetes formateados. Da igual que el formato sea DOS, el nativo de Linux "ext2", o el de "minix" ; sólo tiene que usar la orden mount apropiada al formato que esté usando Usar disquetes tiene los siguientes problemas: * Nombres cortos de MS-DOS: Si pretende poner ficheros de paquetes de Debian en disquetes formateados para MS-DOS, se dará cuenta de que sus nombres son demasiado largos, y no se ajustan a la limitación 8.3 de los nombres de ficheros en MS-DOS. Para resolverlo, los desarrolladores de Debian ponen todos sus paquetes disponibles con nombres en formato 8.3 en subdirectorios "msdos" aparte ( `stable/msdos-i386/', `non-free/msdos-i386/', `contrib/msdos-i386/', y `development/msdos-i386/'). Los ficheros de estos subdirectorios son simplemente enlaces simbólicos hacia los ficheros de archivo de Debian; sólo se diferencian de los ficheros que hay en `binary-i386/', y el resto de directorios, en que sus nombres son más cortos. * Tamaños de fichero grandes: Algunos paquetes tienen más de 1.44 MBytes, y no cabrán en un solo disquete. Para resolverlo, use la utilidad Sección 7.2.2, `dpkg-split', disponible en el directorio `tools' en ftp://ftp.debian.org/debian/ y sus réplicas (http://www.debian.org/distrib/ftplist.html). Tiene que tener soporte de disquetes en el núcleo para poder leer y escribir en disquetes; la mayoría de los núcleos vienen con soporte para disquetes incluido. Para montar un disquete bajo el nombre `/floppy' (un directorio que se debe haber creado durante la instalación), use: * `mount -t msdos /dev/fd0 /floppy/' si el disquete está en la unidad A: y tiene formato MS-DOS, * `mount -t msdos /dev/fd1 /floppy/' si el disquete está en la unidad B: y tiene formato MS-DOS, * `mount -t ext2 /dev/fd0 /floppy/' si el disquete está en la unidad A: y tiene formato ext2 (el normal de Linux). 2.5. ¿Cómo puedo conseguir e instalar Debian directamente desde un servidor de FTP? ---------------------------------------------------------------------------- Para detalles de cómo instalar un paquete, vea las notas sobre Sección 7.1.1, `dpkg'. Luego llame al programa `dselect', que llamará a `dpkg-ftp' por usted, le guiará a través de la selección de paquetes y los instalará, sin que tenga que copiarlos previamente en su sistema. Este método está pensado para ahorrar al usuario espacio de disco y tiempo. Fíjese en que no se necesita una configuración especial del núcleo para acceder a paquetes de Debian e instalarlos mediante este método. Para usar este servicio de `dselect', tendrá que saber: * el nombre de dominio del servidor de FTP anónimo que pretenda usar. * el directorio que contiene los ficheros que pretende instalar, o los subdirectorios que contienen dichos ficheros. Este directorio debe contener un fichero llamado "Packages" (o su version comprimida, "Packages.gz"). 2.6. ¿Cómo puedo conseguir e instalar Debian desde cinta de streamer? --------------------------------------------------------------------- De momento, instalar paquetes directamente desde cinta no es posible. Pero se puede usar `tar', `cpio', o `afio' para copiar los ficheros de archivo de Debian a cinta, y luego copiarlos al disco local para instalarlos. En la misma línea, se pueden usar disquetes que contengan ficheros "tar" que serán copiados a disco local antes de ser gestionados por las utilidades de paquetes de Debian. 2.7. ¿Cuál es la última version de Debian? ------------------------------------------ Actualmente existen tres versiones de Debian: _3.1, alias "stable"_ Este es software estable, pero puede cambiar cuando se incorporen modificaciones importantes. _la distribución `testing'_ bla bla _la distribucion `unstable'_ la versión de "unstable" (de desarrollo). Esta es la versión actualmente en desarrollo; se actualiza continuamente. Puede recuperar paquetes del archivo "unstable" en cualquier servidor de FTP de Debian y usarlos para actualizar su sistema en cualquier momento. Está planeado que ésta se convierta en una nueva distribución de Debian varios meses después de la última publicación. ------------------------------------------------------------------------------- 3. Cuestiones de Compatibilidad ------------------------------- 3.1. ¿En qué arquitecturas/sistemas funciona Debian GNU/Linux? -------------------------------------------------------------- Debian GNU/Linux incluye el código fuente completo de todos los programas incluidos, así que debería funcionar en todos los sistemas soportados por el núcleo Linux; ver la FAQ sobre Linux (http://www.cl.cam.ac.uk/users/iwj10/linux-faq/) para más detalles. La actual entrega de Debian GNU/Linux contiene una distribución completa de ejecutables para las siguientes arquitecturas: _i386_: ésta cubre PCs basados en procesadores compatibles Intel, incluyendo los 386, 486, Pentium, Pentium Pro, Pentium II (tanto Klamath como Celeron), Pentium III, Pentium IV de Intel y procesadores compatibles de AMD, Cyrix y otros. _m68k_: esto cubre Amigas y Ataris con un procesador Motorola 680x0 para x>=2; con MMU. _alpha_: sistemas Alpha de Compaq/Digital. _sparc_: esto cubre sistemas SPARC de Sun y la mayoría de los sistemas UltraSPARC. _powerpc_: esto cubre algunas máquinas PowerPC de IBM/Motorola, incluyendo máquinas CHRP, PowerMac y PReP. _arm_: máquinas ARM y StrongARM. _mips_: sistemas MIPS big-endian de SGI, Indy e Indigo2; _mipsel_: máquinas MIPS little-endian, estaciones DEC de Digital. _hppa_: Máquinas PA-RISC de Hewlett-Packard (712, C3000, L2000, A500). _ia64_: sistemas IA-64 de Intel ("Itanium"). _s390_: sistemas "mainframe" S/390 de IBM. Actualmente se está trabajando en el desarrollo de distribuciones de binarios de Debian para las arquitecturas Sparc64 (UltraSparc nativo) y AMD de 64 bits. Para más información sobre arranque, particionamiento del disco duro, activación de tarjetas PCMCIA y cuestiones similares por favor siga las instrucciones del Manual de Instalación, que está disponible en nuestro sitio WEB en http://www.debian.org/releases/stable/installmanual. 3.2. ¿Hasta qué punto es Debian compatible con otras distribuciones de Linux? ---------------------------------------------------------------------------- Los desarrolladores de Debian se comunican con otros creadores de distribuciones de Linux, en un esfuerzo para mantener la compatibilidad binaria entre las distintas distribuciones. La mayoría de los productos comerciales corren tan bien sobre Debian como lo hacen sobre los sistemas en los cuales se compilaron. Debian GNU/Linux se adhiere a la Estructura de Sistema de Ficheros Linux (Linux File System Structure) (http://www.pathname.com/fhs/). Sin embargo, hay espacio para la interpretación en algunas de las reglas que componen esta norma, por lo cual puede haber diferencias entre un sistema Debian y otros sistemas Linux. 3.3. ¿Hasta qué punto es Debian compatible en código fuente con otros sistemas Unix? ---------------------------------------------------------------------------- El código fuente Linux de la mayoría de las aplicaciones es compatible con otros sistemas Unix. Casi todo lo que está disponible en los sistemas Unix System V, y en los sistemas comerciales o libres derivados de BSD, también puede funcionar en Linux. Sin embargo, tal aserción no tiene ningún valor en el mercado comercial de Unix, pues no hay manera de probarla. En el ámbito del desarrollo de software, se requiere una compatibilidad completa, y no sólo en "casi todos" los casos. Por ese motivo, hace algunos años surgió la necesidad de normas, y en la actualidad la POSIX.1 (IEEE Standard 1003.1-1990) es una de las normas más importantes sobre compatibilidad de código fuente en los sistemas operativos al estilo Unix. Linux está encaminado a adherirse a POSIX.1, pero las normas POSIX cuestan dinero, y la certificación POSIX.1 (y FIPS 151-2) es bastante cara; esto ha hecho más difícil el trabajo de los desarrolladores de Linux para obtener completa conformidad POSIX. Los costes de certificación hacen poco probable que Debian obtenga un certificado de conformidad oficial, aún cuando complete satisfactoriamente el conjunto de pruebas de validación. (El conjunto de pruebas de validación puede obtenerse libremente en la actualidad, así que se espera que más gente trabaje en los temas de POSIX.1.) Unifix GmbH (Braunschweig, Alemania) desarrolló un sistema Linux que ha sido certificado como conforme a la norma FIPS 151-2 (que es un superconjunto de POSIX.1). Esta tecnología estuvo disponible en la propia distribución de Unifix, denominada Unifix Linux 2.0 y en la distribución Linux-FT de Lasermoon. 3.4. ¿Puedo utilizar los paquetes Debian (los ficheros ".deb") en mi sistema Linux RedHat/Slackware/...? ¿Puedo utilizar los paquetes RedHat (los ficheros ".rpm") en mi sistema Debian GNU/Linux? ---------------------------------------------------------------------------- Las diferentes distribuciones de Linux utilizan distintos formatos de paquete y distintos programas de administración de paquetes. _Usted probablemente puede:_ Hay disponible un programa que permite desempaquetar un paquete Debian en una máquina que se ha instalado con una distribución `extraña', y generalmente funciona, en el sentido en que desempaquetará los ficheros. Lo contrario posiblemente es cierto también, esto es, un programa que desempaquete un paquete RedHat o Slackware en una máquina basada en Debian Linux probablemente tendrá éxito desempaquetando el paquete y colocando la mayoría de los ficheros en los directorios deseados. La causa de este éxito puede encontrarse mayormente en la existencia de (y la amplia adhesión a) la Norma de Sistema de Ficheros Linux (Linux File System Standard). _Usted probablemente no quiera:_ La mayoría de los administradores de paquetes escriben ficheros administrativos cuando se utilizan para desempaquetar un archivo. Dichos ficheros administrativos en general no están estandarizados. Por lo tanto, el efecto de desempaquetar un paquete Debian en un entorno `extraño' puede tener efectos impredecibles (ciertamente no muy útiles) sobre el administrador de paquetes de dicho entorno. De la misma manera, las utilidades provenientes de otras distribuciones pueden tener éxito al desempaquetar sus archivos en un sistema Debian, pero probablemente causarán un fallo del sistema de administración de paquetes de Debian cuando llegue el momento de actualizar o borrar algunos paquetes, o incluso si se desea simplemente un informe exacto de los paquetes presentes en el sistema. _El mejor camino:_ La Norma de Sistema de Ficheros Linux (y por lo tanto Debian GNU/Linux) requiere que los subdirectorios bajo `/usr/local/' se usen enteramente a discreción del usuario. Así que los usuarios pueden desempaquetar paquetes `extraños' en este directorio, y luego administrar sus configuraciones, actualizarlos y borrarlos individualmente. 3.5. ¿Es capaz Debian de ejecutar mis viejos programas "a.out"? --------------------------------------------------------------- ¿Todavía tiene un programa así? :-) Para _ejecutar_ un programa cuyo binario está en formato `a.out' (i.e., QMAGIC o ZMAGIC), * Asegúrese de que su núcleo tenga soporte `a.out' incluido, ya sea directamente (CONFIG_BINFMT_AOUT=y) o como módulo (CONFIG_BINFMT_AOUT=m). (el paquete kernel-image de Debian contiene el módulo `binfmt_aout'.) Si su núcleo soporta binarios `a.out' mediante módulos, entonces debe asegurarse de que esté cargado el módulo `binfmt_aout'. Puede hacer esto en el momento del arranque si tiene una línea que diga `binfmt_aout' en el fichero `/etc/modules'. Puede también hacerlo desde la línea de órdenes si ejecuta `insmod NOMBREDIR/binfmt_aout.o' donde `NOMBREDIR' es el nombre del directorio donde se almacenan los módulos construídos para la versión del núcleo que está corriendo. En un sistema con la versión 2.4.27 del núcleo es probable que `NOMBREDIR' sea `/lib/modules/2.4.27/fs/'. * Instale el paquete `libc4'. En el momento en el que se salga Debian 2.0, es muy probable que el paquete `libc4' haya sido eliminado de la distribución. Si este es el caso, usted podría querer buscar un CD-ROM de Debian antiguo (Debian 1.3.1 todavía tenía este paquete). * Si el programa que desea ejecutar es un cliente X `a.out', entonces instale también el paquete `xcompat'. Si tiene una aplicación comercial en formato `a.out', puede ser el momento de pedir que le envíen una actualización a formato `ELF'. 3.6. ¿Puede Debian ejecutar mis programas libc5 antiguos? --------------------------------------------------------- Sí. Simplemente, instale las bibliotecas necesarias de la sección `oldlibs' (que contiene paquetes antiguos que se incluyen para conseguir compatibilidad con aplicaciones antiguas). 3.7. ¿Puede utilizarse Debian para compilar programas libc5? ------------------------------------------------------------ Sí. Instale los paquetes `-altdev' necesarios. El conjunto mínimo de paquetes que necesitará es: `altgcc', en la sección `devel' y `libc5-altdev' en la sección `oldlibs'. Entonces tiene que colocar las herramientas `libc5' antes que las normales en el PATH. Esto es, ejecute la orden `export PATH=/usr/i486-linuxlibc1/bin:$PATH' (Esto no es esencial, sólo ventajoso). Si sólo lo va a utilizar una vez, sería suficiente con: `PATH=/usr/i486-linuxlibc1/bin:$PATH make [objetivo]'. Tenga en cuenta que ya no hay soporte para el entorno libc5. 3.8. ¿Cómo debería instalar un paquete que no es Debian? -------------------------------------------------------- Los ficheros bajo el directorio `/usr/local/' no están bajo el control del sistema de administración de paquetes de Debian. Por lo tanto, es una buena práctica colocar el código fuente de su programa en `/usr/local/src/'. Por ejemplo, puede extraer los ficheros de un paquete denominado "fu.tar" dentro del directorio `/usr/local/src/fu'. Después de compilarlo, coloque los ejecutables en `/usr/local/bin/', las bibliotecas en `/usr/local/lib/', y los ficheros de configuración en `/usr/local/etc/'. Si sus programas y/o ficheros realmente deben situarse en algún otro directorio, aún puede colocarlos bajo el directorio `/usr/local/', y crear los enlaces simbólicos en los lugares necesarios que apunten al lugar de instalación en `/usr/local/', por ejemplo, puede crear el enlace ln -s /usr/local/bin/fu /usr/bin/fu En cualquier caso, si el paquete que obtuvo permite la redistribución en su licencia, debería considerar la posibilidad de construir un paquete Debian de él, y enviarlo para que forme parte del sistema Debian. Las instrucciones para convertirse en desarrollador de paquetes se encuentran en el Manual de Normas de Debian (véase Sección 11.1, `¿Qué otra documentación existe sobre y para un sistema Debian?'). 3.9. ¿Por qué me da el mensaje de error "Can't find libX11.so.6" cuando trato de ejecutar `fu'? ---------------------------------------------------------------------------- Este mensaje de error puede significar que el programa está enlazado con la versión `libc5' de las bibliotecas X11. En este caso necesitará instalar el paquete `xlib6', de la sección `oldlibs'. 3.10. ¿Por qué no puedo compilar programas que requieren libtermcap? -------------------------------------------------------------------- Debian usa la base de datos `terminfo' y la biblioteca `ncurses' para manejar la interfaz del terminal, en lugar de la base de datos `termcap' y la biblioteca `termcap'. Los usuarios que compilen programas que requieran conocimiento de la interfaz del terminal deben reemplazar las referencias a `libtermcap' con referencias a `libncurses'. Para dar soporte a los ejecutables que hayan sido enlazados con la biblioteca `termcap', y de los cuales no tenga el código fuente, Debian proporciona un paquete denominado `termcap-compat'. Éste provee tanto el fichero `libtermcap.so.2' como `/etc/termcap'. Instale este paquete si el programa falla al ejecutarse con el mensaje de error "can't load library 'libtermcap.so.2'", o se queja de que no encuentra el fichero `/etc/termcap'. 3.11. ¿Por qué no puedo instalar AccelX? ---------------------------------------- AccelX usa la biblioteca `termcap' durante su instalación. Vea Sección 3.10, `¿Por qué no puedo compilar programas que requieren libtermcap?' más arriba. 3.12. ¿Por qué se cuelgan mis aplicaciones Motif de Xfree 2.1 antiguas? ----------------------------------------------------------------------- Necesita instalar el paquete `motifnls', que proporciona los ficheros de configuración de XFree-2.1 necesarios para que las aplicaciones compiladas con XFree-2.1 funcionen bajo XFree-3.1. Sin estos ficheros, algunas aplicaciones Motif compiladas en otras máquinas (como Netscape) se pueden colgar al intentar copiar o pegar desde o hacia un campo de texto, y también presentan otros problemas. 3.12.1. ¿Puedo instalar y compilar un núcleo sin `retoques' específicos para Debian? ---------------------------------------------------------------------------- Sí. Pero debe comprender antes las reglas que tiene Debian acerca de los ficheros de cabecera. Las bibliotecas C de Debian se construyen con las últimas entregas _estables_ de los ficheros de encabezado de `gcc'. Por ejemplo, la distribución Debian-1.2 usó la versión 5.4.13 de los ficheros de encabezado. Esta práctica contrasta con los paquetes de fuentes del núcleo que se archivan en todos los sitios FTP de Linux, que utilizan versiones aún más nuevas de los ficheros de encabezado. Los encabezados del núcleo que se distribuyen junto con los fuentes de dicho núcleo se encuentran alojados en `/usr/include/linux/include/'. Si necesitara compilar un programa con encabezados de núcleo más nuevos que los provistos por `libc6-dev', entonces tendrá que agregar `-I/usr/src/linux/include/' a la línea de órdenes al compilar. Esto sucede en una situación, por ejemplo, con el paquete del demonio de automontaje (automounter daemon) (`amd'). Cuando los nuevos núcleos cambian las cuestiones internas que manejan el NFS, `amd' necesita enterarse de tales cambios. Para ello requiere la inclusión de las últimas versiones de los encabezados del núcleo. ------------------------------------------------------------------------------- 4. Software disponible en el sistema Debian ------------------------------------------- 4.1. ¿Qué tipos de aplicaciones y software de desarrollo hay disponible para Debian GNU/Linux? ---------------------------------------------------------------------------- Al igual que muchas distribuciones de Linux, Debian GNU/Linux ofrece: * Las aplicaciones más importantes para desarrollo de software, manipulación de ficheros, y procesamiento de texto, incluyendo gcc, g++, make, texinfo, el shell Bash y numerosas utilidades de Unix mejoradas, * Perl, Python, Tcl/Tk y varios programas relacionados, módulos y bibliotecas, para cada uno de ellos. * TeX (LaTeX) y LyX, dvips, Ghostscript, * el sistema de ventanas X, que proporciona un interfaz gráfico de usuario a través de red, y numerosas aplicaciones X, incluyendo GNOME y KDE * un conjunto completo de otras aplicaciones de red, incluyendo servidores para los protocolos de Internet HTTP (WWW), FTP, NNTP (noticias), SMTP y POP (correo), y servicio de nombres; también se proporcionan navegadores de web, y herramientas de desarrollo. Más de 15180 paquetes, desde servidores de noticias y lectores hasta soporte de sonido, programas de fax, hojas de cálculo y bases de datos, programas de procesamiento de imágenes, comunicaciones, utilidades de correo y de redes, servidores Web, e incluso programas de Ham-Radio están incluidos en la distribución. Otros 220 conjuntos de programas están disponibles como paquetes Debian, aunque no se incluyen formalmente en la distribución debido a restricciones de la licencia. 4.2. ¿Quién ha escrito todo este software? ------------------------------------------ Los _autores_ de cada programa aparecen en los créditos de cada paquete, en el fichero `/usr/share/doc/PAQUETE/copyright', donde hay que sustituir PAQUETE por el nombre del paquete. Una lista de los _Responsables_ que empaquetan el software para el sistema Debian GNU/Linux aparece en el Sección 6.4, `¿Qué es un archivo de control de Debian?' que viene con cada paquete 4.3. ¿Cómo puedo conseguir una lista de los programas que se han empaquetado para el proyecto Debian? ---------------------------------------------------------------------------- Está disponible una lista completa en cualquiera de los FIXME La lista completa está disponible en dos partes: la lista de paquetes que se pueden distribuir desde cualquier sitio desde cualquiera de los espejos de Debian (http://www.debian.org/distrib/ftplist.html) PUF, el original está mal. El archivo `indices/Packages-Master-i386.gz' contiene una lista que incluye descripciones cortas de todos los paquetes disponibles para el 386 (o chips mas avanzados). El archivo `indices/Packages-Master-m68k.gz' contiene una lista similar de paquetes que están disponibles para ordenadores con CPUs Motorola 680x0. El interfaz WWW a los paquetes Debian (http://www.debian.org/FTP/) resume los paquetes existentes en unas veinte "secciones" del archivo de Debian, así como los últimos 10 paquetes añadidos 4.4. ¿Qué falta en Debian GNU/Linux? ------------------------------------ Existe una lista de los paquetes que todavía hace falta empaquetar para Debian, la lista Work-Needing and Prospective Packages (http://www.debian.org/devel/wnpp/). Para más detalles sobre añadir lo que falta, ver la sección Sección 12.1, `¿Cómo puedo convertirme en un desarrollador de software para Debian?' 4.5. ¿Por qué me salen mensajes "ld: cannot find -lfoo" al compilar programas? ¿Por qué no hay ficheros libfoo.so en los paquetes de bibliotecas de Debian? ---------------------------------------------------------------------------- Respuesta. 4.6. ¿(Cómo) Soporta Java Debian? --------------------------------- El Kit de Desarrollo de Java de Sun está disponible como paquete Debian (`jdk_VVV-RRR.deb'). El KDJ (JDK en inglés) permite ejecutar programas en Java y "applets", y escribirlos. Si el núcleo instalado está correctamente configurado (ver más abajo), el KDJ permitirá ejecutar programas en Java igual que otro tipo de ejecutables. El KDJ también incluye varios programas de demostración. El núcleo de Debian está configurado con soporte para Java incluido como módulo (p.ej.,CONFIG_BINFMT_JAVA=m). Los usuarios que quieran construir su propio pueden saltarse esto si lo prefieren. Una vez que el soporte para módulos está disponible en el núcleo, hay que asegurarse de que el módulo está cargado. Se puede hacer esto en tiempo de arranque insertando la línea `binfmt_java' en el fichero `/etc/modules'. Alternativamente, se puede instalar el módulo desde la línea de órdenes ejecutando la orden `insmod NOMBRE/binfmt_java.o', donde `NOMBRE' es el nombre del directorio donde están almacenados los módulos compilados para la versión en ejecución del núcleo. En un sistema con la versión 2.4.27 del núcleo, `NOMBRE' será probablemente `/lib/modules/2.4.27/fs/'. Se puede comprobar si un módulo está cargado usando la orden `lsmod'. Para ejecutar un "applet" en Java se necesita un navegador que sea capaz de reconocerlo y ejecutarlo. El navegador de Netscape que se puede instalar como paquete Debian puede usar "applets" en Java. (El código fuente del Netscape no es de acceso público. El paquete Debian del Netscape proporciona un asistente que ayuda en la instalación y gestión del Netscape en un sistema Debian. Este es un buen ejemplo de la integración de paquetes comerciales en el sistema Debian). Una nota final con comentarios mixtos: Las políticas de licencias de Sun para el KDJ se están volviendo más restrictivas con el tiempo, así que este paquete puede no estar disponible como parte de Debian muy pronto. Es posible que esté disponible del mismo modo en que está disponible el Netscape para Debian GNU/Linux. Las buenas noticias son que hay actualmente varios programas en desarrollo que proporcionarán alternativas atractivas y de dominio público. 4.6.1. ¿Cómo puedo comprobar si estoy usando un sistema Debian? --------------------------------------------------------------- La existencia del programa `dpkg' demuestra que se pueden instalar paquetes Debian en el sistema. Para asegurarse de que se ha instalado el sistema a partir de los auténticos discos base de Debian, se puede comprobar si existe `/etc/debian_version'. 4.6.2. ¿Cómo puedo saber la "versión" de Debian que estoy usando? ----------------------------------------------------------------- Hay un fichero, `/etc/debian_version (file:/etc/debian_version)', que contiene una única línea con el número de versión de la distribución, tal y como venía definido en el paquete `base-files'. Los usuarios deben tener presente que el sistema Debian se compone de varias partes, las cuales pueden ser actualizadas de manera (casi) independiente. Cada "entrega" de Debian tiene contenidos inmutables y bien definidos. Las actualizaciones están disponibles de forma separada. Para una descripción de una sola línea sobre el estado de instalación del paquete `cualquiera', se puede usar la orden `dpkg --list cualquiera'. (Sin argumentos, esta orden presenta las versiones de todos los paquetes instalados.) Para una descripción más exhaustiva, usar `dpkg --status cualquiera'. 4.7. ¿Cómo soporta Debian los idiomas no ingleses? -------------------------------------------------- * Debian GNU/Linux se distribuye con asignaciones de teclado para casi dos docenas de teclados, y con utilidades (en el paquete `kbd') para instalarlos, verlos y modificarlos. La instalación pide al usuario que especifique el teclado que va a usar. * Se da soporte para las páginas de manual en francés, alemán, italiano y español a través de los paquetes `manpages-fr', `manpages-de', `manpages-it' y `manpages-es'. Para acceder a una de estas páginas de manual, el usuario debe cambiar el valor de LC_MESSAGES a la cadena de texto apropiada. En el caso de las páginas de manual en español, LC_MESSAGES ha de valer 'es_ES'. El programa `man' buscará entonces las páginas man en español en `/usr/man/es_ES/'. 4.7.1. ¿Qué hay sobre las limitaciones de exportación en los EE.UU.? -------------------------------------------------------------------- Las leyes de los EE.UU. plantean restricciones en la exportación de artículos de defensa, lo que incluye algunos tipos de software criptográfico. PGP y ssh se encuentran incluidos en esta categoría. Para evitar que nadie tenga que correr riesgos legales innecesarios, ciertos paquetes Debian GNU/Linux solo están disponibles en un servidor fuera de los EE.UU. ftp://non-us.debian.org/pub/debian-non-US/, con una lista de espejos en ftp://non-us.debian.org/pub/debian-non-US/README.mirrors 4.8. ¿Dónde está pine? ---------------------- Debido a su restrictiva licencia, está en la sección non-free. Además, dado que la licencia ni siquiera permite que se distribuyan ejecutables modificados, hay que compilarlo uno mismo a partir del código fuente y los parches de Debian. El nombre del paquete fuente es `pine'. Se puede usar el paquete `pine-tracker' para saber cuándo hay que actualizarlo. Tenga en cuenta que hay muchos reemplazos tanto para pine como para pico, tales como `mutt' y `nano', que están en la sección main. ------------------------------------------------------------------------------- 5. Los archivos FTP de Debian ----------------------------- 5.1. ¿Qué son todos esos directorios en los archivos de FTP de Debian? ---------------------------------------------------------------------- El software que se ha empaquetado para Debian GNU/Linux está disponible en varios árboles de directorios de cada espejo de Debian. El directorio `dists' contiene las "distribuciones", y es ahora la forma canónica de acceder a ellas. El directorio `pool' contiene los paquetes de verdad. Existen los siguientes directorios suplementarios: _/tools/_: Utilidades DOS para crear discos de arranque, particionar el disco duro, comprimir y descomprimir archivos, y arrancar Linux. _/doc/_: Documentación básica sobre Debian, como la FAQ, y las instrucciones sobre cómo enviar informes de bugs. _/indices/_: El fichero Maintainers y los ficheros override. _/project/_: material para desarrolladores principalmente, como: _project/experimental/_: Este directorio contiene paquetes y utilidades que se están desarrollando específicamente para el Proyecto Debian, y que aún están en fase de pruebas. Los usuarios no deberían usar paquetes de aquí, porque pueden ser peligrosos y perjudiciales incluso para alguien experimentado. 5.2. ¿Cuántas distribuciones de Debian hay en el directorio `dists'? -------------------------------------------------------------------- Normalmente hay tres distribuciones, la distribución "stable" (estable), la distribución "testing" (en pruebas), y la distribución "unstable" (inestable). 5.3. ¿Qué son todos esos nombres como slink, potato, etc.? ---------------------------------------------------------- Son simplemente nombres clave. Cuando una distribución de Debian está en su fase de desarrollo, no tiene número de versión, solamente tiene un nombre clave. El objeto de estos nombres clave es hacer que las distribuciones de Debian sean más fáciles de replicar (si un directorio real tal y como `unstable' cambiara repentinamente de nombre a `stable', habría que volver a traerse un montón de Megabytes de nuevo). Actualmente, `stable' es un enlace simbólico a `sarge' (o sea, Debian 3.1), y `testing' es un enlace simbólico a `etch', lo cual significa que `sarge' es la distribución "stable" actual y `etch' es la distribución "testing" actual. `unstable' es un enlace simbólico permanente a `sid', dado que `sid' es siempre la distribución unstable. 5.3.1. ¿Qué otros nombres clave se han utilizado ya? ---------------------------------------------------- Otros nombres clave que ya se han utilizado son: `buzz' para Debian 1.1, `rex' para Debian 1.2, `bo' para Debian 1.3.x, `hamm' para Debian 2.0, `slink' para Debian 2.1, `potato' para Debian 2.2, y `woody' para Debian 3.0. 5.3.2. ¿De dónde provienen estos nombres clave? ----------------------------------------------- Hasta ahora han sido personajes de la película Toy Story, de los estudios de animación Pixar. 5.4. ¿Y qué es "sid"? --------------------- Es una distribución especial para arquitecturas que todavía no han sido publicadas por primera vez. Cuando sid no existía, la organización del FTP tenía un fallo: Había una presunción de que cuando se creaba una nueva arquitectura en unstable, sería publicada cuando esa distribución se convertía en la nueva stable. Para muchas arquitecturas este no es el caso, lo cual resultaba en que esos directorios tenían que ser cambiados de lugar en el momento de la publicación, desperdiciando un montón de ancho de banda. Para esas arquitecturas todavía no publicadas, la primera vez que se publiquen habrá un enlace desde el stable actual hasta sid, y de ahí en adelante se crearán dentro del árbol unstable de forma normal. sid no será publicado nunca ni siquiera se accederá a él directamente, solamente a través de enlaces simbólicos en los árboles actuales stable, frozen y unstable. Será una mezcla de arquitecturas publicadas y no publicadas. El nombre de "sid" tambien proviene de la película "Toy Story", era el chico de al lado que rompía los juguetes :-) 5.5. ¿Qué contiene el directorio stable? ---------------------------------------- * stable/main/: Este directorio contiene los paquetes que formalmente constituyen la distribución más reciente del sistema Linux de Debian. * stable/non-free/: Este directorio contiene paquetes cuya distribución está restringida en un modo que obliga a que los distribuidores tengan muy presente ciertos requisitos de copyright. Por ejemplo, algunos paquetes tienen licencias que prohiben la distribución comercial. Otros pueden ser distribuidos, aunque de hecho son shareware, y no freeware. Las licencias de cada uno de estos paquetes debe ser estudiada, y posiblemente negociada, antes de que los paquetes se incluyan en cualquier redistribución (p.ej., en un CD-ROM). * stable/contrib/: Este directorio contiene paquetes que son de _libre distribución_, pero que no cumplen con la política de requisitos de distribución de los paquetes del Proyecto Debian por alguna razón, p.ej., los paquetes tienen alguna modificación o restricción inusual, o sólo están disponibles en formato binario. Para estos paquetes, el proyecto no puede ofrecer al usuario ninguna forma de asegurarse de que están libres de Caballos de Troya, y no puede adaptarlos a otras arquitecturas. Paquetes sólo en binario que no sean de libre distribución se encuentran en el directorio `non-free'. 5.5.1. ¿Qué contiene el directorio unstable? -------------------------------------------- unstable contiene una muestra del sistema actual bajo desarrollo. Se invita a los usuarios a probar estos paquetes, aunque se les advierte sobre su estado incompleto. También hay directorios main, contrib y non-free dentro de unstable. 5.5.2. ¿Qué son todos esos directorios dentro de `dists/stable/main'? --------------------------------------------------------------------- Dentro de cada uno de los directorios principales (`dists/stable/main', `dists/stable/contrib', `dists/stable/non-free', y `dists/unstable/main/', etc. pero no `project/experimental/', que es demasiado pequeño para ser subdividido), los paquetes binarios residen en subdirectorios cuyos nombres indican la arquitectura del chip para el que fueron compilados: * binary-all, para paquetes que son independientes de la arquitectura. Esto incluye, por ejemplo, scripts en Perl. * binary-i386, para paquetes que sólo se ejecutan en máquinas 80x86. * binary-m68k, para paquetes que se ejecutan en máquinas basadas en uno de los procesadores Motorola 680x0. Actualmente se mantiene para computadoras Atari y Amiga, y para algunas placas industriales basadas en VME. No hay una implementación de Linux para los Macintosh basados en el antiguo m68k, porque Apple no suministró la información de hardware necesaria. * binary-sparc/, para paquetes que se ejecutan en Sparcstations de Sun. * binary-alpha/, para paquetes que se ejecutan en máquinas DEC de Alpha. * binary-powerpc/, para paquetes que se ejecutan en máquinas PowerPC * binary-arm/, para paquetes que se ejecutan en máquinas ARM. * binary-hurd-i386/, para paquetes de GNU/Hurd que se ejecutan en máquinas 80x86. 5.5.3. ¿Dónde está el código fuente? ------------------------------------ Se incluye código fuente para cualquier cosa en el sistema Debian. La mayor parte de los términos de licencia de los programas en el sistema _exigen_ que se distribuya el código fuente junto con los programas, o que se incluya junto con los programas una oferta para entregar el código fuente. Normalmente, el código fuente se distribuye en los directorios "source", que son paralelos a todos los directorios binary de cada arquitectura. El código fuente de los paquetes en los directorios "contrib" y "non-free" puede estar disponible o no, ya que formalmente no son parte del sistema Debian. ------------------------------------------------------------------------------- 6. Conceptos básicos del Sistema de Gestión de Paquetes de Debian ----------------------------------------------------------------- 6.1. ¿Qué es un paquete Debian? ------------------------------- Los paquetes normalmente contienen todos los archivos necesarios para implementar un conjunto de órdenes o características relacionadas. Hay dos tipos de paquetes Debian: * _paquetes Binarios_, que contienen ejecutables, archivos de configuración, páginas man/info, información de copyright, y otra documentación. Estos paquetes se distribuyen en un Sección 6.2, `¿Cuál es el formato de un paquete Debian?' específico de Debian; se distinguen normalmente por tener una extensión de archivo '.deb'. Los paquetes binarios se pueden desempaquetar usando la utilidad Debian `dpkg'; se dan detalles en su página de manual. * _Paquetes Fuente_, que consisten en un archivo `.dsc' que describe el paquete fuente (incluyendo los nombres de los siguientes archivos), un archivo `.orig.tar.gz' que contiene el código fuente original sin modificar en formato tar comprimido con gzip, y usualmente un archivo `.diff.gz' que contiene los cambios específicos de Debian al código fuente original. La utilidad `dpkg-source' empaqueta y desempaqueta los archivos fuente de Debian; se dan detalles en su página de manual. La instalación de software por el sistema de paquetes usa "dependencias" que son cuidadosamente diseñadas por los encargados del paquete. Estas dependencias están documentadas en el archivo de `control' asociado con cada paquete. Por ejemplo, el paquete que contiene el compilador de C de GNU (`gcc') "depende" del paquete `binutils' que incluye el enlazador y el ensamblador. Si un usuario intenta instalar `gcc' sin haber instalado antes `binutils', el sistema de paquetes de Debian dará un mensaje de error avisando de que también necesita `binutils', e instalará `gcc' sólo si el usuario acepta instalar `binutils' primero. (Sin embargo, esta opción puede ser anulada por el usuario persistente). Ver más Sección 6.9, `¿A qué se refieren al decir que un archivo Depende/Recomienda/Sugiere/Entra en conflicto/Reemplaza/Proporciona otro paquete?' abajo. Las utilidades de paquetes de Debian se pueden usar para: * manipular y gestionar paquetes o partes de paquetes, * ayudar al usuario en la fragmentación de paquetes que deben ser distribuidos a través de un medio de tamaño limitado, como disquetes, * ayudar a los desarrolladores en la construcción de archivos de paquetes, y * ayudar a los usuarios en la instalación de paquetes que residen en un servidor de FTP remoto. 6.2. ¿Cuál es el formato de un paquete Debian? ---------------------------------------------- Un "paquete" Debian, o un archivo Debian, contiene los ejecutables, bibliotecas y documentación asociada con una forma particular de un programa o conjunto de programas relacionados. Normalmente un archivo Debian tiene un nombre que acaba en `.deb'. Los detalles del formato de los paquetes binarios Debian se describen en la página de manual `deb'(5). Este formato interno está sujeto a cambios, así que use siempre `dpkg-deb'(1) para manipular archivos `.deb'. 6.3. ¿Por qué los nombres de los paquetes Debian son tan largos? ---------------------------------------------------------------- Los nombres de los paquetes binarios siguen la siguiente convención: _-.deb Nótese que `nombre' se supone que es el nombre del paquete. Como prueba, se puede sacar el nombre de paquete asociado con un archivo Debian concreto (archivo .deb) de una de las siguientes formas: * inspeccionar el archivo "Packages" en el directorio donde se guardaba el paquete en un servidor de FTP de Debian. Este archivo contiene un párrafo describiendo cada paquete; el primer campo del párrafo es el nombre formal del paquete. * usar la orden `dpkg --info nombre_VVV-RRR.deb'. Esto manda un mensaje a STDOUT que da, entre otras cosas, el nombre formal del paquete. El componente `VVV' es el número de versión especificado por el desarrollador original. Aquí no hay estándares establecidos, así que el número de versión puede tener formatos tan distintos como "960428" y "2.7.2.l.3". El componente `RRR' es el número de revisión Debian, y lo establece el desarrollador Debian (o un usuario individual, si decide construir el paquete él mismo). Este número corresponde al nivel de revisión del paquete debian (que incluye el Makefile específico de Debian, llamado `debian/rules', así como el archivo de control Debian, normalmente llamado `debian/control'). De este modo, un nuevo nivel de revisión normalmente significa cambios en el Makefile de Debian, el archivo de control, los scripts de instalación o desinstalación, o en los archivos de configuración usados en el paquete. 6.4. ¿Qué es un archivo de control de Debian? --------------------------------------------- Se dan detalles sobre el contenido de un archivo de control en el manual del programador de dpkg (ftp://ftp.debian.org/debian/doc/package-developer/programmer.ps.gz). Resumiendo, este es un ejemplo de archivo de control para el paquete hello: Package: hello Status: install ok installed Priority: optional Section: devel Installed-Size: 472 Maintainer: Santiago Vila Architecture: i386 Version: 2.1.1-4 Depends: libc6 (>= 2.2.4-4) Description: The classic greeting, and a good example The GNU hello program produces a familiar, friendly greeting. It allows non-programmers to use a classic computer science tool which would otherwise be unavailable to them. . Seriously, though: this is an example of how to do a Debian package. It is the Debian version of the GNU Project's `hello world' program (which is itself an example for the GNU Project). El campo Package informa del nombre del paquete. Este es el nombre mediante el cual el paquete se puede manipular con las utilidades de paquetes de Debian, y normalmente es parecido (aunque no necesariamente igual) que la primera cadena de caracteres del nombre del archivo Debian. El campo Version da a la vez el número de versión del desarrollador original y (como último componente) el nivel de revisión del paquete Debian de este programa, tal y como se describe en Sección 6.3, `¿Por qué los nombres de los paquetes Debian son tan largos?'. El campo Architecture especifica el procesador para el que fué compilado este binario en concreto. El campo Depends da una lista de paquetes que tienen que estar instalados para poder instalar este paquete con éxito. El campo Installed-Size indica cuanto espacio de disco ocupará el paquete instalado. Está pensado para que lo usen los programas de instalación para indicar si existe suficiente espacio de disco para instalar el programa. El campo Maintainer da la dirección de correo electrónico de la persona actualmente responsable del mantenimiento del paquete. El campo Description da un pequeño resumen de las características del paquete. 6.5. ¿Qué es un conffile de Debian? ----------------------------------- Los conffiles son listas de archivos de configuración, normalmente guardadas en `/etc', que el sistema de mantenimiento de paquetes no sobrescribe cuando se actualiza un paquete. Esto asegura que los valores locales de los contenidos de estos archivos se conserven, y es una característica imprescindible para permitir la actualización de paquetes en un sistema en funcionamiento. Para determinar exactamente qué archivos se conservan durante una actualización, ejecute`dpkg --status paquete'. 6.6. ¿Qué son los scripts Debian preinst, postinst, prerm, y postrm? -------------------------------------------------------------------- Estos archivos son scripts ejecutables que se usan automáticamente antes o después de que se instale un paquete. Junto con el archivo `control', todos estos archivos forman parte de la sección de "control" de un archivo Debian. Los archivos individuales son: preinst Este script se ejecuta antes de que se desempaquete el contenido del archivo Debian (".deb"). Muchos scripts 'preinst' detienen los servicios de los paquetes que se actualizan hasta que su instalación o actualización se completa (después de la ejecución exitosa del script 'postinst'). postinst Este script normalmente completa cualquier configuración necesaria en el paquete `nombre' una vez que `nombre' ha sido desempaquetado de su archivo Debian (".deb"). A veces, los scripts 'postinst' piden al usuario datos, y/o le advierten de que si acepta los valores por defecto, tendrá que acordarse de volver atrás y reconfigurar dicho paquete. Muchos scripts 'postinst' ejecutan las órdenes necesarias para empezar o reanudar un servicio una vez que el nuevo paquete ha sido instalado o actualizado. _Es una buena idea el repasar el contenido de un script 'postinst' en busca de consejos de configuración cuando se instale un paquete por primera vez._ prerm Este script normalmente detiene cualquier demonio asociado con un paquete. Se ejecuta antes de borrar los archivos asociados a un paquete. postrm Este script normalmente modifica enlaces u otros archivos asociados con `nombre'. (Ver notas sobre Sección 6.8, `¿Qué es un paquete virtual?'). Todos los archivos de control se pueden encontrar en `/var/lib/dpkg/info'. Los archivos importantes para el paquete `nombre' empiezan con el nombre "nombre" y tienen extensiones "preinst", "postinst", etc., como corresponda. El archivo `nombre.list' en dicho directorio enumera todos los archivos que se instalaron con el paquete `nombre'. (Nótese que la localización de estos archivos es información interna de dpkg; no se debe confiar en ella.) 6.7. ¿Qué es un paquete Requerido/Importante/Estandar/Opcional/Extra? --------------------------------------------------------------------- Cada paquete Debian recibe una _prioridad_ por los responsables de la distribución, como ayuda al sistema de mantenimiento de paquetes. Las prioridades son: * _Requerido_ Los paquetes requeridos son necesarios para el correcto funcionamiento del sistema. Esto incluye todas las herramientas necesarias para reparar defectos del sistema. No se deben eliminar estos paquetes o su sistema puede volverse totalmente inestable y probablemente ni siquiera será capaz de usar dpkg para volver a poner las cosas en su sitio. Sistemas con sólo los paquetes requeridos probablemente no son utilizables, pero tienen la suficiente funcionalidad para permitir al administrador del sistema arrancarlo e instalar más programas. * Los paquetes _importantes_ están presentes en cualquier sistema parecido a Unix. Aquí se encuentran los paquetes sin los que el sistema no funcionará correctamente. Esto _NO_ incluye Emacs, X11, TeX o cualquier otra aplicación grande. Estos paquetes sólo constituyen la infraestructura base. * Los paquetes _estándar_ son los típicos en cualquier sistema Linux, incluyendo un sistema en modo carácter razonablemente pequeño, aunque no muy limitado. Se instalará por defecto si los usuarios no seleccionan nada más. No incluye demasiadas aplicaciones mayores, aunque incluye Emacs (que es más una pieza de la infraestructura que una aplicación) y una parte razonable de Tex y Latex (si es que es posible usarlos sin X). * Los paquetes _opcionales_ incluyen todos los que razonablemente se desearía instalar a no ser que no se sepa lo que son o exijan requisitos especiales. Esto incluye X11, una distribución completa de TeX, y montones de aplicaciones. * Los paquetes _extra_ tienen conflictos con otros de mayor prioridad, o es sólo probable que se usen si ya se sabe lo que son, o tienen requisitos especiales. 6.8. ¿Qué es un paquete virtual? -------------------------------- Un paquete virtual es un nombre genérico que se aplica a uno cualquiera de un conjunto de paquetes, los cuales proveen todos ellos de una funcionalidad básica similar. Por ejemplo, los programas `tin' y `trn' son lectores de noticias los dos, y por tanto satisfacen por igual cualquier dependencia de un programa que necesite un lector de noticias en el sistema para funcionar o ser útil. Se dice que ambos proveen el "paquete virtual" llamado `lector de noticias'. Igualmente, `smail' y `sendmail' proveen ambos de la funcionalidad de un agente de transporte de correo. También se dice que ambos proporcionan el paquete virtual "agente de transporte de correo". Si cualquiera de ellos está instalado, cualquier programa que exija la instalación de un `agente de transporte de correo' se dará por satisfecho con la existencia de este paquete virtual. Debian proporciona un mecanismo mediante el cual, si más de un paquete que permita el mismo paquete virtual se instala en un sistema, los administradores del sistema pueden marcar uno como el paquete preferido. La orden importante es `alternativas de actualización', y se describe con detalle en la sección de Sección 10.9, `A algunos usuarios les gusta mawk, a otros les gusta gawk; algunos prefieren vim mientras que otros prefieren elvis; algunos quieren usar trn, a otros les gusta tin; ¿cómo soporta Debian la diversidad?'. 6.9. ¿A qué se refieren al decir que un archivo Depende/Recomienda/Sugiere/Entra en conflicto/Reemplaza/Proporciona otro paquete? ---------------------------------------------------------------------------- El sistema de paquetes Debian tiene un conjunto de "dependencias" diseñadas para indicar (mediante un único indicador) el nivel al que puede operar un Programa A independientemente de la existencia del Programa B en un sistema dado: * El paquete A _depende_ del paquete B si B tiene que estar instalado obligatoriamente para que funcione A. En ese caso, la versión de dependencia normalmente es un límite inferior, de modo que A depende de cualquier versión de B más reciente que alguna versión especificada. * El paquete A _recomienda_ al paquete B, si el responsable del paquete considera que la mayoría de usuarios no querrán A sin tener la funcionalidad permitida por B. * El paquete A _sugiere_ al paquete B si B contiene archivos que están relacionados con (y normalmente mejoran) la funcionalidad de A. * El paquete A _Entra en conflicto_ con el paquete B cuando A no funcionará si B está instalado en el sistema. La mayoría de las veces los conflictos son casos en los que A contiene archivos que son una mejora respecto a los que contiene B. Los "Conflictos" se combinan frecuentemente con "reemplazos". * El paquete A _reemplaza_ al paquete B cuando archivos instalados por B son borrados y (en algunos casos) sobrescritos por archivos en A. * El paquete A _proporciona_ al paquete B cuando todos los archivos y la funcionalidad de B se incorporan en A. Este mecanismo proporciona un modo de que los usuarios con espacio de disco reducido instalen la parte del paquete A que realmente necesitan. Información más detallada sobre estos temas se puede encontrar en el ftp://ftp.debian.org/debian/doc/package-developer/programmer.ps.gz. 6.10. ¿Qué significa Pre-Dependencia? ------------------------------------- "Pre-Dependencia" es una dependencia especial. En el caso de la mayoría de paquetes, `dpkg' extraerá el contenido del archivo correspondiente (p.ej., su archivo `.deb') tanto si los archivos de los que depende existen en el sistema como si no. Desempaquetar significa que `dpkg' extraerá los archivos del paquete que se espera que queden instalados en el sistema de ficheros, y los pondrá en su localización correspondiente. Si el paquete _depende_ de la existencia de otro paquete no instalado en el sistema, `dpkg' se negará a completar la instalación ejecutando su orden "configure" hasta que los otros paquetes se instalen. Pero para algunos paquetes, `dpkg' se negará incluso a desempaquetar los archivos hasta que se resuelvan las dependencias. Se dice de esos paquetes que "Pre-dependen" de la presencia de algún otro paquete. El proyecto Debian proporcionó este mecanismo para permitir la actualización segura de sistemas en formato `a.out' a formato `ELF', donde el orden en que se instalan los paquetes era crítico. Información más detallada sobre el uso de estos términos se puede encontrar en el Manual del Programador de Debian (ftp://ftp.debian.org/debian/doc/package-developer/programmer.ps.gz). 6.11. ¿Qué significa desconocido/instalar/quitar/borrar/conservar en el estado del paquete? ---------------------------------------------------------------------------- Estas marcas indican lo que el usuario desea hacer con un paquete (ya sea mediante las acciones del usuario en la sección "Select" de `dselect', o por las llamadas directas del usuario a `dpkg'). Sus significados son: * desconocido - el usuario no ha dicho si quiere el paquete * instalar - el usuario ha dicho que quiere instalar o actualizar el paquete * quitar - el usuario quiere desinstalar el paquete, pero sin borrar cualquier fichero de configuración que exista. * Borrar - el usuario quiere eliminar completamente el paquete, incluyendo ficheros de configuración. * conservar - el usuario no quiere procesar este paquete, quiere mantener la versión actual con su estado actual, cualquiera que sea. 6.11.1. ¿Dónde puedo encontrar información detallada sobre la creación de paquetes Debian? ---------------------------------------------------------------------------- Ver Sección 11.1, `¿Qué otra documentación existe sobre y para un sistema Debian?'. ------------------------------------------------------------------------------- 7. Las herramientas de gestión de paquetes de Debian ---------------------------------------------------- 7.1. ¿Qué programas tiene Debian para la gestión de los paquetes? ----------------------------------------------------------------- 7.1.1. dpkg ----------- Se trata del programa principal de gestión de paquetes. `dpkg' puede ejecutarse con muchas opciones. Algunas de las más comunes son: * Averiguar cuáles son las opciones existentes: `dpkg --help'. * Imprimir el fichero de control (y demás información) de un paquete específico: `dpkg --info fu_VVV-RRR.deb' * Instalar un paquete (incluyendo el desempaquetado y la configuración) en el sistema de ficheros del disco duro: `dpkg --install fu_VVV-RRR.deb'. * Desempaquetar (pero no configurar) un paquete Debian en el sistema de ficheros del disco duro: `dpkg --unpack fu_VVV-RRR.deb'. Esta operación _no_ deja al paquete necesariamente operativo; algunos ficheros, pueden necesitar algo más de configuración para funcionar correctamente. Esta orden borra cualquier versión del programa instalada previamente, y ejecuta el script preinst asociado al paquete. * Configurar un paquete que ha sido previamente desempaquetado: `dpkg --configure fu'. Entre otras cosas, esta acción ejecuta el script postinst asociado al paquete. También actualiza los ficheros de configuración del paquete especificados en `conffiles'. Debe notar que el argumento de la operación 'configurar' es el nombre del paquete (p.ej. fu), _no_ el del archivo del paquete Debian (p.ej. fu_VVV-RRR.deb). * Extraer un único fichero llamado digamos "blurf" (o un grupo de ficheros llamados "blurf*" de un archivo de paquete Debian: `dpkg --fsys-tarfile fu_VVV-RRR.deb | tar -xf - blurf*' * Borrar un paquete (pero no sus ficheros de configuración): `dpkg --remove fu'. * Borrar un paquete (incluidos los ficheros de configuración): `dpkg --purge fu'. * Listar el estado de los paquetes que contienen la cadena "fu*": `dpkg --list 'fu*''. 7.2. dselect ------------ Este programa es una interfaz basada en menús al sistema de gestión de paquetes de Debian. En particular es útil para primeras instalaciones y para actualizaciones a gran escala. `dselect' puede * guiar al usuario al elegir qué paquetes instalar o borrar, asegurándose de que ningún paquete esté en conflicto con otro, y que todos los paquetes necesarios para que cada uno de los elegidos funcione estén adecuadamente instalados. * avisar al usuario de inconsistencias e incompatibilidades en las elecciones * determinar el orden en el que los paquetes han de ser instalados. * realizar la instalación o borrado de forma automática y * guiar al usuario a través de cualquier proceso de configuración requerido para cada paquete. `dselect' comienza presentando al usuario un menú de 7 entradas, cada una de las cuales corresponde a una acción concreta. El usuario puede seleccionar una acción utilizando las flechas del teclado que mueven la barra iluminada y presionando INTRO para seleccionar la acción iluminada. Lo que el usuario ve a continuación depende de la acción elegida. Si elige una opción diferente de `Access' o `Select', `dselect' simplemente procederá a ejecutar la opción seleccionada: p.ej., si el usuario eligió `Remove', dselect procederá a borrar todos los ficheros marcados para ser borrados la última vez que el usuario ejecutó la opción `Select' para elegirlos. Las dos entradas `Access' y `Select' llevan a menús adicionales. En ambos casos, los menús se presentan en una pantalla dividida en dos; la parte superior presenta una lista de opciones navegable, mientras que la parte inferior presenta una explicación ("información") sobre cada una de las opciones. Una extensa ayuda en línea está disponible: Utilice la tecla '?' para acceder a la pantalla de ayuda y luego '.' para sucesivamente ver cada una de las páginas disponibles, una a una. Algunos usuarios encuentran más fácil navegar por `dselect' cuando usa colores en la salida por pantalla. Para ver los colores, asegúrese de que ha ejecutado: `export TERM=linux' antes de ejecutar `dselect'. El orden en el que las acciones se presentan en el menú inicial de `dselect' refleja el orden en el que el usuario ejecutaría normalmente `dselect' para instalar paquetes. Sin embargo, un usuario puede elegir cualquiera de las opciones tantas veces como sea necesario (incluyendo no usar ninguna opción en absoluto, dependiendo de lo que quiera hacer). * Primeramente elija un "Método de Acceso" (`Access Method'). Este será el método mediante el cual el usuario planea acceder a los paquetes de Debian; p.ej., algunos usuarios pueden acceder a los paquetes de Debian mediante un CD-ROM mientras que otros planean acceder a ellos mediante ftp anónimo. El "Médodo de Acceso" es almacenado al salir de `dselect', de forma que si no cambia, no será necesario volver a usar esta opción más. * Luego, "Actualice" (`Update') la lista de paquetes disponibles. Para ello, `dselect' lee el fichero "Packages.gz" que debería estar incluido en el directorio superior de la estructura que contiene los paquetes Debian que se van a instalar. (Aunque si no lo encuentra allí, `dselect' le permite la opción de crearlo por usted.) * Elija (`Select') para seleccionar los paquetes que desea instalar en el sistema. Tras seleccionar esta opción del menú, el sistema presenta al usuario una pantalla de ayuda; se puede salir de la ayuda (de esta y de cualquiera) presionando la barra espaciadora. Lo mejor (si es la primera vez que utiliza dselect) es que lea _toda_ la ayuda, pero presionando '.' repetidamente irá presentando todas las páginas una tras otra. Una vez que el usuario sale de la pantalla de ayuda, aparece el menú en dos secciones para la elección de los paquetes a instalar (o borrar). La parte superior es una ventana relativamente estrecha que presenta una parte de la lista de los 15180 paquetes; la parte inferior de la pantalla es una ventana con "información" sobre los paquetes o grupos de paquetes seleccionados en la parte superior. Muchos usuarios noveles suelen mostrar confusión en relación a los siguientes aspectos de la pantalla de la opción `Select': * "Marcar para borrado" de paquetes: Se puede especificar qué paquetes deben ser borrados marcando el nombre del paquete o la etiqueta de un grupo de paquetes, p.ej. "Todos" (`All') y presionando: * la tecla '-'. Esto borra la mayoría de los ficheros asociados con el paquete, pero preserva los ficheros listados como ficheros de configuración (véase Sección 6.5, `¿Qué es un conffile de Debian?') y demás información de configuración. * la tecla '_'. En este caso, se borra _cualquier_ fichero que pertenezca a este paquete. Observe que si "marca para borrar" "Todos los Paquetes" (`All Packages') su sistema quedará reducido a los paquetes base instalados inicialmente. Esto es problablemente lo que usted quería. * Si pone un paquete "en espera" (presionando `='): De forma efectiva, esto indica a `dselect' que no actualice un paquete incluso en el caso de que la versión presente en el sistema sea menos reciente que la disponible en la fuente de la distribución que esté usando (la que fue especificada cuando estableció el Método de Acceso con la opción `Access Method'). (La versión disponible en la distribución viene en el fichero `Packages.gz' que se lee al activar la opción de menú "Update") Sacar un paquete del estado de espera (presionando ':'): Se trata de la opción por defecto y significa que el paquete será actualizado siempre y cuando esté disponible una versión más reciente. * Orden de presentación de los paquetes: El orden de presentación predeterminado es por Prioridad; para cada valor de prioridad, los paquetes aparecen ordenados según el directorio (alias sección) del archivo en el que están almacenados. De esa forma, algunos paquetes de (digamos) la sección A pueden aparecer primero, seguidos de paquetes de la sección B, seguidos de otros paquetes (de prioridad más baja) de la sección A. Se puede cambiar el orden de presentación utilizando la tecla 'o' que va ciclicamente, cambiando de orden de presentación. * Significado de las etiquetas en la parte superior de la pantalla: Las etiquetas de la parte superior pueden expandirse utilizando la tecla 'v' (del inglés verbose, detallado). Al hacer esto, gran parte del texto que originalmente cabía en la pantalla se desplaza a la derecha. Para poder verlo es necesario usar la flecha derecha; para volver a la izquierda, utilice la flecha izquierda. * Qué hacer en la pantalla de conflicto/dependencia: Si un usuario elige (tanto para instalar como para borrar) un paquete, digamos `fu.deb' que depende de o recomienda otro, digamos, `blurf.deb', entonces `dselect' presentará un extracto de la pantalla principal de selección. El proceso comienza presentando la ayuda a pantalla completa, de la que se puede salir usando la barra espaciadora. Después, puede elegir los paquetes relacionados, aceptando las acciones sugeridas (de instalar o no), o rechazándolas. Para conseguir esto último, basta presionar Mayúsculas-D; para volver a las sugerencias puede usar Mayúsculas-U. En cualquier caso, puede salvar su elección y volver al menú principal de instalación mediante Mayúsculas-Q. * Una vez de vuelta al menú principal, se puede proceder a la opción de "Instalación" (`Install') para desempaquetar y configurar los paquetes elegidos. Alternativamente, si lo que quiere es eliminar ficheros, puede elegir la opción de "Borrado" (`Remove'). Puede salir del programa en cualquier momento mediante la opción `Quit'; cualquier elección que haya hecho será preservada por `dselect'. 7.2.1. dpkg-deb --------------- Este programa manipula un archivo de paquete Debian(`.deb'). Algunos de sus usos comunes son: * Averiguar cuáles son las opciones existentes: `dpkg-deb --help'. * Determinar qué ficheros están contenidos en un archivo de paquete Debian: `dpkg-deb --contents fu_VVV-RRR.deb') * Extraer los ficheros contenidos en un archivo de paquete Debian dado en un directorio especificado: `dpkg-deb --extract fu_VVV-RRR.deb tmp' extraerá los ficheros de `fu_VVV-RRR.deb' en el directorio `tmp/'. Esta operación es conveniente para examinar el contenido de un paquete en un directorio concreto, sin necesidad de instalar el paquete en el sistema de ficheros raíz. Puede obtener más información en la página de manual de `dpkg-deb'(1). 7.2.2. dpkg-split ----------------- Este programa divide un paquete grande en ficheros más pequeños (p.ej. cara a copiarlo mediante un grupo de disquetes) y puede usarse para unir de nuevo los ficheros en uno solo. Sólo se puede usar este programa en un sistema Debian pues se vale de `dpkg-deb' para desglosar el archivo de paquete Debian en sus componentes. Así, por ejemplo, si quisiera dividir un fichero .deb grande en N partes, * Ejecute la orden `dpkg-split --split fu.deb'. Esto producirá N ficheros de aproximandamente 460 KBytes cada uno en el directorio actual. * Copie los N ficheros en disquetes. * Copie el contenido de los disquetes en el disco duro que haya elegido en la otra máquina. * Una los ficheros parciales mediante `dpkg-split --join "fu*"'. 7.2.3. Debian asegura ser capaz de actualizar programas que están siendo ejecutados; ¿Cómo se puede hacer esto? ---------------------------------------------------------------------------- Debian GNU/Linux incluye un programa llamado `start-stop-daemon' que es usado por los scripts de instalación para arrancar demonios durante el proceso de arranque de la máquina o para pararlos cuando cambia el nivel de ejecución del núcleo (p.ej. si se cambia de multi-usuario a usuario-único o a parada). El programa `start-stop-daemon' también se utiliza cuando se instala un paquete nuevo que contiene un demonio, para parar demonios en ejecución y rearrancarlos según sea necesario, p.ej. cuando se instala un paquete que contiene un script de configuración actualizado. 7.2.4. ¿Cómo se puede comprobar qué paquetes han sido instalados en un sistema Debian? ---------------------------------------------------------------------------- Para averiguar cuál es el estado de todos los paquetes instalados en un sistema Debian, debe ejecutar la orden `dpkg --list'. Esto muestra un resumen de una línea por cada paquete, que contiene un símbolo de estado de 2 letras, el nombre del paquete correspondiente, la versión que está _instalada_, y una descripción muy breve del mismo. Para averiguar el estado de los paquetes que encajan con un patrón que empiece por "fu" puede ejecutar la orden `dpkg --list 'fu*'' Para obtener información más detallada de un paquete en particular puede usar la orden `dpkg --status fu'. 7.3. ¿Cómo se puede averiguar qué paquete produjo un fichero en particular? --------------------------------------------------------------------------- Para indentificar el paquete que produjo un fichero llamado `fu' puede usar cualquiera de las siguientes opciones: * `dpkg --search nombredefichero'. En este caso se busca el fichero `nombredefichero' entre los paquetes instalados. (Esto equivale (actualmente) a buscar todos los ficheros de extensión `.list' contenidos en el directorio `/var/lib/dpkg/info/'.) * `grep fu Contents', o `zgrep fu Contents.gz'. Esto realiza una búsqueda de ficheros que contengan la subcadena `fu' en cualquier parte de sus caminos completos. Los ficheros `Contents' y `Contents.gz' residen en los directorios principales (stable, non-free, contrib, development) de un sitio FTP de Debian. Cada fichero `Contents' se refiere únicamente a los paquetes que se encuentran bajo el árbol de directorios en el que se encuentra. Por ello, es posible que tenga que buscar más de un fichero `Contents' para encontrar cual es el paquete que tiene el fichero `fu'. Este método tiene como ventaja sobre `dpkg --search' que es capaz de encontrar ficheros contenidos en paquetes que no han sido instalados previamente en el sistema. ------------------------------------------------------------------------------- 8. Actualización del sistema Debian ----------------------------------- Uno de los objetivos de Debian es proporcionar una vía de actualización consistente y un proceso de actualización seguro. Siempre hacemos lo posible para que las actualizaciones a nuevas versiones se produzcan de una forma sencilla. En caso de que haya alguna nota importante que añadir al proceso de actualización, el paquete avisará al usuario, y a menudo proporcionará una solución a un posible problema. Debe también leer las Notas de Publicación, el documento que describe los detalles sobre actualizaciones concretas, que se encuentra en todos los CDs de Debian, y también está disponible en la WWW en http://www.debian.org/releases/stable/releasenotes. 8.1. ¿Cómo puedo actualizar mi distribución Debian 1.3.1 (o anterior), basada en libc5, a la versión 2.0 (o posterior), basada en libc6? ---------------------------------------------------------------------------- Hay varias formas de actualizarse: * Utilizando un sencillo script de shell llamado `autoup.sh' que actualiza los paquetes más importantes. Después de que `autoup.sh' ha hecho su trabajo, puede utilizar dselect para instalar los paquetes que falten _en masa_. Este es probablemente el método recomendado, pero no el único. Actualmente, la última versión de `autoup.sh' puede encontrarse en los siguientes lugares: * http://www.taz.net.au/autoup/ * http://csanders.vicnet.net.au/autoup/ Se espera que esté en los archivos FTP de Debian algún día. * Siguiendo de cerca el libc5-libc6-Mini-HOWTO (ftp://ftp.debian.org/pub/debian/doc/libc5-libc6-Mini-HOWTO.txt) y actualizar los paquetes más importantes a mano. `autoup.sh' está basado en este Mini-HOWTO, así que este método debería funcionar más o menos como usar `autoup.sh'. * Usando una versión libc5 de APT. APT quiere decir "A Package Tool" (una herramienta de paquetes), y podría sustituir a dselect algún día. De momento, funciona simplemente como un interfaz de línea de órdenes, o como método de acceso de dselect. Encontrará una versión libc5 en el directorio `dists/slink/main/upgrade-older-i386' en los archivos de Debian. * Utilizando únicamente dselect, sin actualizar primero ningún paquete a mano. Se recomienda encarecidamente que NO utilice este método si puede evitarlo, porque dselect, por sí solo, actualmente no instala los paquetes en el orden óptimo. APT funciona mucho mejor y es más seguro. 8.2. ¿Cómo puedo mantener mi Sistema Debian actualizado? -------------------------------------------------------- Uno puede simplemente realizar un ftp anónimo a un archivo de Debian, buscar por los directorios hasta encontrar el fichero deseado, traérselo y finalmente instalarlo usando `dpkg'. Observe que `dpkg' instalará los ficheros actualizados en el momento, incluso en un sistema ya en marcha, sin tener que detenerlo. A veces, un paquete revisado requerirá la instalación de la versión actualizada de otro paquete, en cuyo caso la instalación fallará hasta que/a menos que el otro paquete esté instalado. Mucha gente encuentra que esta forma de actualizar lleva mucho tiempo debido a que Debian evoluciona tan rápidamente---semanalmente se suelen añadir una docena de paquetes nuevos, o más. Este número es mayor cuando se aproxima la publicación de una nueva versión. Para poder manejarse bien con tal avalancha, mucha gente prefiere usar un programa automatizado. Hay disponibles tres paquetes diferentes para este propósito: 8.2.1. dpkg-ftp --------------- Éste es un método de acceso para `dselect'. Se puede invocar desde el propio `dselect', permitiendo así al usuario obtener ficheros e instalarlos en un sólo paso. Para hacer ésto, arranque el programa `dselect', elija la opción "0" ("Choose the access method to use"), marque la opción "ftp" y luego especifique la máquina y directorio remotos. `dpkg-ftp' transferirá entonces los ficheros seleccionados a su máquina (ya sea en esta sesión de `dselect' o en posteriores). Observe que, al contrario que el programa `mirror', `dpkg-ftp' no recoge todos los ficheros del sitio réplica, sino que transfiere sólo los ficheros que haya seleccionado, y que necesiten ser actualizados. `dpkg-ftp' está disponible en el directorio `stable/binary-all/net/' en cualquier archivo de Debian. 8.2.2. mirror ------------- Este script Perl, y su programa gestor (opcional) denominado `mirror-master', pueden usarse para obtener partes especificadas del árbol de directorios de un servidor especificado, _via_ ftp anónimo. 8.3. ¿Debo cambiar a modo monousuario para actualizar un paquete? ----------------------------------------------------------------- No. Los paquetes pueden actualizarse en cualquier momento, incluso en sistemas en funcionamiento. Debian tiene un programa llamado `start-stop-daemon' que se invoca para parar y luego rearrancar un proceso en ejecución si es necesario durante la actualización de un paquete. 8.4. ¿Tengo que guardar todos esos ficheros .deb en mi disco? ------------------------------------------------------------- No. Si se ha bajado los ficheros a su disco (lo que no es absolutamente necesario después de que los haya instalado, puede borrarlos del sistema. 8.4.1. ¿Cómo puedo mantener un registro de los paquetes que he ido añadiendo al sistema? ---------------------------------------------------------------------------- `dpkg' mantiene un registro de los paquetes que han sido desempaquetados, configurados, borrados, y/o purgados, pero no mantiene un registro (de momento) de los mensajes que envía al terminal cuando el paquete se está manipulando. Algunos usuarios realizan esta tarea simplemente usando `tee': dpkg -iGOEB -R stable/binary non-free/binary contrib/binary | \ tee -a /root/dpkg.log La misma orden usando los parámetros largos quedaría: dpkg --install --refuse-downgrade --selected-only \ --skip-same-version --auto-deconfigure \ --recursiv estable/binary non-free/binary contrib/binary | \ tee -a /root/dpkg.log ------------------------------------------------------------------------------- 9. Debian y el núcleo --------------------- 9.1. ¿Qué herramientas proporciona Debian para crear núcleos personalizados? ---------------------------------------------------------------------------- Se recomienda a todos aquellos usuarios que deseen (o necesiten) compilar un núcleo personalizado que obtengan el paquete `kernel-package' (que se encuentra en la sección `misc' en los sitios FTP de Debian). Este paquete contiene el script necesario para compilar el núcleo, y permite crear un paquete Debian kernel-image sólo con la ejecución de la orden `make-kpkg kernel_image' en el directorio principal de los fuentes del núcleo. Hay disponible una ayuda ejecutando la orden `make-kpkg --help', y en la página manual de make-kpkg(1). Los usuarios deberán obtener separadamente el código fuente del último núcleo (o del núcleo que quieran) de su servidor de Linux favorito. Para construir un núcleo personalizado, se deberán tener los siguientes paquetes instalados: `gcc', `libc6-dev', `bin86', `binutils', y `make'. En el fichero `/usr/share/doc/kernel-package/README.gz' se dan instrucciones detalladas del uso del paquete. Resumidamente se debe: * Descomprimir los fuentes del núcleo, y hacer un `cd' al directorio recién creado. * Modificar la configuración del núcleo usando una de las siguientes órdenes: * `make config' (para terminales, con un interfaz línea-a-línea). * `make menuconfig' (para un interfaz por menús basado en ncurses). Observe que para usar esta opción debe estar instalado el paquete `libncurses5-dev'. * `make xconfig' (para un interfaz X11). Para usar esta opción se requiere tener instalados los paquetes relevantes de X. Cualquiera de los pasos anteriores genera un nuevo `.config' en el directorio principal de los fuentes del núcleo. * Ejecutar la orden: `make-kpkg -rev Custom.N kernel_image', donde N es un número de revisión asignado por el usuario. El nuevo archivo Debian así creado tendrá la revisión Custom.N, por ejemplo, `kernel-image-2.4.27_Custom.1_i386.deb' para el núcleo 2.4.27. * Instalar el paquete creado. * `Ejecute dpkg --install /usr/src/kernel-image-VVV_Custom.N.deb' para instalar el núcleo. El script de instalación, * ejecutará el cargador de arranque, LILO (si está instalado), * instalará el núcleo personalizado en /boot/vmlinuz_VVV-Custom.N, y establecerá los enlaces simbólicos apropiados a la nueva versión del núcleo. * preguntará al usuario si quiere hacer un disquete de arranque. Este disco de arranque contendrá sólo el núcleo. Mire las notas adicionales sobre la creación de un Sección 9.2, `¿Cómo puedo crear un disco de arranque personalizado?'. * Para usar otros cargadores de arranque (como `loadlin'), puede copiar esta imagen a otros lugares (por ejemplo, a una partición `MS-DOS'). 9.2. ¿Cómo puedo crear un disco de arranque personalizado? ---------------------------------------------------------- Esta tarea se facilita mucho con el paquete `boot-floppies', que se encuentra normalmente en la sección `admin' de los archivos FTP de Debian. Los scripts de este paquete producen discos de arranque en el formato `SYSLINUX'. Son discos con formato `MS-DOS' cuyo master boot record (registro maestro de arranque) ha sido alterado para que arranque Linux (o cualquier otro sistema operativo que se haya definido en el fichero syslinux.cfg en el disquete) directamente. Otros scripts de este paquete sirven para producir discos root de emergencia y pueden incluso reproducir los discos base. Encontrará más información acerca de esto en el fichero `/usr/share/doc/boot-floppies/README' después de instalar el paquete `boot-floppies'. 9.3. ¿Qué medios especiales proporciona Debian para el uso de módulos? ---------------------------------------------------------------------- El paquete `modconf' de Debian proporciona un shell script (`/usr/sbin/modconf') que puede usarse para personalizar la configuración de los módulos. Este script presenta un interfaz basado en menús, preguntando al usuario acerca de las particularidades de los controladores de dispositivos de su sistema. Las respuestas se utilizan para personalizar el fichero `/etc/conf.modules' (que lista alias y otros argumentos que deben usarse conjuntamente con algunos módulos), y `/etc/modules' (que lista los módulos que deben cargarse en el arranque). Al igual que los (nuevos) ficheros Configure.help que hay ahora disponibles para ayudar en la construcción de núcleos personalizados, el paquete modconf viene con una serie de ficheros de ayuda (en `/usr/lib/modules_help/') que proporcionan información detallada sobre los argumentos apropiados para cada uno de los módulos. 9.4. ¿Puedo desinstalar sin peligro un núcleo antiguo y, si es así, cómo? ------------------------------------------------------------------------- Sí. El script `kernel-image-NNN.prerm' comprueba antes si el núcleo que está utilizando actualmente es el mismo que quiere desinstalar. Por lo tanto puede borrar paquetes de núcleos no deseados ejecutando la siguiente orden: dpkg --purge --force-remove-essential kernel-image-NNN ------------------------------------------------------------------------------- 10. Personalización de la instalación de Debian GNU/Linux --------------------------------------------------------- 10.1. ¿Cómo puedo asegurarme de que todos los programas usen el mismo tamaño de papel? ---------------------------------------------------------------------------- Instale el paquete `libpaper1', y le pedirá un tamaño de papel predeterminado para todo el sistema. Este valor se guardará en el fichero `/etc/papersize'. Puede especificarse también mediante la variable de entorno `PAPERSIZE'. Para más detalles consulte la página de manual papersize(5). 10.2. ¿Cómo puedo proporcionar acceso a periféricos de hardware sin comprometer la seguridad? ---------------------------------------------------------------------------- Muchos ficheros de dispositivos del directorio `/dev' pertenecen a ciertos grupos predefinidos. Por ejemplo `/dev/fd0' pertenece al grupo `floppy', y `/dev/dsp' pertenece al grupo `audio'. Para que un usuario determinado tenga acceso a uno de dichos dispositivos, añada al usuario al grupo al que pertenece el dispositivo, es decir: adduser usuario grupo Esto evita tener que ejecutar chmod sobre el dispositivo. 10.3. ¿Cómo cargo una fuente de consola en el arranque al estilo Debian? ------------------------------------------------------------------------ Los paquetes `kbd' y `console-tools' ahora admiten esto, edite el fichero `/etc/kbd/config' o `/etc/console-tools/config'. 10.4. ¿Cómo puedo configurar los valores por omisión de una aplicación X11? --------------------------------------------------------------------------- Los programas X de Debian instalan sus ficheros de recursos en el directorio `/etc/X11/app-defaults/'. Si quiere personalizar aplicaciones X de forma global, cambie dichos ficheros. Están marcados como ficheros de configuración, así que su contenido se mantendrá entre actualizaciones. 10.5. Cada distribución parece tener un método diferente para `arrancar'. Cuénteme acerca del usado por Debian. ---------------------------------------------------------------------------- Como todo UNIX, Debian arranca ejecutando el programa `init'. El fichero de configuración para `init' (que es `/etc/inittab') especifica que el primer script que debe ejecutarse será `/etc/init.d/rcS'. Este script verifica y monta los sistemas de ficheros, carga módulos del núcleo, comienza los servicios de red (llamando al script `/etc/init.d/network'), programa el reloj, inicializa alguna otra cosa, y luego ejecuta todos los scripts (excepto aquellos con un '.' en el nombre) en `/etc/rc.boot/'. Estos scripts especifican el teclado a usarse, recuperan ficheros perdidos estando en un editor, y configuran los puertos serie. Después de completar el arranque, `init' ejecuta todos los scripts de inicio de un directorio indicado por el runlevel predeterminado (este valor se especifica por la entrada `id' en `/etc/inittab'). Como la mayoría de los UNIX compatibles con System V, Linux tiene 7 runlevels: 0 (detiene el sistema), 1 (modo único-usuario), de 2 a 5 (varios modos multi-usuario), y 6 (reinicializar el sistema). Los sistemas Debian vienen configurados con id=2, lo que indica que el runlevel será de `2' al entrar al estado multi-usuario, y que se ejecutarán los scripts en `/etc/rc2.d/'. De hecho, los scripts en cualquiera de los directorios `/etc/rcN.d/' son sólo enlaces simbólicos de vuelta a los scripts en `/etc/init.d/'. Sin embargo, los _nombres_ de los ficheros en cada uno de los directorios `/etc/rcN.d/' están elegidos para indicar la _manera_ en que los scripts en `/etc/init.d/' serán ejecutados. Específicamente, antes de entrar a cualquier runlevel, se ejecutan todos los scripts cuyo nombre comienza con 'K'; estos scripts detienen servicios. Luego se ejecutan todos los scripts cuyo nombre comienza con 'S'; estos scripts inician servicios. El número de dos dígitos que sigue a la 'K' o 'S' indica el orden en que los scripts se ejecutarán. Los de números más bajos se ejecutarán primero. Esta estrategia funciona porque los scripts en `/etc/init.d/' llevan todos un argumento que puede ser `start' (comenzar), `stop' (terminar), o `reload' (reiniciar), y llevarán a cabo la tarea indicada por éste. Por ejemplo, con el argumento `reload' la orden `/etc/init.d/sendmail reload' envía al daemon sendmail un señal que le hace releer su fichero de configuración. Estos scripts se pueden usar para controlar varios procesos incluso después de que el sistema haya sido iniciado. 10.6. Parece ser que Debian no usa `rc.local' para personalizar el proceso de inicialización, ¿qué facilidades provee Debian para esta tarea? ---------------------------------------------------------------------------- Suponga que un sistema necesita ejecutar el script `fu' al inicializar, o al entrar en un runlevel en particular. Entonces el administrador del sistema debería: * Colocar el script `fu' en el directorio `/etc/init.d/'. * Ejecutar la orden `update-rc.d' con argumentos apropiados para preparar enlaces entre los directorios rc?.d (especificados desde la línea de órdenes) y `/etc/init.d/fu'. Aquí, '?' es un número de 0 a 6 y coresponde a un runlevel estilo System V. * Reinicializar el sistema. La orden `update-rc.d' creará enlaces entre ficheros en los directorios rc?.d y el script en `/etc/init.d/'. Cada enlace comenzará con una 'S' o una 'K', seguida de un número, seguido por el nombre del script. Los scripts que comiencen con 'S' en `/etc/rcN.d/' serán ejecutados al entrar al runlevel `N'. Los que lo hagan con con una 'K' serán ejecutados al dejar el runlevel `N'. Uno podría, por ejemplo, obligar al script `fu' a ejecutarse en el arranque, poniéndolo en `/etc/init.d/' e instalando los enlaces con `update-rc.d fu defaults 19'. El argumento 'defaults' se refiere a los runlevels predeterminados, que son los que van del 2 al 5. El argumento '19' se asegura de que `fu' sea llamado antes que cualquier otro script que contenga el número 20 o un número mayor. 10.7. ¿Cómo puedo reemplazar un fichero instalado por un paquete con otro? -------------------------------------------------------------------------- Suponga que el administrador o un usuario local desea usar el programa "login-local" en lugar del "login" provisto por el paquete Debian `login'. No: * Sobreescriba `/bin/login' con `login-local'. El sistema administrador de paquetes no tendrá conocimiento acerca de este cambio, y simplemente reescribira su `/bin/login' cuando `login' (o cualquier paquete que provea `/bin/login') sea instalado o actualizado. En lugar de eso, * Ejecute `dpkg-divert --divert /bin/login.debian /bin/login' para indicar que todas las futuras instalaciones de paquetes `login' escriban el fichero `/bin/login' en `/bin/login.debian'. * Luego ejecute `cp login-local /bin/login' para mover su versión localmente compilada a su lugar. El mensaje acerca del uso de `dpkg-divert' provee más detalles (los cuales se pueden ver usando la orden `dpkg-divert --help'). Hay más información disponible en el ftp://ftp.debian.org/debian/doc/package-developer/programmer.ps.gz. 10.8. ¿Cómo puedo incluir el paquete Debian que creé localmente en la lista de paquetes disponibles usada por el sistema de administración de paquetes? ---------------------------------------------------------------------------- Puede hacer esto de cualquiera de las siguientes dos maneras: * Use `dselect', y vuelva a seleccionar el método de acceso. Se le preguntará por un directorio en donde sus paquetes locales residen. * Ejecute la orden `dpkg-scanpackages DIR_BIN FICHERO_DE_REEMPLAZOS [PREFIJO] > Packages.nuevo' donde: * DIR-BIN es un directorio donde se hayan almacenados archivos Debian (que normalmente tendrán la extensión ".deb"). * FICHERO_DE_REEMPLAZOS es un fichero que es editado por los que mantienen la distribución y normalmente se almacena en un archivo ftp Debian en `indices/override.main.gz' para la distribución principal ("main"). * PREFIJO es una secuencia de caracteres opcional que puede añadirse en el fichero Packages.new que está siendo producido. Una vez que haya armado el fichero `Packages.nuevo', avise al sistema administrador de paquetes sobre él con la orden `dpkg --update-avail Packages.nuevo'. 10.9. A algunos usuarios les gusta mawk, a otros les gusta gawk; algunos prefieren vim mientras que otros prefieren elvis; algunos quieren usar trn, a otros les gusta tin; ¿cómo soporta Debian la diversidad? ---------------------------------------------------------------------------- Hay muchos casos en donde dos paquetes proveen dos versiones diferentes de un programa, los cuales proveen la misma funcionalidad básica. Los usuarios podrían preferir uno sobre el otro por hábito, o porque la interfaz de uno es algo más agradable que la de otro. Otros usuarios en el mismo sistema pueden elegir diferente. Debian usa un sistema de paquetes "virtual" para permitir a los administradores elegir (o dejar que los usuarios elijan) sus herramientas favoritas cuando hay dos o más que proveen la misma funcionalidad básica, y al mismo tiempo permitir que se satisfagan las dependencias sin necesidad de especificar un paquete en particular. Por ejemplo, podrían existir dos versiones diferentes de lectores de news en un sistema. El paquete servidor de news podría `recomendar' que exista _algún_ lector en el sistema, pero la elección de `tin' o `trn' se puede dejar a cada usuario. Esto se logra haciendo que ambos paquetes provean el paquete virtual `news-reader'. _Cuál_ de los programas es invocado será determinado por un enlace apuntando desde un fichero con el nombre del paquete virtual `/etc/alternatives/news-reader' al fichero seleccionado, p. ej. `/usr/bin/trn'. Un simple enlace es insuficiente para soportar el uso completo de un programa alternativo, normalmente páginas de manual y posiblemente otros ficheros de soporte pueden ser seleccionados también. El script Perl `update-alternatives' provee una manera de asegurar que todos los ficheros asociados con un paquete específico sean seleccionados como valor por omisión en el sistema. ------------------------------------------------------------------------------- 11. Cómo obtener soporte para Debian GNU/Linux ---------------------------------------------- 11.1. ¿Qué otra documentación existe sobre y para un sistema Debian? -------------------------------------------------------------------- * Instrucciones de instalación para la versión actual: ver http://www.debian.org/releases/stable/installmanual. * El manual de normas de Debian documenta los requisitos de la distribución, es decir, la estructura y contenido de los archivos de Debian, varias cuestiones de diseño del sistema operativo, etc. También incluye los requisitos técnicos que deben satisfacer los paquetes para que sean incluidos en la distribución, y documenta los aspectos técnicos básicos de los paquetes Debian binarios y fuentes. Se puede obtener del paquete `debian-policy', o en http://www.debian.org/doc/devel-manuals#policy. * Documentación sobre paquetes Debian instalados: La mayoría de los paquetes tienen ficheros que son desempaquetados en `/usr/share/doc/PAQUETE'. * Documentación sobre el proyecto Linux: El paquete Debian `doc-linux' instala las versiones más recientes de todos los HOWTOs y mini-HOWTOs procedentes del Linux Documentation Project (http://www.tldp.org/). * Páginas 'man' estilo Unix: La mayoría de las órdenes tienen páginas de manual escritas en el estilo de los ficheros 'man' originales de Unix. Están referenciados por la sección del directorio 'man' donde residen: p.ej., fu(3) se refiere a una página de manual que reside en /usr/share/man/man3/, y puede ser llamada usando la orden: `man 3 fu', o simplemente `man fu' si la sección 3 es la única que contiene una página sobre `fu'. Se puede saber qué directorio de `/usr/share/man/' contiene una cierta página de manual ejecutando `man -w fu'. Los nuevos usuarios de Debian deben tener en cuenta que las páginas 'man' de muchas órdenes generales del sistema no estarán disponibles hasta que instalen estos paquetes: * `man-db', que contiene el propio programa `man', así como otros programas para manipular las páginas de manual. * `manpages', que contiene las páginas de manual del sistema(ver Sección 4.7, `¿Cómo soporta Debian los idiomas no ingleses?'). * Páginas 'info' estilo GNU: La documentación de usuario de muchas órdenes, particularmente herramientas GNU, no está disponible en páginas 'man', sino en ficheros 'info' que se pueden leer con la herramienta GNU `info', ejecutando `M-x info' desde GNU Emacs, o con cualquier otro visor de páginas Info. Su principal ventaja sobre las páginas 'man' originales es que componen un sistema hipertexto. _No_ requiere la WWW; `info' puede ejecutarse desde una consola de texto. Fue diseñado por Richard Stallman y precedió la WWW. También se puede acceder a un montón de documentación del sistema utilizando un navegador Web, a través de las órdenes `dwww' o `dhelp', que se encuentran en sus paquetes respectivos. 11.2. ¿Existe algún recurso en línea para hablar sobre Debian? -------------------------------------------------------------- Sí. De hecho, el método principal de soporte al usuario que proporciona Debian es por medio del correo electrónico. 11.2.1. Listas de correo ------------------------ Hay un montón de Listas de correo sobre Debian (http://www.debian.org/MailingLists/). En un sistema que tenga instalado el paquete `doc-debian' hay una lista completa de las listas de correo en `/usr/share/doc/debian/mailing-lists.txt'. Las listas de correo de Debian tienen nombres de la forma debian-, por ejemplo, debian-announce, debian-user, debian-news. Para suscribirse a cualquier lista debian-, envía un mensaje a debian--request@lists.debian.org con la palabra "subscribe" en la cabecera Subject:. Asegúrese de añadir _-request_ a la dirección de correo cuando utilice este método para suscribirse o darse de baja, porque de lo contrario el mensaje irá a la propia lista, lo cual puede ser embarazoso o desconcertante, dependiendo de su punto de vista. Si tiene un navegador de Web, puede suscribirse a las listas de correo utilizando el Formulario WEB (http://www.debian.org/MailingLists/subscribe). También puede darse de baja utilizando un Formulario WEB (http://www.debian.org/MailingLists/unsubscribe). La dirección de correo del gestor de la lista es , en caso de que tenga cualquier problema. Los archivos de las lisats de correo de Debian están disponibles a través de la WEB en http://lists.debian.org/. 11.2.1.1. ¿Cuál es el código de conducta en las listas de correo? ----------------------------------------------------------------- Cuando use una de las listas de correo de Debian, por favor siga estas reglas: * No envíe spam. * No ofenda; no es cortés. Además, la gente que está desarrollando Debian son todos voluntarios que donan su tiempo, energía y dinero en un intento de agrupar los esfuerzos del proyecto Debian. * No use lenguaje obsceno; hay quien recibe las listas via packet radio, donde las palabras malsonantes son ilegales. * Asegúrese de que está usando la lista adecuada. _No_ envíe nunca solicitudes de suscripción o de baja a la propia lista [1] * Consulte la sección Sección 11.5, `¿Cómo informo de un bug en Debian?' sobre cómo comunicar bugs. [1] Utilice la dirección debian--REQUEST@lists.debian.org para ello. 11.2.2. Mantenedores -------------------- Los usuarios pueden hacer preguntas a los mantenedores de los paquetes por correo electrónico. Para ponerse en contacto con el encargado de un paquete llamado xyz, envíe un mensaje a la dirección _xyz@packages.debian.org_ También se pueden conocer los nombres y direcciones de correo de los mantenedores buscándolo en el fichero "Packages", ya que este fichero es simplemente una concatenación de todos los ficheros de control de paquete disponibles en un árbol de directorios en particular. Para extraer el fichero de control de un paquete Debian en