lunes, 20 de junio de 2011

Estructura de archivos de Linux


La estructura de archivos de Linux

/ Directorio raíz, mantiene la estructura de archivos del sistema.
/bin Binarios de comandos esenciales .
/boot Archivos estáticos de cargador de arranque (boot-loader) .
/dev Almacena interfaces de archivos para varios dispositivos .
/etc Almacena archivos de configuración del sistema.
/home Directorio de los usuarios.
/lib Librerías compartidas.
/lost+found Directorio para almacenar archivos a recuperar.
/mnt Punto de montaje para particiones temporales.
/opt Para coloca software que no fue incluida en el sistema operativo.
/root Raíz principal directorio home del usuario root.
/sbin Binarios esenciales del sistema.
/tmp Archivos temporales.
/usr Almacena archivos y comando sutilizados por el sistema.
/var Almacena archivos variables como los del buzón de correo.

(/) : Directorio Raíz
La barra es el directorio raíz, el principio del sistema de archivos. Sólo existe un directorio root y todos los archivos descienden o están colgando de el. Este directorio contiene todos los archivos y programas necesarios.

(/bin): Directorio de los Binarios
El /bin contiene comandos que pueden ser utilizados por los usuarios y el administrador del sistema, puede también contener comandos que son utilizados indirectamente por algunos scripts.


/boot: Archivos estáticos del cargador de arranque (boot loader)
Este directorio contiene todo para arrancar excepto los archivos de configuración. El /boot es el lugar donde debe colocar todo lo que debe utilizar antes de que el kernel ejecute /sbin/init. Esto incluye sectores maestros de arranque (master boot sectors) guardados, archivos de mapeo de sectores y cualquier otra cosa que no es editada directamente a mano. Los programas necesarios para arreglar que el cargador de arranque sea capaz de arrancar un archivo (tal como el instalador de mapas [lilo, grub] ) estarán localizados en /sbin.


/dev: Archivos de dispositivos
Este es el directorio de los dispositivos. Contendría un archivo por cada dispositivo que el kernel de Linux pueda soportar.


/etc : Configuración del Sistema Local a la Máquina
El directorio /etc contiene archivos y directorios que son locales al sistema actual. Ningún binario debe estar directamente dentro de /etc. Los binarios que en el pasado se encontraban en /etc, están en /sbin 0 /usr/sbin. Esto incluye archivos tales como init, getty y update. Los binarios tales como hostname que son utilizados por usuarios ordinarios y por root no irían en /sbin sino en /bin.


/home: Directorios Hogar de los Usuarios
El home es el directorio de archivos de los usuarios del sistema en este se almacenan los documentos, musica, fotos, etc. Toda la información del usuario. Se recomienda que en la instalación del sistema se deje un espacio considerable para esta sección ya que en este directorio se presentara el mayor crecimiento de información.


/lib: Librerías Compartidas y Módulos Esenciales del Kernel
El directorio /lib contiene aquellas imágenes de las librerías compartidas que se necesitan para arrancar el sistema y ejecutar los comandos en el sistema de archivos raíz.


/lost+found
Es el directorio donde se almacenan los archivos que estaban en uso o ejecución cuando sucedió algún tipo de anomalía para que el sistema se deba reiniciar abruptamente de esta manera permitirá al usuario una recuperación de los archivos a su estado anterior para evitar la corrupción de estos y fallas en el sistema


/mnt y /media: Punto de Montaje para Sistemas de Archivos Montados Temporalmente
Estos directorios se proveen para que el administrador pueda montar temporalmente sistemas de archivos cuando lo necesite. En esta partición por llamarla así se almacenan los dispositivos que se agregan al equipo estos pueden ser físicos o pueden ser imágenes pertenecientes a un directorio se los puede configurar por ejemplo como .iso de algún juego o aplicación especifica.


/opt: Para coloca software que no fue incluida en el sistema operativo.
Es usado para programas que no venían predefinidas en la distribución original del sistema operativo instalado. Varia la existencia de este cuando se esta empleando distribuciones como rpm y las que usan escritorios kde.


