Archive for the ‘Linux’ Category

¿Y si me cambio a Arch?

Viernes, Septiembre 21st, 2007

Por culpa de Kriptópolis, indirectamente, puede que abandone Debian antes de que termine el año, a menos que encuentre una muy buena razón para volver a pensarlo. Que no lo intente ahora se debe a la carga académica, y a que no me puedo quedar sin PC ni un rato.

Instalación de Google Earth a lo Debian

Jueves, Agosto 23rd, 2007

$ su
# aptitude install googleearth-package
# make-googleearth-package
# dpkg -i googleearth_4.1.7076.4458+0.2.0-1_i386.deb

Ahora me toca averiguar por qué al ocultar la barra lateral anda funciona tan lento.

Configuración de Genius NetScroll 110

Viernes, Agosto 3rd, 2007

Me costó hacer funcionar la rueda del mouse, y lamenté bastante no haberle echado una mirada a xorg.conf cuando tenía Kubuntu, donde la correcta configuración fue automática. Luego de hacer que el servidor gráfico se colgara o el dispositivo enloqueciera, el resultado fue:

Section “InputDevice”
Identifier “Mouse”
Driver “mouse”
Option “Protocol” “IMPS/2″ # Parece que estándar para Genius
Option “Device” “/dev/psaux” # De ser PS/2
EndSection

aptitude y paquetes recomendados

Lunes, Julio 30th, 2007

Una de las ventajas de usar aptitude en lugar de apt para administrar paquetes, es que trata de mejor forma las dependencias, ya que no sólo instala paquetes necesarios, además elimina los que ya no lo son, permitiendo así mantener limpio el sistema sin complicaciones. Sin embargo, y de manera paradójica, por defecto está configurado para instalar paquetes recomendados. Por ejemplo, al querer instalar Gwenview con dicha opción activada se obtiene:

# aptitude install gwenview
Reading package lists… Done
Building dependency tree
Reading state information… Done
Reading extended state information
Initializing package states… Done
Reading task descriptions… Done
Building tag database… Done
The following NEW packages will be automatically installed:
cdparanoia cdrdao dcraw dvd+rw-tools exiv2 genisoimage imagemagick k3b
kaddressbook kdepim-kio-plugins kipi-plugins kmail kooka libao2
libbluetooth2 libcdio6 libdvdread3 libexiv2-0 libflac++6 libgnokii3
libgpgme11 libieee1284-3 libiso9660-4 libk3b3 libkcal2b libkdepim1a
libkexif1 libkipi0 libkleopatra1 libkmime2 libkpimidentities1 libkscan1
libksieve0 libktnef1 libmagick++9c2a libmimelib1c2a libpth20 libsane
libvcdinfo0 ocrad sane-utils vcdimager wodim

Mientras que al desactivarla:

# aptitude install gwenview
Reading package lists… Done
Building dependency tree
Reading state information… Done
Reading extended state information
Initializing package states… Done
Reading task descriptions… Done
Building tag database… Done
The following NEW packages will be automatically installed:
libexiv2-0 libkipi0

Los paquetes recomendados no son necesarios, pero podrían mejorar el desempeño del que intentamos instalar, ya que de alguna manera se relacionan con este. Personalmente, no me gusta que aptitude instale paquetes que podría, quizás, a lo mejor, tal vez, llegar a utilizar, por lo que desactivé la opción. Para ello:

$ su
# aptitude

Y en la GUI que aparecerá vamos a Options, Dependency handling y desmarcamos Install Recommended packages automatically.

Adios Kubuntu. ¡Hola Debian!

Miércoles, Julio 25th, 2007

Hace dos días pensaba que sería usuaria de Kubuntu por bastante más tiempo, sin embargo, ayer en la tarde decidí que, entre limpiar el sistema o hacer una instalación limpia, tardaría menos tiempo con la segunda opción. Y ya que estamos reinstalando, que valga la pena. A sí que, como el Brujo me demostró que instalar Debian hoy en día es más fácil que en los tiempos en que instalé Mandrake 8.0, y en los cuales miraba a la espiral como la más computín de las distribuciones computines, covardemente decidí que hoy sería el día de dar el gran paso.

