Beruflich Dokumente
Kultur Dokumente
Tema N 02:
Hardware
2.2 . Cambiar niveles de ejecucin
D ETERMINAR
C ONFIGURAR H ARDWARE
Veamos como es que nuestro sistema operativo Linux interacta con nuestro hardware desde un nivel lgico observando determinados archivos.
EL
DIRECTORIO
/ SYS
El directorio /sys contiene informacin de los dispositivos conectados al sistema. En /sys se monta el sistema de ficheros virtual sysfs. El sistema de ficheros sysfs Sysfs es un sistema de ficheros virtual basado inicialmente en ramfs y que est implementado en el kernel de Linux 2.6. El ncleo exporta hacia el espacio de usuario informacin sobre los dispositivos y controladores. Esta informacin se organiza dentro de /sys agrupada en directorios de forma jerrquica: Directorio /sys/block /sys/bus /sys/class /sys/devices /sys/firmware /sys/module /sys/fs /sys/power Descripcin Un directorio para cada dispositivo de tipo bloque. Contiene un directorio por cada tipo de bus fsico del sistema. Directorios de los dispositivos organizados en clases por el kernel. Una clase de dispositivo describe un tipo de dispositivo funcional. Muestra los dispositivos fsicos que han sido encontrados por los diferentes tipos de bus registrados en el kernel. Contiene interfaces para manipular objetos y atributos especficos del firmware. Un directorio por cada mdulo cargado por el kernel. Un directorio por cada sistema de ficheros. Contiene informacin del sistema de alimentacin elctrica.
EL
DIRECTORIO
/ PROC
Es un directorio virtual que se crea en cada inicio del sistema. Los archivos de este directorio son generados dinmicamente por el kernel y reflejan los valores de la configuracin actual. Es posible cambiar el comportamiento del kernel modificando las opciones de los archivos. Esta es una operacin delicada ya que si se realiza incorrectamente el sistema puede volverse inestable o sufrir un bloqueo. Archivos y directorios de /proc: Archivo o directorio /proc/bus /proc/cpuinfo /proc/devices /proc/filesystems /proc/ide /proc/interrupts /proc/iomem /proc/ioports /proc/kcore /proc/meninfo /proc/modules /proc/partitions /proc/pci
Descripcin Buses del sistema (USB, PCI, etc) y dispositivos conectados a estos buses Informacin del procesador(es) del sistema. Muestra los dispositivos (de carcter y de bloque) que estn actualmente configurados en el sistema. Lista los sistemas de fichero reconocidos por el kernel. Interfaces IDE del equipo. Interrupciones IRQ asisgnadas a cada dispositivo. Muestra la memoria asisgnada a cada dispositivo. Puertos E/S asignados a cada dispositivo. Es una copia de la memorioa fsica del sistema. Informacin del uso actual de la memoria RAM. Lista de los mdulos cargados en memoria. Informacin de las particiones del sistema. Lista de todos los dispositivos PCI del sistema.
cat /proc/bus/pci/devices ------------- lista los dispositivos PCI cat /proc/cpuinfo cat /proc/meminfo cat /proc/mounts ------------- Informacin de CPIU ------------- Informacin de memoria ------------- Informacin sobre puntos de montaje
EL
DIRECTORIO
/ DEV
En Linux todos los dispositivos se representan mediante un fichero. En el directorio /dev se encuentran los nodos de dispositivos que representan al hardware.
Los dispositivos de clasifican en dos tipos: Dispositivo de carcter: Transmiten la informacin byte a byte y el acceso es secuencial. Dispositivo de bloque: Transmiten la informacin en bloques (1024 bytes) y el acceso es aleatorio. Los dispositivos son identificados por el Kernel mediante dos nmeros: Nmero mayor: Identifica el cdigo del controlador para el dispositivo. Por ejemplo todos los discos duros tendrn el mismo nmero mayor Nmero menor: Identifica el dispositivo para un controlador, es decir, con un mismo nmero mayor. Con el comando ls-l /dev podemos ver la informacin $ ls -l /dev crw-rw---- 1 root audio crw-rw---- 1 root audio brw-rw---- 1 root disk brw-rw---- 1 root disk brw-rw---- 1 root disk brw-rw---- 1 root disk brw-rw---- 1 root disk brw-rw---- 1 root disk brw-rw---- 1 root disk 14, 14, 3, 3, 3, 3, 3, 8, 8, 12 4 0 1 2 3 4 7 8 16 sep 21 2010 sep 21 2010 sep 21 2010 sep 21 2010 sep 21 2010 sep 21 2010 sep 21 2010 sep 21 2010 sep 21 2010 sep 21 2010 adsp audio hda hda1 hda2 hda3 hda4 sda7 sda8 sdb
El primer carcter indica si se trata de un dispositivo de bloque o carcter Podemos observar como todos los dispositivos sd tienen el mismo nmero mayor (8) y un menor diferente (7,8 o 16) que lo identifica.
COMANDOS:
lspci: Obtenemos informacin de los dispositivos PCI del sistema. Para obtener informacin ms detallada disponemos de las opciones: -v, -vv y -vvv cada una de las cuales aumenta el nivel de detalle de la anterior. La opcin -vmm muestra los campos de informacin organizados por lneas:
Vistanos o comuncate con nosotros. Elas Aguirre 933 Fono 481614cpead_cis@crece.uss.edu.pe
Algunos parmetros slo son accesibles por root, si accedemos como un usuario normal obtendremos en mensaje: "access denied" lsusbi: Obtenemos informacin de los dispositivos PCI del sistema. Realiza la misma funcin que lspci pero para dispositivos USB.
H ERRAMIENTAS
Para comprobar que todo ha ido bien o para instalar el mdulo si disponemos de un driver precompilado podemos utilizar las siguientes herramientas de gestin de mdulos: Comando lsmod modprobe <nombre_mdulo> rmmod <nombre_mdulo> modinfo <nombre_mdulo> Descripcin Muestra los mdulos que se han cargado en memoria durante el proceso de arranque. Carga el mdulo nombre_modulo. Si depende de otros mdulos los cargar primero. Descarga el modulo nombre_mdulo de la memoria. proporciona informacin de nombre_mdulo
Los mdulos compilados se encuentran en /lib/modules. Para configurar sus parmetros utilizaremos en fichero /etc/modules.conf. Para que un mdulo se cargue siempre en memoria durante el proceso de arranque debe aadirse al fichero /etc/modules.
uname: Despliega informacin acerca del sistema sobre el cual se esta trabajando. Si no se especifica ninguna opcin, imprime el nombre del sistema Ejemplo : name -a uptime: Informa el tiempo transcurrido desde que arranc por ltima vez la pc. Ejemplo : name -a
Init:
El proceso init es el primero que ejecuta el kernel y es el encargado de leer e interpretar los parmetros indicados en el fichero de configuracin: /etc/inittab.
5 6 S
Modo multiusuario. Activa la red y los servicios disponibles e inicia X Window automticamente. Reinicia el sistema. Se detienen todos los procesos y se desmontan todos los sistemas de archivos y se desactiva la particin swap Es el runlevel en el que arranca el sistema. Es similar a 1, pero 1 se utiliza para volver a S cuando nos encontramos en otro runlevel
Cuando arranca o se reinicia el sistema, init no se queda en el runlevel S sino que pasa al especificado como defecto: habitualmente 2 o 5, y se mantendr en l hasta que forzamos un cambio. Para saber en que runlevel nos encontramos ejecutamos runlevel como usuario root. El primer caracter es S para el nivel 1 y N para el resto. El segundo es el nivel de ejecucin actual init y telinit init : Es un comando del sistema y como todos acepta parmetros, pero es habitual
telinit opciones: N
Control del proceso de inicio del sistema. Cambia al runlevel N. Donde N es el nivel al que queremos cambiar, N=[0,1,2,3,4,5,6,s,S] uoU Vuelve a ejecutar el proceso init
q o Q Vuelve a leer el archivo /etc/inittab y aplica los cambios necesarios. Para cambiar de runlevel ejecutamos init N o telinit N. Parar y reiniciar el sistema
Detiene el sistema Reinicia el sistema despus del tiempo especificado en time. now equivale a 0 Apaga el sistema despus del tiempo especificado en time. now equivale a 0 No apaga el sistema, envia un mensage de aviso a todos los usuarios Espera sec segundos desde el de envio de los mensajes de aviso hasta la ejecucin de kill, antes de cambiar derunlevel No ejecuta fdisk en el reinicio Fuerza la ejecucin de fdisk en el reinicio
-f -f
-c
halt, reeboot, poweroff opciones: -n -W -d -i -h -f Resumen: Reinicio del sistema init 6 telinit 6 shutdown -r now reboot
Detiene o reinicia el sistema. No sincroniza antes de iniciar o detener. no reinicia o detiene, slo escribe en el archivo de registro /var/log/wtmp. no escribe en el archivo de registro /var/log/wtmp. La opcin -n implica -d Detiene todas las interfaces de red antes de parar o apagar el sistema. Pone todos los discos duros en stand-by antes de parar o apagar el sistema. fuerza halt o reboot. No realiza la llamada a shutdown.
Creando Particiones y Sistemas de Archivos Se deben llevar a cabo varios pasos antes de que el disco sea utilizable por el sistema. Primero, se debe particionar el disco; esto permite que el disco se estructure para almacenar datos. Una vez que el disco haya sido segmentado en particiones, se debe crear el sistema de archivos. Linux proporciona las herramientas necesarias para particionar y crear el sistema de archivos en un disco duro. Tipos de Particin Las unidades de disco duro utilizadas por Linux y otros sistemas siguen unas estrategias de particin estndar. La informacin de la particin se almacena en el disco fsico y permite que coexistan diferentes sistemas operativos dentro de un nico equipo. El particionado de discos es til por diversos motivos. Se pueden almacenar los datos del sistema en particiones separadas para asegurar que las diferentes partes del sistema operativo tienen suficiente espacio en el disco. Manteniendo los datos del sistema y los datos de los usuarios en particiones separadas tambin permite cierto grado de seguridad, proporcionando una barrera lgica entre el espacio al que acceden los usuarios y el espacio al que accede el sistema. Las razones para particionar un disco son demasiado numerosas como para listarlas. Pueden variar desde temas relacionados con la seguridad, temas de poltica hasta fsica del disco. Independientemente de las razones para crear particiones, los tipos de particiones son las mismas. Un disco puede contener particiones primarias, extendidas y particiones de intercambio (swap). Particiones Primarias Todos los discos duros que tengan un sistema de archivos usan una particin primaria. Es la primera particin creada en el disco. Si todo el espacio del disco es utilizado por la
Vistanos o comuncate con nosotros. Elas Aguirre 933 Fono 481614cpead_cis@crece.uss.edu.pe
particin primaria, sta ser la nica particin del disco. Es posible tener varias particiones primarias en un nico disco fsico. Estas particiones se utilizan para arrancar el sistema y estn limitadas a un mximo de cuatro en un mismo disco fsico. Particiones Extendidas Si se necesitan ms de cuatro particiones en el disco, es necesario crear una particin extendida. Cuando existe una particin extendida en un disco, no puede haber ms de 3 particiones primarias en el mismo. Una particin extendida por si misma carece de utilidad. En realidad acta como un contenedor de particiones lgicas, y puede contener varios de estos discos lgicos. Estas particiones no son arrancables, pero permiten tener un gran nmero de particiones en el sistema. Las particiones lgicas slo pueden existir dentro de una particin extendida. Particiones de Intercambio (Particiones swap ) Estas particiones se utilizan para almacenar datos temporales y mejoran el rendimiento del sistema. Una particin swap se utiliza como memoria virtual y es necesaria para sistemas con menos de 16MB de RAM. En el pasado, el tamao recomendado para la particin swap era el mismo que el de la memoria RAM del sistema. Actualmente se recomienda que el tamao de la particin swap sea el doble que la memoria RAM del sistema, de modo que un sistema con 128MB de RAM debera tener una particin swap de al menos 256MB. Los kernel anteriores al 2.2 estaban limitados a particiones swap de 128MB; sin embargo, a partir de la versin 2.2, la particin swap en sistemas basados en arquitecturas i386 puede llegar a ser de 2GB. El sistema Linux combina la cantidad de RAM y la particin swap para determinar la cantidad total de memoria virtual disponible para el sistema. La cantidad ptima de memoria virtual necesaria para un sistema vara en funcin de las aplicaciones que se estn ejecutando en el mismo.
Sistema de archivos / (raz) Todo surge a partir del directorio raz (/). El directorio raz es el directorio a partir del cual todos los dems son subdirectorios o subcomponentes. Cuando se especifican localizaciones utilizando direcciones absolutas, siempre se comienza por este directorio, porque es el origen ltimo, y es imposible moverse ms all del mismo, ya que no hay directorio sobre l.
10
Sistema de archivos /boot Este directorio almacena los archivos necesarios para arrancar el sistema, excepto los archivos de configuracin, as como el kernel del sistema. En algunas implementaciones, el kernel se almacena en el directorio raz (como recuerdo de los sistemas UNIX), pero en las versiones ms modernas se usa el directorio /boot.
Sistema de archivos /home Como su propio nombre indica, el directorio /home contiene los subdirectorios que son directorio de origen para cada uno de los usuarios. Por ejemplo, el usuario pedro, cuando ejecuta el comando cd, se situa en el directorio /home/pedro. Cada directorio /home/usuario de cada usuario proporciona el lugar para almacenar sus archivos, as como para almacenar los archivos de configuracin individuales de ese usuario. Algunos servicios, como FTP o HTTP, tambin crean directorios bajo /home.
Importante: Se debe recordar, que por motivos de seguridad, no existe un directorio /home/root. El directorio de inicio para el root es el directorio /root.
Los paquetes de Debian, o paquetes .deb, por norma general contienen ficheros binarios para instalar as como otra informacin, conocida como metadata; este incluye informacin del paquete, scripts que sern ejecutados, la lista de dependencias y conflictos o sugerencias. Algunos paquetes traen el cdigo fuente y pueden ser compilados a mano. Se usa una convencin en los nombres de los paquetes: paquete_version-build_arquitectura.deb Paquete, es el nombre del programa o utilidad.
11
Versin, es el nmero de versin de la aplicacin. build, es el nmero que indica la versin del paquete, cada vez que se hace un empaquetado se incrementa. Arquitectura, es la plataforma para la cual fue destinada la compilacin del paquete.
Usando dpkg dpkg es el ncleo del sistema de empaquetado de Debian, la gran mayora de
herramientas usan el dpkg y lo hacen ms sencillo o con ms opciones. A veces es ms rpido usar el dpkg que otras herramientas a priori ms sencillas.
a. Instalacin
dpkg --install paquete.deb dpkg i paquete.deb
b. Remover paquetes
dpkg r nombre-paquete dpkg --remove paquete-nombre
12
j. Reconfigurar paquetes:
dpkg-reconfigure paquete Ver paquetes disponibles: /var/lib/dpkg/availables Ver estado de paquetes: /var/lib/dpkg/status Directorio utilizado por el dpkg para encontrar paquetes: /var/cache/apt/archives
Usando el apt-get
El apt-get es la herramienta por excelencia de Debian para la administracin de paquetes, teniendo un abanico ms amplio de opciones, el apt-get instalar automticamente los paquetes as como sus dependencias.
a. Instalacin
apt-get install nombre-paquete
f- Remover paquetes
apt-get remove nombre-paquete
13
apt-get dist-upgrade
m. Descargar sin usar el internet, utiliza los paquetes descargados en instalaciones anteriores.
apt-get install paquete --no download
o. Reinstalar paquetes
apt-get install reinstall paquete
q. Recibir paquetes
wget http://xxxxxxxxxxxxx.deb /etc/apt/sources.list
14
RPM
El ms popular gestor de paquetes que se utiliza con Linux es RPM, o Red Hat Package Manager. A pesar de ser creado por Red Hat, se utiliza en la mayora de las distribuciones por defecto exceptuando Slackware, Debian, Gentoo. Un sistema de gestin de paquetes mejora la distribucin binaria gestionando el control de la versin, las dependencias con otros paquetes y su administracin. Utilizando las herramientas del paquete, se puede comprobar la versin instalada, los archivos incluidos en el paquete, etc. RPM est compuesto por: La base de datos RPM La herramienta rpm Archivos del paquete (*.RPM)
15
Archivos de la aplicacin comprimidos Nombre y versin del paquete Fecha de realizacin y fecha de publicacin Descripcin del paquete y de la aplicacin Informacin de quin realiz el paquete MD5 checksum para verificar la integridad del paquete Otros paquetes requeridos (dependencias)
Como se puede observar, dentro de un paquete RPM se incluye mucha informacin. A travs de los distintos archivos, se incluye toda la informacin necesaria para instalar y mantener el paquete. Los RPM siguen la siguiente tipologa estndar: package-version-patch.architecture.rpm donde: package - Nombre de la aplicacin instalada por el paquete. versin - Nmero de la versin de la aplicacin. match - Nmero de arreglo del paquete. Si se produce un pequeo cambio o el administrador realiza una modificacin en el paquete, este nmero se incrementa. architecture - la arquitectura del computador para la cual est realizado el paquete. Esto es muy importante ahora que Linux se ejecuta en tantas computadoras distintas. Algunos ejemplos: i386, i586, y i686 para Intel x86 y compatibles; sparc para Sun Sparc,; y alpha para Digital/Compaq Alpha. Ejemplo: ethereal -0.8.9-1.i386.rpm Este paquete contiene la versin 0.8.9 de Ethereal, un paquete sniffer utilizado para reiniciar una red. Esta es la primera construccin de este paquete, y es para la plataforma i386 (Intel PC). Un lugar para encontrar paquetes rpm de muchas aplicaciones es www.rpmfind.net
16
a. Instalacin
apt-get install nombre-paquete
a. Instalacin de paquetes:
rpm ivh paquete.rpm
b. Actualizar paquetes
rpm uvh paquete.rpm
c. Remover paquete
rpm e nombre-paquete
d. Versin de paquete
rpm q nombre-paquete
f. Busca a partir de que paquete se han instalado ciertos archivos o binarios indicando ruta completa.
rpm qf nombre archivo
17
YUM
yum es un paquete administrador de software(software package manager). Es una muy til herramienta para instalar, actualizar y remover paquetes junto con sus dependencias en distribuciones Linux basados en RPM (redhat, fedora, centos, etc.). Automticamente determina las dependencias necesarias y lo que debe realizarse para instalar paquetes.
a. Instalacin de paquetes: Yum install nombre-paquete b. Actualizar paquetes instalados yum update c. Cambios de Version
yum upgrade
d.
Eliminar paquete
yum remove ! Yum erase
e.
Buscar un paquete
yum search paquete
g.
18