/proc: Sistema de Archivos Virtual de Información de Procesos y del Kernel
El sistema de archivos proc almacena la información de los procesos y del sistema en vez de /dev/kmem y otros métodos similares. Se recomienda para almacenamiento y obtención de información de procesos así como otra información del kernel y de memoria.


/root: Directorio hogar de root (opcional)
El directorio hogar de la cuenta de el usuario root puede ser determinada por el desarrollador o por preferencias locales.


/sbin: Binarios del Sistema (Alguna vez mantenidos en /etc)
Los útiles usados por la administración del sistema típicamente contiene binarios esenciales para arrancar el sistema además de los binarios en /bin.


/tmp: Archivos temporales
El directorio tmp se utiliza para archivos temporales, preferentemente en un /dispositivo rápido. /tmp puede ser limpiada en cada arranque o a intervalos relativamente frecuentes. Por tanto, no se debe esperar que la información almacenada en /tmp permanezca por algún periodo largo de tiempo.


/usr Almacena archivos y comando sutilizados por el sistema.
El usr es la segunda mayor seccion del sistema de archivos. /usr es /información compartible, de sólo- lectura, esto significa que /usr, debe ser /compartible entre varias máquinas que corren Linux y no se debe /escribir. Cualquier información que es local a una máquina o varía con el /tiempo, se almacena en otro lugar.


/var almacena archivos variables como los del buzón de correo.
El var contiene archivos con información variable. Esto incluye archivos y /directorios en fila de ejecución, información de bitácora administrativa y /archivos temporales y transitorios.

El sistema de archivos descrito anteriormente es el mas común que existe en las diferentes distribuciones de Linux.

domingo, 19 de junio de 2011

Que es la shell de Linux

La Shell de linux se comprende como un interprete de comandos cuyo trabajo se orienta a un trabajo en linea directa con el núcleo del sistema la shell se la puede entender como un  programa en continua
ejecución que analiza la línea y llama a ejecución al programa o programas y que realiza la función solicitada por la orden. Puede enviar a la shell uno o mas comandos a ejecución separandolos por un (;).

la facilidad que nos presenta la shell es una completa administración del sistema operativo en la cual podemos ver estados de los procesos que se están ejecutando así como la administración y manipulación de archivos del sistema.

La facilidad que nos presta la shell es ver la secuencia de comandos que se han ejecutado desde el momento que se instalo el sistema operativo estos comandos se almacenan en un archivo llamado "history"  este archivo se ubica en el root del sistema y se encuentra con el nombre /.bash_history este archivo nos permite llevar una especie de log de administración del sistema operativo revisando los comandos que se han ejecutado.

Una de las ventajas que nos presenta la shell de Linux es q nos permite administrar la prioridad de los proceso y poner los secundarios en segundo plano. Para poner un proceso en ejecución en segundo plano basta con poner un & después del comando por ejemplo enviamos la edición de un archivo a segundo plano.

con el comando jobs podemos ver los procesos que se encuentran en espera de ser ejecutados para ejecutarlos ponemos el comando fg % (numero del proceso que se encuentra en segundo plano)
y para ponerlo en segundo plano se usa también bg ejemplo


Para suspender un trabajo con crtl +z y regresar a la linea de comandos

Para terminar con un proceso utilizamos el comando kill

Con el comando ps observamos el PID de los procesos en ejecución de esta manera ponemos  kill (PID)
ejemplo
Para ver las opciones de un comando ponemos en la linea del shell man (comando) ejemplo man(kill) y podemos ver las opciones de este comando.


Mas información encontraremos en 

miércoles, 15 de junio de 2011

Unix

