Inside
- Tutoriales Linux
- Obtener Ayuda
La consola
- Midnight Commander - Administrar archivos
- Introducción al shell Bash
- Uso intermedio del shell Bash
- Nociones de uso de scripts
- Conexión a internet mediante scripts
- Encontrar archivos y texto
- Editores de Texto en Linux
- El editor de textos Vim
- Configurar una placa de video nVidia
- Administrar usuarios y permisos
- Introducción al árbol de directorios
- El directorio
/etc - El directorio
/usr - Alarmas y horarios con cron y at
- Crear particiones para Linux
- Ksysv e Init: servicios y arranque
- Grabar CDs desde consola
Instalar Distros
- Instalación: Preparándonos
- Instalar Mandriva Linux
- Instalación de programas
Entornos Gráficos
- Aprendiendo a usar un entorno gráfico
- Configuración de Blackbox
Aplicaciones
- Edición rápida de textos con Abiword
- Procesar textos con OpenOffice Writer
- OpenOffice Writer, tutorial intermedio
- Configurar OpenOffice
- Gnumeric: Planilla de cálculos veloz
- La Planilla de Cálculos OpenOffice Calc
- OpenOffice Calc, tutorial intermedio
- Presentaciones con OpenOffice Impress
- Diseño gráfico con The GIMP
- Escanear imágenes con Xsane y Gimp
¿Sufriste un ataque de generosidad y quieres regalarme algo? ¡Gracias! Fíjate en mi lista de deseos en Amazon.
Hai avuto un attacco di generosità e vuoi regalarmi qualcosa? Grazie! Controlla nella mia lista dei desideri su Amazon.
Instalación de programas en la consola
Debido a la historia del sistema, que no mencionaremos aquí, en el entorno GNU/Linux hay dos o tres maneras de instalar software:
A través de paquetes ya compilados. En esta categoría entran los paquetes en formato deb (paquetes para Debian GNU/Linux y derivados, como Lindows, Ubuntu, etc.), los paquetes en formato rpm (paquetes para distribuciones como Red Hat, SuSE, Mandriva Linux, etc.). Hablaremos sobre los paquetes rpm, ya que son los predeterminados en las tres distribuciones cubiertas por estos tutoriales.
La otra manera común de instalar es conseguir el código fuente de un programa y compilarlo, es decir transformar las instrucciones de programación legibles por un humano a archivos binarios ejecutables. La compilación es el equivalente informático de tomar una receta e ingredientes y hacer una torta: uno toma el código fuente y lo pasa por un compilador (el horno, digamos) que nos devuelve un programa usable. Dado que dicho código puede ocupar muchos archivos y ocupar bastante espacio, se usan algunas herramientas para comprimirlo. Estas son un compresor y un archivador: gzip (o bzip2) para comprimir y tar para archivar. El procedimiento funciona en cualquier sistema Linux con los paquetes de desarrollo instalados y también en otros sistemas operativos como los BSDs , Unixes o incluso en Mac OS X y Windows (con bastante más trabajo).
Llamamos a los programas "paquetes" porque lo que bajamos de Internet o lo que viene incluído en nuestros discos de instalación son archivos y directorios agrupados y comprimidos, como en un paquete. Este nombre o su equivalente en inglés, package son comunes en el mundo Linux, por lo que usted debe saber a qué nos referimos.
Las herramientas urpm de Mandriva
Para hacerle fácil la vida, Mandriva ha desarrollado poderosas herramientas para administrar su software, expandiendo las funciones de rpm. En su conjunto, las llamaré "herramientas urpm".
Las herramientas básicas son urpmi, urpme, urpmq y urpmf:
- urpmi nombre_de_archivo instalará ese paquete rpm.
- urpme nombre_de_paquete lo desinstalará
- urpmq nombre_de_paquete le dirá si existe ese paquete en la base de datos (es decir, si es posible instalarlo.
- urpmf archivo le dirá qué paquete rpm contiene ese archivo.
Ahora que hicimos la presentación básica, veamos un poco cómo se trabaja realmente (al menos, cómo trabajamos nosotros) con urpm. Por ejemplo, supongamos que un amigo le ha comentado a nuestro usuario Rogelio la belleza de un paquete llamado qalc (o algo parecido). ¿Cómo ver si está disponible en nuestro sistema?
Para empezar, Rogelio buscará el paquete en la lista disponible:
[rogelio@edhellond ~]$ urpmq qalc ningún paquete denominado qalc los siguientes paquetes contienen qalc: libqalculate0 libqalculate0-devel qalculate [rogelio@edhellond ~]$
Vemos que el paquete que buscamos es posiblemente qalculate (los paquetes que comienzan por "lib" son librerías usadas por los programas, y si son necesarias los programas las instalarán). Veamos un poco más:
[rogelio@edhellond ~]$ urpmq -i qalculate Name : qalculate Version : 0.7.2 Release : 1mdk Group : Office Size : 2903560 Architecture: i586 Summary : A very versatile desktop calculator [rogelio@edhellond ~]$
Una descripción bastante completa de qué es el programa y qué hace. Bien, para instalarlo necesitaremos ser el usuario administrador. Hora de hacer su.
[root@edhellond rogelio]# urpmi qalculate Para satisfacer dependencias se instalarán los siguientes 4 paquetes (9 MB): gnuplot-4.0.0-5mdk.i586 libcln3-1.1.9-1mdk.i586 libqalculate0-0.7.2-1mdk.i586 qalculate-0.7.2-1mdk.i586 Es correcto? (S/n)
Vemos que urpmi se encarga de toda la tarea de buscar las dependencias automáticamente. Noten también que instalamos qalculate, no qalculate-0.7.2-1mdk.i586 ni qalculate-0.7.2-1mdk.i586.rpm. Es posible también hacerlo de estos dos últimos modos, en particular si deseamos instalar precisamente esa versión del programa. El comando que dimos instalará la versión más actual contenida en la lista de paquetes. Si esto le interesa, investigue el comportamiento de las opciones -f y -r de urpmq. Por ejemplo, urpmq -f qalculate.
Después de pedirle el CD / DVD de instalación y de descargar archivos de internet (si es necesario), el paquete quedará instalado y listo para usar.
Todo lo anterior es estrictamente cierto, pero le estábamos ocultando un par de detalles para hacer la explicación más clara. Ahora es el momento de ver qué es lo que permite esa simplicidad que vimos arriba.
Mandriva y las demás distros importantes usan un sistema de repositorios de paquetes. Esto quiere decir sitios en internet que contienen una lista con montones de paquetes. Basta agregar dicha lista a nuestro sistema para tener a disposición todos esos programas. Normalmente sólo hay dos repositorios base instalados en una distribución Mandriva Linux: los CDs o DVDs de instalación y el repositorio de actualizaciones de seguridad.
Para agregar nuevos repos, podemos usar (en Mandriva al menos) la herramienta apropiada del centro de control, o podemos hacerlo a mano desde una consola. Hay disponible un sitio, easyurpmi, que hace esto increíblemente sencillo. Basta ir al sitio, seleccionar la versión instalada de mandriva linux, y agregar luego los repositorios que uno guste. Personalmente, uso los repositorios main (equivalente al DVD de instalación), contrib (paquetes extra), plf-free y plf-nonfree. No es necesario agregar otro repo "updates" si ya tienen uno configurado. Para agregar un repositorio, marquen el casillero y elijan un mirror cercano a ustedes.
Recomiendo marcar también el casillero "Utilizar índices comprimidos, de menor tamaño, con menos información adicional" si su conexión no es demasiado rápida. De todos modos estamos hablando de una descarga de algunos megabytes por repositorio, sólo de las listas de paquetes.
Como dice al final en la página de easyurpmi, copie cada línea (una por vez) en la consola y deje que su sistema descargue. Luego dispondrá de todos los paquetes que esos repositorios ofrecen. Note que si usa urpmi.removemedia -a como se menciona, deberá agregar un repositorio de actualizaciones, y que el sistema ya no le pedirá los CDs de instalación. Esto significa que si no eligió un repositorio Main tendrá problemas :).
Veamos el proceso paso por paso:
- Elijo mi distribución y arquitectura (en mi caso, "2005" y "i586", es decir, cualquier PC común que no sea un Athlon64) y hago click en "Ir al paso 2".
- Marco las casillas de los repos Main, Contrib, Updates, PLF-Free y PLF-Nonfree (jpackage contiene paquetes Java, que no me interesan personalmente). En los tres primeros uso el repositorio de Italy Bologna (el más cercano a mí), en los otros alguno en Francia (son veloces). Marco también la casilla "Utilizar índices comprimidos", y hago click en "Ir al paso 3)
- Copio de a una línea en una consola como usuario root (Es decir, abro una terminal o consola, uso el comando
su, pongo mi password de root). Como el sitio sugiere, antes de esto uso el comandourpmi.removemedia -apara limpiar lo que había antes. - Listo!
Veamos ahora un poco el funcionamiento de urpmi.addmedia y urpmi.removemedia. El primero es bastante complejo, el segundo en cambio sólo requiere nombre(s) de repositorio(s) o la opción -a (all, todos).
Por ejemplo:
urpmi.addmedia main ftp://bo.mirror.garr.it/mirrors/Mandrake/official/2005/i586/media/main with media_info/synthesis.hdlist.cz
Indica que agregaremos el repositorio llamado "main" (puede tener cualquier nombre, pero main es más claro), que se encuentra en el sitio ftp://bo.mirror... con lista de paquetes en el directorio media_info/. El archivo synthesis.hdlist.cz contiene la lista de paquetes, en este caso con una información menor que si fuera hdlist.cz a secas.
El comando man urpmi.addmedia le mostrará las diversas opciones disponibles y la sintaxis del comando. Una opción importante es --update, que configura el repositorio como uno del que recibiremos actualizaciones.
urpmi.removemedia main se encarga por supuesto de quitar ese repositorio de la lista.
Cada tanto, actualice su lista de paquetes para ponerse al día con los repositorios. Es simplemente cuestión de ejecutar el comando urpmi.update -a (actualiza todos los repositorios).
Actualizar su sistema con urpmi
Es posible (y recomendable) tener actualizado su sistema fácilmente. Hemos visto en otra parte de estos tutoriales cómo hacerlo en modo gráfico, ahora veamos los comandos equivalentes.
Personalmente, cuando quiero actualizar mi sistema simplemente ejecuto el comando
urpmi --auto --auto-select
La opción --auto-select indica "seleccionar todos los paquetes actualizables" y la opción --auto indica "resolver las dependencias automáticamente". Eso quiere decir que, si todo está estable, la instalación debería terminar tranquilamente, al máximo pidiéndole confirmación para instalar todo.
Note que, si justo intenta instalar en un momento en que alguien ha subido un paquete actualizado al repositorio, pero no sus dependencias actualizadas, es muy posible que ese paquete no pueda ser instalado. Deberá entonces esperar o buscar el programa de otro modo, tal vez como explicamos en las próximas secciones.
RPMs
El sistema de instalación RPM se pensó como una manera de facilitar las cosas al usuario. Actualmente se usa en muchas distribuciones, y tiene "metaherramientas" como urpmi que lo usan para hacer las cosas todavía más simples. Sólo deberían usar el comando rpm como último recurso, pero está ahí, siempre disponible, y veremos su funcionamiento básico. Antes de empezar, recuerde que debe trabajar con el usuario root para que rpm funcione.
Las principales opciones son las siguientes:
- -i : instala un paquete.
- -U : actualiza un paquete. Si no existe, lo instala.
- -v : modo verboso, proporciona más información.
- -h : muestra una cadena de # a medida que la instalación avanza.
- -e : desinstala un paquete.
- --force : fuerza una instalación.
- --nodeps : no chequea por posibles dependencias.
Normalmente usted verá o querrá usar los comandos
rpm -ivh paquete-X.rpm para instalar un programa
rpm -Uvh paquete-X.rpm para actualizar un programa
rpm -e paquete-X (sin las extensiones de versión o .rpm), desinstala el paquete
rpm -ivh --force --nodeps paquete-X.rpm para forzar la instalación de un programa especialmente molesto.
Note que no recomendamos para nada la instalación de software usando las opciones --force y --nodeps. Suelen crear problemas de incompatibilidades y errores en el paquete instalado. Sólo debe usarlas si es el único modo posible. Esto incluye confirmación en la lista de correos del programa, consultas en foros, mails al programador, etc. Busque en el sitio web del programa las dependencias necesarias, y si son incompatibles con su sistema, pregunte al autor del programa qué se puede hacer.
Otra parte interesante de rpm es su base de datos, que permite buscar archivos o paquetes por nombre. Si un programa le pide instalar la librería libprograma.so.0, puede buscarlo con el comando
rpm -qa libprograma.so.0 . Las opciones son -q (query) para buscar, -f (file) para decirle que lo que buscamos es un archivo en particular. Un ejemplo:
[root@localhost adriano]# rpm -qf /usr/lib/libpty.so.1 krb5-libs-1.2.7-1.1mdk
Otras posibilidades de búsqueda son la opción -R que muestra qué requiere un paquete instalado para funcionar (es decir, nos da sus dependencias). Se usa de esta manera:
rpm -qR paquete-X
Para más posibilidades, consulte la página de manual de rpm, y vea qué otros programas de la "familia" de rpm puede usar (dependen de paquetes instalados, así que haga uso de lo aprendido en estos tutoriales para buscar e instalar algún programa que usted no tenga. En la máquina en que los autores trabajan, usando Mandrake 9.1, están disponibles los siguientes:
[root@localhost adriano]# rpm rpm rpmdb rpme rpm-rebuilder rpm2cpio rpmdiff rpmi rpmsign rpm2header rpmdrake rpmlint rpmu rpmbuild rpmdrake-remove rpmquery rpmverify
De los cuales normalmente no querrá usar todos. Si quiere instalar paquetes .src.rpm, vea la sección debajo, e investigue el uso de rpm-rebuilder y rpmbuild.
Instalando rpms de código fuente (paquetes .src.rpm)
Es posible que necesite o quiera compilar usted mismo sus programas, pero manteniendo las ventajas del sistema rpm. En este caso, lo mejor es bajar de internet (de los mirrors de su distribución por ejemplo) los programas en formato .src.rpm. Suelen encontrarse en un directorio aparte (sources) en los sitios de download y las distribuciones en caja incluyen CDs con los srpms (pronuncie "es-arpiéms", o "ese-errepeemes") de todos los programas instalables. Compilando sus rpms logrará un sistema más ajustado a su hardware, aunque si ése es el único motivo que lo impulsa le recomendamos que no pierda el tiempo: la diferencia en performance es normalmente ínfima en máquinas modernas. Si desea hacerlo por curiosidad, diviértase con el proceso, y consiga café para esos largos ratos en que el procesador compila código.
En resumen, el proceso es el siguiente:
- Bajar el paquete fuente: paquete-x.src.rpm
- Hacer que rpmbuild compile el paquete
- Instalarlo con rpm -Uvh paquete-x
- Disfrutar el programa compilado especialmente para su PC.
Ahora veámoslo en detalle.
Como root desde una consola, usamos el comando
rpmbuild --rebuild --target=$HOSTTYPE ruta_al_paquete/paquete-x.src.rpm
Eso graba el rpm terminado en /usr/src/RPMS/arquitectura/paquete-xalgo.rpm . El "algo" son las tres primeras letras de su nombre de usuario (si compilan como usuario y no como root), o lo que decida el sistema en el otro caso. Arquitectura dependerá de su procesador.
Una vez lista la compilación, vaya al directorio /usr/src/RPMS/i586 o la dirección que corresponda a su arquitectura de PC. Ahora puede instalar el paquete compilado:
rpm -Uvh paquete-xalgo.rpm Recuerde que la opción -U sirve tanto para instalar como para actualizar paquetes.
El infierno de las dependencias
En todos los casos, algunos más, otros menos, puede tener el siguiente problema: acaba de bajar el programa X. Quiere instalarlo, pero rpm le hace saber de maneras más o menos ruidosas "Falta el archivo/paquete Y para funcionar". Eso hace que tengamos que buscar Y por la red, tratar de instalarlo, etc. En algunos casos desesperantes, podemos llegar a paquetes con dependencias recursivamente enlazadas: el paquete Z, del que depende Y, depende a su vez de que exista el paquete X... ¡Pero X necesita Y!
¿Qué hacer entonces? Lo veremos abajo. ¿Por qué pasa esto? Porque, a diferencia de Windows, donde cada aplicación escribe el registro como quiere y sobreescribe archivos de sistema a piacere, creando problemas de inestabilidad, cuelgues, etc; en Linux esto no es posible por la estructura de archivos del sistema.
Por eso, hay dos opciones: instalar los paquetes con dependencias enlazadas estáticamente o dinámicamente. Estáticamente quiere decir que el paquete "programa-X.rpm" tiene todas las librerías y archivos necesarios para funcionar como binarios, se instalan en directorios aparte y listo. No tendrá problemas de dependencias faltantes porque todo está incluído en el paquete. Un programa con dependencias enlazadas dinámicamente confía en que nuestro sistema tendrá instalado un cierto número de archivos. Cuando no están surgen los problemas mencionados.
Dirá entonces "¿Por qué no usar directamente paquetes estáticos?" La respuesta es que, por ahora, es un gasto de ancho de banda considerable (los paquetes enlazados estáticamente son mucho más voluminosos que los dinámicos) y de performance: ocupan más espacio en memoria 1. Si eso no es problema para usted, adelante.
Note que las dependencias no son un problema de rpm exclusivamente. Simplemente, rpm avisa con más claridad qué paquete nos hace falta. Cuando baja un paquete para compilar, tal vez vea durante la configuración o compilación avisos del tipo "No se encuentra libZ.so.1". Esto es exactamente lo mismo, con distinto aroma.
Archivos Fuente
La compilación de código fuente es el "sistema" más antiguo de instalación de software en Linux. Consiste en cuatro pasos básicos y bastante estandarizados: la descompresión del paquete bajado de internet, la configuración del código para su sistema, la compilación y la instalación. De estos pasos, el último debe ser efectuado por el usuario root si desea que todos los usuarios del sistema usen el programa final. Si no, deberá usar una opción especial del programa make para instalarlo en el directorio del usuario.
Veamos el proceso: usted bajó de internet el programa programa.tar.gz y quiere instalarlo. ¿Qué hacer? En un caso ideal, bastante frecuente, basta hacer lo siguiente:
- Descomprimir y desarchivar el paquete en su administrador de archivos; o desde una consola con el comando
tar -zxvf programa.tar.gz
Esto es idéntico para paquetes .tgz. Los paquetes .tar.bz2 sólo cambian las opciones-zxvfpor-jxvf.
Estamos diciendo: usar el programa tar y algún otro (zparagunzipyjpara usarbunzip2) para descomprimir el paquete programa, extraerlo (opción x) dando información sobre lo que hace (v, verbose). La opción f indica que el archivo es local, que está en nuestra PC (podría no estarlo).
Una manera más larga de hacer el mismo proceso sería ejecutar
gunzip programa.tar.gz
y luego
tar -xvf programa.tar - Ir al directorio que se creó. Generalmente lleva el mismo nombre que el programa. En la consola, esto es
cd programa - Leer las instrucciones de compilación e instalación, generalmente en un archivo llamado
READMEoINSTALL. En el caso más simple, serán:- Ejecutar el comando
./configure(es decir, "ejecutar el archivo llamado configure situado en el directorio actual") para que el programa se configure de acuerdo a nuestro sistema. - ejecutar
make. El programa Make (y varios otros) deberá estar instalado. Para evitarse problemas, simplemente instale el grupo de paquetes "herramientas de desarrollo (programación)" de su distribución. Esto compila el programa. - Ejecutar
make installcon el usuario root. Es decir, en la consola ejecutarsuy en el campo passwd: escribir el password del usuario root, luego ejecutar make install. Esto instala el programa en los directorios adecuados (generalmente dentro del directorio/usr/local). Ya puede ejecutar el programa, agregarlo al menú de aplicaciones, etc. - Suponiendo que quiera desinstalar un programa instalado de esta manera: basta ir al directorio de compilación, loguearse como root y ejecutar
make uninstallpara eliminar el programa. - Esto deja instalado el programa (generalmente dentro del directorio
/usr/share), que ya puede ejecutarse desde una consola.
- Ejecutar el comando
[1] Si usted usó Windows alguna vez, es posible que conozca programas como RAM Booster o similares, que optimizan el rendimiento de la memoria RAM y vacían memoria en desuso. En Linux, la memoria RAM siempre está llena, pero lo que la llena es algo distinto. Linux carga en la RAM librerías compartidas que pueden ser útiles para abrir programas más rápidamente. Si abre el navegador Mozilla, el núcleo de Linux guardará un número de librerías compartidas en la RAM, para que sea más veloz la carga posterior de otras ventanas del programa. Si usted de pronto decide cerrar Mozilla y abrir la suite OpenOffice, y la RAM no da abasto, las librerías de Mozilla se descargarán para hacer espacio. Esto lleva a un uso óptimo de la memoria y de los recursos del sistema.
Contactarme - Contattarmi
Ningún dato es necesario, salvo antispam y el texto del mensaje.
Nessun dato è necessario, aparte antispam e il testo del messaggio.