Servidores Con Software Libre

Embed Size (px)

Citation preview

3.1. IntroduccinComo individuo, el software libre da la opcin de decidir libremente si se requiere utilizar o escoger una opcin propietaria. Si se escoge la primera opcin se tendrn muchas ventajas, pero si se decide la segunda opcin se pagaran las consecuencias de una decisin apresurada, conociendo de antemano que existan otras opciones. Se tiene la obligacin de decidir la mejor opcin de acuerdo a las necesidades de cada persona que lo requiera. Hace unos aos, el software libre no era viable, pero ahora es una realidad. Con el software propietario, se sabe que existen graves riesgos en la seguridad de las aplicaciones, mientras que con el software libre se puede evitar todo lo contrario. La realidad en la que se encuentran envueltas las diferentes personas, empresas, entidades gubernamentales e instituciones es sumamente compleja y restringida. Afortunadamente ha surgido una alternativa que permite la existencia de nuevos esquemas de desarrollo cultural y tcnico basado en un nuevo modelo abierto y libre.

3.1.1. Software Libre(caractersticas)Definamos antes que es un software libre y un software propietario: El software libre es un programa o secuencia de instrucciones usada por un dispositivo de procesamiento digital de datos para llevar a cabo una tarea especfica o resolver un problema determinado, sobre el cual su dueo renuncia a la posibilidad de obtener utilidades por las licencias, patentes, o cualquier forma que adopte su derecho de propiedad sobre l (o sea, el software libre puede estar licenciado, o protegido por una patente autoral), por lo que puede utilizarse o transferirse sin pago alguno al licenciante, o a su creador. Otra caracterstica es que se encuentra disponible el cdigo fuente del software, por lo que puede modificarse el software sin ningn lmite, y sin pago a quien lo invent o lanz al mercado. El opuesto del Software libre es el denominado software propietario, aquel que es imposible de utilizar en otro hardware, o terminal modificar, o transferir sin pagar derechos a su inventor o creador.

Para ello, quienes han patentado software libre, lo han hecho permitiendo las actividades recin nombradas. As nace el Copyleft (el opuesto del Copyright de los derechos autorales), que es bsicamente el principio de que cualquier modificacin o cambio (derivative works), debe quedar disponible para el resto de la comunidad bajo el mismo licenciamiento original. Con ello se fomenta el trabajo colaborativo en el desarrollo de la informtica. Tambin es importante recalcar algunos puntos importantes para un buen desarrollo del mismo: -El software se desarrolla o construye; no se manufactura en el sentido clsico. A pesar de que existen similitudes entre el desarrollo del software y la manufactura del hardware, las dos actividades serian diferentes en lo fundamental. En ambas la alta calidad se alcanza por medio del buen diseo, la fase de manufactura del hardware puede incluir problemas de calidad existentes en el software.

-El software no se desgasta. El software es inmune a los males ambientales que desgasten el hardware. Por lo tanto la curva de tasas de fallas para el software debera tener la forma de la curva idealizada. Los defectos sin descubrir causan tasas de fallas altas en las primeras etapas de vida de un programa. Sin embargo, los errores se corrigen y la curva se aplana: el software no se desgasta, pero si se deteriora.

-A pesar de que la industria tiene una tendencia hacia la construccin por componentes, la mayora del software aun se construye a la medida. Un componente de software se debe disear e implementar de forma que puede utilizarse en muchos programas diferentes.

Caractersticas de un buen software: Correccin Fiabilidad Eficiencia Facilidad de reuso Integridad Facilidad de uso Facilidad de mantenimiento Interoperabilidad Flexibilidad Facilidad de prueba Portabilidad

3.1.2. Historia y evolucinEl Software Libre es el software que se caracteriza por proporcionar en sus licencias el permiso para usarlo en cualquier mquina y en cualquier situacin, para modificarlo, mejorarlo o corregirlo y para redistribuirlo libremente. Software libre no es software gratis, sino aquel que cumple con estas condiciones, si bien, no parece posible obtener contraprestacin econmica por l, como de hecho ocurre, siendo de coste cero la obtencin de la prctica totalidad del software libre. As pues, tenemos un concepto de software opuesto al software propietario con el que no se distribuye el cdigo fuente, impidiendo as su modificacin, y en cuyas licencias se indican los trminos y las restricciones de uso y distribucin, en ocasiones bastantes fuertes. Lo que diferencia el software libre del software propietario no es el que dispongamos del cdigo fuente del mismo, si bien esta es una condicin necesaria para tener las libertades descritas anteriormente, ni el precio, la diferencia est en los trminos de la licencia. Para comprender el nacimiento de este tipo de software nos tenemos que remontar al ao 1979, cuando la Universidad de Berkeley distribuy cdigo de programas que ha desarrollado para el sistema operativo UNIX bajo una licencia denominada BSD (Berkeley Software Distribution), es la primera aparicin en escena de lo que ms tarde se denominar software libre. Estos primeros programas distribuidos bajo licencia BSD son utilidades para UNIX y entre ellas se encuentra una implementacin de un protocolo de comunicaciones, el TCP/IP. En 1980 la NSF (National Science Foundation) mejora el protocolo TCP/IP y comienza a utilizarlo para el intercambio de informacin entre ordenadores de universidades e investigadores de todo el mundo. Esta mejora de TCP/IP era abierta y se distribua con el cdigo fuente de su implementacin, es el nacimiento de la red de Internet. En 1984 aparece en escena una de las figuras ms importante dentro del software libre, Richard Stallman, que lidera en este ao un proyecto cientfico denominado GNU dentro del Instituto Tecnolgico de Massachussets. Al ao siguiente, aparece la primera versin de un sistema operativo denominado igual que el proyecto lanzado, GNU (Gnus not

Unix). Este sistema operativo es gratuito y se distribuye junto con su cdigo fuente bajo una licencia denominada Gnu Public License (GPL). En este mismo ao 1985, Richard Stallman crea la Free Software Foundation, y aparece la primera definicin formal de Software Libre, proporcionada por la FSF:Un software es software libre cuando el usuario del mismo tiene estas cuatro libertades: 1. Libertad 0. Libertad de uso con cualquier propsito. 2. Libertad 1. Libertad de adaptacin a sus necesidades. 3. Libertad 2. Libertad para distribuirlo. 4. Libertad 3. Libertad de mejora y libre distribucin de estas mejoras. No se dice explcitamente, pero para tener estas cuatro libertades el usuario debe disponer del cdigo fuente de los programas. En 1991, Linus Torvalds, un estudiante sueco de la universidad de Helsinky crea un kernel de sistema operativo denominado Linux, y un ao ms tarde, fruto de la colaboracin con el proyecto GNU, aparece el sistema operativo GNU/Linux, que se denomin Linux, si bien, la mayor parte del cdigo proceda del proyecto GNU de Stallman. La siguiente fecha importante en la historia del software libre es 1997, cuando Eric Raymond publica el artculo The Cathedral and the Bazaar, en el Raymond explica con detalle como una serie de programadores trabajando en colaboracin en su tiempo libre (Bazaar) pueden producir software de mayor calidad que los producidos por los talentos contratados por las grandes compaas de software (Cathedral). Las teoras expuestas en este artculo como las de liberar versiones del programa a menudo de forma que los usuarios puedan probar los programas y se obtengan pronto respuestas sobre su funcionamiento y que con un grupo muy amplio de programadores y usuarios, los problemas se identificarn con rapidez y la solucin ser obvia para alguien, hacen que las grandes compaas (IBM, Netscape, Sun, etc.) se fijen en el fenmeno del software libre y empiecen a colaborar con l. Raymond crea la OpenSource Inciative (OSI) (www.opensource.org). Con la aparicin de la OSI aparece tambin una nueva definicin de lo que se conoce como OpenSource (software de fuente abierta), mucho ms elaborada, y que est en continua evolucin, existiendo ya la versin 1.9 de esta definicin.

No existe una definicin nica de lo que denominamos software libre, tenemos la de la FSF, la de la OSI, tambin otras como la de la comunidad de Debian (DFSG). Todas estas definiciones se traducen en licencias de uso que llegan a un mayor o menor compromiso con uno u otro de los dos objetivos contradictorios en los que se basan todas sus licencias: -Garantizar a los usuarios una total libertad sobre el software distribudo. -Establecer restricciones de forma que se garantice que el software derivado o integrado siga siendo software libre. Aunque cuando hacemos referencia a Software Libre no distinguimos entre si es Free Software u OpenSource, pero existen pequeas diferencias entre las definiciones de la FSF, de la OSI y de Debian, derivadas del compromiso acordado entre los dos conceptos expuestos anteriormente, lo que hace que existan licencias aceptadas por uno pero no aceptadas por el otro. Pero estas diferencias son muy pequeas, y en la prctica se pueden considerar similares los conceptos. Hoy en da existe una divisin radical entre los partidarios y los no partidarios del software libre, existiendo posturas totalmente radicalizadas en ambos bandos que hace que los debates, artculos y ponencias acerca de las debilidades y fortalezas en los proyectos de software libre se vean empaados por esta lucha. Eric Raymond ha insistido en que el debate no debe ser si Windows o Linux o Microsoft o Red Hat, Suse, Debian, que el verdadero debate debe ser software de fuente cerrada frente a software de fuente abierta.

3.1.3. Estructura del sistema operativoLa organizacin de los sistemas operativos se puede establecer por capas , dependiendo de las funciones que el sistema operativo puede realizar. Las funciones que puede realizar el sistema son:

Ejecucin y control de aplicaciones o programas. Gestin, Control y Administracin de dispositivos o perifricos. Gestin, Control y Administracin de los usuarios. Control de procesos. Control de errores del sistema y programas. Control y Gestin de la seguridad

Las capas en las cuales se puede estructurar bsicamente un sistema son las siguientes: Gestin del procesador (Nivel 1): Una parte del sistema operativo esta encargada de la gestin de la unidad central de proceso. El sistema operativo se encarga de gestionar la prioridad entre procesos. Gestin de la memoria (Nivel 2): Una parte del sistema operativo esta encargada de la gestin y asignacin de la memoria a los procesos o aplicaciones, impidiendo que las zonas de memoria ocupadas por aplicaciones no sean ocupadas por otras aplicaciones. Gestin de procesos (Nivel 3):Una parte del sistema operativo esta encargada de la gestin de procesos, iniciando, deteniendo y finalizando los mismos dependiendo del usuario o de las ordenes recibidas por el sistema operativo. Gestin Entrada/Salida y Almacenamiento (Nivel 4):Una parte del sistema operativo esta encargada de la gestin de los procesos que establecen acciones con los dispositivos de almacenamiento o dispositivos de entrada y salida. Gestin de informacin (Nivel 5): El sistema operativo gestiona archivos, directorios, atributos de los anteriores y otras caractersticas para identificar la informacin con la que trabaja el sistema operativo.

