280 likes | 392 Vues
Entrenamiento en Linux. Clase #5. Administración General. Por: Javier García Salgado. Clase #5. Administración general. Sumario. Configuración del LILO Aplicaciones para la administración y configuración del sistema Definición de tareas periódicas
E N D
Entrenamiento en Linux Clase #5 Administración General Por: Javier García Salgado
Clase #5 Administración general Sumario Configuración del LILO Aplicaciones para la administración y configuración del sistema Definición de tareas periódicas Inicialización y configuración del sistema Desinstalación
Configuración del LILO LILO es un programa que permite cargar Linux y otros sistemas operativos como los de la familia de Windows. Identifica a todos los sistemas a cargar a través de etiquetas o nombres que se mostrarán en forma de menú ya sea gráfico o texto. • LILO es un programa que básicamente consta de tres partes: • Un instalador : Es el programa que se encarga de instalar (actualizar) todos los ficheros que requiere LILO en los lugares apropiados, además de guardar la localización física en disco de los datos necesarios en el momento de carga. Este programa es el comando /sbin/lilo y debe ser ejecutado siempre que se modifique cualquier parte referente a LILO, por ejemplo cuando se instala un nuevo kernel. • Varios ficheros : Son los ficheros que contienen información necesaria para el LILO en el momento de carga. Normalmente se agrupan en el directorio /boot. El más importante es el que contiene al ''boot loader'' y el fichero ''map'' que es donde el instalador escribe las localizaciones exactas de los kernels disponibles. El otro fichero importante es el de configuración, normalmente llamado /etc/lilo.conf.
Configuración del LILO continuación... • El ''boot loader'‘ : Es la parte del LILO cargada por el BIOS de la máquina al terminar su ejecución. Este carga a su vez a un kernel de Linux o el sector de arranque de la partición de otro sistema operativo. Brinda una interfaz simple orientada a comando o gráfica para interactivamente seleccionar el elemento a cargar. El fichero de configuración del LILO, /etc/lilo.conf, consta de un conjunto de atributos que pueden tener asignado o no un determinado valor. Cada atributo se especifica en una línea de la forma: <atributo>[=valor] • Algunos atributos globales: • map=<fichero> : especifica el fichero de ''map''. Ejemplo: map=/boot/map • install=<fichero> : especifica el fichero donde se guarda el ''boot loader''. Ejemplo: install=/boot/boot.b
Configuración del LILO continuación... • boot=<dispositivo> : indica el dispositivo que contiene el sector de carga (boot sector) donde está instalado el LILO. Por ejemplo si el valor es /dev/hda esto indicará que el LILO se instala en el Master Boot Record del disco duro master en el primer controlador IDE, en cambio si es /dev/hdd3 se referirá al sector de arranque de la tercera partición del disco esclavo en el segundo controlador IDE. • timeout=<n> : expresa el tiempo máximo (en milisegundos) que se espera para cargar el sistema operativo por defecto. Cuando se oprime cualquier tecla (diferente de enter) se deshabilita el timeout. Este solo tiene sentido cuando está indicado el atributo prompt, mencionado más adelante. De no especificarse un timeout se espera infinitamente por la entrada del usuario. Ejemplo: timeout=100 • prompt : indica que se espere por la entrada del usuario para continuar el proceso de arranque hasta que expire el timeout. Si se desea cargar el sistema por defecto de forma directa se debe eliminar este atributo de la configuración. • default=<nombre> : indica que sistema arrancará por defecto. Ejemplo: default=linux
Configuración del LILO continuación... Para cada sistema operativo a cargar con LILO se define una sección en el fichero de configuración. Una sección puede comenzar con dos tipos de atributos: • image=<kernel> : se emplea para indicar el fichero o el dispositivo donde se encuentra la imagen del kernel a cargar. Ejemplo: image=/boot/vmlinuz-2.4.9 • other=<dispositivo> : se utiliza para referirse al dispositivo (partición) donde se encuentra cualquier otro tipo de sistema operativo diferente de Linux. Ejemplo: image=/dev/hda1 • En la sección correspondiente a cada sistema operativo se pueden indicar algunos atributos específicos tales como: • label=<nombre> : indica el nombre con el que va a ser identificado el sistema en el menú inicial. Ejemplo: label=windows • root=<dispositivo> : para el caso de Linux expresa que dispositivo se asumirá como root. Ejemplo: root=/dev/hda3
Configuración del LILO continuación... • initrd=<nombre> : para el caso de Linux indica cual es el fichero que contiene la imagen ramdisk inicial. Dicha imagen agrupa los módulos necesarios para el kernel en el momento de su carga que no pueden ser accedidos mediante el file system. Ejemplo: initrd=/boot/initrd.img Siempre que se modifique la configuración del LILO este se debe reinstalar. Para ello se emplea el comando lilo que debe ser ejecutado como root. Si no se le indican opciones y de no detectarse ningún error en la configuración lilo genera una salida que muestra los identificadores de los sistemas configurados y cual de estos carga por defecto (mediante un carácter *). Ejemplo: # lilo Added Linux 2.4.2 * Added Linux 2.4.9 Added Windows Added Floppy
Configuración del LILO continuación... • Otra opción interesante es: • -R <nombre> [argumentos] : expresa el nombre y los argumentos del sistema que se cargará directamente al reiniciar. • Ejemplo: • # lilo -R windows
Aplicaciones para la administración y configuración del sistema Para Linux se han desarrollado múltiples y variadas aplicaciones con el objetivo de simplificar un poco la administración y configuración del sistema. Todas ellas en un final permiten hacer lo mismo que a nivel de comandos de forma más amigable. Estas aplicaciones se pueden dividir en dos grupos: aquellas con interfaz texto y las de interfaz gráfica. A continuación se mencionarán algunas disponibles en Red Hat y su utilidad básica.
Aplicaciones para la continuación... administración y configuración del sistema Aplicaciones con interfaz texto Son orientadas a texto pues la única forma de interactuar con ellas es a través del teclado y no se utiliza el mouse. Estas interfaces son similares a las que ofrece la instalación en modo texto de Red Hat. A continuación se listan las formas fundamentales de interactuar con ellas: • TAB y Alt-TAB: para moverse entre controles. • Space: para marcar o desmarcar un elemento. • Enter: para abrir una sesión o presionar un botón. • F4: para desplegar una lista de posibilidades. También puede usarse Ctrl-x • F1: muestra la ayuda disponible. Casi siempre existe un botón para esto. • F3: para cancelar los cambios. Es equivalente a oprimir el botón Cancel si lo hubiera.
Aplicaciones para la continuación... administración y configuración del sistema Aplicaciones con interfaz texto • setup: ofrece un menú para configurar diferentes aspectos, a los cuales también se puede acceder directamente a través de otros comandos: • authconfig: para definir la forma de autenticación.lokkit: configurar el firewall.netconfig: configuración IP.ntsysv: para determinar los servicios que se activan en el inicio.Xconfigurator: para las propiedades del monitor y la tarjeta de vídeo. • netconf: permite configurar todas las interfaces de red, las especificaciones del DNS, las rutas y otros elementos relacionados. • userconf: se utiliza para administrar los usuarios y grupos del sistema. • linuxconf: en el pasado se consideraba la más potente y completa, en la actualidad se considera obsoleta y ya a partir de Red Hat 7.3 se ha eliminado de la distribución oficial.
Aplicaciones para la continuación... administración y configuración del sistema Aplicaciones con interfaz gráfica Son aplicaciones visibles en cualquier entorno gráfico. • kpackage y gnorpm: son poderosas herramientas que permiten la manipulación de los paquetes en el sistema. Forman parte de KDE y GNOME respectivamente. • control-panel: es una aplicación que brinda un panel a partir del cual se puede acceder a otras cinco aplicaciones: • tksysv: permite modificar los run levels del sistema. • timetool: permite configurar la hora y la fecha del sistema. • printtool: permite configurar las impresoras. • netcfg: permite configurar la red TCP/IP. • modemtool: permite configurar el acceso remoto mediante modem.
Definición de tareas periódicas Una posibilidad deseable en cualquier sistema operativo es la de poder ejecutar algunos procesos de forma periódica o en un momento determinado del día, la semana o el mes. En Linux hay múltiples y variadas formas tanto para los usuarios como para el sistema de crear tareas a ejecutarse en el futuro o de forma períodica. Las tareas o trabajos no son más que uno o varios comandos que se ejecutan utilizando a bash u otro shell como intérprete.
Definición de tareas periódicas continuación... Tareas tipo at Para un usuario definir una tarea o trabajo a ejecutarse en un momento determinado puede utilizar el comando at. Los comandos que componen el trabajo por defecto se toman de la entrada estándar una vez invocado el comando, o de un fichero utilizando la opción -f, el camino a este fichero debe estar especificado a partir del directorio home del usuario. Se pueden utilizar varias colas para colocar las tareas. Estas se nombran con todas las letras del alfabeto y tienen prioridad mayor los trabajos en las colas con ''letras mayores''. Para ver todas las tareas de tipo at se utiliza el comando atq y para cancelar alguna, atrm.
Definición de tareas periódicas continuación... Ejemplos: $ at 4:45pm # crea una tarea para ejecutarse a las 4:45 PM # at> echo "hora de irse" que imprime un # mensaje en la salida estándar, el cual Ctrl-d # se enviará por correo al usuario # correspondiente. $ at -f save_all.sh 5:00PM tomorrow # ejecutará el shell script # save_all.sha las 5:00PM del día # siguiente.
Definición de tareas periódicas continuación... Tareas tipo cron Existe otro tipo de tareas que se pueden ejecutar periódicamente (cada cierto tiempo) conocidas como crons. Para definirlas se emplea un fichero por usuario cuyo formato se explica a continuación: Cada tarea se escribe en una línea donde se especifican los momentos en que se ejecutará. Las fechas se especifican utilizando 5 indicadores separados por espacios. • Minutos: Oscila entre 0 y 59 • Horas: Oscila entre 0 y 23 • Días del mes: Oscila entre 1 y 31 • Meses: Oscila entre 1 y 12 (se pueden poner también las tres primeras letras del nombre del mes en inglés) • Días de la semana: Oscila entre 0 y 7 (0 y 7 corresponden al domingo, también se pueden usar las tres primeras letras del nombre del día en inglés)
Definición de tareas periódicas continuación... Si no se coloca alguno de los cinco indicadores se pone el carácter ''*'' en su lugar. Para separar indicadores de un mismo tipo se utiliza la coma; para indicar rangos, el signo ''-''. Ejemplos: PATH = /bin:/usr/bin:/sbin/:/usr/sbin:~/programas/bin 10 4 * * 0 backup every_thing 0 5 1,5,10,15,20,25,30 * * backup part_one FILE = ~/docs/partners.txt INFORM = ~/docs/inform.ps 0 7 * 1-6,9-12 mon sendmails TARGET = ~/especial/target.img 0 8 31 12 * sendmother MAILTO = pepe 0 8-16/2 4,19 * * echo "cobraste pepe?" Los ficheros de tareas periódicas o crons de los usuarios se guardan en el directorio /var/spool/cron/ cada uno con el login del usuario correspondiente como nombre.
Definición de tareas periódicas continuación... Tareas periódicas del sistema Estas son tareas periódicas del sistema En Linux existen algunas tareas periódicas del sistema que vienen definidas por defecto aunque también se pueden definir otras. Para esto está el fichero /etc/crontab. Las tareas del sistema se organizan en cuatro grupos: - tareas que se ejecutan cada una hora (en /etc/cron.hourly/) - tareas diarias (en /etc/cron.daily/) - tareas semanales (en /etc/cron.weekly/)- tareas mensuales (en /etc/cron.monthly/) En cada directorio se colocan los programas o comandos a ejecutarse periódicamente de acuerdo al período correspondiente. Entonces el fichero de crons es muy sencillo pues se apoya en el comando run-parts, el cual, dado un directorio, ejecuta todos los ficheros ejecutables que se encuentren en él.
Definición de tareas periódicas continuación... Ejemplo de fichero /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly Algunas de las tareas que se hacen de forma periódica por el sistema, son la actualización de las bases de datos sobre las que trabajan los comandos locate y whatis, así como la rotación de las trazas del sistema. Al igual que para las tareas que se crean con at, tanto la salida de errores como la estándar de todas las tareas periódicas, se trasmiten al usuario correspondiente utilizando la mensajería local del sistema. Para el caso de las tareas del sistema, se envían al usuario root a menos que se defina lo contrario.
Definición de tareas periódicas continuación... Tareas tipo anacron Las tareas tipo cron dependen de que la máquina se encuentre encendida en el momento para el que se programó. Por esto existen las tareas tipo anacrons. Estas se ejecutan cada cierto tiempo especificado en días. Si la máquina se apagua durante un tiempo mayor que el especificado, una vez encendida y activado el servicio que manipula los trabajos anacron todos aquellos que se encuentren atrasados se ejecutarán tan pronto transcurra la espera especificada. O sea, para cada trabajo anacron se indica un tiempo en días y una espera (delay). Los trabajos anacron se almacenan en el fichero del sistema /etc/anacrontab. Además de indicar el intervalo de días, el delay y el comando se especifica un nombre para el trabajoel cual se emplea para las trazas y para nombrar un fichero que emplea el servicio de anacron para saber cuando fue la última vez que ejecutó este trabajo. Este fichero se almacena en /var/spool/anacron/ y sólo contiene una fecha.
Definición de tareas periódicas continuación... El fichero /etc/anacrontab tiene la forma: SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 1 5 cron.daily run-parts /etc/cron.daily 7 10 cron.weekly run-parts /etc/cron.weekly 30 15 cron.monthly run-parts /etc/cron.monthly
Inicialización y configuración del sistema Un sistema Linux consta de varios servicios que pueden funcionar o no de acuerdo a la utilización y características generales del sistema. Algunos de estos servicios se basan en el funcionamiento de un daemon (demonio). Un demonio es un programa cuya función principal es la de brindar un servicio a uno o varios clientes ya sean locales o a través de la red. • A continuación se listan algunos ejemplos de demonios: • atd : permite la ejecución de tareas at • crond : permite ejecutar tareas cron • anacrond : permite ejecutar tareas anacron • lpd : controla el servicio de impresión • sendmail : es un agente para la trasmisión de mensajería electrónica (MTA) • syslogd : manipula las trazas del sistema • entre otros.
Inicialización y configuración del sistema continuación... Run-levels Un sistema Linux puede ejecutarse en varios modos llamados run levels. Un run level se caracteriza por los programas y servicios que agrupa. A continuación se listan los run levels definidos en un sistema Red Hat Linux: 0 : suspención (halt). Es un runlevel donde terminan todos los procesos y se apaga la computadora (de ser posible). 1 : un sólo usuario (single user). Es un runlevel donde solo se ejecuta un shell con los privilegios del usuario root. De acuerdo a la configuración del programa de carga, puede activarse al iniciar Linux pasándole como argumento al kernel la palabra single. 2 : múltiples usuarios sin NFS. Es un runlevel con las facilidades multiusuario del sistema pero sin el servicio de NFS activado.
Inicialización y configuración del sistema continuación... 3 : múltiples usuarios con servicio NFS. Es un runlevel muy empleado porque agrupa todas las facilidades multiusuario y los servicios de red del sistema Linux. 4 : no se utiliza actualmente 5 : modo X Window. Es un runlevel, por defecto igual al 3, pero que incluye además el sistema X Window. 6 : reinicialización (reboot). Es un runlevel para reiniciar el sistema.
Inicialización y configuración del sistema continuación... Cuando un sistema Linux bootea (se carga el kernel) y se terminan sus operaciones propias crea el proceso init siempre con identificador 1, el cual se mantiene activo mientras funcione el sistema. El fichero de configuración de init es /etc/inittab. Básicamente una entrada en el fichero inittab toma la forma: id:runlevels:action:process • Donde: • id : es un identificador único de uno hasta cuatro caracteres • runlevels : indica los run levels donde se ejecutará el proceso • action : describe la forma en que se ejecutará el proceso • process : indica el comando que desencadenará al proceso Ejemplos de entradas en el fichero inittab son: id:5:initdefault: # indica que el run level por defecto es 5 si::sysinit:/etc/rc.d/rc.sysinit # al inicio se ejecutará el programa # rc.sysinit
Inicialización y configuración del sistema continuación... Las entradas más importantes en el fichero inittab son las que toman la forma: lx:x:wait:/etc/rc.d/rc x # donde x oscila entre 1 y 6 En esta entrada es donde se indican todas las acciones y procesos que ejecutará o terminará el sistema en cada run level mediante el shell script /etc/rc.d/rc. Este script básicamente ejecuta un conjunto de shell scripts almacenados en el directorio /etc/rc.d/init.d • Casi todos reciben como argumento la acción a realizar. Las posibles acciones son: • status : muestra el estado del servicio. • start : inicia el servicio. • stop : detiene el servicio. • reload : indica al servicio que relea su configuración. • restart : detiene e inicia nuevamente el servicio (equivalente a dar stop y luego start).
Inicialización y configuración del sistema continuación... Algunos scripts definidos en un sistema RedHat Linux. • network : permite habilitar o deshabilitar las interfaces de red. • crond : se emplea para manipular el servicio de crons a través del daemon cron. • xinetd : permite manipular el daemon xinet. • sendmail : se utiliza para manipular el daemon sendmail. Para verlos todos puede hacerse: $ ls /etc/rc.d/init.d/ Los scripts pueden ser ejecutados por el administrador tecleando el camino completo al script o utilizando el comando service. Ejemplos: $ /etc/rc.d/init.d/crond status crond (pid 416) is running... # service httpd stop Shutting down http: [ OK ]
Desinstalación del sistema Para desinstalar Red Hat Linux se puede utilizar el propio CD de instalación si se tiene. Con este se debe iniciar el proceso de instalación normalmente hasta la parte en que se particiona el disco seleccionando fdisk y en lugar de añadir particiones se borrarán las existentes. Una vez borradas todas las particiones del sistema Linux (incluyendo la Swap) y actualizada la tabla de particiones se aborta la instalación presionando Ctrl-Alt-Del o el botón Reset de la máquina. Si el LILO se instaló en el MBR se debe borrar utilizando el fdisk de MS-DOS con el argumento /mbr. En caso de que no se disponga del CD de instalación se puede utilizar algún particionador avanzado de discos que identifique las particiones Linux para borrarlas. Uno de ellos puede ser el PartitionMagic. El fdisk de MS-DOS no identifica las particiones Linux por lo que no se puede utilizar, el Disk Administrator de NT reconoce las particiones Linux aunque les asocia un file system desconocido (''Unknown''). FIN