Siguiente Anterior Contenidos

12. Instalando el resto del software básico

El resto del software básico que formará parte de nuestro sistema se instalará en esta sección. Si bien no todos los programas son necesarios se recomienda tenerlos instalados

12.1 Instalando E2fsprogs

Instalando E2fsprogs

Cuando compilo me aparece este error: mke2fs.c:142:SCSI_DISK_MAJOR not defined. Lo he solucionado de la siguiente forma:

Por favor, daros cuenta de que no tengo ni idea de que puede hacer esto si estás utilizando discos SCSI, pero me imagino que nada bueno. Como yo uso discos IDE este cambio no me afecta en absoulto. Si en tu caso hay discos SCSI de por medio, la solución depende de ti. Lo siento, pero no tengo ni idea de como arreglar esto. A lo mejor este problema ni siquiera aparece cuando usas discos SCSI.

Creando el script de arranque checkroot

Vamos a crear un script de arranque llamado checkroot, que se encargará de chequear el sistema de ficheros raíz con fsck cada vez que arranquemos nuestro sistema LFS.

#!/bin/sh
# Begin /etc/init.d/checkroot
 
echo "Activando área de intercambio (swap)..."
/sbin/swapon -av
 
if [ -f /fastboot ]
then
  echo "Arranque rápido, sin chequeo del sistema de archivos"
else
  mount -n -o remount,ro /
  if [ $? = 0 ]
  then
    if [ -f /forcecheck ]
    then
      force="-f"
    else
      force=""
    fi
 
    echo "Chequeando sistema de ficheros raíz..."
    fsck $force -a /
     
    if [ $? -gt 1 ]
    then
      echo
      echo "fsck ha fallado. Repare sus sistema de ficheros manualmente"
      echo "ejecutando fsck sin la opción -a"
      
      echo "Por favor, tenga en cuenta que el sistema de ficheros está"
      echo "montado en modo sólo lectura."
      echo "
      echo "Voy a arrancar sulogin ahora. CTRL+D reiniciará el sistema."
      /sbin/sulogin
      /reboot -f
    fi
  else
    echo "No se puede chequear el sistema de ficheros porqué está montado"
    echo "en modo sólo lectura."
  fi
fi
 
# End /etc/init.d/checkroot
 

Actualizando /etc/init.d/umountfs

echo "Desactivando swap..."
/sbin/swapoff -av
 

Creando los permisos apropiados y los enlaces simbólicos

12.2 Instalando File

12.3 Instalando Libtool

12.4 Instalando Modutils

12.5 Instalando Linux86

Este paquete sólo se usa, según tengo entendido, para instalar Lilo. Una vez instalado puedes borrar los dos programas, as86 y ld86.

12.6 Instalando Lilo

Instalando Lilo

Configurando Lilo

Copiando los ficheros de imagen del kernel

12.7 Instalando DPKG

No vamos a instalar el administrador de paquetes de Debian, sino un pequeño programa incluido en este paquete que permite arrancar y parar demonios. Este programa es muy útil en scripts de arranque, por lo que lo usaremos en nuestro nuevo sistema.

12.8 Instalando Sysklogd

Instalando Sysklogd

Configurando Sysklogd

#!/bin/sh
# Begin /etc/syslog.conf
 
auth,authpriv.*           /var/log/auth.log
*.*;auth,authpriv.none    -/var/log/syslog
daemon.*                  /var/log/daemon.log
kern.*                    /var/log/kern.log
mail.*                    /var/log/mail.log
user.*                    /var/log/user.log
 
mail.info                 -/var/log/mail.info
mail.warn                 -/var/log/mail.warn
mail.err                  /var/log/mail.err
 
*.=info;*.=notice;*.=warn; \
  auth,authpriv.none; \
  daemon.none;mail        -/var/log/messages
 
*.emerg                   *
 
# End /etc/syslog.conf
 

Creando el script de arranque de Sysklogd

#!/bin/sh
# Begin /etc/init.d/sysklogd
 
test -f /usr/sbin/klogd || exit 0
test -f /usr/sbin/syslogd || exit 0
 
check_status()
{
  if [ $? = 0 ]
  then
    echo "OK"
  else
    echo "ERROR"
  fi
}
 