Menos mal que nVIDIA se empeña en no liberar sus drivers, porque si no el proceso habría sido realmente aburrido… Léase con ironía. Me puse a instalar a las 10:00 y decidí que era suficiente cerca de las 18:00. Escogí como método de instalación la imagen business card, que es la más pequeña, y recibe los paquetes necesarios desde Internet. Con la conexión que tengo rara vez descargó a menos de 300 KBps, por lo que el proceso no tardó más de 20 minutos. Pero, por la cresta, que costó instalar los controladores oficiales de nVIDIA. De haberme conformado con la rama Stable (Etch), habría sido pan comido gracias a module-assitant, pero como quería KDE 3.5.6 y Compiz Fusion, tenía que instalar Testing (Lenny). El conflicto se produce por una incompatibilidad con la GPL 2.0 (sí, la licencia, ¡carajo!) entre el núcleo precompilado 2.6.2x-k7 (y como tengo un procesador AMD Athlon XP…) y el controlador nVIDIA. Al final, la mejor forma de instalar el controlador con el mencionado núcleo es siguiendo la guía Instalar driver privativo de Nvidia con kernel Linux >= 2.6.20 publicada en CRySoL. San Ignucius los bendiga. Ahora me toca averiguar exáctamente cual es la incompatibilidad con la GPL 2.0 y apiedrar las dependencias de nVIDIA. De no ser por el pequeño detalle habría tenido el sistema funcionando en media hora.

Pero todo el show valió la pena, a medias. Si bien tengo KDE 3.5.7, aún no logro instalar Compiz Fusion. Se supone que se puede en Testing, pero por el momento, no me resulta. Y no me quiero cambiar a Unstable, al menos no por el momento, porque fue demasiado lidiar día entero con el controlador famoso, como para continuar durante la noche.

Además de Compiz Fusion, me queda averiguar cuales son los enlaces simbólicos que tengo que crear para tener Flash y Java en Firefox, porque Iceweasel no lo instalo ni ca… Mover los productos de Mozilla a non-free hubiese sido una solución más sana, digo yo. Apoyo todo fork, mientras tenga razón de ser, y la lesera del logo no me convence para nada, después de todo, en ningún modo el logo privativo (al menos en el caso de Firefox) socava libertades de usuario.

También me falta hacer funcionar la rueda del ratón, que por el momento sólo trabaja como botón central, e instalar BOINC, y ver que tal anda el sistema con dicha aplicación corriendo. Algo me dice que Kubuntu estaba obeso por culpa de mi amor a la ciencia (BOINC estaba configurado para consumir el 100% de los recursos…) pero de todos modos es agradable ver que el KMenu está casi vacío: las aplicaciones que jamás iba a usar y que no podía desinstalar de Kubuntu me enfermaban.

Aún así, Canonical ha hecho un gran trabajo. Según he percibido, Linux tiene más usuarios finales gracias a sus productos que a los de Novell o Mandriva, que dominaban entre los usuarios domésticos. Pero no se podrá dormir en los laureles, porque estoy casi segura de que la próxima vez que me pregunten por una distribución Linux para un usuario poco experimentado, voy a recomendar Debian.

Purgando locales con localepurge

Jueves, Enero 25th, 2007

Hago eco de la útil herramienta explicada por Mark para mantener el sistema limpio de locale inecesarios.

Un locale es un conjunto de reglas culturales que definen el país, idioma, caracteres y otras preferencias de la interfaz del usuario. En Linux las interfaces de todas las aplicaciones dependen de que locale estén instaladas en el sistema.

Al parecer, algunas aplicaciones instalan sus propios locale aunque no los vayamos a utilizar, ocupando espacio en el disco duro. localepurge es un paquete para Debian y distribuciones basadas en ella que permite mantener sólo los locale necesarios.

Inmediatamente después de instalarlo aparece una pantalla en el terminal (yo utilicé aptitude, imagino que las herramientas gráficas también la ejecutan) donde se deben seleccionar los idiomas que utilizaremos. En mi caso fueron:

  • en
  • en_GB.ISO-8859-15
  • en_GB.UTF-8
  • es
  • es_CL
  • es_CL.UTF-8

Dónde los esenciales son en y es ya que contienen la información general respecto al idioma. Mark me explicó que conservar el inglés se debe a que hay aplicaciones que no han sido traducidas al español, no sé si es necesario, pero frente a la duda… Elegí inglés británico de caprichosa.

