Linux Mint Comunidad Hispana
02 de Diciembre de 2008, 02:40:24 *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias: Add to Technorati Favorites
 
InicioAyudaBuscarCalendarioIngresarRegistrarse
 
Páginas: [1]
  Imprimir  
Autor Tema: Sistema de Archivos /proc  (Leído 495 veces)
Arrakixmint
Moderador Global
Usuario Héroe
*****

Karma: +42/-1
Mensajes: 798


Locus amoenus


Ver Perfil
« : 09 de Junio de 2008, 07:14:26 »

SISTEMA DE ARCHIVOS /PROC (por Arrakixmint)

La mayor parte de sistemas operativos ofrece un mecanismo mediante el cual,cuando sea necesario,se puede sondear el interior del propio sistema asi como fijar los parametros operacionales.En Linux,este mecanismo lo suministra el sistema de archivos proc.

Los sistemas operativos Windows de Microsoft permiten esto hasta cierto punto a traves del Registry.
El directorio /proc es el punto de montaje para el sistema de archivos proc y,como consecuencia,a menudo se usan los dos terminos de manera intercambiable.Con frecuencia,al sistema de archivos proc tambien se le menciona como el sistema de de archivos virtuales.
En este articulo,analizaremos el sistema de archivos proc y la manera en que funciona bajo Linux.Recorremos algunos programas generales y estudiaremos algunas entradas interesantes en /proc y,a continuacion,demostraremos algunas tareas administrativas comunes con el uso de /proc.

¿QUE HAY DENTRO DEL DIRECTORIO /PROC?

Puesto que el nucleo de Linux es un componente tan clave en las operaciones del servidor,es importante que exista un metodo para intercambiar informacion con ese nucleo.De manera tradicional,esto se hace a traves de las llamadas del sistema;funciones especiales escritas por los programadores para usarse al solicitar al nucleo que realice funciones en beneficio de ellos.Sin embargo,en el contexto de la administracion de sistemas,las llamadas del sistema quieren decir que un programador necesita escribir una herramienta para que nosotros lo usemos(a menos que,por supuesto,a ti te guste escribir tus propios herramientas).Cuando todo lo que tu necesitas es hacer un simple ajuste pequeño o extraer alguna estadistica del nucleo,tener que escribir una herramienta personal representa mucho mas esfuerzo del que debe ser necesario.

Con el fin de mejorar la comunicación entre los usuarios y el nucleo,se creo el sistema de archivos proc.El sistemas de archivos completo es en especial interesante,porque en realidad no existe en alguna parte del disco;es sencillamente un resumen de la informacion del nucleo.Todos los archivos en el directorio corresponden a una funcion del nucleo o a un conjunto de variables que estan en el nucleo.

Que proc sea un resumen no significa que no sea un sistema de archivos.Lo que en realidad significa es que tuvo que desrrollarse un sistema especial de archivos para tratar a proc de manera diferente que a los sistemas normales de archivos basados en el disco.

Por ejemplo, para ver un informe acerca del tipo de procesador que se encuentra en un sistema, podemos, consultar uno de los archivos bajo el directorio /proc. El archivo en particular que contiene esta informacion es el /proc/cpuinfo. El archivo se puede ver con este comando:
Abre una terminal y escribe la orden de abajo para ver la informacion de la cpu.
 
Código:
cat /proc/cpuinfo

El nucleo creara en forma dinamica el informe,que muestre la informacion sobre el procesador y la manejara de regreso a cat,de modo que lo podamos ver.Esta es una manera sencilla y,sin embargo,poderosa con la que contamos para examinar el nucleo.

El directorio /proc soporta una jerarquia de facil lectura con el uso de subdirectorios y,como tal,es facil hallar la informacion.Los directorios bajo /proc tambien estan organizados de tal modo que los archivos que contienen informacion referente a temas semejantes estan agrupados juntos.Por ejemplo,el directorio /proc/scsi ofrece informes en relacion con el subsistema SCSI.

Incluso mas que una ventaja es que el flujo de informacion toma los dos caminos:el nucleo puede generar informes para nosotros,y nosotros podemos pasar con facilidad informacion de regreso al nucleo.

Por ejemplo,la realizacion de un ls -1 en el directorio /proc/sys/net/ipv4 nos mostrara una gran cantidad de archivos que no son solo de lectura,sino de lectura/escritura,lo cual quiere decir que algunos de los valores alamacenados en esos archivos se pueden alterar al vuelo.

