PRUEBA DE EVALUACION CONTINUA Nº 1 “Introducción al sistema operativo GNU/Linux, Migración y coexistencias”, “Herramientas básicas para el administrador” y “Kernel”.
JORGE ALBERTO AROCHA MUÑOZ
Trabajo presentado dentro de la asignación ADMINISTRACIÓN AVANZADA DEL SISTEMA OPERATIVO GNU/LINUX
ALAN WARD KOECK TUTOR REMO SUPPI BOLDRITO TUTOR
UNIVERSIDAD OBERTA DE CALUNYA MAESTRIA EN SOFTWARE LIBRE 2009
1. Documentarse sobre una distribución GNU/Linux (Debian Lenny o FC11 enviadas por la UOC o o bien la que se tenga disponible pero que esté actualizada). El estudiante deberá hacer un análisis crítico recabando información sobre el sistema y las posibles ventajas y desventajas para las dos configuraciones siguientes: Como resultado de la documentación sobre las distribuciones que se disponen para el curso se ha consolidado el siguiente cuadro. CUADRO COMPARATIVO DEBIAN LENNY Vs FEDORA 11 Característica
Debian Lenny
Fedora 11
282482
84233
Paquetes disponibles1 Arquitecturas Soportadas Ciclo de Vida Manera Obtener
12 Arquitecturas soportadas entre ellas: 3 Arquitectiuras soportadas: i386, ppc, Alpha, ARM, hppa, ia64, MIPS, PPC, x86_64. Tiene soporte para Alpha y S390, SPARC, x86 (i386/amd64). Sparc a través de otros proyectosCada dos años nueva versión.
Cada 6 meses nueva versión. Soporte para versión 13 meses.
Descarga medios
Descarga medios
Sin Cargo
Sin Cargo
Costos
4
Cantidad de Medios
5 DVD 31 CD
Requerimientos
Internacionalizaci ón
1 DVD 1 CD
40 Idiomas Consola5
Escritorio
Consola6
Escritorio
RAM(min)
64 Mb
64 Mb
128 Mb
192 Mb
RAM(reco m)
256 Mb
512 Mb
256 Mb
Disco
1 Gb
5 Gb
10 Gb
Procesado r7
i486
Pentium IV 1 GHz Pentium 200 MHz
Pentium II 400 MHz
1 No incluye repositorios no oficiales. 2 Obtenido mediante: wget -O paquetes_debian.txt.gz http://packages.debian.org/stable/allpackages? format=txt.gz;gunzip paquetes_debian.txt.gz; wc -l paquetes_debian.txt; rm -f paquetes_debian.txt; menos ciinco lineas de encabezado. 3 https://admin.fedoraproject.org/pkgdb/collections/? _csrf_token=840cd8ec1b8c8e4552c524d7fb539e87dfb3b0d6 4 Solo requiere el primer DVD para instalación del sistema básico. 5 Datos tomados http://www.debian.org/releases/stable/i386/ch03s04.html.es 6 Tomado de http://docs.fedoraproject.org/release-notes/f11/es-ES/ y http://docs.fedoraproject.org/installation-quick-start-guide/f11/es-ES/html/Requirements.html 7 Ver en que consisten los repositorios non-free y contrib en: http://www.debian.org/distrib/packages.es.html
Característica
Licencia
Debian Lenny
Fedora 11
La FSF no la considera libre por tener en el repositorio non-free(no libre) y el repositorio contrib software que no se Todos los paquetes son libres y con considera libre, por lo tanto no licencia aprobada por la OSI (Open remienda su uso; pero el repositorio Source Initiative) main (principal) tiene todos los paquetes libres.
Es una de las distribuciones mas antiguas, primera versión agosto de 1993, cuenta con una gran estabilidad conseguida a través de los años y una comunidad de desarrolladores bien organizada. Debido a su estabilidad y popularidad tiene mas de 130 distribuciones derivadas, entre ellas Ubuntu que es un proyecto cuyo principal objetivo es llevar GNU/Linux al escritorio de los usuarios.
Es una distribución relativamente nueva (noviembre de 2003) pero es estable, es de resaltar el apoyo y respaldo de RedHat, empresa de Software Libre que se ha logrado consolidar económicamente y cuenta con un amplio mercado internacional a nivel empresarial; aunque trata de incorporar rápidamente innovaciones y el ciclo de vida corto es una distribución bastante popular y de gran acogida por contar casi siempre con paquetes actualizados, a diferencia de Debian donde prima la estabilidad y el software bastante testeado antes de ser actualizado o incorporado a la distribución.
Último mes 8º puesto Últimos seis meses 6º puesto Último año 5º puesto
Último mes 2º puesto Últimos seis meses 2º puesto Último año 2º puesto
Gestión de Paquetes
Cuenta con un maduro, sencillo y potente gestor de paquetes, líder dentro de las distribuciones, logrando que la experiencia de instalación de software en Debian sea fácil, sencilla y agradable. Cuenta con varias herramientas y comandos a nivel de consola y de interfaz gráfica. Los archivos de paquetes son .deb.
Ha mejorado su sistema de paquetes .rpm (RedHat package management) cuya debilidad eran las dependencias, gracias a YUM. Al igual que Debian cuenta con interfaces de consola de texto y gráficas.
Facilidad Actualizaciones
Las actualizaciones son suministradas por repositorios públicos en internet a los cuales se accede por medio de las herramientas de gestión de paquetes de una forma muy sencilla.
Al igual que Debian, cuenta con repositorios públicos en internet a los cuales se accede por el software para la gestión de paquetes.
Soporte
Comunidad, foros, internet, etc.
Comunidad, foros, internet, etc.
Soporte Comercial
No es brindado directamente por Debian.
No es ofrecido directamente por Fedora o RedHat.
Soporte Formatos Propietarios
No es ofrecido directamente pero se No es ofrecido directamente pero se puede encontrar en repositorios de puede encontrar en repositorios de
Madurez / Estabilidad
Ranking Distrowatch8
8 Tomado www.distrowatch.com
Característica
Debian Lenny terceros.
Fedora 11 terceros.
Instalador
Interfaz de texto, por defecto, bastante intuitiva y madura, se ha implementado Interfaz gráfica por defecto pero una interfaz gráfica que es sigue las también cuenta con interfaz texto, misma secuencia y estructura que la de sencilla y amigable. texto.
Herramientas de Configuración
Cuenta con herramientas que facilitan la configuración de software, tanto a nivel de consola como de interfaz gráfica; incluso se pueden usar herramientas provistas por terceros para la administración a través de interfaz web como webmin.
Seguridad
Además de la actualización de paquetes tiene SELinux, que es una herramienta Tiene actualizaciones constantemente de seguridad basada en los cánones de para los paquetes importantes, los seguridad de NSA a nivel del kernel, cuales se mantienen actualizados resultado de un esfuerzo conjunto de la mediante el gestor de paquetes. NSA (Agencia Nacional de Seguridad EE. UU.) y RedHat.
Ventajas
Muy estable, el control de calidad notable, la gran cantidad de paquetes de software que tiene, soporta más arquitecturas de procesador que cualquier otra distribución de Linux
Altamente innovadores; características de seguridad pendientes en aras de liberaciones rápidas de ciclo de vida corto; gran número de paquetes de apoyo, la adhesión estricta a la filosofía del Software Libre
Desventajas
Conservador - debido a su apoyo a muchas arquitecturas de procesador, no siempre cuenta con el software mas actualizado; tenía un ciclo de liberación lento e incierto el cual cambió a uno de dos años; discusiones en listas de correo de desarrolladores y los blogs pueden ser incultos, a veces.
Teniendo en cuenta el apoyo y soporte d RedHat las prioridades de Fedora tienden a inclinarse hacia las funciones de empresa, en lugar de uso de escritorio.
Cuenta con herramientas que facilitan la configuración de software, tanto a nivel de consola como de interfaz gráfica; incluso se pueden usar herramientas provistas por terceros para la administración a través de interfaz web como webmin.
Tabla 1: Comparativa Debian Lenny Vs Fedora 11 Teniendo en cuenta la información consolidada en la tabla anterior y el concepto de foros y publicaciones, se pueden resumir las ventajas y desventajas que presentan las distribuciones Debian Lenny y Fedora 11 para ser utilizadas en ambientes de escritorio y servidor. Es de tener en cuenta que ambas distribuciones cuentan con el software necesario para satisfacer las necesidades planteadas en el ejercicio, por lo tanto el análisis de pros y contras se hace desde la perspectivas de disponibilidad, soporte, uso del equipo, etc.
USO
DEBIAN LENNY
FEDORA 11
SERVIDOR ESCRITORIO
VENTAJAS
DESVENTAJAS
VENTAJAS
DESVENTAJAS
* Estabilidad y madurez, esenciales en ambientes de producción. * Ciclo de vida largo, contando con soporte durante ese periodo y no siendo necesario hacer migraciones en cortos periodos de tiempo. * La gran cantidad de arquitecturas soportadas permitiendo escoger el hardware o adaptarnos al disponible. * Disponibilidad de gran cantidad de software, con altos estándares de calidad.
* Requiere que el usuario sea algo experimentado. * No es completamente libre, exigiendo que el usuario verifique que tipo de software está instalando.
* El respaldo de RedHat que orienta la distribución hacia el segmento de servidores. * Cuenta con las últimas versiones del software e incorpora constantemente innovaciones. * Seguridad con SELinux, que brinda una opción de fácil configuración para obtener un sistema seguro, altamente recomendable en un servidor. * Su popularidad y existencia de reposi
* Ciclo de vida de 13 meses presionando a hacer migración a nuevas versiones, evento que no es deseable en ambientes de desarrollo. *
*Gran cantidad de paquetes disponibles para explorar y encontrar distintas alternativas a las necesidades del usuario. * Estabilidad y madurez, esenciales en ambientes de producción.
*Los paquetes no son las últimas versiones dispo-nibles del programa. Detalle importante para el usuario final. *No cuenta con soporte para formatos propieta-rios, aunque se consiguen en repositorios no oficiales. * Requiere que el usuario sea algo experimentado. * No es completamente libre, exigiendo que el usuario verifique que tipo de software está instalando, en especial si se usa para distribuir o desarrollo de software. * Ciclo de versiones largo.
* Su espíritu innovador, integrando herramientas de avanzada y colocando a disposición de los usuarios las últimas versiones del software que compone su distribución.
*No cuenta con soporte para formatos propieta-rios, aunque se consiguen en repositorios no oficiales. * Aunque es una distribución de uso general se nota su orientación al segmento empresarial, resultado del respaldo de RedHat, no teniendo un estrategia clara respecto al susuario de escritorio.
Tabla 2: Ventajas y desventajas de las distribuciones en estudio en distintos
ambientes. 2. Realizar un análisis detallado sobre instalación, configuración y adecuación de GNU/LInux a una máquina ultraportátil, de tipo netbook (en caso de no disponer una máquina de este tipo se podrá utilizar una máquina portátil normal o de escritorio). Escoger un modelo concreto para comenzar por una análisis del hardware disponible, aspectos esenciales de la decisión de que distribución instalar y el uso futuro de la máquina (basada en la información del ejercicio 1) teniendo en cuenta aspectos adicionales como distribuciones más adecuadas, posibilidad y/o estrategias a tomar para que los fabricante lo incorporen como SO base o incluso que estrategia de comunicación utilizar para que el producto pueda ser considerado atractivo a un usuario no tecnológico. Para el desarrollo de este punto se ha dispuesto de un portátil Compaq Presario CQ40-505LA con las siguientes características: Procesador Memoria Disco Duro CD/DVD Conectividad
Intel® Pentium® Dual-Core T4200 2,0 Ghz 2 GB 250 GB SATA LightScribe SuperMulti DVD±RW con soporte a doble capa Ethernet, WLAN 802.11b/g, Bluetooth
Con referencia a los requerimientos mínimos de hardware, y de acuerdo a la información presentada en la tabla 1 el equipo cumple con lo básico en ambas distribuciones, queda pendiente el soporte de drivers para la tarjeta red, el vídeo, sonido, wireless, etc. que por lo general las distribuciones “importantes” los incorporan, reconociéndolos inmediatamente en la instalación, y si se presentan problemas muy probablemente se encuentra su solución en internet (independientemente de su complejidad), aún así por lo investigado en los foros de cada una de las distribuciones Debian Lenny (http://lists.debian.org/) y Fedora 11 (http://forums.fedoraforum.org/) al parecer existen problemas en cuanto al sonido. El principal criterio para la selección de la distribución a instalar fue el uso que se la dará al equipo: escritorio de trabajo y herramienta de apoyo para el desarrollo de las materias de este semestre (Administración Avanzada del S/O e Introducción al desarrollo de software ), donde se ha preferido dar mayor peso a la
disponibilidad de gran cantidad de paquetes sobre contar con las últimas versiones de software, estabilidad, soporte de la comunidad de usuarios y la experiencia propia, ya que las últimas distribuciones con las que he estado trabajando han sido Debian y Ubuntu, se ha seleccionado el Debian Lenny para ser instalada. El proceso de instalación es bastante sencillo, parecido al de la mayoría de las distribuciones aunque un poco mas largo pues hace mas preguntas, que por lo menos Ubuntu. La instalación se realizó mediante el modo gráfico y al final se seleccionó instalar el sistema base, el escritorio y el soporte de portátil; postteriormente se instaló GRUB teniendo en cuenta que se mantendrá una partición con Windows® Vista. En el Anexo “A” se muestra el estado final del disco duro, memoria e inventario de hardware, en general la instalación no presentó ningún inconveniente completándose exitosamente, mas sin embargo se han detectado inconvenientes a nivel de red, sonido y la tarjeta wireless los cuales fueron solucionados mediante los procedimientos explicados en el Anexo “B”, “C” y “D” respectivamente. 3. Considere que debe realizar una migración en una empresa que se dedica a un servicio de impresión de fotos y creación y procesamiento de álbumes (y servicios vinculados) por Internet, de acuerdo a los criterios expuestos en el segundo capítulo. Los datos disponibles son: ○
Definir los servicios que considera necesario de esta empresa teniendo en cuenta como mínimo que los clientes deben tener espacio de disco para subir las fotos/vídeos, dirección de correo, espacio de publicación de sus álbumes, servicio de impresión, servicio de streaming (para video on demand) y todo lo que considere necesario a un servicio mejorado del estilo “Hofmann” (http://www.hofmann.es/). Esta empresa quiere pasar de un infraestructura de software propietario a software libre con las siguientes características: ■ ■ ■
Atención a 500 clientes externos. Un conjunto de servicios nuevos (cuentas de mail, páginas web, servicio de streaming, servicio de ftp, etc.) Integración de datos del sistema informático actual (máquinas de datos corporativos de la empresa que no es
■
posible migrar), La solución debe estar basada en software libre.
○
Situación actual: 10 ordenadores Windows (9 licencias Win Vista en Intel dual core 2.3Ghz com 1Gb Ram, 1 servidor W2003 PIV 2Ghz, 2Gbyte Ram), servicio de compartición de archivos e impresora, página web en IIS, ofimática basada en MSOffice versión 2003.
○
Proyecto de migración: ■ ■
La empresa está formada por 15 trabajadores y cada uno de ellos debe contar con un ordenador de trabajo. Se deben integrar en el nuevo sistema un ordenador Windows existente que contendrán datos que no pueden ser migrados y deberá ser visibles desde el resto de ordenadores de la nueva red basada en software libre.
Realizar el proyecto de instalación/migración, evaluar el costo del nuevo sistema utilizando datos reales tanto para software libre como para hacer una renovación del sistema en software propietario teniendo en cuenta si se puede aprovechar alguna cosa del sistema actual. Observación: Este ejercicio es abierto en forma deliberada para que el estudiante deba poner las condiciones que considere adecuadas para centrar el problema y proponer la solución más adecuada. Se asume para el ejercicio que se planteará la adquisición de hardware y se implementan servicios adicionales para poder implementar los nuevos servicios requeridos, por ejemplo: para poder realizar el hosting desde la misma empresa es aconsejable instalar un firewall.
PROPUESTA MIGRACION Hardware
Sist. Operativo
Servidores
02 01
GNU/Linux Windows®
Escritorio
15
GNU/Linux
Servidor
Debian Lenny 5.0, teniendo en cuenta su estabilidad, soporte y paquetes disponibles.
Servicios
Escritorio
Ubuntu 9.04, pues es una distribución orientada a los usuarios, fácil de usar, instalar, con bastante soporte de drivers y al ser emparentada con Debian dispone de gran cantidad de software. Se debe ser cuidadoso con el uso de paquetes por sus licencias.
Servidor Web
Apache 2.0.
Servidor Correo
Postfix o Sendmail.
Servidor Archivos
Samba: Para compartir los datos que no se pueden migrar. NFS: Para compartir los datos entre las máquinas
Servidor Streaming
Flumotion flexible y tiene una versión Open Source y una comercial, que igual funciona sobre GNU/Linux.
Servidor Nombres
BIND
Servidor LDAP
Para la administración de usuarios, tanto de la empresa como del servicio de email, etc.
Servicio de Filtrado – Iptables Firewall – Proxy Squid Cache SquidGuard Servidor Ftp Suite Oficina
VSFTPD
OpenOffice 3.0 disponible en Ubuntu 9.04 y además es muy similar a Microsoft Office®
A continuación se describe a nivel de hardware los requerimientos de máquinas nuevas, teniendo en cuenta que se utilizaran todos los equipos existentes. ADQUISICION HARDWARE DESCRIPCION
ACTUAL
PROPUESTO
POR ADQUIRIR
Servidores Linux
0
2
2
Servidor Windows
1
1
0
PC Escritorio
9
15
6
Finalmente, un cuadro comparativo del software libre versus propietario con los costos incluidos.
COMPARACION SOLUCION SOFTWARE LIBRE Vs PROPIETARIO DESCRIPCION
SOFTWARE LIBRE
SOFTWARE PROPIETARIO9
S.O. Server
Debian Lenny
$0,00
Windows 2008
U$1.899*(2)
S. O. Escritorio
Ubuntu
$0,00
Windows Vista
U$200(6)
Servidor Web
Apache
$0,00
Correo Electrónico
Postfix
$0,00
Servidor Archivos Samba
$0,00
Servidor Streaming
$0,00
Flumotion
Servidor Nombres BIND
$0,00
Servidor DHCP
DHCPD
$0,00
Servidor FTP
VSFTPD
$0,00
Suite Ofimatica
OpenOffice
$0,00
Lo trae incluido
Ms Office Profes.
U$499,95(6)
Hace falta incluir los costos de capacitación. 4. El presente ejercicio tiene por objetivo realizar una serie de Shell Scripts ya que son la herramienta esencial de todo administrador. El intérprete de comando quedará a elección del usuario no obstante recomendamos o bash o csh. El primero es muy completo pero también complejo, el segundo es más simple y si bien es limitados en algunas cuestiones tiene una sintaxis similar a C que puede orientar a los usuarios que no conozcan programación en shell script (los otros intérpretes no están excluidos pero solo los recomendamos para usuarios con experiencia o alta disponibilidad de tiempo) I. Realizar primero un repositorio local a partir de los discos de Debian Lenny. En segundo lugar programar un Shell Script interactivo que permita hacer una instalación de la distribución a partir de los archivos/imágenes instalados en el repositorio creado en el primer punto. Este script será guiado por el 9 Los datos de precios fueron obtenidos de www.amazon.com, http://www.microsoft.com/latam/servidores/ clients.mspx, http://download.microsoft.com/download/7/5/1/7518A083CB4C-4D46-8D07-56A68EC43723/SBS_ds_esp.pdf Para los servidores es necesario comprar 10 licencias CAL para que el cliente pueda accesar al servidor, ya que cada uno solo viuene con 5.
usuario que preguntará por cada paquete y lo instalará o no de acuerdo a la respuesta del usuario. II. Realizar un script que busque en el árbol de directorios/subdirectorios a partir del directorio pasado como primer parámetro, los archivos cuyo nombre satisfagan el patrón pasado como segundo parámetro y de un tamaño mayor o igual que el valor pasado como tercer parámetro, por ejemplo mish /home *mov 1000k indicará buscar todos los archivos a partir del directorio /home que terminen con mov (películas en mpeg4) y de tamaño superior o igual a 1Mbyte (como se indica se permitirán el uso de * en el nombre de fichero).
■
El shell script deberá guardar en /tmp/size.txt información (acumulada y ordenada por tamaño de fichero) de los archivos encontrados con la siguiente información (mínima y una línea por fichero): nombre, ubicación, tamaño, propietario, fecha.
■
Con los archivos encontrados, que pertenezcan a usuarios locales (excepto el usuario root) y superen en 3 Kbyte el tamaño indicado en el tercer parámetro deberá moverlos a un directorio (protegido contra lectura, escritura y ejecución excepto para el root) en /tmp/nombre_usuario donde se almacenarán los archivos de cada usuario individualmente con estas condiciones (por ejemplo todos los archivos de juan irán a parar a /tmp/juan) y deberá enviar un mail a cada usuario con un aviso de los archivos que le han sido movidos por el administrador del sistema.
■
El script finalmente programará una acción retardada en el sistema para que 48 horas después borre los archivos movidos a /tmp. Tener en cuenta que si se ejecuta el script dos días seguidos, al tercer día (48 horas) solo deberá borrar los archivos de la primera ejecución pero no los de la segunda que serán borrados al 4o día.
Para el desarrollo de este script se ha utilizado básicamente el comando find para ubicar los archivos de acuerdo a las características requeridas, también los comandos awk y sort
para filtrar y ordenar la información obtenida con el fin de cumplir con las tareas solicitadas y el comando at para programar el borrado de los archivo, el código del script es: #!/bin/bash #####################DEFININICION VARIABLES########################## USO=" \n Error: Faltan parametros\n\n Uso: \tcomando -h\n \tcomando directorio patron tamaño[cwkMG]\n\n \t-h \t\tImprime esta ayuda\n \tdirectorio \tRuta valida desde donde comienza la busqueda\n \tpatron \t\tPatron de busqueda de nombre del archivo puede utilizar\n \t\t\t*, ?, []\n \ttamaño[cwkMG] \tLimite de tamaño de archivo, el que supere este será\n \t\t\tmovido a /tmp/<usuario>, usar:\n\n \t\t\t'c' bytes\n \t\t\t'w' palabra (2 bytes)\n \t\t\t'k' Kilobytes (1024 bytes)\n \t\t\t'M' Megabytes (1048576 bytes)\n \t\t\t'G' Gigabytes (1073741824 bytes)\n\n \t\t\tPor defecto si no se especifica se usa 'c'.\n
" TMP_ARCH="/tmp/archivos.txt" TMP_TAMANO_ARCH="/tmp/size.txt" RUTA=$1 PATRON=$2 TAMANO=$3 #####################DEFININICION VARIABLES########################## ############################################################## #Esta funcion pasa a Kilobytes el tamaño suministrado como parametro 3, donde #si despues del numero va # 'c' bytes # 'w' palabra (2 bytes) # 'k' Kilobytes (1024 bytes) # 'M' Megabytes (1048576 bytes) # 'G' Gigabytes (1073741824 bytes) #Verifica que el sufijo usado este dentro de las opciones y calcula el tamaño en #bytes. ############################################################## #### falta verificar si el numero es numero tamano () { VALOR=$1 LONGITUD=${#VALOR} let "LONNUMERO = $LONGITUD-1" UNIDAD=${VALOR:$LONNUMERO} if grep "[a-zA-Z]">/dev/null <<< $UNIDAD then VALOR=${VALOR:0:$LONNUMERO} else UNIDAD="c" fi case "$UNIDAD" in "c") ;; "w") let "VALOR = $VALOR * 512"
}
;; "k") let "VALOR = $VALOR * 1024" ;; "M") let "VALOR = $VALOR * 1048576" ;; "G") let "VALOR = $VALOR * 1073741824" ;; *) echo "ERROR: Se desconocen las unidades usadas" echo -e $USO ;; esac
#Esta funciòn ubica los archivos que desde la $RUTA, incluyendo subdirectorios, cumplen con el patron #$PATRON y son mayores al tamaño especificado por el usuario y los lista en el archivo /tmp/size.txt #ordenados por el tamaño del archivo en orden descendente. encontrar_archivos () { find $RUTA -name $PATRON -size +${TAMANO}c -printf '%f;%h;%s;%u;%Td/%Tm/%TY %TH:%TM\n' > $TMP_ARCH sort -t ';' -k 3 -nr -o $TMP_TAMANO_ARCH $TMP_ARCH } #Esta funcion mueve los archivos listados en /tmp/size.txt al directorio /tmp/<USUARIO>, #si el directorio no existe es creado, para cada usuario se crea un archivo # /tmp/<USUARIO>/archivos_movidos.tmp donde se listan los archivos de ese usuarios que son # movidos, finalmene se programa la eliminacion de los archivos a las 48 horas. mover_archivos () { #Crear directorios de usuarios COMANDO='($4 != "root" && $3 > '$TAMANO'){print "/tmp/"$4}' for DIRECTORIO in $( awk -F ";" "$COMANDO" $TMP_ARCH | sort -u ) do if [ -d $DIRECTORIO ] then rm -f $DIRECTORIO/archivos_movidos.tmp else mkdir $DIRECTORIO chown root:root $DIRECTORIO chmod 700 $DIRECTORIO echo "Creado el directorio ..... $DIRECTORIO ..... Ok" fi done #Mover archivos COMANDO='($4 != "root" && $3 > '$TAMANO'){print "mv "$2"/"$1" /tmp/"$4"/" ; print "at now + 2 days <<< \"rm -f "$2"/"$1"\"" ;print "echo \""$2"/"$1"\" >> /tmp/"$4"/archivos_movidos.tmp"}' awk -F ";" "$COMANDO" $TMP_ARCH > /tmp/comandos.txt bash /tmp/comandos.txt } informar_usuarios () { COMANDO='($4 != "root" && $3 > '$TAMANO'){print $4}' ASUNTO="Los siguientes archivos fueron movidos, contacte al administrador del sistema." for USUARIO in $( awk -F ";" "$COMANDO" $TMP_ARCH | sort -u ) do cat /tmp/$USUARIO/archivos_movidos.tmp | mail -s "$ASUNTO" $USUARIO done } if [ $1 = "-h" ] then echo -e $USO else if [ $# -lt 3 ] then
fi
fi
echo -e $USO else if [ -d $1 ] then tamano $TAMANO TAMANO=$VALOR encontrar_archivos let "TAMANO = $TAMANO + 3072" mover_archivos informar_usuarios else echo "Error: el directorio $1 no existe" echo -e $USO fi
ANEXO “A” REPORTE POST – INSTALACIÓN 1. Disco Duro Para la instalación del sistema operativo se utilizó el espacio libre en el disco duro, teniendo en cuenta que se mantendrá la instalación de Windows® Vista, este espacio se particionó simplemente en la partición de intercambio swap y otra para el sistema de archivos el directorio raíz. A continuación se puede observar finalmente como fué particionado el disco duro: pc-caliope:/home/caliope# fdisk -l /dev/sda Disco /dev/sda: 250.0 GB, 250059350016 bytes 255 heads, 63 sectors/track, 30401 cylinders Units = cilindros of 16065 * 512 = 8225280 bytes Disk identifier: 0x41c064f0 Disposit. Inicio /dev/sda1 * /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda5
Comienzo 1 28935 10451 28605 28605
Fin Bloques Id 10450 83938601 30401 11782144 28604 145822005 28934 2650725 28934 2650693+
Sistema 7 HPFS/NTFS 7 HPFS/NTFS 83 Linux 5 Extendida 82 Linux swap / Solaris
Las entradas de la tabla de particiones no están en el orden del disco
2. Memoria pc-caliope:/home/caliope# free -m Mem: -/+ buffers/cache: Swap:
total 1959 244 2588
used 508 1714 0
free 1451
shared 0
buffers cached 17 246
2588
3. Dispositivos PCI pc-caliope:/home/caliope# lspci 00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07) 00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07) 00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07) 00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03) 00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03) 00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03) 00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03) 00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 3 (rev 03) 00:1c.3 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 4 (rev 03) 00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 (rev 03) 00:1c.5 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 6 (rev 03) 00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03) 00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03) 00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03) 00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93) 00:1f.0 ISA bridge: Intel Corporation ICH9M LPC Interface Controller (rev 03) 00:1f.2 SATA controller: Intel Corporation ICH9M/M-E SATA AHCI Controller (rev 03) 00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03) 02:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01) 03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02) 04:00.0 System peripheral: JMicron Technologies, Inc. Device 2382 04:00.2 SD Host controller: JMicron Technologies, Inc. Device 2381 04:00.3 System peripheral: JMicron Technologies, Inc. Device 2383 04:00.4 System peripheral: JMicron Technologies, Inc. Device 2384
4. Dispositivos USB pc-caliope:/home/caliope# lsusb Bus 007 Device 002: ID 064e:c108 Suyin Corp. Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 002: ID 03f0:171d Hewlett-Packard Wireless (Bluetooth + WLAN) Interface [Integrated Module] Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
ANEXO “B” SOLUCIÓN PROBLEMA DE RED LAN PROBLEMA: Durante la instalación no presentó ninguna advertencia o aviso de error en cuanto a tarjeta de red ethernet, pero al configurar la dirección IP de acuerdo a la red LAN no tenía conexión, verificando con el comando dmesg se encontró: [ [ [ [ [
14.069834] 15.762202] 17.283179] 17.283575] 17.283988]
loop: module loaded r8169: eth0: link down NET: Registered protocol family 10 lo: Disabled Privacy Extensions ADDRCONF(NETDEV_UP): eth0: link is not ready
Como si el patchcord no estuviera conectado, pero si lo estaba e incluso los leds de la interfaz de red titilaban. También se puede observar que está cargado el módulo r8169 para la eth0 y si se verifica la salida del comando lspci la tarjeta es una Realtek 8101E: ... 03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express ...
SOLUCIÓN: Cambiar el drive de la tarjeta de red, para lo cual se siguió el siguiente procedimiento: 1. Instalar paquetes de desarrollo y la herramienta modulueassistant, que facilita la instalación de nuevos módulos desde sus paquetes fuente. pc-caliope:/home/caliope# aptitude install build-essential module-assistant Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho Leyendo la información de estado extendido Inicializando el estado de los paquetes... Hecho Leyendo las descripciones de las tareas... Hecho Se instalarán los siguiente paquetes NUEVOS: binutils{a} build-essential dpkg-dev{a} g++{a} g++-4.3{a} gcc{a} gcc-4.3{a} libc6-dev{a} libgomp1{a} libstdc++6-4.3-dev{a} libtimedate-perl{a} linux-libc-dev{a} make{a} module-assistant 0 paquetes actualizados, 14 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 0B/15,7MB de ficheros. Después de desempaquetar se usarán 51,9MB. ¿Quiere continuar? [Y/n/?] Y Escribiendo información de estado extendido... Hecho Seleccionando el paquete binutils previamente no seleccionado. (Leyendo la base de datos ... 90754 ficheros y directorios instalados actualmente.) Desempaquetando binutils (de .../binutils_2.18.1~cvs20080103-7_i386.deb) ... Seleccionando el paquete linux-libc-dev previamente no seleccionado. Desempaquetando linux-libc-dev (de .../linux-libc-dev_2.6.26-15_i386.deb) ... Seleccionando el paquete libc6-dev previamente no seleccionado. Desempaquetando libc6-dev (de .../libc6-dev_2.7-18_i386.deb) ... Seleccionando el paquete libgomp1 previamente no seleccionado. Desempaquetando libgomp1 (de .../libgomp1_4.3.2-1.1_i386.deb) ... Seleccionando el paquete gcc-4.3 previamente no seleccionado. Desempaquetando gcc-4.3 (de .../gcc-4.3_4.3.2-1.1_i386.deb) ... Seleccionando el paquete gcc previamente no seleccionado. Desempaquetando gcc (de .../gcc_4.3.2-2_i386.deb) ... Seleccionando el paquete libstdc++6-4.3-dev previamente no seleccionado. Desempaquetando libstdc++6-4.3-dev (de .../libstdc++6-4.3-dev_4.3.2-1.1_i386.deb) ... Seleccionando el paquete g++-4.3 previamente no seleccionado. Desempaquetando g++-4.3 (de .../g++-4.3_4.3.2-1.1_i386.deb) ... Seleccionando el paquete g++ previamente no seleccionado. Desempaquetando g++ (de .../g++_4.3.2-2_i386.deb) ... Seleccionando el paquete make previamente no seleccionado. Desempaquetando make (de .../make-dfsg/make_3.81-5_i386.deb) ... Seleccionando el paquete libtimedate-perl previamente no seleccionado. Desempaquetando libtimedate-perl (de .../libtimedate-perl_1.1600-9_all.deb) ... Seleccionando el paquete dpkg-dev previamente no seleccionado. Desempaquetando dpkg-dev (de .../dpkg/dpkg-dev_1.14.25_all.deb) ... Seleccionando el paquete build-essential previamente no seleccionado. Desempaquetando build-essential (de .../build-essential_11.4_i386.deb) ... Seleccionando el paquete module-assistant previamente no seleccionado. Desempaquetando module-assistant (de .../module-assistant_0.10.11.0_all.deb) ... Procesando disparadores para man-db ... Configurando binutils (2.18.1~cvs20080103-7) ... Configurando linux-libc-dev (2.6.26-15) ... Configurando libc6-dev (2.7-18) ... Configurando libgomp1 (4.3.2-1.1) ... Configurando gcc-4.3 (4.3.2-1.1) ... Configurando gcc (4:4.3.2-2) ... Configurando make (3.81-5) ... Configurando libtimedate-perl (1.1600-9) ... Configurando dpkg-dev (1.14.25) ... Configurando module-assistant (0.10.11.0) ... Configurando libstdc++6-4.3-dev (4.3.2-1.1) ... Configurando g++-4.3 (4.3.2-1.1) ... Configurando g++ (4:4.3.2-2) ... Configurando build-essential (11.4) ... Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho Leyendo la información de estado extendido Inicializando el estado de los paquetes... Hecho Escribiendo información de estado extendido... Hecho Leyendo las descripciones de las tareas... Hecho
2. Se prepara la herramienta module-assistant pc-caliope:/home/caliope# m-a update Actualizado los ficheros infos de los paquetes 85 pc-caliope:/home/caliope# m-a prepare
Obteniendo los fuentes de la versión del núcleo: 2.6.26-2-686 apt-get install linux-headers-2.6.26-2-686 Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho Se instalarán los siguientes paquetes extras: cpp-4.1 gcc-4.1 gcc-4.1-base linux-headers-2.6.26-2-common linux-kbuild-2.6.26 Paquetes sugeridos: gcc-4.1-locales gcc-4.1-multilib gcc-4.1-doc libmudflap0-dev Se instalarán los siguientes paquetes NUEVOS: cpp-4.1 gcc-4.1 gcc-4.1-base linux-headers-2.6.26-2-686 linux-headers-2.6.26-2-common linuxkbuild-2.6.26 0 actualizados, 6 se instalarán, 0 para eliminar y 0 no actualizados. Se necesita descargar 0B/7246kB de archivos. Se utilizarán 41,2MB de espacio de disco adicional después de esta operación. ¿Desea continuar [S/n]? S Seleccionando el paquete gcc-4.1-base previamente no seleccionado. (Leyendo la base de datos ... 93114 ficheros y directorios instalados actualmente.) Desempaquetando gcc-4.1-base (de .../gcc-4.1-base_4.1.2-25_i386.deb) ... Seleccionando el paquete cpp-4.1 previamente no seleccionado. Desempaquetando cpp-4.1 (de .../cpp-4.1_4.1.2-25_i386.deb) ... Seleccionando el paquete gcc-4.1 previamente no seleccionado. Desempaquetando gcc-4.1 (de .../gcc-4.1_4.1.2-25_i386.deb) ... Seleccionando el paquete linux-headers-2.6.26-2-common previamente no seleccionado. Desempaquetando linux-headers-2.6.26-2-common (de .../linux-headers-2.6.26-2common_2.6.26-15_i386.deb) ... Seleccionando el paquete linux-kbuild-2.6.26 previamente no seleccionado. Desempaquetando linux-kbuild-2.6.26 (de .../linux-kbuild-2.6.26_2.6.26-3_i386.deb) ... Seleccionando el paquete linux-headers-2.6.26-2-686 previamente no seleccionado. Desempaquetando linux-headers-2.6.26-2-686 (de .../linuxheaders-2.6.26-2-686_2.6.26-15_i386.deb) ... Procesando disparadores para man-db ... Configurando gcc-4.1-base (4.1.2-25) ... Configurando cpp-4.1 (4.1.2-25) ... Configurando gcc-4.1 (4.1.2-25) ... Configurando linux-headers-2.6.26-2-common (2.6.26-15) ... Configurando linux-kbuild-2.6.26 (2.6.26-3) ... Configurando linux-headers-2.6.26-2-686 (2.6.26-15) ... Creando enlace simbólico... apt-get install build-essential Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho build-essential ya está en su versión más reciente. 0 actualizados, 0 se instalarán, 0 para eliminar y 0 no actualizados. ¡Hecho!
3. Obtener los fuentes del módulo de la página de Realtek en el siguiente enlace: http://www.realtek.com.tw/downloads/downloadsView.aspx? Langid=1&PNid=7&PFid=7&Level=5&Conn=4&DownTypeID=3&G etDown=false#2 4. Compilación, instalación y configuración del módulo. pc-caliope:/home/caliope/Desktop# mv r8101-1.013.00.tar.bz2 /usr/src/ pc-caliope:/home/caliope/Desktop# cd /usr/src/
pc-caliope:/usr/src# tar -jxvf r8101-1.013.00.tar.bz2 r8101-1.013.00/ r8101-1.013.00/readme r8101-1.013.00/Makefile r8101-1.013.00/src/ r8101-1.013.00/src/r8101_n.c r8101-1.013.00/src/Makefile_linux24x r8101-1.013.00/src/rtl_eeprom.c r8101-1.013.00/src/Makefile r8101-1.013.00/src/rtl_eeprom.h r8101-1.013.00/src/rtl_ethtool.h r8101-1.013.00/src/r8101.h pc-caliope:/usr/src# rm r8101-1.013.00.tar.bz2 pc-caliope:/usr/src# cd r8101-1.013.00/ pc-caliope:/usr/src/r8101-1.013.00# lsmod | grep r8169 r8169 23684 0 pc-caliope:/usr/src/r8101-1.013.00# rmmod r8169 pc-caliope:/usr/src/r8101-1.013.00# make clean modules make -C src/ clean make[1]: se ingresa al directorio `/usr/src/r8101-1.013.00/src' rm -rf *.o *.ko *~ core* .dep* .*.d .*.cmd *.mod.c *.a *.s .*.flags .tmp_versions Module.symvers Modules.symvers Module.markers *.order make[1]: se sale del directorio `/usr/src/r8101-1.013.00/src' make -C src/ modules make[1]: se ingresa al directorio `/usr/src/r8101-1.013.00/src' make -C /lib/modules/2.6.26-2-686/build SUBDIRS=/usr/src/r8101-1.013.00/src modules make[2]: se ingresa al directorio `/usr/src/linux-headers-2.6.26-2-686' CC [M] /usr/src/r8101-1.013.00/src/r8101_n.o /usr/src/r8101-1.013.00/src/r8101_n.c:435: warning: ‘rtl8101_phyio_read’ defined but not used /usr/src/r8101-1.013.00/src/r8101_n.c:483: warning: ‘rtl8101_ephy_read’ defined but not used CC [M] /usr/src/r8101-1.013.00/src/rtl_eeprom.o LD [M] /usr/src/r8101-1.013.00/src/r8101.o Building modules, stage 2. MODPOST 1 modules CC /usr/src/r8101-1.013.00/src/r8101.mod.o LD [M] /usr/src/r8101-1.013.00/src/r8101.ko make[2]: se sale del directorio `/usr/src/linux-headers-2.6.26-2-686' strip --strip-debug r8101.ko make[1]: se sale del directorio `/usr/src/r8101-1.013.00/src' pc-caliope:/usr/src/r8101-1.013.00# make install make -C src/ install make[1]: se ingresa al directorio `/usr/src/r8101-1.013.00/src' install -m 744 -c r8101.ko /lib/modules/2.6.26-2-686/kernel/drivers/net/ make[1]: se sale del directorio `/usr/src/r8101-1.013.00/src' pc-caliope:/usr/src/r8101-1.013.00# depmod -a pc-caliope:/usr/src/r8101-1.013.00# modprobe r8101 pc-caliope:/usr/src/r8101-1.013.00# lsmod | grep r8101 r8101 27792 0 pc-caliope:/usr/src/r8101-1.013.00# ifconfig -a pc-caliope:/usr/src/r8101-1.013.00# ping 172.24.7.3 PING 172.24.7.3 (172.24.7.3) 56(84) bytes of data. 64 bytes from 172.24.7.3: icmp_seq=1 ttl=64 time=1.92 ms 64 bytes from 172.24.7.3: icmp_seq=2 ttl=64 time=0.280 ms 64 bytes from 172.24.7.3: icmp_seq=3 ttl=64 time=0.284 ms 64 bytes from 172.24.7.3: icmp_seq=4 ttl=64 time=0.257 ms 64 bytes from 172.24.7.3: icmp_seq=5 ttl=64 time=0.266 ms ^C --- 172.24.7.3 ping statistics --5 packets transmitted, 5 received, 0% packet loss, time 4004ms rtt min/avg/max/mdev = 0.257/0.601/1.922/0.660 ms
Con esto ya se tiene andando la tarjeta de red, pero cada vez que reinicie la máquina tendrá que removerse el módulo r8169 y
cargar el r8101 manualmente, para evitarlo procedimiento descrito en el próximo numeral.
se
realiza
el
5. Post – configuración. pc-caliope:/home/caliope# echo "blacklist r8169">> /etc/modprobe.d/blacklist pc-caliope:/home/caliope# mv /lib/modules/2.6.26-2-686/kernel/drivers/net/r8169.ko /lib/modules/2.6.26-2-686/kernel/drivers/net/r8169.ko.bak pc-caliope:/home/caliope# depmod pc-caliope:/home/caliope# insmod /lib/modules/2.6.26-2-686/kernel/drivers/net/r8101.ko pc-caliope:/home/caliope# mv /boot/initrd.img-2.6.26-2-686 /boot/initrd.img-2.6.26-2-686.ba pc-caliope:/home/caliope# mkinitramfs -o /boot/initrd.img-2.6.26-2-686 2.6.26-2-686
ANEXO “C” SOLUCIÓN PROBLEMA WIRELESS PROBLEMA El dispositivo wireless no fue detectado, como se puede observar en la salida del comando iwconfig: pc-caliope:~# iwconfig lo no wireless extensions. eth0
no wireless extensions.
SOLUCION En líneas generales se plantean tres soluciones a este problema: 1. Utilizar bc43xx-fwcutter que es un paquete que soporta los dispositivos wireless con chip Broadcom bcm43xx, se instala sencillamente como cualquier paquete .deb con las herramientas correspondientes para la gestión de paquetes. Esta fue la primera opción que aplique debido a su sencillez, pero no funcionó. 2. Utilizar ndiswrapper, la cual descarte por experiencia propia pues en varias ocasiones no he logrado hacer funcioner la red wireless con esta herramienta. 3. Buscar el controlador de la tarjeta, teniendo en cuenta que con Ubuntu el mismo equipo me ha funcionado correctamente, para su instalación y configuración se siguieron los siguientes pasos: pc-caliope:/home/caliope# v5.10.91.9.3.tar.gz pc-caliope:/home/caliope# pc-caliope:/home/caliope# pc-caliope:/home/caliope# pc-caliope:/home/caliope# pc-caliope:/home/caliope#
wget
http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32-
cd ~caliope/Desktop/Descargas/hybrid-portsrc-x86_32-v5.10.91.9.3 make -C /lib/modules/2.6.26-2-686/build M=`pwd` cp wl.ko /lib/modules/2.6.26-2-686/kernel/drivers/net/wireless depmod -a modprobe wl
Para comprobar su funcionamiento:
pc-caliope:/home/caliope# iwconfig lo no wireless extensions. eth0 eth1
no wireless extensions. IEEE 802.11bg ESSID:"" Nickname:"" Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated Bit Rate:54 Mb/s Tx-Power:32 dBm Retry min limit:7 RTS thr:off Fragment thr:off Power Managementmode:All packets received Link Quality=5/5 Signal level=0 dBm Noise level=-86 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
pc-caliope:/home/caliope#
iwlist eth1 scanning
ANEXO “D” SOLUCIÓN PROBLEMA AUDIO PROBLEMA La instalación reconoce, instala y carga los módulos correspondientes pero no se tiene sonido. SOLUCION Verificar el dispositivo de sonido: pc-caliope:/home/caliope# lspci | grep Audio 00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
Navegando en internet encontré la siguiente solución, que consiste en agregar unos parametros adicionales para el módulo de la tarjeta: crear el archivo vi /etc/modprobe.d/sound con las líneas indicadas y recargar los módulos. pc-caliope:/home/caliope# vi /etc/modprobe.d/sound options snd slots=snd-hda-intel options snd-hda-intel enable_msi=1 model=hp-dv5 # Intel Corporation 82801I (ICH9 Family) HD Audio Controller alias snd-card-0 snd-hda-intel alias sound-slot-0 snd-hda-intel