¡Otro blog!

Para crear y mantener un blog en condiciones hace falta disponer de mucho tiempo e interés. De lo segundo no me falta, pero de lo primero ando muy escaso. Por eso mismo la finalidad de este blog es tener anotado a mi disposición (y a la de todo al que le pueda servir lo que escriba) todas las modificaciones y experiencias que llevo a cabo en mi ordenador. Me he cansado de configurar siempre las mismas cosas y no acordarme dónde lo anoté cuando ocurre un desastre.
Este blog lo inicio más como utilidad personal que como punto de encuentro de navegantes.
Si lo que aquí encuentras te resulta útil me alegraré mucho...Lo actualizaré cuando pueda.
Mostrando entradas con la etiqueta sistema. Mostrar todas las entradas
Mostrando entradas con la etiqueta sistema. Mostrar todas las entradas

domingo, 25 de octubre de 2009

Sbopkg

La instalación de Slack ha ido fina y sin problemas. Lo primero que me sorprende al arrancar es KDE en su versión 4.2.4. Hacía mucho tiempo que no uso este escritorio (Gnome nunca ha terminado de gustarme) y se nota mucha evolución respecto de la versión que ha traído por defecto Slack últimamente -en su versión de la serie 3-. Aunque lo que más me gusta son los "escritorios alternativos"; suelo utilizar Fluxbox y Enlightenment16 y E17.
En esta versión de Slackware se utiliza un nuevo algoritmo de compresión, con lo que la extensión de los paquetes cambia de ".tgz" a ".txz"
En esta nueva instalación he decidido utilizar los paquetes oficiales de Slack, tratando de evitar en lo posible binarios tipo www.linuxpackages.net, slacky.eu, etc.
Como en Slackware no hay muchos paquetes de software (como puede haber en Debian) habrá paquetes que no estén en nuestro formato. Para este problema tenemos varias soluciones:
  1. Instalar binarios de repositorios como los mencionados anteriormente.
  2. Bajarte los fuentes y compilarlos.
  3. Crearte los paquetes Slackware a partir de los fuentes usando los slackbuilds.
  4. Bajarte los fuentes y compilarlo pero usando la aplicación Checkinstall.
La solución nº 2 tiene el inconveniente de que no puedes mantener el control de los programas instalados de manera eficaz, y es difícil tener actualizada la distribución, así como a la hora de desinstalarlo no dejas el sistema limpio.
La solución nº 4 es la que he utilizado con frecuencia hasta la versión 11 o la 10.2. No recuerdo con qué versión daba algún error. Era muy cómoda pues compilabas desde las fuentes (configure, make, checkinstall) y te armaba e instalaba el paquete en formato Slackware. Y lo mejor es que puedes controlar el paquete con las herramientas de Slack.
La solución nº 3 es la que voy a utilizar con esta versión. La idea me parece magnífica y consiste en compilar los paquetes desde los fuentes pero utilizando los Slackbuilds (son unos scrips que se utilizan para armar los paquetes Slackware, incluso los utiliza Patrik). De este modo consigues unos genuinos paquetes Slack. Pero hacerlo manualmente puede resultar complicado y tedioso. Y aquí es donde interviene Sbopkg.
Sbopkg es una herramienta de línea de comandos y de ncurses que automatiza la instalación y actualización de paquetes compilados desde slackbuilds.org.
Instalarlo es sencillo, te vas a la página del proyecto de Sbopkg te bajas el paquete estable -la actual es la versión 0.30.1- y la instalas. Como root la ejecutas, eliges la versión de Slackware con la que vas a trabajar, la sincronizas y ya puedes buscar el paquete deseado -bien buscando por los grupos de aplicaciones o bien por el comando de búsqueda-. Una vez te lo bajas ya puedes armarlo e instalarlo. Sbopkg te permite llevar el control de todo lo que instalas con él, incluidas las librerías.

sábado, 1 de marzo de 2008

No puedo logearme en mi sistema Linux...