¡¡”Oye!! ¡La mayor parte de los archivos /proc tienen cero bytes y uno es ENORME!¿Que da?”
No te preocupes si has advertido todos esos archivos de cero bytes;la mayor parte de los archivos en el /proc son de cero bytes porque /proc en realidad no existe en el disco.
Cuando un usuario usa cat para leer un archivo /proc,el contenido de ese archivo se genera de forma dinamica por medio de un programa especial que se encuentra en el interior del nucleo.Como resultado,el informe nunca se guarda de regreso al disco y,por consiguiente,no ocupa espacio.
Piensa en ello a la misma luz de los scripts CGI para los sitios web,en donde una pagina Web generada por un script CGI no se escribe de regreso al disco del servidor sino que se vuelve a generar cada vez que un usuario visita la pagina.

Precaucion:

Ese unico archivo enorme que se ve en /proc es el /proc/kcore,el cual en ralidad es un apuntador hacia el contenido de la RAM.Si tienes 128 de RAM,el archivo /proc/kcore tambien tiene 128 de RAM.Leer /proc/kcore es como leer el contenido en bruto de la memoria(y,por supuesto,no requiere permisos raiz).

PEQUEÑOS AJUSTES A LOS ARCHIVOS DENTRO DE  /PROC

Como mencione en la seccion anterior,algunos de los archivos bajo el directorio(y subdirectorios)
/proc tienen un modo de lectura-escritura.Examinemos uno de esos directorios con un poco de mayor profundidad.Los archivos que estan en /proc/sys/net/ipv4 representan parametros en la pila TCP/IP que se pueden “afinar” en forma dinamica.Usa el comando cat para mirar un archivo en particular y veras que la mayor parte de los archovos nada contienen mas que un solo numero.
¡Pero cambiando estos numeros,puede afectar el compartamiento de la pila TCP/IP de Linux!

Por ejemplo,el archivo /proc/sys/net/ipv4/ip_forward contiene un 0(desactivado)de modo prederteminado.Esto le dice a Linux que no realice reenvios IP cuando se tienen interfaces multiples en la red.Pero si quieres estructurar algo como un encaminador Linux,necesitas dejar que se realicen los reenvios.En esta situcion,puedes editar el archivo /proc/sys/net/ipv4/ip_forward y cambiar el numero hacia 1(activado).

Una manera rapida de hacer este cambio es mediante el uso del comando echo de este modo:

# echo “1” > /proc/sys/net/ipv4/ip_forward .

Ten cuidado al hacer pequeños ajustes de los parametros en el nucleo de Linux.No existe red de seguridad que lo salve de que realices ajustes erroneos para parametros criticos,lo cual quiere decir que es del todo posible que puedas hacer que el sistema se caiga.SI NO ESTAS SEGURO ACERCA DE UN ITEM,ES MEJOR QUE LO DEJES COMO ESTA HASTA QUE HAYAS AVERIGUADO CON TODA CERTEZA PARA QUE ES.

ENTRADAS UTILES DE /PROC

En la tabla siguiente se da una lista de las entradas de /proc que un usuario puede encontrar utiles en la administracion de tu sistema Linux.Un apunte,esta tabla solo es un grito lejano de lo que es una lista exhaustiva.

Para obtener mas detalles,lee con atencion los directorios por ti mismo y asi veras que encuentras.
O tambien puedes leer el archivo proc.txt en el directorio Documentation del codigo fuente del nucleo de Linux.
A menos que se diga otra cosa,puedes usar sencillamente el programa cat para ver el contenido de un archivo particular que este en el directorio /proc.Empecemos:

- cat /proc/cpuinfo/   ----- Informacion acerca de la CPU(o las CPU) en el sistema.

- cat /proc/interrupts  ----Uso de IRQ en tu sistema.

- cat /proc/ioports   -------Presenta una lista de las regiones de puertos registrados que se usan para
                                       comunicación de entrada o salida (I/O)con los dispositivos.

-  cat /proc/iomem  -----Presenta el mapa actual de la memoria del sistema para cada dispositivo
                                     fisico.

-  cat /proc/mdstat   ----Estado de la configuracion RAID.

-  cat /proc/meminfo  ---Estado del uso de la memoria.

-  cat /proc/kcore  -------Este archivo representa la memoria fisica del sistema.A diferencia de los
                                    otros archivos bajo /proc,este archivo tiene un tamaño asociado con el.
                                    Su tamaño suele ser igual de la cantidad total de la RAM fisica disponible.

