Archivos Mensuales: noviembre 2011
4.-Instalación de Linux y gestión de paquetes LPIC1 Peso 2
Esta parte tiene poco peso en la certificación, probablemente solo saldra en el exámen una pregunta.
Como siempre podéis ir a la sección Contenidos certificación y comprobar lo que nos van a pedir.
Para instalar windows como para instalar alguno de los sistemas de Linux, es necesario particionar un sistema operativo. El particionado guarda relación directa con los puntos de montaje de Linux.
Las ventajas de un particionado así como sus tipos la omito pero me centrare en la parte más desconocida que espero lso técnicos os veáis envueltos en su lectura. Doy por supuesto que si has llegado hasta aquí ya sabes de informática.
Los sistemas operativos estaban basados en un esquema X86, este admitía solo 4 particiones de las cuáles solo una de las 4 podía ser extendida, pero esa extendida podía albergar particiones lógicas, por eso las lógicas son continuas unas de otras pero pueden estar separadas por primarias.
Ejemplo: pprimaria1, pextendida(logica1,logica2,logica3,logica4,logica5),pprimaria2,pprimaria3
En linux se les asigna a las particiones primarias números del 1 al 4 y a las extendidas del 5 en adelante.
Discos duros (en general: /dev/hdx#, donde x es el disco y # es la partición)
Primer disco duro: (todo el disco) /dev/hda
Particiones primarias
Primera partición primaria: /dev/hda1
Segunda partición primaria: /dev/hda2
Tercera partición primaria: /dev/hda3
Cuarta partición primaria: /dev/hda4
Particiones lógicas
Primera partición lógica: /dev/hda5
Sucesivamente: /dev/hda#
Segundo disco duro: (todo el disco) /dev/hdb
Particiones primarias
Primera partición primaria: /dev/hdb1
Segunda partición primaria: /dev/hdb2
Tercera partición primaria: /dev/hdb3
Cuarta partición primaria: /dev/hdb4
Particiones lógicas
Primera partición lógica: /dev/hdb5
Sucesivamente: /dev/hdb#
Discos SCSI y SATA (los sata son reconocidos como si fueran SCSI)
Primer disco SCSI: /dev/sda
Segundo disco SCSI: /dev/sdb
…
En el caso expuesto anteriormente no podrá haber hda2 (en su lugar esta la extendida con varias lógicas) ni la hda4 por que no existe.
La primera lógica la lógica1 sera igual a /dev/hda5
En linux podemos utilizar solo particiones lógicas pero por no limitarnos en el arranque debemos usar particion primaria para el montaje de alguno de nuestros fichero, más adelante lo explicaremos.
Los sistemas operativos se basan en unos códigos(hexadecimales) para saber a que tipo de partición es la que pueden acceder y los de linux ni los tocan 🙂 Linux utiliza 0x82(marca particion de intercambio) y 0x83 (marca particion de sistema de ficheros). Sin embargo Linux puede intentar montar cualquiera, pasa olimpicamente de estos códigos.
Como en todo hay excepciones pero en este caso son positivas, miran estos códigos para ver como esta montado el sistema y facilitarnos las instalaciones sin macharnos a Windows cuando por ejemplo hacemos una instalación en un disco duro que ya contiene al señor ventanas y también busca los códigos 0x05 y 0x0f que son los que se asignan a particiones extendidas.
(continuará …)
Microsoft Bookmarklet Translator
Microsoft lanzó hace unos días Bookmarklet Translator, una herramienta muy útil para navegar por la Red, capaz de traducir hasta 36 idiomas diferentes, detectando de forma automática el idioma de la página visitada.
Bookmarklet Translator proviene de Bing Translator, aunque tiene una ventaja funcional sobre éste y la herramienta su competidor, Google Translator: no es necesario abandonar la página que necesitamos traducir, con lo que no se pierde la estética original del sitio.
La herramienta se instala de forma muy sencilla en prácticamente cualquier navegador. Basta con dirigirse a la web oficial, allí seleccionamos nuestro idioma y cuando aparezca la palabra “traducir”, que es un enlace, arrastramos con el ratón la misma a la barra de marcadores del navegador. Eso es todo.
Cuando necesitemos traducir el contenido de un sitio, simplemente pulsaremos sobre el icono del marcador y, tras unos segundos, tendremos la página traducida. El proceso es reversible con el simple hecho de volver a pulsar el icono de Bookmarklet Translator.
Para ver algún ejemplo o si tenéis problemas escribirnos y os grabamos un video de como hacerlo. consultas@cmdsistemas.es
Fuente: GenBeta
Enlaces duros y enlaces simbólicos LPIC-1
No son otra cosa que enlaces a ficheros.
Con ellos podemos llamar a un mismo fichero usando varios nombres, los identificará el sistema operativo por su numero de inodo generado de forma semialeatoria.
Un inodo es un enlace identificador único para el sistema de ficheros.
En un directorio, hay múltiples números de inodo correspondientes cada uno de ellos con un nombre de fichero.
La estructura de linux de ficheros se basa en que cada nombre de fichero en un directorio(comunmente llamado en windows carpeta) es un enlace a un inodo concreto.
Enlaces Duros o hard links:
La herramienta para crearlos es «ln».
ln mienlace prueba1 creará un enlace llamado mienlace que será como el si fuera el mismo fichero prueba1.
ls -i, muestra el inodo de un fichero.
Utilizando ls -i veremos que los dos ficheros tienen el mismo inodo.
# ls -i mienlace prueba1
Se crea directamente un enlace al inodo. Solamente podremos crear enlaces duros entre ficheros del mismo sistema de ficheros.
Cuando eliminamos un mienlace con rm, solamente estamos eliminando un enlace a prueba1 y prueba1 seguirá existiendo.
Un fichero estará definitivamente eliminado del sistema cuando no queden enlaces a el. En realidad, la norma es que los ficheros tengan solamente un enlace duro, que es el nombre propio del fichero apuntando al inodo.
Un modo de saber cuantos enlaces tiene un fichero es con la orden ls -l. En la salida estándar por pantalla, la primera columna indica los permisos y una segunda columna con un número te indicará el número de enlaces del fichero y si es un directorio el número de directorios que contiene.
Por ejemplo:
ls -l mienlace prueba1
-rw-r-r- 2 root root 29 Dic 5 16:00 mienlace
-rw-r-r- 2 root root 29 Dic 5 15:59 prueba12
Por lo tanto acabamos de descrubir que un directorio en linux en realidad es un fichero que contiene información sobre la dirección del enlace a un inodo.
Para complicar la cosa y pensando pensando, descubrimos que cada directorio tiene al menos dos enlaces duros en el:
. (punto) enlace que apunta a si mismo
.. (punto punto) enlace que apunta al directorio padre.
En el directorio raíz (/), el enlace .. (punto punto) simplemente apunta a /. es decir así mismo.
Buscar todos los enlaces duros a un fichero.
En ciertas ocasiones puede resultar difícil localizar en que partes del árbol de directorio existen enlaces a determinados archivos. Para encontrarlos lo podemos hacer con la orden find:
find / -inum número
Enlaces Simbólicos
Un enlace simbólico permite dar a un fichero el nombre de otro, pero no enlaza el fichero con un inodo, es decir, en realidad lo que hacemos es enlazar directamente al nombre del fichero. Esto podría parecerse bastante a lo que Windows nos tiene acostumbrados.
Con la orden ln -s creamos un enlace simbólico a un fichero. Por ejemplo:
ln -s archivosimbolico prueba2
Hay que tener en cuenta que el nombre del enlace simbólico no soporta rutas completas, por lo que para crearlo, será imprescindible situarse dentro del directorio en el que queramos que quede colocado dicho enlace.
Si lo verificamos de nuevo con la orden ls -l vemos que el fichero archivosimbolico es un enlace simbólico apuntando a prueba2
ls -l archivosimbolico prueba2
Los bits de permisos en un enlace simbólico no se usan (siempre aparecen como (rwxrwxrwx), son determinados por los permisos del fichero al que apuntas.
Si el fichero apuntado es eliminado, los enlaces simbólicos permanecen, pero ya no serán válidos y carecen de sentido.
Diferencias entre enlaces duros y simbólicos.
Pueden crearse enlaces simbólicos a un fichero que no esté en el mismo dispositivo de almacenamiento. Los enlaces simbólicos son procesados por el núcleo de forma diferente a los duros.
Los enlaces simbólicos son de ayuda puesto que identifican al fichero al que apuntan; con enlaces duros no es tan fácil saber que fichero esta enlazado al mismo inodo.
El sistema operativo los usa muy a menudo, Los enlaces simbólicos son importantes para las imágenes de las librerías compartidas en /lib, lo que facilita mucho la conexión de los diferentes programas con esas librerías. Nosotros mismos si queremos instalar el firefox a mano, debemos usar un enlace simbólico.
Os dejo un tutorial de youtube hecho por http://www.nicklabs.com.ar: http://www.youtube.com/watch?v=kokyJwCMdrQ&feature=player_embedded –> podréis ver un buen ejemplo de como se usa un enlace simbólico.
16.-Realizar operaciones básicas de edición de archivos usando vi LPIC-1
Nos hemos saltado unos cuantos temas de la certificacion 101, pero vovleremos sobre ellos, creemos que es importante hablar sobre este editor antes de seguir.
Vi el primer editor de texto creado para Unix y hoy en día se sigue usando según los expertos por ser sencillo y ser capaz de entrar en un disquete de emergencia.
Yo casi no lo uso y me parece rarísimo de usar, ya me parecía en el año 1998, cuando en clase nuestro profesor de Sistemas Operativos nos lo explicaba y le mirabamos todos como dienciendo ehhh!! que es la hora del pincho, dejame salir a por el bocata de mortadela !!!, bueno otros iban a fumar un cigarrillo de la alegría !! o a ligar con la compañera. En fin, era un poco pingüinoX X-)
Vi, tiene tres modos de ejecución, modo 1, modo 2 y modo 3, na es broma …, tiene tres modos:
Comando
Ex
Inserción
El modo comando donde acepta comandos, en este caso letras sueltas, por ejemplo «i» o «a» pasan al modo inserción, aunque de maneras muy distintas.
El modo ex Permite manipular ficheros incluso ejecutar programas externos, se llega a este modo poniendo los dos puntos «:» seguido del nombre del comando.
El modo inserción Lo típico para poder escribir, menos la tecla escape que nos saca de este modo y regresamos al modo comando.
Como lleva tanto tiempo usandose el vi, pues estos modos han sufrido cambios a la hora de decirlos y en documentacion en internet o libros podemos leer como al modo comando lo llaman modo normal o al modo inserción lo llaman modo edición o modo de entrada y al modo ex pues como línea de comandos.
Por ejemplo, vamos a copiar el fichero interfaces de /etc/network/interfaces a nuestra carpeta de Documentos:
lacemi@debianMich:/etc/network$ cp ./interfaces /home/lacemi/Documentos (usamos ./ para decir que esta en el directorio actual)
acemi@debianMich:/etc/network$ cd ~ (sacamos la virgulilla con alt+4 para volver de un tirón a nuestro directorio home)
lacemi@debianMich:~$ cd documentos (metemos la pezuña no poniendo la mayúscula y como linux distingue pues error)
bash: cd: documentos: No existe el fichero o el directorio
lacemi@debianMich:~$ cd Documentos
lacemi@debianMich:~/Documentos$ ls (listamos para comprobar que copio el fichero)
interfaces Música numbersaa
lacemi@debianMich:~/Documentos$ vi interfaces (editamos con vi el fichero)
ahora nos aparece el fichero, estamos en el modo comando.
Podemos usar el teclado hasta posicionarnos sobre una línea que queramos copiar.
Ahora tecleamos 4yy y sin pulsar intro nos aparecerá abajo 4 líneas copiadas:
# The primary network interface
allow-hotplug eth0
iface eth0 inet static–> copiamos a partir de aquí.
address 192.168.1.22
netmask 255.255.255.0
network 192.168.1.1
broadcast 192.168.1.255
gateway 192.168.1.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.100.1
~
~
4 lines yanked
También podemos usar dd en vez de yy, dd nos copia en el buffer pero nos borra las líneas.
Podéis investigar con d o con y o con dw, hay muchas posibilidades 🙂 cuidado con dw que borra la última palabra.
Con la p minúscula pegamos el contenido del buffer y si la usamos en mayúsculas la pega en la línea previa al cursor. Podemos hacer las pruebas.No pego los logs por no hacer un pergamino del post.
R–> pasa al modo inserción, recordemos que estamos en el modo comando. El modo insserción remplaza texto en vez de insertarlo.
i o a–>Inserta texto en vez de sobreescribir. a lo hace dejando un espacio en blanco al avanzar el cursor, por ejemplo útil al final de una línea.
Para nuestro ejemplo ponemos:
R
Ahora nos sale abajo –REPLACE– en la línea de estado, y escribimos el nombre para un nuevo fichero interfaces.
Tambien podemos si esto no funciona usar la tecla de insertar para pasar a este modo y para volver a modo comando vale con presionar la tecla escape.
Pero hay mucha documentación en internet, os dejo dos enlaces para que practiquéis, a mi me salieron unas 3 preguntas sobre el editor Vi en la exámen de certificación.
http://www.educacioninformatica.com/modules/tutorials/tutoriales/como_usar_vi/usar_vi_como.html
http://iie.fing.edu.uy/~vagonbar/unixbas/editorvi.htm
El primer paso es dominar los modos en los que estamos dentro del editor y despues ya es pegarse con los comando un poco.
Como consejo rápido, sería no utilizar VI y utilizar nano o pico como simples editores o incluso gedit.
Comandos más usados:
A continuación se listan los comandos más comúnmente utilizados:
i
Ingresar al modo inserción.
r
Ingresar al modo inserción (reemplazo).
cw
Reemplazar hasta el final de palabra.
D
Borrar desde el cursos hasta el final de la línea.
ZZ
Salir de vi grabando los cambios.
$
Ir al fin de línea. Es equivalente a la tecla Fin.
^
Ir al comienzo de línea. Es equivalente a la tecla Inicio.
dd
Cortar línea al portapapeles (también se usa para borrar).
Y
Copiar la línea actual al portapapeles.
p
Pegar el contenido del portapapeles a la derecha del cursor.
P
Pegar el contenido del portapapeles a la izquiera del cursor.
o
Comenzar la edición abajo del cursor.
O
Comenzar la edición arriba del cursor.
a
Comenzar la edición a la derecha del cursor.
Además, los comandos de ex más comúnmente utilizados son:
:wq
Salir de vi grabando los cambios.
:w
Grabar los cambios sin salir.
:n,m s/cadena1/cadena2/g
Buscar “cadena1” y reemplazarla por “cadena2” desde la línea número “n” hasta la línea número “m” (se puede escribir “$” para hacer referencia al final del archivo).
:q!
Salir sin grabar los cambios.
Podemos hacer búsquedas presionando la tecla / seguida de la cadena de texto a buscar, y Enter para confirmar. El cursor se posicionará en la primera ocurrencia de la cadena a buscar. Presionando n se buscará la siguiente ocurrencia de la búsqueda.
3.-Los niveles de ejecución y el cierre o cambio de reiniciar el sistema LPIC-1
Descrita en la unidad 2.
Podemos dejaros un ejercicio rápido que consitiría en escribir por ejemplo #telinit 3 para pasar a este modo de ejecución sin ventana y nuestro servidor X dejaría de funcionar. Si damos a alt+f7 en vez de mostrarnos o abrirnos una ventana nos tendría logicamente que salir un consola de texto vacía, para pasar al modo en que estabamos #telinit 5 o #telinit 2, anteriormente deberíamos haber hecho un #runlevel
2.-B) Arranque del sistema Linux LPIC-1 Peso 3
En el artículo anterior 1.-
Hablamos de inittab pero mencionamos el event.d
Por ejemplo /etc/event.d/rc3 controla el paso de ejecución 3, es igual que el 6explicado en el post anterior pero solo sin interface gráfico. Después se ejecuta Sysv que es un script de inicio.
En debian no existe event.d por lo tanto ahora mismo no os puedo poner ejemplos pues es la versiónq que tengo instalada en la oficina.
En casa estoy probando el nuevo fedora 16 y la verdad que de momento me está encantando aunque tengo problemas con el audio de momento.
Los script están en /etc/init.d/rc o /etc/rc.d/rc y los específicos estarían en /etc/init.d/rc?.d o /etc/rc?.d
El programa rc ejecuta los scritp en orden numérico.
Para gestionar los servicios de los nodos de ejecución tenemos varias herramientas:
Tenemos que saber que los script de sysv son enlaces simbólicos al original.
chkconfig, ntsysv, update-rc.d y rc-update.
Por ejemplo aquellos que tengais este sistema podéis probar chkconfig –list
Este sistema suele estar ya implementado en Mandriva, Red Hat y Fedora. Teneis la utilidad ntsysv, si no la tenéis podéis bajarla del repositorio, que os gestiona los servicios de modo gráfico facilitandonos el trabajo.
Comprobar y cambiar el modo de ejecución por defecto:
Lo primero sería ver cuál se esta ejecutando:
debian: (grep busca una cadena de texto dentro de un fichero especificado)
root@debianMich:/home/lacemi# grep :initdefault: /etc/inittab
id:2:initdefault:
o inspenccionando el fichero: /etc/inittab
Otra manera que no veo en la certificación pero que es muy efectiva y nos da ese mismo resultado es ejecutar:
#runlevel
root@debianMich:/home/lacemi# runlevel
N 2
Como vemos nos devuelve tambien 2.
Recordamos que el 2 es en debian y sus derivados, un modo multiusuario completo con la X en ejecución y un acceso gráfico. La mayoría del resto de distribuciones dejan este modo de ejecución sin definir.
Para tener un modo de ejecución distinto por ejemplo sin entorno gráfico tendremos que modificar la línea correspondiente en /etc/inittab editando la línea initdefault y cambiándo el modo ejecución por el valor 3. Al reiniciar cogería este modo.
Para hacerlo en sistemas funcionando podemos pensar un ejemplo real, que sería que estamos en un linux por consola pero queremos tener funcionalidad de ventanas o acceso gráfico para lo que sea como tener mas funcionalidad o mejor comodidad, se hace con los comandos:
init o telinit
Otros comandos que afectan a los procesos en ejecución son shutdown, halt, reboot y poweroff.
Para cambiar de un modo a otro sería así:
#init 1
Lo pondríamos en modo monousuario por ejemplo para tareas de mantenimiento.
tambien como dijimos modificando /etc/inittab y haciendo que vuelva a leer este fichero sin reiniciar:
#telinit q
Ver la ayuda de man para mas opciones.
Para apagar el pc podemos usar:
#init 6
6–> modo de ejecución para reiniciar, pero lo mejor es usar otro programa:
#shutdown now
Pudiendo sustituir now por un tiempo en concreto.
#shutdown -r +20 (reinicia el sistema en 20 minutos)
#shutdown -h +20 «el sistema va ser apagado en 20 minutos» (avisa a los usuarios mediante ese mensaje de que van ser desconectados, la -h es para apagar el ordenador)
#shutdown -c –> cancela el apagado.
Fin de la unidad arranque del sistema Linux.
2.-A) Arranque del sistema Linux LPIC-1 Peso 3
Viene completamente explicado en wikipedia, es un poco duro de leer pero se entiende.
http://es.wikipedia.org/wiki/Proceso_de_arranque_en_Linux
No olvidéis hacer una pequeña donación, por muy pequeña que sea en nombre del conocimiento libre. Nosotros de momento todavía no pedimos aunque cuando nadie nos ve … lloramos por ahí en alguna esquina.
Respecto a los comandos que nos piden en esta parte para la certificación:
#dmesg
Este comando nos da las líneas que circulan durante el proceso de arranque y que vemos pasar por la pantalla de manera fulgurante. Estos mensajes están en el búfer circular y este es un búfer que almacena información del Kernel y de módulos(drivers) que se cargan en él.
Al ejecutar el comando nos saldrá mucha información, así que es bueno redirigir la salida hacia un less.
#dmesg | less
#dmesg > mensajesdelarranque.txt
Hay distribuciones que nos almacenan esta información del kernel ring buffer (buffer circular) en /var/log/dmesg
El registro del sistema es syslogd y la información esta en /var/log/messages, también hay más información para ver, por si tenemos un problemón (problema gordo) en /var/log/syslog y /var/log
Depende un poco lo que veremos si estamos usando Fdora, Red Hat o Debian. Por ejemplo debian usa un demonio «bootlogd» que registra todos los mensajes que va a /dev/console
En /var/log econtramos muchos ficheros de log que pueden resultar totalmente inocuos a la hora de entenderlos, siendo sinceros no entendemos el 50% de la información que aparece y no queda otra que investigar, aunque hay ciertos consejos que pueden ayudarnos:
Los mensajes del arranque #dmesg están relacionados con el hardware, si usamos el | less recordar que podeís usar la tecla / para hacer una busqueda.
Por ejemplo podemos buscar por el nombre del chipset y así podemos ver si falla algo relacionado con él.
Si no se inicia un sistema, puede ser que estén ocultos los mensajes, dando a la tecla esc puede que nos los muestre y tengamos una idea del fallo.
Sobre la Bios y el gestor de arranque hay mucha información en internet que podéis mirar
Sobre init comentaros que al tomar el control el kernel de linux, este tiene que realizar tareas como inicializar dispositivos , montar la partición raíz y cargar y ejecutar el programa inicial del sistema, es:
/sbin/init
Este programa recibe el id (pid) = 1, al ser el primero en ser ejecutado por el sistema, después lee un fichero llamado:
/etc/inittab
El fichero inittab determina que otros programas ejecutar, script de inicialización del sistema,montaje de más particiones, iniciar servicios del sistema …
Hoy en día linux solo está utilizando el inittab para cargar los modos de ejecución y se esta dejando de usar como fichero de control de inicio. Los nuevos emplean la entrada /etc/event.d
para controlar la secuencia de inicio de init.
Ubuntu es la excepción, no tiene /etc/inittab aunque se lo podemos hacer y que contenga initdefault.
Los modos de ejecución hay del 0 al 6, os aconsejamos echarles un vistazo por tener una idea de lo que hace cada modo.Por ejemplo el modo 5 es un un modo multiusuario con acceso gráfico.
Si hacemos un:
#cat /etc/inittab
Vemos cosas como esto:
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fallthrough in case of emergency.
z6:6:respawn:/sbin/sulogin
# What to do when CTRL-ALT-DEL is pressed.
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
También podemos hacer:
root@debianMich:/home/lacemi# grep «rc [0-6]» /etc/inittab
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
root@debianMich:/home/lacemi#
Vemos en el ejemplo anterior la parte del /etc/inittab que indica a init como gestionar cada modo de ejecución.
id:modosdeejecución:accion:proceso
el primer número que vemos no es un número, es la letra L pero en minúsculas, no hay que confundirlo con el «1», seguido del número de ejecución que como deciamos antes van del 0 al 6.
El wait por ejemplo le indica a init que incie el proceso de ejecución y que espere a que este finalize, podemos ver la ayuda de inittab con man y veremos más acciones como respawn.
Algunos programas llaman a modos específicos como shutdown, que llama al modo de ejecución 0 para reiniciar el sistema o apagarlo.
Guía de referencia de comando Linux – Debian
http://www.esdebian.org/wiki/linea-comandos
De la mano de la comunidad Debian podemos disfrutar de una completa guía.
Conector GG-45 Categoria 7 (40Gbps)
Vamos a comentar un poco como mejorar nuestras transferencias de datos en red a niveles realmente increibles.
El conector RJ-45 es desde hace tiempo un obstáculo cuyo límite parece que se ha escrito definitivamente en 10Gbps, de aquí no pasa.
Su punto débil son sus ocho contactos alienados y demasiado juntos, algo que resulta especialmente inadecuado para las diafonías (Crosstalk) y que se convierte en un obstáculo insalvable a medida que aumenta la frecuencia.
Nexans ha desarrollado y comercializado conectores «GG-45» que separan los cuatro pares en un cuadrante y además los aísla con un apantallamiento. Los conectores GG-45 están estandarizados desde 2002 (IEC 60603-7-7) y son compatibles con los conectores RJ-45.
La principal ventaja de GG-45 sobre RJ-45 es que reduce a la mitad las diafonías y permite hacer saltar el par de cobre a la increíble cifra de 40Gbps con frecuencias de hasta 600Mhz, estamos hablando de «CAT-7», que se coloca muy por encima de la CAT-6A y sus 10Gbps (500Mhz).
Utilización recomendada:
Necesidad de una muy alta vida útil (>15 años)
Datos compuestos analógicos y digitales de alta velocidad
Aplicaciones multiservicio (voice, data, video usando diferentes pares del mismo cable)
Entornos con muy elevado ruido electromagnético
Instalaciones donde el coste de reinstalación es muy elevado (buques, etc)
1.-E) Arquitectura del sistema Linux LPIC-1
Repaso sobre temas aclaratorios de Arquitectura del sistema. LPIC-1 Exámen 101.
Sobre lo visto en el apartado «1» de esta unidad.
Los distintos directorios que mencionabamos:
lacemi@debianMich:~$ ls /sys
block bus class dev devices firmware fs kernel module power
lacemi@debianMich:~$ ls /sys/block
fd0 loop0 loop1 loop2 loop3 loop4 loop5 loop6 loop7 sda sdb sr0
lacemi@debianMich:~$ ls /sys/bus
ac97 gameport isa pci_express pnp serio usb
acpi i2c pci platform scsi spi virtio
Para entender esto necesitamos saber lo siguiente:
Los Ficheros de Dispositivos en Todo sistema Unix se basan en ficheros.
Todo dispositivo tiene un fichero asociado mediante el cual podemos hacer operaciones de entrada/salida.
Hay dos tipos de ficheros de dispositivos, atendiendo al hardware que representan:
char: Dispositivos de caracteres.
block: Dispositivos de bloques.
Los ficheros de dispositivos son ficheros especiales que utilizan dos números (major y minor) para identificar un dispositivo. Éstos ficheros especiales normalmente se encuentran en la ruta /dev aunque pueden crearse en cualquier otra ruta.
La llamada a sistema mknod permite crear ficheros de dispositivos especificando ruta, tipo y el identificador de dispositivo (major y minor).
Pueden existir ficheros para dispositivos inexistentes y dispositivos para los que no hay fichero. P.e. la tarjeta de red o la salida o entrada estándar.
Solucion para el manejo de ficheros de dispositivos:
udev: Se crean y destruyen los ficheros a medida que se conectan/desconectan dispositivos. Adicionalmente permite elegir nombres para esos dispositivos y programar acciones al cambiar el estado de los mismos.
Modelo de Drivers de Dispositivos
Para facilitar y organizar la construcción de drivers, Linux ofrece una serie de estructuras y funciones auxiliares que ofrecen una visión unificada de buses, dispositivos y drivers.
Las principales estructuras son:
struct device_driver (drivers o manejadores)
struct bus_type (buses)
struct device (dispositivos)
El Modelo de Drivers de Dispositivos tiene una interfaz unificada accesible a través del sistema de ficheros virtual sysfs.
El sistema de ficheros sysfs es similar a proc pero mucho más organizado y oriendado a los dispositivos y drivers del sistema. Normalmente está montado en /sys y contiene:
/sys/block: Dispositivos de bloques de cualquier bus.
/sys/bus: Buses del sistema, donde están los dispositivos
/sys/devices: Dispositivos del sistema organizados por buses.
/sys/class: Clases de dispositivos (audio, tarjetas gráficas,de red… )
/sys/modules: Drivers registrados en el núcleo
/sys/power: Ficheros para manejar estado de energía de distintos dispositivos.
/sys/firmware: Ficheros para manejar el firmware de algunos dispositivos
Aunque no entre en el exámen, podemos poner un ejemplo de una función, por ejemplo la usada para /sys/bus:
Estructura bus_type
struct bus_type {
const char * name;
struct module * owner;
struct kset subsys; //Subsistema dentro de sysfs al que pertenece
struct kset drivers; //Drivers conocidos para ese bus
struct kset devices; //Dispositivos conectados al bus
struct klist klist_devices;
struct klist klist_drivers;
// Funcion que comprueba si el bus puede manejar un cierto dispositivo o driver
de dispositivo.
int (*match)(struct device * dev, struct device_driver * drv);
int (*probe)(struct device * dev);
int (*remove)(struct device * dev);
void (*shutdown)(struct device * dev);
//Campos omitidos…
unsigned int drivers_autoprobe:1;
};
Cada operación sobre un fichero de dispositivo debe traducirse a una llamada a una rutina de su driver.
El driver debe registrarse creando un device_driver y llamando a driver_register() para registrarlo.
Si el driver esta compilado en el kernel, el registro se produce durante la fase de carga del núcleo. Si el driver está compilado como módulo, se cargará cuando sea necesario.
Cuando se registra un driver, el kernel comprueba para cada dispositivo que quede sin manejar si el driver puede manejarlo mediante la función probe().
Aunque esté registrado, el driver aún no tiene recursos asignados.
Inicialización del Driver
Para controlar la asignación de recursos se sigue el siguiente esquema:
Un contador mantiene el número de procesos que operan o esperan para operar en fichero de dispositivo.
Al abrir el dispositivo, si este contador está a 0, se realiza la asignación de recursos al driver de
dispositivo (IRQ, marcos de página, …)
Cada vez que un proceso cierra el fichero de dispositivo, se comprueba si el contador ha llegado
a 0. Si es así se liberan todos los recursos hasta que se intente acceder de nuevo al dispositivo.
Con esto nos damos una idea de como funciona Linux. Dejamos aquí el tema pues ya no es motivo de la certificación.