Lista la instalación lo ejecutamos con permisos de administrador: sudo localepurge, y en pocos segundos entregará los resultados. En mi caso:

localepurge: Disk space freed in /usr/share/locale: 32784K
localepurge: Disk space freed in /usr/share/man: 2268K
Total disk space freed by localepurge: 35052K

Y desde ahora, cada vez que se instala una aplicación mediante apt-get localepurge se ejecutará automáticamente. Yo instalé KOffice con aptitude y no sucedió, aunque no sé si se debe a que aptitude y localepurge no son compatibles o a que no había locale que eliminar.

Características para considerar KDE.

Miércoles, Enero 4th, 2006

Esta entrada la iré actualizando periódicamente hasta que me decida por uno u otro escritorio. Tengo además el borrador de lo que será Características que extraño de Gnome, pero durante las últimas horas se ha ido reduciendo gracias a los cambios que le he ido haciendo a KDE, los cuales me hubiese gustado evitar. En el fondo intento disfrazar a KDE de ñomo, en lugar de mejorar al ñomo, pero es todo lo que puedo hacer con escasos conocimientos de psudolenguaje y nulo dominio de algún lenguaje de programación.

Por el momento la lista es bastante escueta. Quizás podrían ayudarme a engordarla…

Escritorio
Estoy acostumbrada a usar el escritorio como una carpeta temporal, así siempre están visible los archivos con los cuales tengo asuntos pendientes. Un detalle del escritorio de KDE es que existe la opción Alinear rejilla que al activarla organiza los íconos de forma automática en relación a los demás, evitando que se sobrepongan, como ocurre en Gnome, cuando hay demasiados.
Konqueror como administrador de archivos
  1. Posee un emulador de terminal que nos evita tener que abrir Konsole o el emulador que sea por separado.
  2. Trabaja con pestañas.
  3. Podemos eliminar archivos de dos maneras: enviándolos a la papelera o purgándolos del sistema. unf me acaba de informar de que en Nautilus también es posible.
  4. Los iconos de la carpeta reflejan su contenido.
  5. La previsualización de archivos de sonido trabaja con cualquier formato mientras que en Nautilus sólo me funciona con los MP3.
Gwenview
Se puede configurar para que los cambios realizados a una imagen se guarden de forma silenciosa.

¿Y sí me paso a KDE?

Martes, Enero 3rd, 2006

Lo he estado evaluando. A pesar de que varias veces he declarado de forma tajante que me carga su interfaz recargada de menús y opciones por todos lados, y de que me agrada más, mucho más, el aspecto de Gnome, he pensado en probar KDE.

Todo comenzó cuando me dí cuenta de que por muy mal que se vean las aplicaciones para KDE (hablo del aspecto de KDE en general, no que de problemas al visualizarlas en Gnome), estas me prestan mucha más utilidad que las programadas para Gnome. No puedo evitar pensar que es como decían Varela y Maturana, que no sobreviven los seres vivos más aptos, según Darwin, sino, simplemente, los aptos. En este caso, yo había sido usuaria de las aplicaciones aptas, sin preocuparme por aquellas que son mucho más aptas, total las primeras trabajando en conjunto me ofrecían todo lo que necesitaba. Menos es más aprendí de Mies van der Rohe… Hasta que descubrí amaroK. Entonces me dí cuenta de que si uso K3b en lugar de GnomeBaker, o que si necesito Konqueror y no me basta con Mozilla Firefox, es por algo. Las aplicaciones más aptas me estaban llamando.

Ese reproductor es el paradigma de la aplicación ideal. Creo que me tatuaría su isotipo si no me cargaran los tatuajes. Hace un montón de cosas, y de una forma tan inteligente, que por muy inútil que sea, el usuario termina acostumbrándose. Por algo DavidCG comenzó su artículo Por qué KDE mola describiendo las funciones de amaroK, incluso cuando no es el reproductor oficial de KDE. Eso sí, no dejo de creer que podría ser más lindo y tener muchas menos opciones sin deja de ser amaroK.

