Next Previous Contents

12. Personalización de la instalación de Debian GNU/Linux

12.1 ¿Cómo puedo asegurarme de que todos los programas usen el mismo tamaño de papel?

El fichero /etc/papersize contiene el nombre del tamaño de hoja usado por omisión en todo el sistema (por ej. letter o A4). Puede especificarse también mediante la variable de entorno PAPERSIZE. Para más detalles consulte la página de manual papersize(5).

12.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. Esto evita tener que ejecutar chmod sobre el dispositivo.

12.3 ¿Cómo cargo una fuente de consola en el arranque al estilo Debian?

El paquete kbd ahora admite esto, mire en /etc/kbd/config.

12.4 ¿Cómo puedo configurar los valores por omisión de una aplicación X11?

La instalación Debian de X11 espera que usted mantenga los ficheros en /usr/X11R6/lib/X11/app-defaults/ sin cambios. Si usted desea configurar aplicaciones X globalmente, añada sus preferencias en /etc/X11/Xresources. Este archivo está marcado como un archivo de configuración, por lo tanto su contenido se mantendrá entre actualizaciones.

12.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.

12.6 Pareciera 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:

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.

12.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:

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,

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 Manual del Programador Debian.

12.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:

12.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.


Next Previous Contents