Fue un proyecto lanzado a inicios del 1960 y finales de los 70 estaba a cargo de los laboratorios de AT&T dirigido por Ken Thompson y Dennis Ritchie basándose en su proyecto anterior llamado MULTICS, juntos se reunieron para volver a escribir para realizarlo en lenguaje C pronto Unix dejo de ser desarrollado por un un grupo pequeño de especialistas en sistemas operativos a pasar a ser un proyecto mas importante que podía ser comercializado entre los cuales estaba Novell e IBM. En sus inicios Unix fue considerado como un proyecto de investigación el cual se empezó a distribuir gratuitamente entre las Universidades y desde este medio se empezó a desarrollar como un proyecto independiente en el caso de la Universidad De Berkeley fue quien mas avances realizo en el sistema Unix llegando a considerar como su versión un estándar para las demás Universidades esto surgió alrededor de 1975 a esta se la conoció como BSD. A finales de la década de los 70 BSD se volvió  como base del proyecto de investigación de la DARPA que es el departamento de defensa de los Estados Unidos. como resultado de esta investigación en 1983 la Universidad de Berkeley publico una versión con características importantes como interconexión  basadas en protocolos de red (los pioneros en los protocolos que hoy se usan en internet).

Escuchemos de las mismas personas la importancia de este Sistema Operativo

Observemos como era este sistema en sus inicios y notemos la misma estructura que se mantiene genial!!!!


martes, 14 de junio de 2011

Sistemas Operativos y Linux

Como sabemos los sistemas operativos desde sus inicios fueron diseñados para realizar tareas repetitivas, centradas en la administración de archivos, ejecución de programas y recepción de comandos por los usuarios.
Linux como todas las versiones de Unix es multiusuario y multitarea esto significa que el sistema puede realizar varias tareas al mismo tiempo.

Linux al ser una versión de Unix modificada tiene la misma flexibilidad del sistema la que fue desarrollada por Ken Thompson en AT&T BELL LABORATORIES a finales de la década de 1960 y principios de los 70 de esta forma Unix se lo reconocio como un sistema operativo para investigadores lo cual persiste hasta hoy en día sigue siendo el mismo concepto, de esta manera Linux esta orientado a soportar varios usuarios y varias tareas de ellos lo que lo convierte en una potente herramienta de trabajo y se convierte en un entorno integramente operativo.

jueves, 2 de junio de 2011

Historia de Unix




Para hablar de linux volvamos un poco el tiempo atrás y recordemos sus inicios ya que esta basado en Unix asi que pense importante escribir sobre sus inicios y conocer un poco como fue ideado y por quienes.

Unix Es el resultado de la investigación de Ken Tompson Dennis Ritchie en 1969 y de los investigadores de los laboratorios de AT&T incorporando muchas características del proyecto MULTICS
(Multiplexed Information And Computing Service fue uno de los primeros sistemas operativos de tiempo compartido empezó en 1964 liderado por Fernando J. Corbato del MIT y General Electric y los Laboratorios Bell) Ellos hicieron un sistema a medida de las necesidades que se presentaban en su época pensándolo así para pequeños microcomputadores.

Desde sus inicios Unix fue pensado como un sistema multiusuario multitareas accesible y eficiente y fue rediseñado en 1973 en el lenguaje de programación utilizado fue C y paso de ser un producto de software a ser un sistema explotado por diseñadores de software en sus inicios por Nobell e IBM, y desde entonces Unix fue tratado como un proyecto de investigación. La primera versión se distribuyo gratuitamente a las principales Universidades de Estados Unidos durante la década de los 70's luego los Laboratorios Bell empezaron a dar licencias de los sistemas a los usuarios. Uno de estos fue los laboratorios de la Universidad de California Berkeley fue quienes agregaron muchas características propias y lanzaron su propia versión de Unix en 1975 llamada BSD esta versión de BSD de Unix fue la principal competencia con la lanzada por Laboratorios Bell y AT&T quienes lanzaron la versión System 3 y evoluciono a la System 5 cual tenia soporte comercial.

La versión de BSD en 1970 fue la base para un proyecto militar estadounidense llamado DARPA, el cual incluía sistemas sofisticados de archivos además de características de intercomunicación basados en los que son ahora los protocolos de comunicación de red de internet como los conocemos hoy en día.