Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Tutoriales / La Guía del enROOTador para Linux - Varios (I)

La Guía del enROOTador para Linux - Varios (I)

 ----- 
GNU Free Documentation License Tutorial de Eric Dumas - 14 de Febrero de 2006
Temas Relacionados: Linux
67. Varios (I)


Puede ser muy útil el tener en un disquete un núcleo para arrancar desde él. Para hacerlo, tome un disquete formateado y vaya a la raíz de su disco. Identifique su núcleo. Debe llamarse zImage o vmlinuz.

Cópielo en el disquete :

cat /zImage > /dev/fd0

después haga (ejemplo) :

rdev /dev/fd0 /dev/hda2
rdev -R /dev/fd0 1

el segundo parámetro de la primera instrucción debe ser el nombre de la partición raíz Linux de su sistema.

Este disquete le permite arrancar (¡pruébelo!).


En resumen : Ha perdido su contraseña de root... Bueno, hay varias soluciones. La primera :

  1. Arranque con los disquetes boot y root de su distribución.
  2. Entre como root (ahí, no hay contraseña).
  3. Monte la raíz del disco duro : mount -t ext2 /dev/hda1 /mnt
  4. Vaya al directorio /mnt. Sólo queda editar el archivo /mnt/etc/passwd, y suprimir la contraseña de root : root::0:0:root:/root:/bin/bash.

Arranque Linux normalmente, y en principio no necesita contraseña para entrar como root.

Bueno, pasemos a otras soluciones : Rearrancar el pc en modo single-user. Para esto, en el momento de arrancar con LILO, decirle LILO: linux single (reemplace aquí linux por el nombre con el cual LILO conoce a su núcleo). Aparecerá un intérprete de órdenes en modo superusuario. Atención : el teclado esta en qwerty y la partición en modo sólo lectura. Para remediarlo :

loadkeys /usr/lib/kbd/keytables/fr.map (es.map)
mount -w -n -o remount /

Utilice la orden passwd, o edite el archivo /etc/passwd

Si no dispone de disquete de arranque, a menudo puede resolverlo pasando init=/bin/sh al arrancar. Seguidamente, monte la raíz y edite el fichero /etc/passwd a mano.

¿


El problema de arrancar en modo single-user, es que cualquiera puede entrar en la máquina como root. Para las empresas y las universidades, se plantea un problema de seguridad. Ciertas estaciones UNIX permiten colocar una contraseña en la EPROM de la máquina. Linux permite pedir la contraseña de root en modo single-user.

Para ello, debe recuperar las fuentes del programa init que se lanza en el momento de iniciar el sistema. Al principio del programa init.c, modifique la definición de la constante SOME_USER para que tenga el valor 2, recompile init, y re-instálelo.

Esta primera solución puede resultar de todas maneras insuficiente ya que una persona puede siempre arrancar sobre otro dispositivo (utilizando la opción root = Milinux).

Utilizando Lilo, ¡no hay problema ! basta agregar las lineas siguientes para cada una de las imágenes en el archivo /etc/lilo.conf:

password = la contraseña sin encriptar
restricted

(¡piense en colocar este archivo en modo sólo lectura para el super-usuario sin ningún derecho para los demás!)

El arranque normal de cada imagen pasa sin problema y sin pedir la contraseña (importante si uno quiere que la máquina se reinicie sola en caso de lío : apagón, reboot a distancia, ...) pero si uno quiere pasarle parámetros al núcleo en el momento del arranque, Lilo pide en ese momento la contraseña.


Linux permite trabajar al mismo tiempo en varias ventanas de texto. Para pasar de una a otra, pulse Alt + Fn donde n es el número de la ventana virtual y Fn una tecla de función (por ejemplo F1, F2 ...). Puede configurar el número de ventanas en el archivo /etc/inittab.

Cuando se está bajo X, la combinación es Ctrl + Alt + Fn. Es entonces posible regresar bajo X accediendo así a la consola empleada (la primera "libre", es decir no manejada por un getty). Por ejemplo, si tiene 6 consolas virtuales (de Alt F1 hasta Alt F6 ); usa Alt-F7.

Utilice maj + paginas(teclas "SHIFT" y "página precedente" o "página siguiente") para "pasearse". Esto funciona también bajo xterm.