case "$1" in
  start)
    echo -n "Arrancando demonio del diario del sistema..."
    start-stop-daemon -S -q -o -x /usr/sbin/syslogd -- -m 0
    check_status
 
    echo -n "Arrancando demonio del diario del kernel..."
    start-stop-daemon -S -q -o -x /usr/sbin/klogd
    check_status
    ;;
 
  stop)
    echo -n "Deteniendo demonio del diario del kernel..."
    start-stop-daemon -K -q -o -p  /var/run/klogd.pid
    check_status
 
    echo -n "Deteniendo demonio del diario del sistema..."
    start-stop-daemon -K -q -o -p /var/run/syslogd.pid
    check_status
    ;;
 
  reload)
    echo -n "Cargando de nuevo el fichero de configuración del demonio de carga del sistema..."
    start-stop-daemon -K -q -o -s 1 -p /var/run/syslogd.pid
    check_status
    ;;
 
  restart)
    echo -n "Deteniendo demonio del diario del kernel..."
    start-stop-daemon -K -q -o -p /var/run/klogd.pid
    check_status
 
    echo -n "Deteniendo demonio del diario del sistema..."
    start-stop-daemon -K -q -o -p /var/run/syslogd.pid
    check_status
 
    sleep 1

    echo -n " Arrancando demonio del diario del sistema..."
    start-stop-daemon -S -q -o -x /usr/sbin/syslogd -- -m 0
    check_status
 
    echo -n " Arrancando demonio del diario del kernel..."
    start-stop-daemon -S -q -o -x /usr/sbin/klogd
    check_status
    ;;
 
  *)
    echo Usage: $0 {start|stop|reload|restart}
    exit 1
    ;;
esac
 
# End /etc/init.d/sysklogd
 

Preparando enlaces simbólicos y permisos

cd /etc/rc2.d; ln -s ../init.d/sysklogd S03sysklogd
cd ../rc6.d; ln -s ../init.d/sysklogd K90sysklogd
cd ../rc0.d; ln -s ../init.d/sysklogd K90sysklogd
 

12.9 Instalando Groff

12.10 Instalando Man-db

12.11 Instalando Procps

12.12 Instalando Procinfo

12.13 Instalando Procmisc

12.14 Instalando Shadow Password

Este paquete contiene utilidades para modificar contraseñas, añadir usuarios y grupos, borrarlos, etc... No voy a explicar el significado de 'password shadowing' (ocultación de contraseñas). Puedes leer todo lo referente a esto en el doc/HOWTO correspondiente. Ten presente una cosa si decides usar las shadow passwords: los programas que necesiten verificar contraseñas (xdm, ftp, demonios, etc...) deben ser compatibles con shadow passwords.

Si decides no utilizarlas (una vez que hayas leído el doc/HOWTO) necesitarás igualmente instalar este paquete, ya que las utilidades que contiene también se utilizan en sistemas que no usan este tipo de contraseñas. De todas formas puedes cambiar entre unas y otras cuando quieras.

Now is a very good moment to read section #5 of the doc/HOWTO file. You can read how you can test if shadowing works and if not, how to disable it. If it doesn't work and you haven't tested it, you'll end up with an unusable system after you logout of all your consoles, since you won't be able to login anymore. You can easily fix this by passing the init=/sbin/sulogin parameter to the kernel, Descomprime el archivo util-linux archive, Ve al directorio login-utils directory, build the login program and replace the /bin/login by the one in the util-linux package. Things are never hopelessly messed up, but you can avoid a hassle by testing properly and reading manuals ;)

12.15 Instalando GNU C++ Library

The installation by running make install right now will fail because it can't find all the header files that need to be copied to /usr/include/g++-v3. The thing is, the installation script tries to find the files in de src/bits src/shadow src/ext and src/backwards directories. The files are actually in de bits, shadow, ext and backwards directories in de top-level directory. I don't know who to blame; the make program, or the Makefile file. Either way, by making a few symlinks and copying some extra header files to a different directory the installation will finish properly.

To setup up the directories and file in such a way that the Makefile script can find them, execute the following commands from within the src directory:

ln -s ../bits bits
ln -s ../backward backward
ln -s ../ext ext
ln -s ../shadow shadow
cp ../stl/bits/* bits
cp ../stl/backward/* backward
cp ../stl/ext/* ext
 

Now that the files are in a place where they can be found during make install, we can proceed with this step.


Next Previous Contents