Después de haber instalado Frugalware, reinicio el ordenador y todo parece funcionar bien, el sistema va cargando en modo gráfico y llegamos a la pantalla de acceso. Introduzco el usuario, introduzco la clave, le doy al enter y...Y....Y...Y... mierda, no puedo entrar. El sistema me informa que he introducido mal el usuario o la clave.
No me explico cómo pero puedo haber introducido un usuario o clave equivocado en la instalación (a pesar de reescribirlo antes de aceptarlo). El caso es que una vez cargado el sistema no puedo introducirme en él.
Soluciones: con Lilo instalado podría introducir en la línea de comando linux sigle. Pero lo que hay instalado es grub.
Como tengo Slackware12 instalado se me ocurre que desde mi instalación de Slackware puedo acceder a la partición de Frugalware, localizar el fichero shadow y borrar la clave encriptada del usuario, reiniciar el equipo y probar a entrar en Frugalware. Como el usuario lo conozco y he borrado la clave de acceso, no tengo problemas para entrar en mi cuenta y asignarle otra clave nueva.
SOLUCIONADO.

sábado, 28 de julio de 2007

Arrancando el sistema

Ya estamos en casa y por fín tenemos un ratito para disfrutar con el ordenador. Nos sentamos delante de la pantalla, apretamos el botón de encendido y en unos segundos a disfrutar.

Pero ¿sabemos qué ocurre desde que apretamos ese botón hasta que aparece el loggin? En ese espacio de tiempo lo que ocurre es el arranque del sistema. Normalmente el sistema arranca automáticamente sin nuestra intervención, pero cuando aparecen los problemas nos conviene saber cómo es el proceso para intentar levantar el sistema.
Secuencia de arranque