Principios


Las consolas virtuales son dispositivos. Hay 63 (o más si se modifica y recompila el núcleo). Se corresponden con los ficheros "especiales" tty1 ... tty63 del directorio /dev.

Para poder utilizarlas, es necesario asociar un proceso al terminal. Este es el papel de las utilidades como agetty. De hecho es interesante observar (con la ayuda de top) la evolución de los procesos en el momento del acceso de los usuarios;

Lo primero que hace agetty (como root) es pedirnos nuestro nombre de usuario. Al pulsar "intro", agetty ejecuta el programa login (siempre como root) como proceso hijo.

login (asociado a la CV como hijo de agetty) nos pide la contraseña. Entonces lanza nuestro intérprete de órdenes (ahora ya como "usted").

Podemos observar que al terminar nuestra sesión (es decir, al finalizar la ejecución de nuestro intérprete de órdenes), se vuelve a ejecutar un agetty.

Configuración


Aquí es donde interviene el fichero inittab. init (de PID 1), es el proceso padre de todos los procesos. Como es el primer proceso, es el encargado de lanzar los agetty. Para ello se sirve del fichero de configuración /etc/inittab.

Entre otras cosas, este fichero contiene líneas del tipo:


c1:1235:respawn:/sbin/agetty 38400 tty1 linux



Para una explicación detallada, véase a página del manual de inittab(5). A grandes rasgos, significa que init lanza un agetty en /dev/tty1 y que lo vuelve a ejecutar cada vez que muere (respawn) con un tipo de terminal Linux cuando nos encontramos en los "runlevels" 1,2,3 o 5.

Por tanto, debe existir una línea de este tipo por cada consola virtual.

Aquí vemos que hay tantos agetty en ejecución como consolas virtuales utilizables, y que estamos limitados por este número de líneas en inittab (a menos que lancemos 63 agetty...).

Existe otro método: la asignación dinámica de CV. Esto se consigue gracias a un pequeño demonio (cspawnd)

ftp://ftp.lip6.fr/pub/linux/sunsite/utils/console/dynamic-vc-1.1.tar.gz

cspawnd is normally started in rc.local as a daemon that is signaled by the kernel when the console user presses the Spawn_Console key (see below). Upon receipt of a signal from the kernel, cspawnd activates the newly allocated VC and spawns a getty process to enable the user to login. In its default configuration, it also attempts to periodically deallocate unused VCs.

(NT: en inglés en el original)

Por tanto es conveniente dejar una CV gestionada por el primer método, asignando las demás dinámicamente.

Las teclas


Ahora debemos poder pasar de una CV a otra. Es el núcleo quien se encarga de ello. Cuando una tecla "ConsoleN" (N=1...63) es pulsada, el núcleo asocia la CV númeroi N a la consola (la real).

Tambien existen "Decr_Console" e "Incr_Console" que, respectivamente, incrementan y decrementan el número de la consola; así como Last_Console, que pasa a la última consola utilizada. cspawnd añade la tecla "Spawn_Console" (ver más arriba).

Queda asociar esto a teclas (o combinaciones de teclas) del teclado. Esto se consigue gracias a la utilidad loadkeys (ejecutada por init al inicio [en un fichero /etc/rcXXX]). Esta utilidad toma como parámetro un fichero .map (seguramente /usr/lib/kbd/keytables/es.map) que contiene líneas del estilo:

keycode 87 = F11 F11 Console_23
control keycode 87 = F11
alt keycode 87 = Console_11
control alt keycode 87 = Console_11

Por supuesto, se puede encontrar toda esta informació en las páginas de man y todas las ayudas en línea a nuestra disposición. Citemos loadkeys(8), init(8), inittab(5), cspawnd(8) así como los ficheros del directorio /usr/src/linux/Documentation.


(NR: en general Internacionalización)

locale nls


Los "locales" son un sistema que permite gestionar lo mas apropiadamente posible las diferencias de lenguaje y de estilo de los usuarios. Por ejemplo, los francófonos prefieren escribir 3,14 mejor que 3.14, no anotan las fechas como los Australianos (quienes no lo hacen como los Estados-Unidos), etc. Cada usuario debe entonces poder escoger un local que le convenga y las aplicaciones bien hechas (raras son aquellos que gestionan completamente los locales pero son numerosas las que los utilizan al menos un poco) se adaptan sin recompilación. En resumen, se trata de dejar las preferencias nacionales fuera de la aplicación, como con el sistema de recursos del MacOS.