Pero estoy convencida de que la fachada no puede ser más importante que la planta y el corte (antes de entrar a estudiar Arquitectura pensaba a la inversa), y luego de leer el artículo recién mencionado así como un montón de comentarios en Barrapunto, he terminado dudando de que Gnome sea tan maravilloso como creía que era. Un problema típico y hasta irrisorio que se me ha presentado, es el copiar algo al porta papeles, cerrar la aplicación y encontrarme con que ya no podía pegar… Problema de integración en el escritorio. En un inicio no lo encontraba tan grave, pero resulta que las aplicaciones GTK+ no aseguran integración con Gnome, contrario a lo que sucede con KDE y las aplicaciones en Qt. O sea que es la situación es la misma si instalamos aplicaciones GTK+ en KDE.

Así que hoy, apenas me conecté, ejecuté sudo aptitude install kubuntu-desktop, y fue necesario que instalara 135 paquetes, muchos de los cuales no usaré, y espero poder desinstalar (como akregator, ¿para qué lo quiero si tengo Feedness?). Ya veremos si la funcionalidad de KDE (así como unos retoques en el tema por aquí y por allá…) termina por opacar su fealdad. En todo caso, si el resto de mi familia prefiere Gnome, me quedaré con Gnome. Tener dos escritorios me parece exagerado, sobre todo si prefiero el aspecto de uno al del otro.

Cerrando sesión…

Linux es difícil.

Lunes, Diciembre 26th, 2005

Fotografía del Motorola m25 en Ubuntu Linux

Para la recién pasada Navidad mis padres le regalaron a mi hermana un reproductor de MP3 Motorola m25. Como la mayoría de los gadgets venía acompañado por un CD con los controladores para Windows y Mac OS X, lo cual me hizo sentir algo de temor al pensar que tal vez no funcionaría en Linux, y por ende tendría otro motivo para no eliminar la partición donde tengo instalado Windows 2000 (los motivos actuales son el software comercial para Arquitectura, y que me ponen nota por saber usarlos). Conectamos el periférico al cable USB y en pocos segundos se encendió sólo, al tiempo que el icono de dispositivo extraible apareció en el escritorio de Gnome, sobre la etiqueta M25. La fotografía de la derecha lo ilustra bastante bien. Fue hecha con la nueva Nikon Coolpix 4600 que mi padre le regaló a mi madre, la cual, como la mayoría de los gadgets venía acompañado por un CD con los controladores para Windows y Mac OS X, hecho que me hizo sentir algo de temor al pensar que tal vez no funcionaría en Linux, y por ende tendría otro motivo para no eliminar la partición donde tengo instalado Windows 2000… Conectamos el periférico al cable USB y en pocos segundos (aunque más prolongados que los del Motorola, y tuve miedo) apareció una ventana de advertencia preguntándonos si queríamos descargar las fotos. Esta captura lo ilustra bastante bien. Fue hecha…

Hasta el momento a mi obsoleta Ubuntu Hoary Hedgeog (en octubre apareció la última versión: Breezy Badger) le he pedido que reconozca una impresora Epson Stylus Color 860, un scaner Epson Perfection 640U, una cámara digital Kodak EasyShare CX7300 y una Canon PowerShot A60, además de los nuevos juguetes y de todo el hardware integrado en mi super placa madre PC Chips… Y jamás he tenido problemas. Más aún: jamás he tenido que configurar nada, salvo la tarjeta de video luego de instalar la distribución. Y nada me costó. Por ello, no puedo dejar de sorprenderme cuando sale alguien con el chiste de que Linux no está preparado para el usuario final, y peor aún, cuando comentan que la comunidad del software libre debería hacer algo en lugar de predicar sobre derechos y libertad. Bueno, esta es una entrada pragmática: no se trata de los beneficios éticos y morales que proporciona usar software libre, si no de la desventaja que tienen los sistemas operativos libres. Y es que cuesta un mundo instalar y configurar en ellos la mayoría del hardware disponible. Demasidos archivos de texto a editar, y cuando finalmente se logra, no funcionan como en Windows o Mac OS X… Pero claro: mientras el fabricante programa los controladores para dichos sistemas operativos, la comunidad de programadores de software libre se tiene que dar la paja de hacerlo por si mismos. ¿No es acaso una fea desventaja?