-  cat /proc/modules  ----La misma informacion producida como salida de lsmod.

-  cat /proc/pci   ----------Informa de todos los dispositivos PCI conocidos en tu sistema.

-  cat /proc/buddyinfo  ---La informacion almacenada en este archivo se puede usar para diagnosticar
                                        los aspectos de fragmentacion de la memoria.

-  cat /proc/cmdline   -----Presenta los parametros pasados al nucleo cuando este arranco(parametros
                                        del momento de inicializacion).

-  cat /proc/swaps  --------Estado de las particiones de intercambio (swap),del volumen y/o de los
                                        archivos.

-  cat /proc/version  -------Numero actual de la version del nucleo,la maquina en la cual se compilo,
                                        y la fecha y la hora de la compilacion.

-  cat /proc/ide/*  ---------Informacion acerca de todos los dispositivos IDE.

-  cat /proc/scsi/*  ---------Informacion acerca de todos los dispositivos SCSI.

-  cat /proc/net/arp  -------Tabla ARP (la misma salida que la de  arp -a)

-  cat /proc/net/dev  --------Informacion acerca de cada uno de los dispositivos de la red(cuentas de
                                         paquetes,cuentas de error,etc).

-  cat /proc/net/snmp  ------Estadisticas SNMP acerca de cada protocolo.

-  cat /proc/net/sockstat  ---Estadistica sobre la utilizacion del enchufe de la red.

-  cat /proc/sys/fs/*  -------Ajustes para la utilizacion del sistema de archivos por el nucleo.Muchos
                                         de estos son valores que se pueden escribir;ten  cuidadado acerca de
                                         cambiarlos,a menos que estes seguro de las repercusiones de hacerlo.

-  cat /proc/sys/net/core/netdev_max_backlog  ----Cuando el nucleo recibe paquetes de la red mas rapido de como procesarlos,los coloca en una cola especial.De modo prederterminado,se permite un maximo de 300 paquetes en la cola.En circunstancias extraordinarias,puede ser que el usuario necesite editar este archivo  y cambiar el valor para el maximo permitido.

-  cat /proc/sys/net/ipv4/icmp_echo_ignore_all  ----Predeterminado= 0,lo que significa que el nucleo respondera a mensajes ICPM de respuesta de echo.La fijacion de esto en 1 le dice al nucleo que cese de responder a esos mensajes.

-  cat /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts  ----Predeterminado= 0,lo que significa que el
nucleo permitira que se envien respuestas ICMP a difusion o a direcciones de destinos multiples.

-  cat /proc/sys/net/ipv4/ip_forward  ---Predeterminado= 0,lo que significa que el nucleo no reenviara
entre las interfaces de la red.Para permitir el reenvio(por ejemplo,para encaminar),cambialo a 1.
       
-  cat /proc/sys/net/ipv4/ip_local_port_range  ------Rango de los puertos que Linux usara cuando se origine una conexión.Predeterminado= 32768-61000.
 
-  cat /proc/sys/net/ipv4/tcp_syn_cookies  -----Predeterminado= 0(desactivado)Cambia a 1(activado)
con el fin de activar la proteccion para el sistema contra ataques de inundacion SYN.

Fin de la primera parte,se que alguno pensara que esto es para enteradillos o nivel extra-mental,pero no es tanto el fuego que quema,mas bien es el humo el que impide ver y termina ahogandote.Perder el miedo a nuestro sistema es fundamental para avanzar.A mi todo esto me sonaba a una marcianada
cuando llegue a Linux,hoy me parece normal y fundamental el  comprender  nuestro sistema.Pero poco a poco, sin pasarse.Asi que no agobiaros tomarlo con calma porque siempre hay algo nuevo por descubrir y entender.

Saludos.
« Última modificación: 03 de Julio de 2008, 04:27:12 por Checho » En línea

"El banquero es un señor que nos presta el paraguas cuando hace sol y nos lo exige cuando empieza a llover."
Administrador_Didier
Administrador
Usuario Héroe
*****

Karma: +39/-1
Mensajes: 1812


Linux is Freedom


Ver Perfil WWW
« Respuesta #1 : 09 de Junio de 2008, 08:33:06 »


  Wow un artículo de alta calidad si señor, aunque como dices creo que es algo técnico y echará a muchos para atrás, yo por mi parte lo he estado leyendo y me parece muy instructivo, una manera de entender algunas de las cosas que te dice el sistema y no sabes por donde van los tiros.

    Gracias amigo, un saludo
En línea


Arrakixmint
Moderador Global
Usuario Héroe
*****

Karma: +42/-1
Mensajes: 798


Locus amoenus


Ver Perfil
« Respuesta #2 : 09 de Junio de 2008, 09:12:23 »

Gracias Didier, por la calificacion de la informacion.Es cierto que puede parecer muy tecnico a los ojos de un recien llegado al sistema operativo Linux,pero digamos que,a los que hemos perdido un poco el miedo a la terminal,se nos hace mas ameno¿A quien no le gusta descubrir cosas?Si le dices a alguien que  ponga acpi -t en la terminal,le parecera algo fuera de este mundo,pero si le haces entender que es una manera de tomar la temperatura del ordenador de forma rapida y segura,da por cierto que no se le olvidara.Asi empece yo y supongo que muchas personas tambien.

Un saludo y gracias por ofrecernos esta fuente de encuentro y  sabiduria.
En línea

"El banquero es un señor que nos presta el paraguas cuando hace sol y nos lo exige cuando empieza a llover."
DarkMiguel
Moderador Global
Usuario Héroe
*****

Karma: +38/-1
Mensajes: 1087


"sólo sé que no sé nada". ...


Ver Perfil
« Respuesta #3 : 09 de Junio de 2008, 10:12:21 »

Arrakixmint  te juro que en cuanto tenga tiempo me lo leo de cabo a rabo , parece muy interesante  , solo le veo un pequeño problema cualquiera que venga de guindos se asustará ...... yo aunque me defiendo un poco preferiría un entorno gráfico y los que vienen de el “ innombrable “  también , que  esta critica no le quita su merito   ( Es como una mintkipedia ) a la que todos podemos consultar.
No te enfades si te digo que eres un pedazo de intelectual , hasta ahora arrakis.

P.D: ARRAKIX   de DUNE , supongo.
En línea

Arrakixmint
Moderador Global
Usuario Héroe
*****

Karma: +42/-1
Mensajes: 798


Locus amoenus


Ver Perfil
« Respuesta #4 : 09 de Junio de 2008, 10:47:41 »

¡¡¡jajaja!!! Si, es cierto Dark,el nombre viene de la pelicula Dune dirigida por David Lynch en 1984 aqui te dejo un enlace con muy buena informacion:

http://es.wikipedia.org/wiki/Arrakis

En cuanto a lo de que procedemos de entornos graficos,estoy contigo yo tambien me siento mas comodo en un buen y potente entorno grafico como ofrece  Linux Mint,pero si ademas tienes la opcion de usar la terminal es como una tentacion,(sabiendo bien lo que haces).Asi que como tenemos las dos opciones y segun el dia y el estado de animo que tenga uno,utilizas una manera u otra de hacer las cosas.

Saludos.
En línea

"El banquero es un señor que nos presta el paraguas cuando hace sol y nos lo exige cuando empieza a llover."
DarkMiguel
Moderador Global
Usuario Héroe
*****

Karma: +38/-1
Mensajes: 1087


"sólo sé que no sé nada". ...


Ver Perfil
« Respuesta #5 : 09 de Junio de 2008, 11:00:10 »

Arrakixmint , tu no sabes con quién te estas metiendo   Enojado , si te mando un par de legiones de Sardaukar   Impresionado , no te va a salvar ni el agua de la vida. Sonreir
P.D: Leído toda la saga y aficionado a Dune.  Giñar
En línea

Administrador_Didier
Administrador
Usuario Héroe
*****

Karma: +39/-1
Mensajes: 1812


Linux is Freedom


Ver Perfil WWW
« Respuesta #6 : 10 de Junio de 2008, 05:54:33 »


  Pues aqui teneis otro caminante del desierto fan de Dune, ya he dicho esto antes pero...... Somos un poco frikis los linuxeros ¿eh? jejeje, es broma.

   Un saludo compañeros
En línea


milord
Administrador
Usuario Héroe
*****

Karma: +44/-2
Mensajes: 832



Ver Perfil
« Respuesta #7 : 10 de Junio de 2008, 09:34:30 »

Y un servidor amante del aguadiente de las Hurdes en todas sus variedades  Sonreir

Sino de que os creéis que se ocurrieran estas cosas.
En línea

Cada uno aporta su granito de arena, muchos hacen una duna, y muchísimos un desierto. Y en Redmond, ya empiezan a ver el desierto a las puertas de sus casas.
Páginas: [1]
  Imprimir  
  Enlazar al calendario  
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC XHTML 1.0 válido! CSS válido!