Si es programador, puede consultar el locale-tutorial (distributions/jurix/source/libc/nls o sunsite/utils/nls) o el Mini- HOWTO sobre los Locales. Si es un simple usuario, puede conocer los locales instalados en su sistema con local -a (los nombres parecen estar poco estandarizados, verá cadenas del tipo "fr_FR" o "fr_FR.ISO8859-1") y seleccionar uno con las variables de entorno como LANG o LC_CTYPE (man local tal vez le sea de ayuda).

Si es el administrador de una máquina, y los locales no funcionan como desea, puede leer el Mini-HOWTO sobre los Locales y/o este modesto texto.

Si Linux no llegó con una instalación correcta de los locales ( no creo que exista una buena distribución desde este punto de vista), tiene dos soluciones. Yo solo probé la primera y solo funciona bien con un núcleo superior o igual a 2.0 y una libc versión 5.2.18 o superior.

Primera solución : compilar los programas de la libc y utilizar el paquete WG15-collection.

Para esto, debes recuperar las fuentes de la libc. no es necesario compilarla completa, solo los programas de gestión de los locales, que permiten especialmente producir un archivo binario a partir de la fuente de un local. Para resumir la instalación :

Recuperar libc (aquí 5.2.18), por ejemplo en ftp://ftp.lip6.fr/pub/linux/GCC.

(pasar a root)
cd /usr/src
mkdir libc-5.2.18
chown <USERNAME> libc-5.2.18
(salir de root)
cd libc-5.2.18
tar -xzvf /usr/tmp/libc-5.2.18.tar.gz
cd include
ln -s /usr/src/linux/include/asm .
ln -s /usr/src/linux/include/linux .
cd ../libc

Y allí puede leer las instrucciones en el README y hacer "./configure" ("make depend" es lento y no parece necesario si quiere sólo los locales)

Si no quieres compilar toda la libc, te paras allí y :

cd locale
make SHARED= programs
(pasar a root)
mv localedef /usr/local/bin
mv locale /usr/local/bin
(salir de root)

Tiene ahora los dos programas importantes. Ahora puede generar los locales binarios a partir de las fuentes.

Una buena colección de fuentes se encuentra en el archivo WG15-collection.linux.tar.gz que se encuentra por ejemplo en ftp://ftp.lip6.fr/pub/linux/GCC ( debe su nombre a un "working group" Posix).

En este archivo, una vez desempaquetado, hay una buena documentación (Intro). Si no quiere leerla, lo que hay que hacer es :