3.2. Requerimientos de InstalacinInstalacin que permite probar o instalar Ubuntu. Los requisitos mnimos recomendados, teniendo en cuenta los efectos de escritorio, deberan permitir ejecutar una instalacin de Ubuntu Server 12.04 LTS. Procesador x86 a 700 MHz. Memoria RAM de 512 MiB. Disco Duro de 5 GB. Tarjeta grfica y monitor capaz de soportar una resolucin de 1024x768. Lector de DVD o puerto USB. Conexin a Internet puede ser til. Para una instalacin ptima, y sobre todo si se dispone de ms de 3 GiB de RAM, existe tambin una versin de Ubuntu para sistemas de 64 bits. 1. Computador Personal (PC): Hardware Requerimientos mnimos: Procesador >=2GHz. RAM >= 512MB. CD player. Monitor Color >= 1024 x 728 (no requerido si el servidor solo ser accedido remotamente). Puertos seriales (COM) disponibles. HDD > 200 MB de espacio libre en disco para software y SQL (150 MB adicionales de espacio en disco se requieren durante la instalacin para archivos temporales) y 5 GB de espacio disponible en disco para almacenamiento de datos. Windows XP Pro (W2000, W2003). Red: PC conectado a internet con direccin IP pblica y esttica. Puerto abierto en el respectivo Firewall. PC en la red local con Puerto abierto de tal forma que se permita el envo de paquetes de datos desde el elemento al servidor.

2. Equipos adicionales: Para SMS y servicios telefnicos: Modem GSM: Se recomienda el modem Wavecom Fastrack M1306B se pueden instalar dos mdems. Equipos adicionales para hacer conexiones por voz estn disponibles. SIM card para cada modem (con tarifa optimizada para envo de SMS y llamadas telefnicas) Reportes impresos: acceso a impresora impresora virtual (ejemplo: PDF) y cliente de email para el envo de reportes por este medio. Se recomienda la utilizacin de UPS. 3. La instalacin y configuracin del Software requiere de registro de usuario en WINDOWS con perfil de administrador. 4. El PC debe ser dedicado para esta aplicacin (no debe ser usado para otras aplicaciones ya que se pueden presentar problemas con otras bases de datos).

3.3. Instalacin 3.3.1. Mtodos de instalacinQu tipo de mtodo de instalacin desea utilizar? Estn disponibles los siguientes mtodos de instalacin: CD-ROM:Si posee un lector de CD-ROM y tiene los CD-ROMs de Red Hat Enterprise Linux, puede utilizar este mtodo. Para ms informacin sobre instrucciones de instalacin del CDROM. Disco duro:Si ha copiado las imgenes ISO de Red Hat Enterprise Linux en el disco duro local, puede utilizar este mtodo. Necesitar un disquete o CD-ROM de arranque. NFS:Si est realizando la instalacin desde un servidor NFS utilizando imgenes ISO o una imagen rplica de Red Hat Enterprise Linux, puede utilizar este mtodo. Necesitar un CDROM de arranque (utilice la opcin de arranque linux askmethod). (instalacin desde la red) FTP:Si est realizando la instalacin directamente desde un servidor FTP. Necesitar un CDROM de arranque (use la opcin de arranque linux askmethod). R

HTTP:Si est realizando la instalacin directamente desde un servidor Web HTTP, Necesitar un CD-ROM de arranque (use la opcin de arranque linux askmethod).

3.3.2. InstalacinPasos de la instalacin Verificacin de la compatibilidad: Se debe comprobar si se cumplen los requisitos para la instalacin en cuanto a hardware y software. A veces es necesario desinstalar versiones antiguas del mismo software. Verificacin de la integridad: Se verifica que el paquete de software es el original, esto se hace para evitar la instalacin de programas maliciosos. Creacin de los directorios requeridos: Para mantener el orden en el directorio cada sistema operativo puede tener un estndar para la instalacin de ciertos archivos en ciertos directorios. Creacin de los usuarios requeridos: Para deslindar responsabilidades y tareas se pueden o deben usar diferentes usuarios para diferentes paquetes de software. Concesin de los derechos requeridos: Para ordenar el sistema y limitar daos en caso necesario, se le conceden a los usuarios solo el mnimo necesario de derechos. Copia, desempaque y descompresin de los archivos desde el paquete de software: Para ahorrar Ancho de banda y tiempo en la transmisin por internet o espacio de Disco duro, los paquetes vienen empacados y comprimidos. Archivos principales, sean de fuente o binarios. Archivos de datos, por ejemplo datos, imgenes, modelos, documentos XMLDocumente, etc. Documentacin Archivos de configuracin Bibliotecas

Enlaces duros o enlaces simblico a otros archivos Compilacin y enlace con las bibliotecas requeridas: En algunos casos no se puede evitar el complicado paso de la compilacin y enlace que a su vez tiene severos requerimientos de software al sistema. El enlace con bibliotecas requeridas puede ser un problema si en su instalacin no se acataron los estndares establecidos. Configuracin: Por medio de archivos de configuracin se le da a conocer al software con que parmetros debe trabajar. Por ejemplo, los nombres de las personas que pueden usar el software, como verificar su clave de ingreso , la ruta donde se encuentran los archivos con datos o la direccin de nuestro proveedor de correo electrnico. Para sistemas complejos se debe desarrollar el Software Configuration Management. Definir las variables de entorno requeridas: Algunos comportamientos del software solo pueden ser determinados por medio de estas variables. Esto es parte de la configuracin, aunque es ms dinmica. Registro ante el dueo de la marca: Para el Software comercial a veces el desarrollador de software exige el registro de la instalacin si se desea su servicio. Trmino de la instalacin: Si un sistema de gestin de paquetes realiza la instalacin, entonces este se ocupa de llevar la contabilidad de las versiones, (des-) instalaciones y cambios en los paquetes de software del sistema. En caso de que bibliotecas hayan sido cambiadas por la instalacin, es necesario arrancar el sistema operativo o el software nuevamente para hacer efectivos los cambios en todos los programas.

Se puede elegir entre: Instalacin Permanente Instalacin Temporal

Instalacin Permanente: Se podr solicitar la instalacin permanente de Software Especfico en las aulas de informtica, para el desarrollo de la docencia reglada. Esta

solicitud se tendr que hacer antes del comienzo de cada cuatrimestre con la suficiente antelacin (al menos 30 das antes del comienzo de la actividad docente).

La instalacin permanecer en el aula solicitada durante el periodo en el que se imparte la docencia. Los pasos a seguir para dicha instalacin son: Peticin a este servicio a travs de Administracin Electrnica/ Acceso Identificado -> Docencia -> Instalacin de Software. Una vez reciba contestacin, deber aportar al C.S.I.R.C. el software, documentacin y copia de la factura de la licencia en un plazo mximo de 7 das. Todo sto (copia de la licencia y software) permanecer en dicho servicio durante el tiempo que se encuentre el software instalado en las aulas.

Instalacin Temporal: La Instalacin de software temporal, la utilizaremos para aquel software que no va a ser permanente durante el curso, ser software necesario para una sesin de trabajo.

Este tipo de software lo instalar el usuario (docente) que lo necesite y para ello disponemos de una cuenta con privilegios de administrador de windows. Instalacin de Linux Instalacin de la distribucin Red Hat En la actualidad, la distribucin Red Hat es una de las distribuciones ms populares ya que el procedimiento de instalacin es muy simple. De hecho, este procedimiento simplemente le pide que elija de una lista de dispositivos perifricos principales y que escoja los idiomas y los paquetes que se van a instalar. Los pasos de la instalacin son los siguientes: eleccin del idioma: elija el idioma para el procedimiento de instalacin.

eleccin del teclado: si desea un teclado en francs que posea caracteres con acentos, elija fr-latin1. eleccin del soporte de instalacin : en caso de que usted posea un CD de instalacin de Linux, elija CD-ROM. De lo contrario (en el caso de que lo haya descargado), elija Hard drive. eleccin del estilo de instalacin : Aqu puede elegir actualizar un sistema existente o una instalacin completa desde cero. tipo de instalacin: el sistema le permite elegir entre estacin de trabajo, servidor o personalizada. La eleccin de una instalacin personalizada le dar ms flexibilidad. eleccin de los adaptadores SCSI : si usted tiene un adaptador SCSI, debera elegir la opcin s a esta pregunta. El sistema de instalacin tratar de detectar su hardware. En caso de que esta bsqueda automtica no arroje ningn resultado, slo debe introducir una lnea de parmetros para especificar de qu tipo de adaptador SCSI se trata como as tambin conocer la IRQ y la direccin de memoria. La lnea de comando encontrar una tarjeta "AHA1520" con la direccin 0x140 y IRQ 10: aha152x=0x140,10 particin del disco duro: esta distribucin le permitir particionar el disco duro en este nivel del proceso de instalacin (a menos que ya lo haya hecho anteriormente) y le permitir elegir entre druid disk y fdsik. Eleccin del disco rgido. particin del disco duro: El software le pedir que elija de una lista el disco duro que desea particionar . eliminacin de particiones innecesarias : en fdisk, use la tecla "d" para eliminar las particiones innecesarias (asegrese de no borrar las particiones de Windows!). creacin de particiones Linux: las teclas n y p le permitirn crear particiones swap y raz as como cualquier otra particin que necesite. Se le solicitar el nmero del primer cilindro de la particin as como su tamao (en MB). cambio del tipo de particin: Use la tecla t para asignar tipo 82 a la particin swap y tipo 83 a las particiones Linux. cmo salir de fdisk: pulse la tecla q para salir de fdisk sin ningn cambio. Si desea guardar algn cambio antes de salir, pulse la tecla w. seleccin de puntos de montaje : En una pantalla se proponen las diferentes

