Capítulo 5. El segundo inicio

Tabla de Contenidos

5.1. dmesg
5.2. Montando el CD-ROM
5.3. Montando la disquetera
5.4. Accediendo a particiones DOS/Windows
5.5. Agregar usuarios
5.6. Contraseñas shadow
5.7. Deteniendo y reiniciando el sistema

Durante el primer inicio ha establecido la configuración básica del sistema. Este capítulo describe algunos comandos y operaciones comunes.

5.1. dmesg

Al arrancar el sistema el núcleo muestra una larga secuencia de mensajes en la pantalla: estos mensajes dan información sobre el estado del núcleo (por ejemplo, memoria disponible) y los periféricos que han sido detectados en el sistema. Esta información es muy importante para el diagnostico de problemas de hardware o de configuración, y para determinar el nombre de las unidades periféricas (por ejemplo puede testear si la tarjeta de red ha sido detectada como ne0 o ne1). Generalmente estos mensajes se muestran demasiado rápido en pantalla como para ser útiles, pero puede usar el comando dmesg(8) para verlos otra vez.

# dmesg | more

Si algo en su sistema no parece que funcione correctamente y solicita ayuda en una de las listas de mailing de NetBSD, recuerde siempre incluir la salida que muestra dmesg en el posteo: esto ayudará otra gente para el diagnóstico de su problema. Observe que durante el proceso de inicio NetBSD también escribe una copia de la salida de dmsg en /var/run/dmesg.out. Esta característica es útil porque el sistema desplazará los mensajes “antiguos” fuera de la ubicación en la memoria (buffer) de dmesg con el tiempo.

5.2. Montando el CD-ROM

Los nuevos usuarios son sorprendidos a menudo por el hecho de que aunque el programa de instalación reconoció y monto su CD-ROM perfectamente, el sistema instalado parece haber “olvidado” como utilizar el CD-ROM. No hay ningún misterio para utilizar un CD-ROM: puede montarlo como cualquiera otro sistema de archivo, todo lo que necesita conocer es el nombre del dispositivo y algunas opciones del comando mount(8). Puede encontrar el nombre del dispositivo con el ya mencionado comando dmesg(8). Por ejemplo, si dmesg(8) muestra:

# dmesg | grep ^cd
cd0 at atapibus0 drive 1: <ASUS CD-S400/A, , V2.1H> type 5 cdrom removable

el nombre del dispositivo es cd0, y puede montar el CD-ROM con los siguientes comandos:

# mkdir /cdrom
# mount -t cd9660 -o ro /dev/cd0a /cdrom

Para hacer las cosas más fáciles puede agregar una línea al archivo /etc/fstab:

/dev/cd0a /cdrom cd9660 ro,noauto 0 0

Sin la necesidad de reiniciar, puede montar ahora el cdrom con:

# mount /cdrom

Cuando el cdrom está montado no puede expulsarlo manualmente; tendrá que desmontarlo antes con:

# umount /cdrom

Hay también un comando de software que desmonta el cdrom y lo expulsa:

# eject /dev/cd0a

5.3. Montando la disquetera

Para montar un disquete debe saber el nombre del dispositivo de la disquetera y el tipo de sistema de archivo del disquete. Lea la página de ayuda fdc(4) para más información sobre poner nombre al dispositivo, ya que esto se diferencia dependiendo del tamaño y clase de su disquete. Por ejemplo, para leer y escribir en un disquete en formato MS-DOS utilice el siguiente comando:

# mount -t msdos /dev/fd0a /mnt

En vez de /mnt, puede utilizar otro directorio que elija; podría, por ejemplo, crear un directorio /floppy como hizo para el cdrom. Si trabaja mucho con disquetes de MS-DOS, querrá instalar el paquete mtools, que activa el acceso a disquetes de MS-DOS (o particiones del disco duro) sin necesidad de montarlos. Es muy práctico para copiar un archivo desde/a un disquete rápidamente:

# mcopy foo bar a:
# mcopy a:baz.txt baz
# mcopy a:\*.jpg .
    

5.4. Accediendo a particiones DOS/Windows

Si NetBSD comparte el disco duro con MS-DOS o Windows, es posible modificar la "etiqueta" del disco (disklabel) y hacer las particiones de Windows visibles para NetBSD. Primero, debe determinar la geometría de la partición de Windows, por ejemplo utilizando fdisk(8).