(pasar a root)
cd charmaps
mkdirhier /usr/share/nls/charmap
cp ISO_* /usr/share/nls/charmap
cd ../locales
mkdirhier /usr/share/nls/locale
cp POSIX ??_* /usr/share/nls/locale
mkdirhier /usr/share/locale
(la linea siguiente es lo que parece ser un error en la
distribución)
localedef -c -i /usr/share/nls/locale/en_DK -f ISO_8859-1:1987 en_DK
(lleno de mensajes de errores del tipo "item `yesstr' of category
`LC_MESSAGES' undefined" a ignorar)
localedef -c -i /usr/share/nls/locale/fr_FR -f ISO_8859-1:1987 fr_FR
(salir de root)

Puede comprobar con local -a que el nuevo local es conocido desde ahora. Es todo. Los usuarios pueden utilizar ya las variables de entorno de los locales como LANG o LC_CTYPE.

Segundo método, que no he podido hacer funcionar :

Recuperar nslutils (hoy nlsutils-0.5.tar.gz) por ejemplo (parece necesario recuperar los archivos de cabecera como localeinfo.h en la libc).

make
make install

Para comprobar la instalación de los locales, puede servirse de Perl 5.003 (es la primera versión de Perl que prueba que la instalación es correcta y si no produce un mensaje de error) o este programa:

# include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <locale.h>
#include <sys/types.h>
#define STRING "bétö\b"
void main ()
{
int i;
u_char c;
printf ("Setting locale: %s\n", setlocale(LC_ALL, ""));
for (i=0; i<strlen(STRING); i++) {
c = STRING[i];
printf ("%c (%d) is %s\n", c, (int)c, isprint((int)c)?"printable":"non-printable");
}
}

No debe imprimir en la pantalla
Setting locale: (null) y, con el locale francés (español) correcto, debe encontrar que todos los caracteres, excepto el último, son "printables".

Ciertas herramientas GNU comienzan a ser internacionalizadas. Para tener esta posibilidad, añada a su .bashrc las líneas siguientes :

export LC_CTYPE=ISO-8859-1
export LANG=fr # (NT: export LANG=es para hispanohablantes)

ispell


ispell es un corrector ortográfico, en francés. Se puede obtener en ftp.lip6.fr en /pub/ispell. Es igualmente posible obtener un diccionario francés para ispell en el mismo sitio en el directorio /pub/ispell/francais. El corrector epelle se revela también digno de interés.

Los acentos bajo bash


agrega en el archivo .inputrc las lineas siguientes :

set meta-flag on
set convert-meta off
set output-meta on

less


Es muy desagradable no tener los acentos cuando se hace un
less o un more de un archivo. Para que este problema no aparezca, añade :

export LESSCHARSET=latin1

en el archivo /etc/profile.

less permite también examinar el contenido de diversos tipos de archivos (less toto.tar.gz...) :

export LESSOPEN="|lesspipe.sh %s"

Colocar el script siguiente en un directorio cuyo nombre figura en el PATH :

#!/bin/sh

lesspipe() {
case "$1" in
*.tar) tar tvvf $1 2>/dev/null ;; # View contents of .tar and .tgz files
*.tgz) tar tzvvf $1 2>/dev/null ;;
*.tar.gz) tar tzvvf $1 2>/dev/null ;;
*.tar.Z) tar tzvvf $1 2>/dev/null ;;
*.tar.z) tar tzvvf $1 2>/dev/null ;;
*.Z) gzip -dc $1 2>/dev/null ;; # View compressed files correctly
*.z) gzip -dc $1 2>/dev/null ;;
*.gz) gzip -dc $1 2>/dev/null ;;
*.bz) bzip -dc $1 2>/dev/null ;;
*.bz2) bzip2 -dc $1 2>/dev/null ;;
*.zip) unzip - l $1 2>/dev/null ;;
*.lha) lha -v $1 2>/dev/null ;;
*.arj) arj l $1 2>/dev/null ;;
*.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man) FILE=`file -L $1` ; #groff src
FILE=`echo $FILE | cut -d ' ' -f 2`
if [ "$FILE" = "troff" ]; then
groff -s -p -t -e -Tascii -mandoc $1
fi ;;
esac
}

lesspipe $1

Formato de textos


Para
gs y xdvi, hay que utilizar unas opciones especiales (en mi máquina, son los alias). Efectivamente, con frecuencia son configurados para un papel de tamaño anglo-sajón.

Estas opciones son las siguientes :

gs -sPAPERSIZE=a4
xdvi -paper a4
ghostview -a4

Para que
dvips convierta los documentos en un formato papel a4, hay que especificar en el archivo config.ps (la ruta varía en función de las versiones de LaTeX) :

@ a4 210mm 297mm
@+ !
DocumentPaperSizes: a4
  @+ 
PaperSize: a4
@+ %%BeginPaperSize: a4
@+ a4

elm


Para que el correo esté en 8 bits (con acentos) sin necesidad de encapsularlo vía MIME u otra, agregue estas tres líneas al archivo ~/.elm/elmrc :

charset = iso-8859-1
displaycharset = iso-8859-1
textencoding = 8bit

telnet


Il peut arriver que lors d'une connexion distante
via telnet, les accents ne passent pas. Dans ce cas, utiliser l'option -L de telnet.

Puede ocurrir que en el momento de una conexión remota
via telnet, los acentos no aparezcan. En este caso, utilice la opción -L de telnet.

French-HOWTO


Se ha escrito un documento para reunir un cierto número de especificaciones. No dude en consultar la dirección http://www.freenix.org/linux/HOWTO-vo/French-HOWTO.html.
Tabla de contenidos
  1. 1 - Advertencia del traductor
  2. 2 - Sobre esta guía
  3. 3 - Guia para enROOTAR
  4. 4 - Introducción a Linux
  5. 5 - Características de Linux
  6. 6 - Hardware
  7. 7 - Una lista incompleta de Programas disponibles
  8. 8 - ¿Quién usa Linux?
  9. 9 - Documentación
  10. 10 - Obtener Linux
  11. 11 - Empezando
  12. 12 - Los grupos de noticias Usenet dedicados a Linux
  13. 13 - Otros grupos de noticias Usenet
  14. 14 - The Linux Journal
  15. 15 - Status legal de Linux
  16. 16 - Preparando la instalación
  17. 17 - Definición y cómo elegir una distribución
  18. 18 - Discos de arranque
  19. 19 - Slackware : descripción
  20. 20 - RedHat : descripción
  21. 21 - Instalación
  22. 22 - Administración bajo Linux
  23. 23 - LILO
  24. 24 - Montaje automatico de las particiones: /etc/fstab
  25. 25 - Montaje manual de las particiones
  26. 26 - Puesta en servicio de las cuotas
  27. 27 - mtools
  28. 28 - Swap
  29. 29 - Agregar un usuario, un grupo
  30. 30 - Lanzamiento de programas personales durante el arranque. /etc/rc.d/rc.local
  31. 31 - Planificación de trabajos : crontab
  32. 32 - Imprimir
  33. 33 - Timezone
  34. 34 - Nuevos cambios de hora
  35. 35 - locate
  36. 36 - CDROM ATAPI
  37. 37 - Los archivos de inicialización de los intérpretes de ó
  1. 38 - Las copias de seguridad (salvaguardas) bajo Linux
  2. 39 - Num Lock al arrancar
  3. 40 - Los archivos core
  4. 41 - Accounting - lastcomm
  5. 42 - SMP, otras arquitecturas
  6. 43 - Plataformas Alpha
  7. 44 - X Window
  8. 45 - XF86Config
  9. 46 - Teclado francés bajo X : Xmodmap
  10. 47 - Teclado francés bajo X... segunda posibilidad
  11. 48 - Teclado francés bajo X... utilizar xkb
  12. 49 - xdm
  13. 50 - ¿Cómo arrancar varias sesiones X?
  14. 51 - ¿Cómo recuperar los errores en la consola?
  15. 52 - XFree86 y XInput
  16. 53 - Un problema bastante corriente
  17. 54 - Ratón para zurdos
  18. 55 - Seguridad
  19. 56 - Recompilar el núcleo
  20. 57 - Archivos especiales (I)
  21. 58 - Archivos especiales (II)
  22. 59 - Archivos especiales (III)
  23. 60 - Archivos especiales (IV)
  24. 61 - Comunicar (I)
  25. 62 - Comunicar (II)
  26. 63 - Comunicar (III)
  27. 64 - Comunicar (IV)
  28. 65 - ELF
  29. 66 - Catastrofe
  30. 67 - Varios (I)
  31. 68 - Varios (II)
  32. 69 - Varios (III)
  33. 70 - Suites ofimaticas
  34. 71 - Para ir mas alla
  35. 72 - Direcciones
  36. 73 - Contribuciones
Autor y licencia de 'La Guía del enROOTador para Linux - Varios (I)'
Eric Dumas Extraído de: http://es.tldp.org/Manuales-LuCAS/ENROOTADOR/html/ GNU Free Documentation License
Licencia GNU Free Documentation License: http://www.es.gnu.org/licencias/fdles.html
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'La Guía del enROOTador para Linux - Varios (I)'

En este documento se presenta la información acerca de la instalación, configuración, ejecución y mantenimiento... Más »
Este documento describe el soporte de sonido para Linux. Enumera el hardware de sonido soportado,... Más »
Josep Palau i Fabre, poeta barcelonés nacido en 1917, es uno de los máximos representantes... Más »
Brevísima reseña sobre la disponibilidad y configuración de un servidor DHCPd en Linux. Más »
Bienvenidos! Y gracias por tu interés en Red Hat Linux. Tenemos la que creemos mejor... Más »
¿Estás seguro de que deseas eliminar este capítulo?