particiones que puede montar. Seleccione las particiones que desea montar y nmbrelas una tras otra mediante la especificacin del punto de montaje. Se debe especificar la raz: representa la particin principal y se la debe nombrar como /. A cada particin que quiera utilizar en Linux le debe asignar un punto de montaje ( /home por ejemplo o /mnt/dos para su particin DOS, en caso de que quiera montarla automticamente despus de la instalacin). seleccin de la particin swap: Despus, el sistema le pedir que elija la particin que se usar como memoria secundaria. formateo de particiones: debe seleccionar todas las particiones nuevas que cre. Asegrese de no formatear ninguna particin que contenga datos! eleccin de paquetes: esta opcin de una lista simplemente le pide que elija los elementos que se instalarn . instalacin/copia de paquetes: el sistema instalar todos los paquetes requeridos uno por uno. Esta operacin puede llevar un tiempo muy largo! (hasta media hora...) Configuracin de la red: se aplica a todos los equipos que tengan una tarjeta de red (no un mdem). Eleccin del huso horario: elija el huso horario apropiado para su pas (para Francia, Blgica y Suiza, elija Europa/Pars, para Qubec, depende...). Eleccin de servicios de inicio del sistema : puede elegir de una lista los servicios que se activarn en cada inicio de sistema. A priori apmd, netfs y sendmail no le sern muy tiles si su equipo no es un servidor. Eleccin de la impresora: una serie de preguntas le permitir configurar su impresora. Tendr que elegir opciones de una lista y especificar el puerto al que est conectada. Registro de la contrasea: se le pedir que introduzca una contrasea para la cuenta del superusuario (raz, es decir, un usuario que posee todos los derechos. Una vez que haya completado todos los pasos, el equipo se reiniciar y aparecer el siguiente indicador: LILO: slo introduzca linux para iniciar el sistema en Linux y dos para ir a su particin DOS, en la que encontrar Windows 9x, DOS u otro...

Una vez que inici el sistema en Linux e introdujo su nombre y contrasea de superusuario (root), debe instalar (a priori) una interfaz grfica que sea ms fcil de usar que la consola (modo de texto).

3.3.3. Configuracin del sistema, de seguridad y de redEs importante tener en cuenta los aspectos de seguridad en las conexiones a red, ya que una fuente de ataques importantes se produce a travs de la red. Ya se hablar ms sobre este tema en la unidad correspondiente a seguridad; sin embargo, hay unas cuantas recomendaciones bsicas que deben tenerse en cuenta para minimizar los riesgos inmediatamente antes y despus de configurar la red de nuestro ordenador: No activar servicios en /etc/inetd.conf que no se utilizarn, insertar un # antes del nombre para evitar fuentes de riesgo. Modificar el archivo /etc/ftpusers para denegar que ciertos usuarios puedan tener conexin va ftp con su mquina. Modificar el archivo /etc/securetty para indicar desde qu terminales (un nombre por lnea), por ejemplo: tty1 tty2 tty3 tty4, se permite la conexin del superusuario (root). Desde las terminales restantes, root no podr conectarse. Utilizar el programa tcpd. Este servidor es un wrapper que permite aceptar-negar un servicio desde un determinado nodo y se coloca en el /etc/inetd.conf como intermediario de un servicio. El tcpd verifica unas reglas de acceso en dos archivos: /etc/hosts.allow y /etc/host.deny Si se acepta la conexin, pone en marcha el servicio adecuado pasado como argumento (por ejemplo, la lnea del servicio de ftp antes mostrada en inetd.conf: ftp stream tcp nowait root /usr/sbin/tcpd/usr/sbin/in.ftpd. tcpd primero busca /etc/hosts.allow y luego /etc/hosts.deny. El archivo hosts.deny contiene las reglas de cules son los nodos que no tienen acceso a un servicio dentro de esta mquina. Una configuracin restrictiva es ALL: ALL, ya que slo se permitir el acceso a los servicios desde los nodos declarados en /etc/hosts.allow. El archivo /etc/hosts.equiv permite el acceso a esta mquina sin tener que introducir una

clave de acceso (password). Se recomienda no utilizar este mecanismo y aconsejar a los usuarios no utilizar el equivalente desde la cuenta de usuario a travs de archivo .rhosts. En Debian es importante configurar /etc/security/access.conf, el archivo que indica las reglas de quin y desde dnde se puede conectar (login) a esta mquina. Este archivo tiene una lnea por orden con tres campos separados por : del tipo permiso: usuarios:origen. El primero ser un +o- (acceso denegado), el segundo un nombre de usuario/s, grupo o user@host, y el tercero un nombre de un dispositivo, nodo, dominio, direcciones de nodo o de redes, o ALL. Ante los posibles ataques, tenemos que disponer de mecanismos de prevencin, deteccin y recuperacin de nuestros sistemas. Para la prevencin local, hay que examinar los diferentes mecanismos de autentificacin y permisos de accesos a los recursos para definirlos correctamente y poder garantizar la confidencialidad y la integridad de nuestra informacin. En este caso, nos estaremos protegiendo de atacantes que hayan obtenido acceso a nuestro sistema, o bien de usuarios hostiles que quieran saltarse las restricciones impuestas en el sistema. Respecto a la seguridad en red, tenemos que garantizar que los recursos que ofrecemos (si proporcionamos unos determinados servicios) tienen los parmetros de confidencialidad necesarios y que los servicios no pueden ser usados por terceros no deseados, de modo que, un primer paso ser controlar que los servicios ofrecidos sean los que realmente queremos, y que no estamos ofreciendo adems otros servicios que no tenemos controlados. En el caso de servicios de los que nosotros somos clientes, tambin habr que asegurar los mecanismos de autentificacin, en el sentido de que accedemos a los servidores correctos y no existen casos de suplantacin de servicios o servidores (normalmente bastante difciles de detectar). Respecto a las aplicaciones y a los mismos servicios, adems de garantizar la correcta configuracin de niveles de acceso mediante permisos y de autentificacin de los usuarios permitidos, tendremos que vigilar la posible explotacin de bugs en el software. Cualquier aplicacin, por muy bien diseada e implementada que est, puede tener un nmero ms o menos alto de errores que pueden ser aprovechados para, con ciertas tcnicas, saltarse las restricciones impuestas. En este caso, practicamos una poltica de prevencin que pasa por mantener el sistema actualizado en la medida de lo posible, de manera que, o bien actualizamos ante cualquier nueva correccin, o bien somos conservadores y mantenemos aquellas versiones que sean ms estables en cuestin de

seguridad. Normalmente, esto significa verificar peridicamente unos cuantos sitios de seguridad para conocer los ltimos fallos detectados en el software y las vulnerabilidades que se derivan de stos, y que podran exponer nuestros sistemas a fallos de seguridad, ya sea local o por red.

3.3.4. Niveles de ejecucin.

El trmino runlevel o nivel de ejecucin se refiere al modo de operacin en los sistemas operativos que implementan el estilo de sistema de arranque de iniciacin tipo UNIX System V. En trminos prcticos, cuando el computador entra al runlevel 0, est apagado, y cuando entra al runlevel 6, se reinicia. Los runlevels intermedios (1 a 5) difieren en relacin a qu unidades de disco se montan, y qu servicios de red son iniciados. Los niveles ms bajos se utilizan para el mantenimiento o la recuperacin de emergencia, ya que por lo general no ofrecen ningn servicio de red. Los detalles particulares de configuracin del runlevel vara bastante entre sistemas operativos, y ligeramente entre los administradores de sistema. El sistema de runlevel reemplaz al script tradicional /etc/rc en UNIX, versin 7. Niveles de ejecucin estndar Nivel de ejecucin 0 1 Nombre o denominacin Alto Modo monousuario Alto o cierre del sistema (apagado). No configura la interfaz de red o los demonios de inicio. Solamente est activo el usuario root, sin contrasea. Este nivel de ejecucin permite reparar problemas, o hacer pruebas en el sistema. 6 Reinicio Se reinicia el sistema. Descripcin

En Linux El sistema operativo GNU/Linux puede aprovechar los niveles de ejecucin a travs de los programas del proyecto sysvinit. Despus de que el ncleo Linux ha arrancado, el programa init lee el archivo /etc/inittab para determinar el comportamiento para cada nivel de ejecucin. A no ser que el usuario especifique otro valor como un parmetro de autoarranque del ncleo, el sistema intentar entrar (iniciar) al nivel de ejecucin por defecto. La mayor parte de usuarios de sistemas puede comprobar el nivel de ejecucin actual con cualquiera de los comandos siguientes: $ runlevel $ who -r # como usuario root # como cualquier usuario

Niveles de ejecucin tpicos en Linux La mayora de las distribuciones Linux, definen los siguientes niveles de ejecucin adicionales: Los 7 niveles de ejecucin (runlevels) estndars Nivel de ejecucin 0 Descripcin denominacin Alto Alto o cierre del sistema (Apagado). No configura la interfaz de red o los demonios de inicio, ni Modo de permite que ingresen otro usuarios que no sean el usuario usuario nico root, sin contrasea. Este nivel de ejecucin permite reparar (Monousuario) problemas, o hacer pruebas en el sistema. Multiusuario Multiusuario sin soporte de red. Multiusuario con Inicia el sistema normalmente. soporte de red. No usado. Multiusuario Similar al nivel de ejecucin 3 + display manager. grfico (X11) Reinicio Se reinicia el sistema. Nombre o

1

2 3 4 5 6

3.4. Estructura de directorios 3.4.1. Preparacin y administracin de los sistemas de archivosAntes de instalar Ubuntu Linux, y si adems queremos que conviva con otros sistemas operativos, necesitaremos realizar una serie de particiones. Uno de los inconvenientes que nos encontramos es que, cuando preguntamos a alguien cuntas particiones debemos hacer, cada uno nos dice las que l considera, con el tamao que cree oportuno, particiones primarias o secundarias (lgicas). En este caso se va a tratar de exponer todo para los usuarios principiantes, para que les sea fcil cambiar de distribucin o, si no les gusta Linux, eliminar sus particiones de forma fcil y segura.

Tipos de particiones y sistemas de archivosParticionar un disco duro es realizar una divisin en l de modo que, a efectos prcticos, el sistema operativo crea que tienes varios discos duros, cuando en realidad slo hay un nico disco fsico dividido en varias partes. De este modo, se pueden modificar o borrar particiones sin afectar a los dems datos del disco. Las particiones bsicas se llaman primarias y puede haber a lo sumo 4. Esto puede ser suficiente para nuestros intereses. Como a veces no es as, se crearon las particiones extendidas que pueden albergar otras particiones dentro, llamadas lgicas. Los sistemas de archivos indican el modo en que se gestionan los archivos dentro de las particiones. Segn su complejidad tienen caractersticas como previsin de apagones, posibilidad de recuperar datos, indexacin para bsquedas rpidas, reduccin de la fragmentacin para agilizar la lectura de los datos, etc. Hay varios tipos, normalmente ligados a sistemas operativos concretos. A continuacin se listan los ms representativos: fat32 o vfat: Es el sistema de archivos tradicional de MS-DOS y las primeras versiones de Windows. Por esta razn, es considerado como un sistema universal, aunque padece de una gran fragmentacin y es un poco inestable. ntfs: Es el nuevo sistema de Windows, usado a partir del 2000 y el XP. Es muy estable. El problema es que es privativo, con lo cual otros sistemas operativos no pueden acceder a l de manera transparente. Desde Linux slo se recomienda la lectura, siendo la escritura en estas particiones un poco arriesgada. ext2: Hasta hace poco era el sistema estndar de Linux. Tiene una fragmentacin bajsima, aunque es un poco lento manejando archivos de gran tamao. ext3: Es la versin mejorada de ext2, con previsin de prdida de datos por fallos del disco o apagones. En contraprestacin, es totalmente imposible recuperar datos borrados. Es compatible con el sistema de archivos ext2. Actualmente es el ms difundido dentro de la comunidad GNU/Linux y considerado el estndar de facto. ext4: Es un sistema de archivos con registro por diario (en ingls Journaling), anunciado el 10 de octubre de 2006, como una mejora compatible de ext3. La principal novedad en Ext4 es

Extent, o la capacidad de reservar un rea contigua para un archivo; esto puede reducir y hasta eliminar completamente la fragmentacin de archivos. Es el sistema de archivos por defecto desde Ubuntu Jaunty. ReiserFS: Es el sistema de archivos de ltima generacin para Linux. Organiza los archivos de tal modo que se agilizan mucho las operaciones con stos. El problema de ser tan actual es que muchas herramientas (por ejemplo, para recuperar datos) no lo soportan. swap: Es el sistema de archivos para la particin de intercambio de Linux. Todos los sistemas Linux necesitan una particin de este tipo para cargar los programas y no saturar la memoria RAM cuando se excede su capacidad. En Windows, esto se hace con el archivo pagefile.sys en la misma particin de trabajo, con los problemas que conlleva. Ya se ha comentado que las particiones son como discos duros independientes, y as aparece en Windows. Cabe recordar que en Linux no existe el concepto de unidad (C:, D:, etc.) sino que las particiones se montan en el rbol de carpetas. Eso no nos debe preocupar mucho. Slo comentar que la carpeta raz de ese rbol se denota con / y que las particiones se suelen montar en la carpeta /media.

Tamao de las particionesTenemos un disco duro con mucho espacio pero no sabemos cmo administrarlo. Puesto que a cada particin se le va a dar un uso diferente, cada una tendr un tamao diferente. En este ejemplo, particionaremos el disco de tal modo que podamos instalar el sistema operativo Windows en una particin separada, que es la configuracin ms habitual. Para empezar, necesitamos la particin para la memoria de intercambio, que ser de tipo swap. Es una costumbre extendida que sta sea del doble de tamao que la memoria RAM disponible. Por ejemplo, si tenemos 256 MB de memoria RAM, nuestra particin de intercambio ser de 512 MB. Sin embargo esto nicamente es aplicable a tamaos de memoria de hasta 1GB. Si tenemos ms memoria (segn Russell Coker) tenemos que utilizar la siguiente regla: entre 2GB y 4GB, utilizaremos como tamao del swap la mitad del valor de la RAM; mientras que si tenemos ms de 4 GB, utilizaremos una swap de slo 2GB. La particin donde instalaremos Ubuntu (/) debe tener al menos 2 GB. Si pretendemos instalar ms programas es recomendable darle un poco ms de espacio. Para un uso normal, unos 7 u 8 GB estarn bien. Por otra parte tendremos la particin de Windows XP. ste ocupa ms o menos 2 GB (sin programas ni nada), pero si piensa instalar juegos, programas y dems, sea generoso con el tamao y asgnele unos 10 GB como mnimo. Finalmente, es recomendable guardar los archivos personales (documentos, imgenes, pelculas, etc.) en una particin aparte. As, si en algn momento quiere reinstalar Ubuntu desde cero, podr formatear sin miedo y sin perder la configuracin de sus programas. Esta particin suele montarse en /home. Su tamao depende principalmente de cuntos usuarios usen el sistema y del volumen de datos que almacenen. Un ejemplo es el siguiente (suponiendo que tenemos un disco de 80 GB de capacidad): Windows: 10 GB, para juegos (no muy pesados) principalmente. /: 8 GB, para todo lo que instale en Ubuntu. swap: 1 GB, suponiendo que tenemos 512 MB de RAM.

/home: el resto, en este caso 61 GB, para datos, msica, configuraciones, etc.

Preparacin de la instalacin y particionamientoLo primero que debemos hacer antes de instalar Ubuntu (y particionar el disco) es desfragmentar el disco duro con el sistema operativo que tengamos instalado. Con esta operacin conseguiremos que los diferentes fragmentos de los archivos se junten y sea ms improbable su prdida en el proceso de particionamiento. A continuacin es conveniente realizar copias de seguridad de todos los archivos importantes que tengamos en el disco duro ya que al particionarlo podemos perder esa informacin. Con todo esto ya estamos preparados para instalar Ubuntu Linux junto con otro sistema operativo. [editar]

En qu momento particionar el discoEl mejor momento para particionar el disco es durante la instalacin, ya que la herramienta de particionado comprueba si existe una particin con la etiqueta / para instalar Ubuntu y otra swap para la memoria de intercambio. Para hacer las particiones, deberemos seguir con la instalacin hasta que tengamos las siguientes 3 opciones (tambin es posible ejecutar el programa gParted, ubicado en el men Sistema->Administracin->Editor de particiones): Formatear todo el disco duro. Espacio libre contiguo. Particionamiento manual. La ltima es la opcin que debemos elegir, y una vez all haremos las particiones del disco duro (redimensionando la particin que ya tenemos con el otro sistema operativo), elegiremos el sistema de ficheros (vfat, ext2, ext3, etc.) y el punto de montaje. Primero crearemos una nueva particin para la raz. Elegimos el tamao y el tipo de sistema de ficheros, en este caso ext3. Algunas placas base no pueden arrancar el gestor de arranque si ste se encuentra ubicado despus del cilindro 1024 del disco duro (aproximadamente 4,7 GB), as que crearemos primero esta particin, ya que es en la que se encuentra el gestor de arranque, y le asignaremos el punto de montaje /. A continuacin realizaremos la misma operacin (creando otra particin) para la memoria de intercambio (swap) y elegiremos el tipo linux-swap'. Finalmente procederemos de la misma forma creando otra particin para los datos personales. Elegiremos el tamao y el tipo, al igual que la anterior, ext3 (tambin podramos elegir ReiserFS) y le asignaremos el punto de montaje /home. Asegrese de que ha marcado para formatear las nuevas particiones, pero no as las particiones que quiere conservar.

Si alguien lo sabe sera bueno que indique cmo se reconoce a qu SO corresponde cada particin? de modo que no se cometa errores al formatear Una vez hayamos hecho todo esto, al pulsar el botn Finalizar ser cuando creemos las particiones, as que no hay problema en experimentar o equivocarse. Finalmente debemos mencionar que una vez instalado Ubuntu, si tenemos dos (o ms) sistemas operativos, al iniciar el ordenador el gestor de arranque nos permitir elegir cul sistema operativo iniciar. Este gestor de arranque se llama GRUB, y es instalado automticamente (para ms informacin, vase GRUB). [editar]

Compartir una particin con WindowsEn esta seccin se explica cmo crear una particin de manera que pueda ser montada en Ubuntu y, a la vez, ser detectada por Windows. Para esto, usaremos el sistema de archivos vfat, esto es, el sistema FAT32 de las primeras versiones de Windows. Es un poco lento y no permite particiones muy grandes, pero para nuestros propsitos es perfecto. Como ahora necesitamos una particin ms, tendremos que hacer uso de las particiones extendidas. Siguiendo el proceso anterior de particionamiento, ahora el esquema podra ser el siguiente: Particin primaria 1: ntfs, para Windows XP Particin primaria 2: ext3, para la raz / Particin primaria 3: particin extendida Particin lgica 4: linux-swap, para la memoria de intercambio Particin lgica 5: ext3, para los datos personales (/home) Particin lgica 6: vfat, para los datos que queramos compartir entre los dos sistemas operativos.

Nombre de los dispositivos en LinuxComo nota final vamos a mostrar cmo se puede acceder a las particiones del disco duro desde el sistema de archivos, es decir, vamos a ver los nombres que tienen asignados las diferentes particiones en Linux (nos resultar de utilidad conocer estos nombres cuando particionemos): Disqueteras Primera disquetera: /dev/fd0 (en Windows sera la disquetera A:) Segunda disquetera: /dev/fd1 Discos duros (en general: /dev/hdx#, donde x es el disco y # es la particin) Primer disco duro: (todo el disco) /dev/hda Particiones primarias Primera particin primaria: /dev/hda1 Segunda particin primaria: /dev/hda2 Tercera particin primaria: /dev/hda3 Cuarta particin primaria: /dev/hda4 Particiones lgicas Primera particin lgica: /dev/hda5 Sucesivamente: /dev/hda#

Segundo disco duro: (todo el disco) /dev/hdb Particiones primarias Primera particin primaria: /dev/hdb1 Segunda particin primaria: /dev/hdb2 Tercera particin primaria: /dev/hdb3 Cuarta particin primaria: /dev/hdb4 Particiones lgicas Primera particin lgica: /dev/hdb5 Sucesivamente: /dev/hdb# Discos SCSI Primer disco SCSI: /dev/sda Segundo disco SCSI: /dev/sdb Sucesivamente ... Primer CD-ROM SCSI: /dev/scd0, tambin conocido como /dev/sr0

Particionar desde lnea de comandos Para particionar un disco desde la lnea de comandos se pueden utilizar los programas fdisk (para crear particoines) y mkfs (para dar formato a las particiones)

3.4.2. Montaje y desmontaje de dispositivos.

Montar equivale a crear un acceso desde un directorio a una unidad o dispositivo. No significa copiar sino establecer un enlace entre tal directorio y el dispositivo. Desmontarla es eliminar ese enlace. A los usuarios de ms-dos sonar a algo parecido que se haca con las unidades comprimidas dblspace o drivespace. Su equivalente en sistemas windows son las unidades virtuales que instalan programas tales como el clone cd, que para poder leer una imagen iso es necesario montarla de un modo similar a como se hace en GNULinux. De forma predeterminada LINUX nos ofrece directorios en los que se montan dispositivos comnmente utilizados, /floppy en el que accedemos a las disqueteras y otro llamado /cdrom para unidades pticas. Esto no es comn para todas las distribuciones, pero dado que lo ms probable es que estis utilizando Guadalinex, sta si lo distribuye as. No obstante, cada quien puede montar las cosas tal y como prefiera, lo ms normal es que los dispositivos se monten dentro de un directorio llamado /mnt. El montaje, tanto de Linux en modo grfico, como de windows, se hace automticamente al intentar acceder a la unidad, pero en el modo texto de Linux se montan de forma prcticamente manual. COMANDO PARA MONTAR DISPOSITIVOS mount Formato: mount -t La t indica que a continuacin se especificar el montaje obligatorio con formatos:

ext2 (formato de linux). ext3 (formato de linux para montaje de sistemas de archivos). reisers (formato de linux utilizado en servidores). vfat (formato fat utilizado para disketes y para particiones win9x). ntfs (formato para particiones windows nt/2000/xp). iso9660 (dispositivos pticos). Este tipo de montaje extendido solamente puede hacerlo el ROOT, los usuarios podrn hacer exclusivamente el montaje reducido. Como ya vimos en otras entregas, todos los dispositivos se encuentran en el directorio DEV /dev/hda0 primer disco duro, particin primaria (la particin que generalmente contiene a windows) /dev/fd0 disquetera /dev/sda pendrive /dev/cdrom (dispositivos pticos). el dispositivo (/dev/cdrom es en realidad un enlace simblico al dispositivo real (en prximas entregas hablaremos de los enlaces y sus tipos), que puede ser /dev/hdb o /dev/hdc...). En realidad, como estamos viendo, un punto de montaje no es otra cosa que un enlace a un dispositivo desde un directorio, por ejemplo, el directorio /mnt La orden que nos permite Averiguar las particiones y su tipo que hay en el disco duro es: fdisk -l /dev/hda (hda equivale al disco duro en su totalidad). Una vez hayamos averiguado el formato y el nombre de la particin, podemos montar la unidad o la particin: Por ejemplo, podremos MONTAR la particin de disco que contiene Windows del siguiente modo: Creamos una carpeta (con cualquier nombre, por ejemplo, windows) en /mnt (no me cansar de repetiros que tengis mucho cuidado con las maysculas ya que para GNULinux no es lo mismo Windows que windows). Asimismo deberemos tener en cuenta que no se podr utilizar la orden mount para montar estando dentro del propio directorio de montaje (/mnt), hay que, portanto, estar en otra ubicacin antes de utilizar la orden: mount -t ntfs /dev/hda1 /mnt/windows -t es el modificador que indica formato extendido con tipo obligatorio. El formato es en este ejemplo ntfs vlido para windows nt/2000/xp . Podra ser vfat para versiones 9x de windows. Las particiones en ntfs en linux se montan para slo lectura debido a la gran cantidad de permisos o atributos que existen en este tipo de formatos y no podremos hacer cambios (os comento, no recuerdo si lo hice antes, aunque creo que no porque todava no hablamos del tema, que los archivos de Unix/linux solamente tienen tres tipos de permiso: lectura, escritura y ejecucin; desde luego que esto no lo hace ser ms inseguro que cualquier otro sistema, la verdad es que solamente con estos tres atributos nos sobra). En vfat si son de lectura y escritura. Si no supiramos el sistema de archivos, en lugar de especificarlo, se puede poner el modificador auto (el cual sustituye a cualquier tipo ext2, ntfs,etc...). Normalmente lo detectar bin y no nos dar ningn tipo de problema. hda1 ser en este caso la particin que contiene el windows Otro ejemplo podra ser montar un cd-rom

Antes de hacerlo deberemos verificar que haya un cd dentro de la unidad, en otro caso dar error (esto tambin pasar con las disqueteras) mount -t iso9660 /dev/cdrom /cdrom Dar mensaje de que se monta slo para lectura y que est protegido contra escritura por ser un cd. Tambin se podra realizar el montaje con formato reducido: mount /dev/cdrom (slo en algunos casos ya que depende mucho de cada distribucin) Para poder utilizar el formato reducido en el montaje de unidades hay que examinar el fichero /etc/fstab y tener en cuenta su contenido, ya que all es donde se especificarn los dispositivos que son montados de este modo y en qu lugares y por quien puede ser utilizado. Si editamos el fichero con cualquier editor, en una siguiente entrega hablaremos del ms comn que es VI, encontraremos, entre otras, algo parecido a la siguiente lnea: /dev/cdrom /cdrom iso9660 defaults,ro,user,noexec,noauto 0 0 La opcin defaults es en realidad un conjunto de opciones. Al indicar defaults se estn agrupando las siguientes opciones: rw: Montar el sistema de archivos de lectura y escritura. suid: Permitir el uso de identificadores de los bits SUID y SGID. dev: Interpretar dispositivos especiales de caracteres o bloques en el sistema de archivos. Noauto: que no monte automticamente. Es importante porque si no hay cd rom dentro de la unidad, nos dara error en el inicio al intentar montarla sin tener cd dentro (tambin pasa con las disqueteras). Tambin es importante la opcin user, que permite que el dispositivo sea montado por cualquier otro usuario que no sea el root, lo que, en realidad, no es otra cosa que la posibilidad de montar con la opcin reducida. Para montar unidades como un usuario (no root) hay que tener en cuenta que un usuario no podr utilizar el formato extendido para montarlo, slo el reducido. En el fichero fstab estar especificado por el root dnde se puede montar y el usuario no podr montar en ningn otro sitio en el que el administrador no lo haya previsto. DESMONTAR DISPOSITIVO Al igual que ocurra cuando montbamos dispositivos, tampoco se puede desmontar en el directorio de montaje, por lo que ser necesario salirse de l antes de ejecutar la orden. umount dispositivo EJEMPLO: umount /dev/hda1 No se debe retirar un diskette antes de desmontarlo o posiblemente acabaremos por hacer que el sistema se desestabilice y se cuelgue. La regla es, cuando se trate de dispositivos que se muevan, primero se desmonta y despus se retira. MOUNT (sin parmetros)nos ofrecer la INFORMACIN SOBRE los MONTAJES DESMONTAR Y SACAR EL CD. Estando en root se ejecutar la orden eject Comprobar los Sistemas de Archivos: Es sabido que en GNULinux los sistemas de archivos se corrompen menos que en Windows, esto no

significa que no lo hagan, si, por ejemplo, se han desmontado inadecuadamente debido a un apagado en caliente o por un corte de fluido elctrico, el sistema comprobar, en el arranque, los sistemas de archivos en busca de ficheros daados o corrompidos. Esta comprobacin se realizar tambin de forma automtica peridicamente cada cierto nmero de encendidos del sistema. Tambin tendremos la posibilidad de realizar revisiones manualmente siempre que lo decidamos oportuno. El comando utilizado para comprobar un sistema de archivos depender del tipo de sistema en cuestin. Para sistemas de archivos ext2fs (el que usaremos en GNULinux habitualmente), el comando ser e2fsck. e2fsck -av /dev/hda2 Esto comprobar el sistema de archivos de /dev/hda2 y corregir automticamente cualquier error que pudiera haber all. Es muy aconsejable, por no de cir que obligatorio, desmontar el sistema de archivos antes de verificarlo. La nica excepcin a esto es el sistema de archivos raz (/), que no se puede desmontar, debido a que est siendo usado y es imposible no hacerlo as. Tras haber comprobado un sistema de archivos es imprescindible que reinicialicemos el sistema inmediatamente, si se hizo alguna correccin al sistema de archivos. Si fsck informa que ha corregido algn error en el sistema de archivos, se debe apagar el sistema con shutdown -r, o reboot para rearrancarlo. Esto permite a Linux sincronizar su informacin acerca del sistema de archivos cuando fsck lo modifique. Existe un sistema de archivos llamado /proc el cual no necesita nunca ser comprobado. /proc es un sistema de archivos virtual, gestionado directamente por el ncleo, y como tal sistema virtual es imposible que sufra corrupciones.

Montaje y desmontaje de un sistema de ficherosTodos los ficheros y directorios disponibles en un sistema Unix estn organizados en un nico rbol cuya raz es el directorio /. Los ficheros pueden estar distribuidos entre distintos dispositivos. Mediante la orden mount podemos aadir un sistema de ficheros contenido en algn dispositivo, por ejemplo una particin de disco duro, disquete, etc., al rbol de directorios. Habitualmente nos referiremos a esta operacin como "montar una particin disquete o cdrom". El montaje se realiza en un directorio existente en el sistema de ficheros, en el cual apareceran los contenidos del sistema de ficheros que hay en el dispositivo. Este directorio se conoce como punto de montaje. Si el directorio punto de montaje tuviera algn contenido previo, este se oculta y slo aparece lo que haya en el dispositivo montado. Para desmontar un sistema de ficheros contenido en un dispositivo se utiliza la orden umount. Para desmontar el dispositivo es necesario que no est en uso por ninguna aplicacin. Es importante tener en cuenta los buffers de disco. Cuando se escriben datos en el disco no se actualizan instantneamente, sino que el sistema los guarda en un buffer que vuelca a disco transcurrido un cierto tiempo. La orden de desmontar un sistema de ficheros fuerza la actualizacin del disco. Por este motivo si extraemos un disquete de la unidad antes de desmontarlo es muy probable que obtengamos datos incoherentes. Un caso particular es el sistema de ficheros virtual /proc. Este sistema de ficheros no est asociado a ningn dispositivo y en l aparecer diversa informacin sobre el sistema. Tiene que existir el punto de montaje, el sistema se encarga del resto.

El buffer de discoLos dispositivos de bloque disponen de un buffer sobre el que se realizan las operaciones de escritura. Este sistema agiliza bastante los accesos a disco, no hay ms que comprobar la rapidez en la escritura en disquete y permite al sistema seguir trabajando normalmente cuando realiza una operacin de ese tipo. El sistema gestiona las actualizaciones de disco de una forma eficiente y adems en cualquier momento la podemos forzar con lorden sync. Ver la pgina de manual para ms detalles.

mountLa orden mount permite incorporar un sistema de ficheros existente en una particin al rbol de directorios Unix. En general el uso de la orden mount tiene la siguiente forma: mount -t tiposistemaficheros /dev/dispositivo /punto montaje donde tiposistemaficheros puede ser ext2, vfat, msdos, ntfs, iso9660 o cualquier otro sistema de ficheros reconocido por el ncleo Linux. /dev/dispositivo indica el dispositivo que contiene el sistema de ficheros. Puede ser un disquete, particin de disco duro o cdrom. /puntomontaje ser el directorio donde queremos que aparezcan los ficheros conenidos en el dispositivo montado.

El tipo de sistema de ficheros tambin puede ser smb o nfs, pero en este caso tendremos que sustituir el dispositivo por los datos de red necesarios para realizar el montaje. Ambos tipos de sistemas de ficheros son en red, almacenados fsicamente en una mquina remota con conexin por red.

umountLa orden umount desmonta un sistema de ficheros del rbol de directorios principal. Ninguno de los ficheros o directorios de su sistema de ficheros puede estar en uso para poderlo desmontar. Adems esta orden fuerza el volcado de los buffer de disco y la actualizacin del superbloque del sistema de ficheros. Si por alguna circuntancia, prdida de alimentacin elctrica por ejemplo, la particin deja de usarse sin desmontar, la prxima vez que se monte el sistema lo detecta y le solicitar que la verifique con

fsck.

El fichero /etc/fstabAnteriormente hemos hablado de las particiones que el sistema monta automicamente cuando arranca; este montaje automtico de las particiones lo podemos encontrar en el fichero /etc/fstab. Pero en este fichero no slo podemos indicar qu particiones se montan automticamente en el proceso de arranque, sino que adems podemos proporcionar configuraciones adicionales sobre el sistema de ficheros; por ejemplo se pueden habilitar las cuotas de usuario, se pueden establecer cmo slo lectura y otas muchas ms caractersticas. Empezaremos viendo un ejemplo de fichero y ms adelate describiremos los detalles principales. Este sera el contenido de un fichero /etc/fstab /dev/hda2 / ext2 defaults 1 1 none /proc proc defaults 0 0 /dev/sda4 /mnt ext2 defaults,noauto 0 0 /dev/hda3 none swap defaults 0 0 Como podemos observar, el fichero consta de varios campos. dispositivo: Es el dispositivo que contiene el sistema de fichros. En caso del directorio virtual /proc no existe dispositivo. punto de montaje: Es el directorio donde aparecern los ficheros y directorio existente en el dispositivo montado. sistema de ficheros: Es el tipo de sistema de ficheros que el sistema espera encontrar en el correspondiene dispositivo. Sistemas de ficheros vlidos son ext2, iso9660 y vfat. Tambin puede ser swap para una particin de intercambio. En general podremos poner cualquier sistema de ficheros admitido por el ncleo. opciones de montaje: En general indicamos como queremos que acte ese sistama de ficheros. Podemos poner en este campo una lista de opciones separadas por comas. Opciones posibles son:

async Toda la E/S al sistema de ficheros debera hacerse asncronamente. auto: Puede montarse con la opcin -a de la orden mount. defaults: Emplear las opciones predeterminadas: rw, suid, dev, exec, auto, nouser y async.

dev: Interpretar dispositivos especiales de caracteres o bloques en el sistema de ficheros. exec: Permitir la ejecucin de binarios. noatime: No actualizar los tiempos de acceso a i-nodo en este sistema de ficheros (p.ej., para un acceso ms rpido). noauto: No monta automticamente, pero mantiene la informacin sobre las caractersticas del sistema de ficheros. Con esta opcin basta poner el dispositivo o el punto de montaje en la orden mount para montar el sistema de ficheros con todas las opciones indicadas. Esta entrada es habitual con los cdrom. nodev: No interpreta o reconocer dispositivos o ficheros especiales de bloques o caracteres en este sistema de ficheros. Esta opcin nos asegura que nadie podr crear dispositivos que pudieran poner en riesgo el sistema. noexec: No permitir la ejecucin de ningn binario en el sistema de ficheros montado. Esta opcin puede ser til para un servidor que tiene sistemas de ficheros que contienen binarios para otras arquitecturas distintas de la suya. nosuid: No permite el efecto de los bits SUID ni SGID. nouser: No permite a un usuario ordinario (esto es, distinto de root) montar el sistema de ficheros. Esto es lo predeterminado. ro: Monta el sistema de ficheros de lectura exclusiva. rw: Montar el sistema de ficheros de lectura y escritura. suid: Permitir el efecto de los bits SUID y SGID. sync: Toda la E/S al sistema de ficheros debera hacerse sncronamente. user: Permitir a un usuario ordinario montar el sistema de ficheros. Esta opcin implica las opciones noexec, nosuid y nodev (a menos que se sustituyan por otras subsiguientes, como en la lnea de opciones user,exec,dev,suid). En el ejemplo podemos ver como la particin /dev/sda4 tiene la opcin noauto. Este dispositivo se corresponde a una unidad Zip y podemos montarlo poniendo simplmente mount /mnt o mount /dev/sda4. volcado: El siguiente campo indica si se tiene que establecer el volcado del sistema de ficheros. verificacin: Este campo establece el orden de verificacin del sistema de ficheros con fsck en el montaje. La particin raz devera tener el valor 1 y el resto que se quieran verificar el valor 2.

El fichero /etc/mtab En este fichero el sistema anota cada uno de los sistemas de fichros montados y su punto de montaje. Una forma de leer este fichero es usar la orden mount sin argumentos y obtendremos la lista de sistemas de ficheros montados.

3.5. Comandos y aplicaciones 3.5.1. Manejo del sistema de archivosEl sistema de archivos UNIX est caracterizado por: Una estructura jerrquica. Un tratamiento consistente de la informacin de los archivos. Proteccin de los archivos. Este estndar del sistema de archivos Linux sigue el mismo principio bsico que la mayora de los sistemas de archivos UNIX siguen. Note, sin embargo que este estndar no intenta concordar en cada aspecto posible con alguna implementacin particular del sistema UNIX. De cualquier forma, muchos de los aspectos de este estndar estn basados en ideas encontradas en UNIX y sistemas similares a UNIX. Es posible despus de cuidadosa consideracin de otros factores, incluyendo: Prcticas comunes en la comunidad Linux. La implementacin de otras estructuras de sistemas de archivos. Los estndares aplicables. Definir dos categorizaciones ortogonales de archivos: Compartibles vs. no compartibles, y variables vs. estaticos. La informacion compartible es aquella que puede ser compartida entre varias mquinas diferentes; la no compartible es aquella que debe ser local a una mquina particular. Por ejemplo. Los directorios hogar de los usuarios son compartibles, pero los archivos de bloqueo de dispositivo (lock files) son no compartibles. La informacin esttica incluye binarios, librerias, documentacin y todo aquello que no cambia sin la intervencin del administrador del sistema. La informacion variable es todo lo que cambia sin la intervencin del administrador. El entendimiento de estos principios bsicos ayudar a guiar la estructura, a lo largo de este documento, y en cualquier sistema de archivos bien planeado, esto brindar consistencia

adicional. La distincin entre informacin compartible y no compartible es necesaria por varias razones: En un ambiente de red (i.e. ms de un host en un site), existe una buena cantidad de informacin que se puede compartir entre diferentes mquinas para ahorrar espacio y facilitar la tarea de administracin. En un ambiente de red, ciertos archivos contienen informacin especfica a una sola mquina, por tanto, estos sistemas de archivos no pueden ser compartidos (sin tomar medidas especiales). Las implementaciones de facto del sistema de archivos no permitan que la jerarqua /usr fuera montada slo-lectura, porque contena archivos y directorios que nesecitaban ser escritos muy frecuentemente. ste es un factor que debe atacarse cuando algunas partes de /usr se comparten en una red, o se montan slo-lectura debido a otras consideraciones tales como la seguridad. La distincion "compartible" puede ser usada para soportar, por ejemplo: Una particin /usr (o componentes de /usr) montada (slo-lectura) atraves de la red (usando NFS). Una particion /usr (o componentes de /usr) montada desde medios de slo-lectura.Un cd-rom puede ser considerado como un sistema de archivos slo-lectura compartido con otros sistemas Linux utilizando el sistema de correo como una red. La distincion "esttica" contra "variable" afecta el sistema de archivos de dos maneras principales: Dado que / contiene ambos tipos de informacin, variable y esttica necesita montarse lectura-escritura. Dado que el /usr tradicional contiene ambos tipos de informacin variable y esttica y dado que podramos desear montarlo slo-lectura (vea arriba), es necesario proporcionar un mtodo para hacer que /usr se monte slo-lectura. sto se logra con la creacin de una jerarqua /var que se monta lectura-escritura (o es parte de una particin lectura-escritura tal como /), que toma mucho de la funcionalidad tradicional de la particion /usr.

5.1 Tabla con ejemplos.CompartibleNo-

CompartibleEsttica/usr/etc/home/bootVariable/var/spool/mail/var/run/var/spool/news/var/lock3. El directorio raz /. Esta seccin describe la estructura del directorio raz. El contenido del sistema de archivos raz ser el adecuado para arrancar, bootear, restaurar,recuperar y/o reparar el sistema: Para arrancar el sistema, debe estar presente lo suficiente como para montar /usr y otras partes noesenciales del sistema de archivos. sto incluye herramientas, informacin de configuracin y del cargador de arranque (boot loader) y alguna otra informacin esencial al arrancar. Para habilitar la recuperacin y/o la reparacin del sistema, estar presente en el sistema de archivos raz aquellas herramientas que un administrador experimentado necesitara para diagnosticar y reconstruir un sistema daado. Para restaurar un sistema, estarn presentes en el sistema de archivos raz aquellas herramientas necesarias para restaurar el sistema desde respaldos (en floppy, cintas, etc). La principal preocupacin que se usa para balancear las anteriores consideraciones, que favorecen el colocar muchas cosas en el sistema de archivos raz, es la meta de mantener / tan pequeno como sea razonablemente posible. Por varias razones es deseable mantener el sistema de archivos / Es frecuentemente montado desde media muy pequena. Por ejemplo muchos usuarios de Linux instalan y recuperan sistemas montando / como un disco ram, que es copiado de un disco de 1.44Mb nico. El sistema de archivos / tiene muchos archivos de configuracin especficos de un sistema. Posibles ejemplos son un kernel que es especfico al sistema, un hostname diferente, etc. sto significa que el sistema de archivos / no es siempre compartible entre sistemas en red. Mantenindolo pequeo en sistemas en red, se minimiza el espacio perdido en los servidores por archivos no-compartibles. Tambin permite estaciones de trabajo con discos duros locales ms pequeos. Aunque usted podra tener el sistema de archivos / en una particin grande, y ser capaz de llenarla segn sus deseos, siempre habr gente con particiones ms pequeas. Si usted tiene ms archivos instalados, podra encontrar incompatibilidades con otros sistemas que utilizan un sistema de archivos / en particiones ms pequeas. Si usted es un desarrollador entonces estara volviendo su suposicin en un problema para un gran nmero de usuarios. Los errores del disco, que corrompen la informacin en el sistema de archivos / son un problema mayor que los errores en cualquier otra particin. Un sistema de archivos / pequeo es menos propenso a corromperse como resultado de una falla del sistema. En este documento, actualmente se requiere un sistema de archivos / escribible (debido principalmente a /etc/mtab). De cualquier forma, no se necesita que el sistema de archivos / est totalmente almacenado localmente. La particin / no tiene porque estar almacenada localmente para ser especfica del sistema por ejemplo, podra estar montada de un servidor NFS. El software no deber crear o requerir archivos o subdirectorios especiales en el directorio /. La estructura del sistema de archivos Linux proporciona ms que suficiente flexibilidad para cualquier paquete. Cualquier paquete que ocupe un directorio bajo la raz / del sistema de archivos sufre de bastante arrogancia.

El Directorio Razbin boot dev etc home lib mnt Binarios de comandos esenciales Archivos estticos de cargador de arranque(boot-loader) Archivos de dispositivos Configuracin del sistema local-mquina Directorios home de los usuarios Libreras compartidas Punto de montaje de particiones temporales

root sbin tmp usr var

Directorio hogar del usuario root Binarios del sistema esenciales Archivos temporales Segunda jerarqua mayor Informacin variable

Cada directorio listado ser discutido en detalle en una subseccin separada ms delante. /usr y /var, cada uno tiene en su propia seccin en este documento. El kernel de Linux estara localizado en, ya sea / en /boot. Si est localizado en / recomendamos usar el nombre VMLINUX o VMLINUZ, nombres que han sido usados en paquetes fuentes del kernel de Linux recientes. Ms informacin de la localizacin del kernel se puede encontrar en la seccin acerca de / ms delante.

5.3 /bin Binarios de comandos esenciales de usuarios (disponibles para todos los usuarios).bin contiene comandos que pueden ser utilizados por ambos los usuarios y /el administrador del sistema, pero que son requeridos en el modo /mono-usuario (single-user mode) puede tambin contener comandos que son /utilizados indirectamente por algunos scripts. Todos los binarios utilizables slo por root, tales como daemons,init,getty, update, etc. Estaran localizados en /sbin /usr/sbin dependiendo si son o no esenciales. Para una mayor discusin de la definicin de que es esencial en el sistema de archivos /, lea por favor la seccin 6, "Razonamientos adicionales y asuntos sin resolver". No habr subdirectorios dentro de /bin. Los binarios de los comandos que no son suficientemente esenciales para estar en /bin estarn localizados en /usr/bin, los elementos que son utilizados por usuarios solamente (pero no por root) (mail,chsh, etc) no son suficientemente esenciales para estar dentro de la particin /. Archivos requeridos en /bin:

Comandos generales:Los siguientes comandos han sido incluidos porque son esenciales. algunos estn presentes debido a que tradicionalmente han estado en /bin.arch, cat, chgrp, chmod, chown, cp, date, dd, df, dmesg, echo, ed, false,kill, in, login, mxdir, mknod, more, mount, mv, ps, pwd, rm, rmdir, sed, setserial, sh, sfty, su, sinc, true, umount, uname.

Si /bin/sh es Bash, entonces /bin/sh sera en enlace simblico o duro a /bin/bash dado que bash se comporta diferente cuando es llamado como sh bash. La pdksh que puede ser la /bin/sh en los discos de instalacin y sera igualmente arreglada a que /bin/sh sea un enlace simblico a /bin/ksh. El uso de enlaces simblicos en estos casos permite que los usuarios vean fcilmente que /bin/sh no es una shell estilo bourne. Dado que la localizacin estndar de facto de shell estilo c es /bin/csh,si y slo si est disponible en el

sistema una shell estilo c equivalente (tal como /bin/tcsh, esta, estara disponible con el nombre /bin/csh. /bin/csh puede ser un enlace simblico a /bin/tcsh /usr/bin/tcsh). Los comandos [ y test estn interconstruidos en bash, pdksh, zsh, y las shell korn recientes, esencialmente cada remplazo de las shell tipo bourne que hay para Linux. Estos comandos estaran localizados dentro de /usr/bin. (se deben incluir como binarios separados con cualquier sistema Linux que intente cumplir con el estndar POSIX). bin/arch producira el mismo resultado que uname-m, especificamente; 386 /o; 486 para sistemas intel y compatibles.

Comandos para restauracin.Estos comandos se han incluido para hacer posible el restaurar el sistema(siempre que / este intacto).tar, gzip, gunzip (enlace hacia gzip), zcat (enlace hacia gzip).

Si se hacen respaldos de sistemas utilizando otros programas, entonces la particion / contendr los componentes mnimos necesarios. Por ejemplo,muchos sistemas incluiran cpio como la segunda utilera ms usada para respaldos despus de tar. Pero si jams se espera restaurar el sistema desde la particin /, entonces estos binarios se pueden omitir (i.e.,montar / en chip ROM, montar /usr desde NFS). Si la restauracin del sistema se planea a traves de la red, Entonces FTP TFTP (junto con todo lo necesario para obtener una conexin FTP) estaran disponibles en la particin /. Los comandos de restauracin pueden aparecer en, ya sea /bin /usr/bin en sistemas Linux diferentes.

Comandos de red.stos son unicamente los binarios de red que los usuarios y root querrn o necesitarn ejecutar que no sean los que estan en /usr/bin /usr/local/bindomainname, hostname, netstat, ping.

5.4 /boot: Archivos estticos del cargador de arranque (boot loader).Este directorio contiene todo para arrancar excepto los archivos de configuracin y el instalador de mapas. En su sentido ms sencillo /boot es para cualquier cosa que se utiliza antes de que el kernel ejecute /sbin/init. sto 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] ) estarn localizados en /sbin. Los archivos de configuracin para cargadores de arranque podran estar localizados en /etc. Como se expuso arriba, el kernel de Linux puede estar localizado en / en /boot, si se localiza en

/boot, recomendamos que se le d un nombre ms descriptivo.

5.5 /dev Archivos de dispositivos.ste es el directorio de los dispositivos. Contendra un archivo por cada dispositivo que el kernel de Linux puede soportar. dev tambin contiene un script llamado MAKEDEV el cual puede crear /dispositivos cuando se necesiten. Puede contener un MAKEDEV local para /dispositivos slo-local. MAKEDEV debe hacer previsin para crear cualquier archivo de dispositivo especial listado en la lista de numeros mayores/menores, no slo aquellos de una distribucin particular. Los enlaces simblicos no se deben distribuir en sistemas Linux, sino slo como se preve en la lista de dispositivos de Linux. sto es porque las instalaciones locales seguro diferirn de aquellas de la mquina del desarrollador. Ademas si un script de instalacin configura enlaces simblicos en la instalacin, estos enlaces seguramente no se actualizarn si se hacen cambios locales en el hardware. Cuando se usan responsablemente,como sea, son de buen uso. Este documento incorpora como referencia la lista de dispositivos de Linux, mantenida por: [email protected]: El encargado de los dispositivos Linux.Todos los archivos especiales de dispositivo seguirn el estndar en ese documento, que est disponible en ftp.yggdrasil.com en /pub/device-list.

5.6 /etc : Configuracin del sistema local a la mquina.etc contiene archivos y directorios que son locales al sistema actual. Ningn binario debe ir directamente dentro de /etc. Los binarios que en el pasado se encontraban en /etc, irn en /sbin /usr/sbin. sto incluye archivos tales como init, getty y update. Los binarios tales como hostname que son utilizados por usuarios ordinarios y por root no iran en /sbin sino en /bin./etc --- Configuracion de sistemas locales de mquina. X11 skel Archivos deconfiguracion para el x11 Esqueletos de configuracion de usuarios

etc/skel es la localidad para los llamados archivos esqueletos de /usuarios, que le son dados por defecto cuando un nuevo usuario recibe una /cuenta, este directorio puede contener subdirectorios para diferentes /grupos de usuarios (i.e./etc/skell/apoyo, /etc/skell/usuarios). etc/X11 es el lugar recomendado para todos los archivos de configuracin /de X11 locales a la mquina. Este directorio es necesario para permitir el /control local si /usr se monta slo-lectura. Los archivos que deben ir en /este directorio incluyen Xconfig (y/o XF86Config) y Xmodmap. Los subdirectorios de /etc/X11 pueden incluir aquellos para xdm y para cualesquier otros programas (como algunos manejadores de ventanas por ejemplo) que lo necesiten. Recomendamos que los manejadores de ventanas con un solo archivo de configuracin que es un archivo .*wmrc por defecto, que lo llamen system.*wmrc (a menos que exista una alternativa ampliamente aceptada) y que no utilize un subdirectorio. Cualquier subdirectorio de un manejador de ventanas se llamara idntico al binario del manejador de ventanas. etc/X11/xdm retiene los archivos de configuracin de xdm. sto es la /mayora de los archivos normalmente hallados en /usr/lib/X11/xdm; Vea la /seccion 5,/var/lib/xdm, para mayor informacin.

La siguiente seccin intenta parcialmente examinar la descripcin del contenido de /etc con algunos ejemplos: Definitivamente sta no es una lista exhaustiva. Archivos requeridos en /etc:

Archivos generales:Estos archivos son necesarios en la mayora de los sistemas Linux.adjtime, csh.login, disktab, fdprm, fstab, gettydefs, group, inittab, issue, ld.so.conf, lilo.conf, magic, motd, mtab, mtools, passwd, profile, psdatabase, securetty, shells, syslog.conf, tercamp, ttytype

Archivos de Red:Estos archivos estaran instalados en la mayoria de los sistemas Linux.

exports, ftpusers, gateways, hosts, host.conf, host.equiv, host.lpd, inetd.conf, networks, printcap, protocols, resolv.conf.rpc, services

Hay dos modelos para la instalacin de los scripts de comandos "rc" los cuales son invocados por init(8) al momento de arrancar, el modelo /etc/rc.d/* estilo SystemV. Cualquiera puede ser utilizado o una mezcla de los dos. Los sistemas con la suite de passwords sombreadas (shadow password) tendrn archivos de configuracin adicionales, en /etc (/etc/shadow y otros) y /usr/bin (useradd, usermod, y otros).

5.7 /home: Directorios hogar de los usuarios (opcional)home es un concepto algo estndar, pero es claramente un sistema de /archivos especfico de un site. El arreglo diferir de mquina a mquina. /Esta seccin describe una localizacin sugerida para los directorios hogar /de los usuarios, aun as, recomendamos que todas las distribuciones /Linux usen este lugar como la localizacin por defecto de los /directorios hogar. En sistemas pequeos, cada directorio de usuario es uno de los subdirectorios debajo de /home, p.ej. /home/smith, /home/torvalds, /home/operador, etc. En sistemas grandes (especialmente cuando los directorios /home son compartidos entre varias mquinas usando NFS) es til subdividir los directorios hogar. La subdivisin puede ser llevada a cabo utilizando subdirectorios tales como /home/apoyo, /home/huspedes, /home/estudiantes, etc. Muchas personas prefieren poner las cuentas de los usuarios en una variedad de lugares. Por tanto, ningn programa deber confiar en esta localizacin. Si usted desea encontrar el directorio hogar de cualquier usuario, debera usar la funcin de librera getpwent(3) en vez de contar con /etc/passwd, por que la informacin puede estar almacenada remotamente usando usando sistemas como NIS.

5.8 /lib: Libreras compartidas y mdulos de kernel escencialesEl directorio /lib contiene aquellas imgenes de las libreras compartidas que se necesitan para arrancar el sistema y ejecutar los comandos en el sistema de archivos raz. lib --- libreras compartidas y modulos de kernel esenciales. modules Modulos de kernel cargables. Esto incluye /lib/libc.so.*, /lib/libm.so.*, el enlazador dinmico compartido /lib/ld.so.*, y otras libreras compartidas requeridas por binarios en /bin y /sbin. Las libreras que son necesitadas slo por los binarios en /usr (como cualquier binario de X Window) no pertenecen a /lib. Slo las libreras compartidas requeridas para ejecutar los binarios dentro de /bin y /sbin deben estar aqu. La librera libm.so.* podra estar localizada en /usr/lib si no es requerida por nada en /bin /sbin. Por razones de compatibilidad, /lib/cpp necesita existir como una referencia al pre-procesador C instalado en el sistema. La localizacin usual del binario es /usr/lib/gcc-lib///cpp. Puede existir un enlace/lib/cpp apuntando a este binario o a cualquier otra referencia a este binario que exista en el sistema de archivos. (Por ejemplo, /usr/bin/cpp se usa frecuentemente). La especificacin para /lib/modules est an por aparecer.

5.9 /mnt: Punto de montaje para sistemas de archivos montados temporalmente.Este directorio se ha provisto para que el administador pueda montar temporalmente sistemas de archivos cuando lo necesite. El contenido de este directorio es un asunto local y no debe afectar la manera en la cual se ejecuta ningn programa. Recomendamos la no utlizacin de este directorio por programas de instalacin, y sugerimos utilizar un directorio temporal adecuado que no este en uso por el sistema.

5.10 /proc: Sistema de archivos virtual de informacion de procesos y del kernel.El sistema de archivos proc se est convirtiendo en el estndar de facto para el manejo de informacion de procesos y de sistema en vez de /dev/kmem y otros metodos similares. Recomendamos fuertemente esto para el almacenamiento y obtencin de informacin de procesos asi como otra informacin del kernel y de memoria.

5.11 /root: Directorio hogar de root (opcional)El directorio / es tradicionalmente el directorio hogar del usuario root en los sistemas UNIX. /root se usa en muchos sistemas Linux y en algunos sistemas UNIX. El directorio hogar de la cuenta de el usuario root puede ser determinada por el desarrollador o por preferencias locales. Las posibilidades obvias incluyen /, /root, y /home/root. Si el directorio hogar de root no est almacenado en la particin raz, ser necesario asegurarse que tome / por defecto si no puede ser localizado. NOTA: Recomendamos contra el uso de la cuenta root para cosa mundanas tales como leer el correo y

ver las noticias (mail & news) sino que se use solamente para la administracin del sistema. Por esta razn recomendamos que no aparezcan subdirectorios como Mail y News en el directorio hogar de la cuenta del usuario root. Recomendamos que el Mail para root y postmaster sean redirigidos a un usuario ms adecuado.

5.12 /sbin: Binarios del Sistema (Alguna vez mantenidos en /etc)Los tiles usados por la administracin del sistema ( y otros comandos que slo root utiliza ) estn almacenados en /sbin, /usr/sbin, y /usr/local/sbin. /sbin tpicamente contiene binarios escenciales para arrancar el sistema ademas de los binarios en /bin. Cualquier cosa que se ejecuta despus de que se sabe que /usr se ha montado (cuando no hay problemas) debera estar en /usr/sbin. Los binarios de administracin de sistema slo-locales deben estar localizados en /usr/local/sbin. Decidir que cosa va en los directorios de /sbin es sencillo: Si un usuario necesitar ejecutarlo, debe de ir en otro lado. Si slo ser ejecutado por el administrador del sistema o por root como scripts de administracin, entonces debe ir en /sbin (o en /usr/sbin o en /usr/local/sbin, si el archivo no es vital para la operacin del sistema). Archivos como chfn que los usuarios usan slo ocasionalmente deben aun estar en /usr/bin. ping aunque es absolutamente necesario para el root (recuperacin de la red y diagnstico) es tambien frecuentemente usado por los usuarios y por esa razon debe ir en /bin. Los usuarios ordinarios no tendrn que poner ninguno de los directorios sbin en su bsqueda (path). Recomendamos que los usuarios tengan permisos de lectura y ejecucin en todo lo que se encuentra en /sbin excepto tal vez ciertos programas; setuid y setgid. La divisin entre /sbin y /bin no fue creada por motivos de seguridad o para evitar que los usuarios vieran el sistema operativo, sino para proveer una buena particin entre binarios que todos usan y los que se usan, principalmente las tareas de administracin. No hay ganancia inherente en seguridad en hacer que /sbin este fuera del alcance de los usuarios. Archivos requeridos en /sbin:

Comandos Generales.clock, getty, init, update, mkswap, swapon, swapoff, telinit.

Comandos de Apagado.fastboot, fasthalt, halt, reboot, shutdown.

Comandos de manejo de sistemas de archivos.

fdisk, fsck, fsck.*, mkfs, mkfs.*

donde * = uno de los siguientes. ext, ext2 minix, msdos, xia, y tal vez otros.

Comandos del sistema de archivos ext2 (opcional)badblocks, dumpe2fs, e2fsck, mke2fs, mklost+found, tune2fs.

Instalador del mapa del cargador de arranque.lilo

Comandos de Red.arp, ifconfig, route.

Archivos opcionales en /sbin:

Binarios estticos. (compilados estticamente)ln esttico sln y sync esttico ssync son tiles cuando las cosas salen mal. El principal uso de sln (reparar enlaces simblicos incorrectos en /lib despues de una actualizacin mal orquestrada) ya no es preocupacin mayor ahora que existe el programa ldconfig (usualmente localizado en /usr/sbin) y puede actuar como una mano guiadora al actualizar las libreras dinmicas. sync esttico es til en algunas ocasiones de emergencia. Note que estas no necesitan ser versiones compiladas estticamente de los ln y sync estndares, pero pueden ser. El binario ldconfig es opcional en /sbin, dado que un site puede escoger ejecutar ldconfig al arrancar, en vez de slo cuando se actualizan las libreras compartidas. (No est claro si es o no ventajoso ejecutar ldconfig en cada arranque). Aun as, a algunos les gusta tener ldconfig a la mano para las siguientes (muy comunes) situaciones: Se acaba de remover /lib/. No se puede encontrar el nombre de la librera porque ls est enlazado dinmicamente. Se est usando una shell que no tiene ls interconstruida y no se sabe como usar "echo * " como remplazo. Se tiene un sln, pero no se sabe como nombrar al enlace.ldconfig, sln, ssync.

MiscelneosPara lidiar con el hecho de que muchos teclados vienen con una tasa de repeticion tan alta como para hacerlos inutilizables, se puede instalar kbdrate en /sbin en algunos sistemas. Dado que la accin por defecto del kernel ante la combinacion de teclas Ctrl-Alt-Del es un rearranque instantneo duro, es recomendable generalmente deshabilitar esta conducta antes de montar el sistema de archivos raz con modo lectura-escritura. Algunas suites init son capaces de deshabilitar Ctrl-Alt-Del, pero otras pueden requerir el programa ctrlaltdel, el cual puede ser instalado en /sbin en estos sistemas.ctrlaltdel, kbdrate

5.13 /tmp: Archivos temporales.tmp se utiliza para archivos temporales, preferentemente en un /dispositivo rpido (un sistema de archivos basado en memoria por ejemplo) La "persistencia" de la informacion que es almacenada en /tmp es diferente de aquella que sea almacenada en /var/tmp. /tmp puede ser limpiada en cada arranque o a intervalos relativamente frecuentes. Por tanto, no se debe esperar que la informacion almacenada en /tmp permanezca por algn periodo largo de tiempo. Los programas deben utilizar /tmp /var/tmp (que era originalmente /usr/tmp) de acuerdo a los requerimientos esperados de la informacion, pero no deben confiar en alguna persistencia temporal particular en cualquier directorio de almacenamiento temporal. Los administradores de sistemas pueden elegir enlazar /tmp a algun otro directorio, tal como /var/tmp; esto es til, por ejemplo, para conservar espacio en la particin raz. Si sto se lleva a cabo, entonces la persistencia de archivos en /var/tmp debe ser al menos tan larga como la de /tmp. tmp puede estar e un disco RAM. /var/tmp no debe nunca localizarse en /algun dispositivo RAM.

6. La jerarqua /usrusr es la segunda mayor seccion del sistema de archivos. /usr es /informacion compartible, de slolectura, esto significa que /usr, debe ser /compartible entre varias mquinas que corren Linux y no se debe /escribir. Cualquier informacion que es local a una mquina o vara con el /tiempo, se almacena en otro lugar. Ningun paquete grande (como TeX o GNU Emacs) debe utilizar un subdirectorio directo bajo /usr, en vez, debe haber un subdirectorio dentro de /usr/lib (o /usr/local/lib si fu instalado completamente local) para ese propsito, con el sistema X Window se hace una excepcin debido a un considerable precedente y a la prctica ampliamente aceptada./usr --- Segundo mayor punto de montaje (permanente) X11R6 X386 Sistema X Window Version 11 release 6 Sistema X Windows Version 11 release 5 en plataformas X

86 bin dict doc etc games include info lib local principal) man sbir share src

La mayora de los comandos de usuario Listas de palabras Documentacin miscelnea Configuracin del Sistema (todo el site) Juegos y binarios educacionales Archivos header incluidos por programas C Directorio primario del sistema GNU Info Libreras Jerarqua local (vaca justo despus de la instalacin Manuales en lnea Binarios de Administracin del Sistema No-Vitales Informacin independiente de la arquitectura Cdigo fuente

Los siguientes enlaces simblicos a directorios pueden estar presentes. Esta posibilidad se basa en la necesidad de preservar la compatibilidad con sistemas anteriores hasta que en todas las implementaciones se pueda asumir el uso de la jerarqua /var./usr/adm ------------------> /usr/preserve -------------> /usr/spool ----------------> /usr/tmp ------------------> /var/spool/locks ----------> /var/adm /var/preserve /var/spool /var/tmp /var/lock

Una vez que el sistema ya no requiera ms alguno de los anteriores enlaces simblicos, el enlace se puede remover, si se desea. Notablemente, slo se necesita poco esfuerzo para remover completamente /usr/preserve, dado que slo ex y vi lo utilizan.

6.1 /usr/X11R6: El sistema X Window, Version 11 release 6Esta jerarqua est reservada para el sistema X Window, Version 11 release 6 y archivos relacionados./usr/X11R6 --- X Window System (Version 11, release 6) bin doc include lib man

Para simplificar los problemas y hacer XFree86 ms compatible con el sistema X Window en otros sistemas, los siguientes enlaces simbolicos deben estar presentes./usr/bin/X11 ------------> /usr/lib/X11 ------------> /usr/include/X11 --------> /usr/X11R6/bin /usr/X11R6/lib/X11 /usr/X11R6/include/X11

En general, el software no se debe instalar o manejar va los anteriores enlaces simblicos. Slo estn para la utilizacin por usuarios. La dificultad est relacionada con la versin y el release del sistema X Window; en perodos transicionales es imposible saber que release de X11 est utilizandose . Por la misma razn no debe existir un enlace desde /usr/X11 apuntando a la jerarqua del sistema X Window actual.

6.2 /usr/X386: El sistema X Window, Version 11 release 5 en plataformas X 86Esta jerarqua es generalmente idntica a /usr/X11R6, excepto que los enlaces simblicos de /usr deben estar ausentes si est instalado /usr/X11R6

/usr/bin: La mayora de los comandos del usuario.ste es el directorio principal de comandos ejecutables en el sistema.mh X11 comandos para el sistema de manejo de correo M H Enlace simblico hacia /usr/X11R6/bin

Debido a que los interpretadores de scripts de los shell (invocados con #! en la primera linea del script de shell) no pueden depender de una ruta, es ventajoso el estandarizar la localizacin de ellos. La shell Bourne y C estan fijos en /bin, pero Perl, Python, Tlc se encuentran en muchos lugares diferentes /usr/bin/perl, /usr/bin/python y /usr/bin/tcl deben referenciar a los intrpretes de shell perl, python y tcl respectivamente. stos pueden ser enlaces simblicos a la localizacin fsica de los intrpretes de shell.

6.3 /usr/dict: Listas de palabrasArchivos recomendados en /usr/dictwords

Tradicionalmente este directorio contiene slo el archivo words de palabras inglesas, el cual es utilizado por look(1) y varios programas de ortografa, words puede utilizar ortografa americana o britnica. Los sites que requieran ambos, pueden enlazar words a /usr/dict/american-english /usr/dict/british-english. Las listas de palabras para otro