En los sistema basados en Intel (Pc's) el arranque pasa por las siguientes etapas:

  1. Comprobar el correcto funcionamiento del hardware cuando se aplica la alimentación del sistema. Este autochequeo se llama POST y verifica qué componentes están presentes y si están funcionales.
  2. Localizar y lanzar el programa gestor de arranque. La BIOS del sistema lo busca en el sector de arranque del disco duro (Master Boot Record) y comienza su ejecución. En Linux suele ser LILO o GRUB, en Windows puedes ser el gestor de arranque estándar de DOS u otro cualquiera.
  3. Se ejecuta el gestor de arranque que es el responsable de localizar y ejecutar el sistema operativo en sí.
Cuando el gestor de arranque es LILO o GRUB se presenta al usuario un menú de opciones al arrancar. Tras la elección el gestor arranca el sistema operativo que elijamos.

Lanzado el Núcleo del sistema éste toma el control sobre el proceso de arranque y completa las tareas de inicialización hasta dejar el sistema listo para ser usado. Esto incluye la preparación de los dispositivos, arrancar los procesos servidores, inicializar las conexiones de red y otras tareas similares.

EL KERNEL SE INICIA...

Ahora vamos a ver el proceso de arranque tras cargar el Kernel.
En la fase inicial, el Kernel comprueba el hardware del sistema y trata de identificar los dispositivos.

Según avanza el arranque, examina otros subsistemas hard; buses E/S, interfaces de red, discos duros, lectores cd CD-ROM, disqueteras, otros dispositivos de almacenamiento...Y mientras hace eso, también inicializa las estructuras de datos internas.

La fase inicial termina con el kernel inicializando los recursos de los sistemas de archivos -LVM (subsistema del gestor lógico de volúmenes), habilitar soporte para RAID, activar los dispositivos configurados que hagan falta, búsqueda de dispositivos SCSI y localizar particiones en los discos duros.

Cuando todo esto ha terminado, el Kernel monta el sistema de archivos raíz en modo de sólo lectura, libera memoria y arranca el primer proceso en el sistema que ejecuta el programa INIT.

Los mensajes que se generan en esta fase se guardan en /var/log/boot.log
En Slackware12 se guardan en /var/log/btmp
Estos mensajes los puedes ver accediendo al fichero o utilizando el comando dmesg.


INIT TOMA EL CONTROL

En Linux el proceso init es el primero en ser lanzado y por ello su identificador de proceso (PID) es 1. Init va creando procesos a medida que vayan siendo necesarios. Al ser lanzado lo primero que hace es llevar a cabo las acciones especificadas en su archivo de configuración, /etc/inittab. El funcionamiento de init se estructura en niveles de ejecución.
Un nivel de ejecución es un modo de operar específico del sistema y un conjunto predefinido de procesos del sistema. Los niveles de ejecución se designan con un número.
En Slackware los niveles de ejecución son:

0 = halt
1 = single user mode
2 = unused (but configured the same as runlevel 3)
3 = multiuser mode (default Slackware runlevel)
4 = X11 with KDM/GDM/XDM (session managers)
5 = unused (but configured the same as runlevel 3)
6 = reboot

Init lleva al sistema a su nivel de ejecución por defecto (3 en Slackware). Mas tarde podemos cambiar el nivel de ejecución de init con el comando telinit siendo root. Por ejemplo:

#telinit3

Le dice a init que lleve el sistema al nivel 3 de ejecución.

#telinit6

Especifíca el reinicio del sistema.

EL ARCHIVO INITTAB

Es una serie de entradas que corresponden a procesos que se han de empezar cuando el sistema entre en cada uno de los niveles de ejecución definidos. Cada entrada tiene la siguiente sintaxis:

xx:niveles:acción:proceso

xx: es una etiqueta para la entrada (uno o dos caracteres). Son sensibles a las mayúsculas y han de ser únicas en el archivo inittab.

niveles: es una lista de los niveles de ejecución a los que se aplica la entrada (donde un espacio en blanco indica todos los niveles).

acción: es una palabra clave que indica cómo y bajo qué circunstancias debería init empezar el proceso especificado en el último campo de la entrada.
Estas son las palabras clave de acción más importantes:
wait: Arranca el proceso y espera a que termine antes de seguir a la siguiente entrada.
once: Arranca el proceso sólo si no está ejecutándose ya.
respawn: Arranca el proceso (sin esperar), y lo relanza automáticamente en caso de que muera.
bootwait: Ejecuta el proceso sólo en el arranque, esperando a que este termine.
initdefault: Especifica el nivel de ejecución por defecto.
ctrlaltdel: Ejecutar la acción cuando se detecte la secuencia Ctrl-Alt-Supr en el teclado.
power: Se definen varias palabras clave para varios eventos relacionados con la pérdida de potencia.

INITTAB CON MAS DETALLE

Veamos algunas entradas para el archivo inittab. Describiré el inittab de
Slackware12, aunque en las demás distribuciones será muy parecido.
Las primeras líneas comienzan con # este simbolo significa que la línea es un comentario y no se tendrá en cuenta. La primera entrada activa que vemos define el nivel de ejecución por defecto. En
Slackware es el 3, pero si deseais que vuestro linux arranque con un login gráfico no teneis más que editar inittab y cambiar el 3 por el 4.
La segunda entrada especifica el script que ha de ejecutar init siempre que arranque el sistema.
Las siguientes entradas especifican los script de control usado para cada nivel de ejecución del sistema definido. Observa que en todos los casos se ejecuta el script rc con el nivel de ejecución pasado como argumento.
La línea

ca::ctrlaltdel:/sbin/shutdown -t5 -r now

especifica qué hará el sistema cuando se apretan simultáneamente las teclas Contr-Alt-Supr y que en este caso hará que tras 5 segundos el sistema se reiniciará.

Luego vienen unas entradas que indican qué hacer cuando hay fallos de potencia en el sistema.

Las entradas finales se corresponden con los procesos getty para las seis líneas terminales habilitandolas para que sean usadas como entrada de usuarios.

RESUMIENDO

El arranque del sistema se realiza en tres etapas:
Primero se carga el kernel
Luego se inicia el proceso init
Por último se ejecutan los scripts (guiones) de arranque del sistema.