# fdisk wd0
NetBSD disklabel disk geometry:
cylinders: 8322, heads: 16, sectors/track: 63 (1008 sectors/cylinder)
total sectors: 8388608
BIOS disk geometry:
cylinders: 521, heads: 255, sectors/track: 63 (16065 sectors/cylinder)
total sectors: 8388608
Partition table:
0: OS/2 HPFS or NTFS or QNX2 or Advanced UNIX (sysid 7)
    bootmenu: WinXP
    start 63, size 20643462 (10080 MB, Cyls 0-1285), Active
1: NetBSD (sysid 169)
    start 20643525, size 57496635 (28075 MB, Cyls 1285-4864)
2: <UNUSED>
3: <UNUSED>

Nota

Este ejemplo usa el disco duro wd0: sustituya el dispositivo por su disco duro.

La salida del comando fdisk muestra que la partición de Windows utiliza NTFS (“OS/2 HPFS o NTFS o QNX2 o Advanced UNIX (sysid 7)”), si la partición fuese FAT habría dicho “Primary 'big' DOS, 16-bit FAT (>32MB) (sysid 6)”.

La partición de Windows se conoce actualmente solo en la tabla de particiones MBR, para montarla desde NetBSD solo necesita que este en la "etiqueta" de disco (disklabel) de NetBSD. Hay dos formas de hacerlo, editando la "etiqueta" de disco manualmente usando disklabel -e, o usando el comando mbrlabel(8), que es el que describiremos primero.

Cuando ejecuta mbrlabel(8), este necesita un disco donde buscará las particiones que están en el MBR pero no en la "etiqueta" de disco (disklabel), y entonces las añadirá a la "etiqueta" de disco (disklabel):

# disklabel wd0
...
 d:  78140160         0     unused      0     0        # (Cyl.      0 -  77519)
#
# mbrlabel -rw wd0
Found NTFS partition; size 20643462 (10079 MB), offset 63
  adding NTFS partition to slot e.
Found 4.2BSD partition; size 57496572 (28074 MB), offset 20643588
  skipping existing unused partition at slot c.

16 partitions:
#        size    offset     fstype [fsize bsize cpg/sgs]
 a:  57236256  20643588     4.2BSD   1024  8192 46920  # (Cyl.  20479*-  77261*)
 b:    260316  77879844       swap                     # (Cyl.  77261*-  77519)
 c:  57496572  20643588     unused      0     0        # (Cyl.  20479*-  77519)
 d:  78140160         0     unused      0     0        # (Cyl.      0 -  77519)
 e:  20643462        63       NTFS                     # (Cyl.      0*-  20479*)

Updating in-core and on-disk disk label.
#
# disklabel wd0
...
 d:  78140160         0     unused      0     0        # (Cyl.      0 -  77519)
 e:  20643462        63       NTFS                     # (Cyl.      0*-  20479*) 

Si no puede o no quiere utilizar mbrlabel(8) por alguna razón, tendrá que editar la "etiqueta" de disco (disklabel) manualmente con los datos del comando fdisk-visto arriba. La partición con el sistema de archivos en NTFS empieza en el sector 63 y tiene un tamaño de 20643462 sectores. La partición de NetBSD empieza en el sector 20643525 (20643525 = 20643462 + 63). Utilizará estos datos para modificar la "etiqueta" de disco (disklabel) de BSD: todo lo que tiene que hacer es añadir una línea que defina la posición y tipo de la partición NTFS, eligiendo una de las letras de identificación de una partición libre. Utilice el comando disklabel para modificar la "etiqueta" de disco (disklabel). Si le pone la opción -e a disklabel invocará su editor favorito ($EDITOR) para modificar la "etiqueta" de disco (disklabel). Por ejemplo:

# disklabel -e wd0
...
#        size   offset     fstype  [fsize bsize  cpg]
...
 d:  78140160         0     unused      0     0        # (Cyl.      0 -  77519)
 e:  20643462        63       NTFS 

Las particiones desde “a” hasta “d” ya estaban utilizadas, y la primera identificación (id) disponible era “e”. Los campos “size” (tamaño) y “offset” (compensación); han sido fijados con los números previamente calculados. Después, el punto de montaje debe crearse. Por ejemplo:

# mkdir /c

finalmente, se añadirá una línea al archivo /etc/fstab.

/dev/wd0e /c ntfs ro,noauto 1 3

Si quiere montar una partición MS-DOS "FAT" en lugar de una partición NTFS, utilice el MSDOS como "fstype" en la "etiqueta" de disco y "msdos" como tipo de sistema de archivos (3ª columna) en /etc/fstab. También puede montar sistemas de archivos FAT de lectura/escritura, es decir, puede utilizar "rw" en lugar de "ro" en /etc/fstab. Para más detalles sobre el soporte de NetBSD para sistemas de archivos MSDOS y NTFS, vea mount_msdos(8) y mount_ntfs(8).

Ahora la partición Windows puede ser montada con un simple comando:

# mount /c

Con este método pude montar particiones NFS, FAT y FAT32. Si quiere montar la(s) partición(es) automáticamente al arrancar el equipo, elimine la opción noauto de /etc/fstab.

/dev/wd0e /c ntfs ro 1 3

5.5. Agregar usuarios

Es el momento de añadir nuevos usuarios al sistema, puesto que no debe utilizar la cuenta de administrador (root) para el trabajo diario (si, ¡Lo decimos en serio!). NetBSD ofrece la utilidad useradd(8) para crear cuentas de usuario. Por ejemplo, para crear un nuevo usuario:

# useradd -m joe

Los valores por defecto del comando useradd(8) pueden ser cambiados; vea la página de ayuda useradd(8).

Las cuentas que pueden sustituir la identidad del usuario administrador con el comando su(1) (substitute user identity) tienen que estar en el grupo "wheel". Esto puede hacerse cuando la cuenta es creada especificando el segundo grupo:

# useradd -m -G wheel joe

Como alternativa, el comando usermod(8) puede usarse para añadir un usuario a un grupo existente:

# usermod -G wheel joe

Nota

Puede editar directamente /etc/group para añadir usuarios a grupos, pero ¡no edite directamente /etc/passwd!. Todos los cambios realizados en ese archivo se perderán, vea Sección 5.6, “Contraseñas shadow”.

Nota

Si el sistema utiliza ssh, el acceso directo vía administrador está desactivado por defecto. Compruebe sshd_config(5) y /etc/ssh/sshd_config para cambiar este comportamiento.

5.6. Contraseñas shadow

Las contraseñas shadow (ocultas) son habilitadas por defecto en NetBSD: todas las contraseñas en /etc/passwd contienen un “*”; las contraseñas encriptadas están almacenadas en otro archivo, /etc/master.passwd, este solo puede ser leído por el administrador. Cuando inicia vipw(8) para editar el archivo de contraseñas, el programa abre una copia de /etc/master.passwd; cuando sale, vipw(8) comprueba la validez de la copia, crea un nuevo /etc/passwd e instala el nuevo archivo /etc/master.passwd. Finalmente, vipw(8) lanza pwd_mkdb(8), el cual crea el archivo /etc/pwd.db y /etc/spwd.db, dos bases de datos que son equivalentes a /etc/passwd y /etc/master.passwd pero más rápidas de procesar.

Como puede ver, las contraseñas son manejadas automáticamente por NetBSD; si usa vipw(8) para editar el archivo de contraseñas no necesita ningún procedimiento especial de administración.

Es muy importante que siempre utilice vipw y las otras herramientas para la administración de cuentas (chfn(1), chsh(1), chpass(1), passwd(1)) y que nunca modifique directamente /etc/master.passwd o /etc/passwd.

5.7. Deteniendo y reiniciando el sistema

Utilice uno de los siguientes dos comandos de shutdown(8) para detener y/o reiniciar el sistema:

# shutdown -h now
# shutdown -r now

Otros dos comandos que realizan la misma tarea son:

# halt
# reboot

halt(8), reboot(8), y shutdown(8) no son sinónimos: el ultimo es más sofisticado. En un sistema multiusuario realmente debe utilizar shutdown(8); este le permitirá programar un tiempo para la parada, notificar a los usuarios, y también tendrá cuidado para detener los procesos de bases de datos, etc. correctamente y no simplemente kill(1)ing (terminándolos/destruyéndolos). Para una descripción más detallada, vea las páginas de ayuda shutdown(8), halt(8) y reboot(8).