Y me da rabia, porque ¿cuántas veces no he leído que apoyo totalmente el software libre pero no uso Linux porque no reconoce mi puto dispositivo? Por supuesto: mientras los usuarios de Linux no aumenten los fabricantes no programarán controladores oficiales, y mientras no haya controladores Linux no tendrá más usuarios. Entonces nos encontramos en un círculo vicioso donde la única forma de salir es que el usuario que apoya al software libre pero no lo usa (más o menos como lo que le pasó a Hisrch) se de el tiempo de revisar la compatibilidad antes de comprar algún dispositivo… Pero es preferible esperar a que otros hagan de Linux lo suficientemente masivo como para que no haya que fijarse en la caja…, o algo así he leído en foros, listas de correos y blogs.

Afortunadamente ya hay grandes empresas de hardware que están apoyando al software libre, pero tengo la sensación de que los frutos se darán más a largo plazo, y la impaciencia me embarga, aún cuando lo único que espero es que la masa se de cuenta de que la culpa de que el increible nuevo gadget recién salido no funcione en Linux la tiene única y exclusivamente su fabricante. ¿Por qué? No sé, tal vez para demostrar que tengo razón, o para que la sabia decisión de la industria del hardware sea imitada por la del software y así me pueda deshacer de Windows.

En este momento, cuando a mí Linux me va de maravillas con el dispositivo que conecte, pero a la gran mayoría de usuarios finales les funciona como el poto, sólo puedo pensar que es cuestión de fe: Mi ciega convicción en el software libre y sus ventajas (tanto ideológicas como prácticas) debieron hacer que los gadgets recientemente adquiridos por mis padres, sin fijarse en si eran compatibles con el sistema operativo que usan, funcionaran sin más. Porque por supuesto, no se debió a que algún voluntario programara los controladores correspondientes, ni a que Gnome sea uno de los entornos de escritorio más fáciles y cómodos de usar… No. Está claro que la comunidad del software libre lo único que hace es predicar sobre libertad, ética y moral. Mientras yo le elevo oraciones a San Ignucius todas las noches…

Como de BOINC en Linux

Viernes, Octubre 21st, 2005

Hace algo escribí lo que se puede considerar una introducción a la computación distribuida, desde una mirada pragmática: herramienta para la astronomía en el marco de SETI. Lo siguiente es un Como sobre la instalación y configuración de BOINC en GNU desde la consola, con el fin de que se arranque automáticamente cada vez que el computador sea encendido. Antes de comenzar, me toca agradecer enormemente la paciencia y disposición que Zerjillo tuvo con migo en los foros de Astroseti.org, y pasarle a él todo el crédito. BOINC fue la primera aplicación para GNU/Linux que instalé de forma manual, por lo que me encontraba totalmente perdida. Comencemos.

Aclaraciones previas.

Técnicas.

Si hay algo que me molesta de las distribuciones de GNU/Linux es el poco respeto que a veces tienen con lo que podríamos considerar un estándar de facto. Son cuestiones mínimas, pero que a la hora de escribir documentación se convierten en grandes complicaciones. Por tanto, es necesario considerar dos aspectos:

  1. Como ya todos sabrán, para llevar a cabo tareas administrativas en GNU/Linux, como la que nos disponemos a realizar, se necesitan permisos de administrador. Normalmente esto se consigue ingresando directamente al sistema como usuario root, o convirtiéndonos en él a través del comando su. Sin embargo, conozco el caso de cierta distribución que carece de usuario dicho usuario. Al instalar BOINC mediante sudo, se me presentaron algunos inconvenientes, por tanto, si es esa la distribución que usan, recomiendo:
  2. La configuración de los scripts de arranque al parecer varían de distribución en distribución. Como yo estoy trabajando en Ubuntu, basada en Debian, los pasos aquí descritos funcionan en cualquier distribución basada en Debian. Agradecería información respecto a aquellas distribuciones donde el proceso varía.

Finalmente han de recordar que los signos $ y # no deben ser escritos, pues corresponden al prompt del interprete de comandos según nuestro estado (usuario normal y super usuario respectivamente).

Licencia de distribución.

A diferencia del resto del contenido de este blog, y por tratarse claramente de documentación, la presente entrada se encuentra bajo los términos de la GNU Free Documentation License.

Ahora sí: manos a la obra.

Creación de una cuenta.

El primer paso para participar en cualquier proyecto de computación distribuida que corra sobre BOINC es crear una cuenta. El proceso se lleva a cabo mediante el sitio web correspondiente. Los proyectos en los que me encuentro participando y tal vez les puedan interesar son los siguientes:

Instalación.

  1. Descargamos la última versión de BOINC para GNU/Linux, ya sea mediante nuestro navegador favorito, o utilizando el comando wget:

    $ wget http://boinc.berkeley.edu/dl/boinc_5.2.4_i686-pc-linux-gnu.sh

  2. Una vez hecho, lo movemos al directorio donde será instalado: /opt. Aquí es cuando nos convertimos en root:

    $ su
    Password:
    # mv boinc_5.2.4_i686-pc-linux-gnu.sh /opt/
    # cd /opt

    O ejecutamos el Root Terminal.

  3. Le asignamos permisos de ejecución, lo ejecutamos y eliminamos:

    # chmod +x boinc_5.2.4_i686-pc-linux-gnu.sh
    # ./boinc_5.2.4_i686-pc-linux-gnu.sh
    # rm boinc_5.2.4_i686-pc-linux-gnu.sh

Primera ejecución.

  1. La primera ejecución de BOINC se hace de forma manual, mediante lo cual adjuntaremos nuestra cuenta al cliente. Para ello ingresamos al directorio creado por el instalador:

    # cd BOINC/
    # ./boinc -attach_project URL-del-proyecto clave-asignada

  2. Una vez que la cuenta haya sido adjuntada, y que la aplicación comience a descargar los primeros datos cancelamos su ejecución con Ctrl+C para preparar su arranque como servicio del sistema.

Creación y preparación del script.

Como ya dije, el proceso varía según la distribución, lo cual lo considero una lástima. Para Debian y derivados:

  1. Con gedit, o cualquier otro editor de textos, creamos un archivo llamado boinc en /etc/init.d:

    # gedit /etc/init.d/boinc

    En él copiamos y guardamos el siguiente script, tal cual, es decir, esta vez, los # si deben escribirse:

    #!/bin/sh
    # /etc/init.d/boinc
    # Start/stop/restart
    boinc_start() {
    if [ -x /opt/BOINC/run_client ]; then
    echo “Comenzando BOINC.”
    /opt/BOINC/run_client > boinc.log &
    fi
    }
    boinc_stop() {
    echo “Parando BOINC.”
    sudo killall boinc
    }
    boinc_restart() {
    boinc_stop
    sleep 2
    boinc_start
    }
    case “$1″ in
    ’start’)
    boinc_start
    ;;
    ’stop’)
    boinc_stop
    ;;
    ‘restart’)
    boinc_restart
    ;;
    *)
    boinc_start
    esac

    Noten que la salida estándar de BOINC ha sido redirigida al fichero boinc.log que se ubicará dentro de /opt/BOINC, por lo cual cada vez que queramos revisarlo podremos leerlo con:

    $ less /opt/BOINC/boinc.log

  2. Ahora haremos ejecutable el script recién creado, y comprobaremos si funciona:

    # chmod +x /etc/init.d/boinc
    # /etc/init.d/boinc start
    # ps -A

    En algún lugar de la lista que aparece al ejecutar el último comando debiésemos leer boinc, lo cual indica que funciona. Siendo así, le diremos al sistema que ejecute el script cada vez que arranque creando un enlace simbólico en /etc/rc2.d:

    # ln -s /etc/init.d/boinc /etc/rc2.d/S99boinc

  3. Hecho esto, podemos reiniciar el sistema. No es necesario, pero nos servirá para comprobar que todo ha salido como debe: Cuando nos encontremos nuevamente con este funcionando, podemos ejecutar ps -A para asegurarnos, como ya hicimos, de que leemos boinc, S99boinc y setiathome_4.02 (o la versión correspondiente) en algún lugar de la lista.

Adjuntando otros proyectos.

Si decidimos participar de otros proyectos, el proceso para adjuntarlos es el siguiente:

  1. En caso de que hayamos configurado BOINC para que se arranque como servicio y se encuentre corriendo, detenemos su proceso:

    # /etc/init.d/boinc stop

  2. Nos movemos a su directorio y adjuntamos, igual que la primera vez, el nuevo proyecto:

    # cd /opt/BOINC
    #./boinc -attach_project URL-del-proyecto clave-asignada

En caso de que haya más proyectos para adjuntar, repetimos los pasos anteriores. Y así, a próxima vez que arranquemos el sistema, se ejecutaran automáticamente, y compartirán los recursos libres del sistema.