Algo de Linux: noviembre 2007

jueves, 29 de noviembre de 2007

Listas de aplicaciones de software libre

Esta es una interesante lista de enlaces de alternativas de software libre a aplicaciones comerciales, así como tablas de equivalencias, obtenida de solfa.us.es, a la que podemos recurir cuando busquemos aplicaciones de software abierto:

Abanq: Un ERP de software libre multiplataforma

Abanq es un proyecto de software libre basado en otro proyecto anterior conocido como FacturaLUX.

Es un ERP (Enterprise Resource Planning, en español: Planificación de Recursos Empresariales), es decir un sistema de información cuyo objetivo es gestionar la información a través de las diferentes áreas de una empresa (fabricación, compras, recursos humanos, logística, etc.) para agilizar tareas, mejorar los procesos de producción y reducir costes.

Es software libre publicado bajo la GPL.

Y es multiplataforma, lo que quiere decir que la aplicación está disponible para varias plataformas, concretamente Linux, Windows y MAC OSX.

Esta aplicación es una interesante solución dirigida al sector de las PYMES, sobre todo teniendo en cuenta que es software libre.

miércoles, 28 de noviembre de 2007

MediaFire: Hosting gratuito de ficheros

MediaFire nos ofrece alojamiento gratis para nuestros ficheros.

Sus características son:

100% gratis
Espacio en disco ilimitado
Tamaño máximo por fichero:100MB
No es necesario registrarse

Es realmente sencillo subir ficheros. Además, una barra de progreso nos muestra el porcentaje subido en todo momento. Pero lo que más me gusta es que no hay un plazo límite en el que nuestros ficheros puedan ser borrados.

Aquí tenéis la dirección para empezar a subir vuestros ficheros:

http://www.mediafire.com/

Problema en cron "Error: bad username"

El servidor principal del centro se encarga de encender los equipos de los profesores en las aulas cada mañana a las 8:15. Pues bien, uno de los avisos de incidencias que tenía decía que no se habían encendido por la mañana.

Me puse a buscar el problema y me dí cuenta de que de alguna manera el cron no estaba ejecutando lo que yo tenía en el /etc/crontab.

Busqué cron en /var/log/messages y encontré el error que decía "Error: bad username". Y vi que cron no leía lo que había en el archivo /etc/crontab. Después de examinar todas las líneas del fichero, me fijé en la que ejecutaba mrtg:
*/5 * * * * mrtg /etc/mrtg.cfg

Comenté la línea, y, bingo. Problema resuelto.
Por lo que se ve, cron ahora no permite líneas en el crontab sin usuario. Sacando conclusiones, este cambio se debe a que he actualizado recientemente los paquetes del servidor. E imagino que se ha actualizado el paquete crontab.

Mañana cambiaré la línea para que se sigan generando los gráficos del mrtg:
*/5 * * * * root mrtg /etc/mrtg.cfg

Aplicaciones portables en windows

Son aplicaciones portables aquellas que se ejecutan sin necesidad de instalación.


Ésto hoy en día es muy interesante, ya que las aplicaciones pueden almacenarse y lanzarse desde una unidad extraible, como un disco USB, un pen drive, una tarjeta de memoria, o cualquier otro dispositivo de almacenamiento. Es más, si navegamos un poco buscando información sobre el tema nos daremos cuenta de que se tiende a hacer portable todo tipo de aplicaciones.

Las aplicaciones portables son útiles para poder trabajar en distintos equipos, sin tener que instalar aplicaciones.
Por otra parte, teniendo las aplicaciones portables, además de poder llevar con nosotros nuestros datos (como por ejemplo, nuestro correo electrónico), también llevamos los programas que los generan.

En la web Portable Freeware Collection se reseñan bastantes aplicaciones que cumplen, como su nombre indica, dos condiciones: son portables, y gratuitos.

Otros sitios de descarga de aplicaciones portables:

Además, hay herramientas que nos permiten hacer portables aplicaciones instaladas en nuestro ordenador. Ésto se sale un poco del post, así que si os interesa, os recomiendo leer el siguiente HOWTO: http://www.magroberth.com/blog/2007/07/11/como-hacer-tus-aplicaciones-portables-howto/

¿Y por qué pueden interesarnos a nosotros las aplicaciones portables, si son aplicaciones para windows y nosotros trabajamos con Linux? Pues muy sencillo: A veces, por la razón que sea, necesitamos hacer correr una aplicación windows en nuestro Linux. En ese caso, será más fácil hacer funcionar una aplicación portable mediante wine que otra que requiera instalación, puesto que todo lo que necesita la aplicación se encuentra almacenado en el mismo directorio.

ipcalc: Una calculadora de IP's

ipcalc es una herramienta de línea de comandos muy útil para calcular máscaras de red, direcciones de broadcast, etc...

Una cosa que me gusta mucho de ipcalc es que muestra el resultado de los cálculos mediante una sintaxis coloreada.

A ipcalc podemos pasarle como parámetros:
  • Una dirección IP.
  • Una dirección IP y una máscara de red.
  • O una dirección IP, una máscara de red y una segunda máscara para hacer subnetting o supernetting.
Además, podemos pasarle otros parámetros:

-n Hace que el resultado se muestre sin una sintaxis coloreada.

-b Suprime la salida binaria de los cálculos.

-c Sólo muestra el número de bits de la máscara.

-h Muestra los resultados en HTML

-help Muestra la ayuda

-v muestra la versión de ipcalc

Si pasamos tan sólo una IP como parámetro, como por ejemplo:

$ ipcalc 192.168.2.1

ipcalc nos devolverá la dirección IP, la máscara de red, el valor de wildcard, la red, la dirección IP del primer host de la red, la dirección IP del último host de la red, la dirección de broadcast, el número de hosts de la red y la clase de dirección IP:

Address: 192.168.2.1 11000000.10101000.00000010. 00000001
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111
=>
Network: 192.168.2.0/24 11000000.10101000.00000010. 00000000
HostMin: 192.168.2.1 11000000.10101000.00000010. 00000001
HostMax: 192.168.2.254 11000000.10101000.00000010. 11111110
Broadcast: 192.168.2.255 11000000.10101000.00000010. 11111111
Hosts/Net: 254 Class C, Private Internet

Si a ipcalc le pasamos como parámetros una dirección IP, una máscara de red y una máscara de subred, nos devolverá la información de las superredes o subredes que podemos crear con la máscara que indiquemos.

Suele estar disponible en los repositorios de distribuciones debian, con lo que para instalarla, tan sólo tenemos que ejecutar, como root:

# apt-get install ipcalc

lunes, 26 de noviembre de 2007

Freevo: Un Media Center en Linux


Freevo es un media center basado en linux y creado bajo licencia GPL que nos permite transformar nuestro PC en un completo equipo multimedia capaz de reproducir vídeos, música e incluso grabar directamente y en tiempo real desde la televisión.

Freevo
está escrito en Python, es facilísimo de instalar, incluso para usuarios inexpertos, y soporta la mayor parte del hardware existente.

Dispositivos que soporta:

Sintonizadores de TV

Freevo soporta la mayoría de sintonizadores disponibles. Cualquiera de los sintonizadores soportados por linux debería funcionar. En la página: http://freevo.sourceforge.net/hardware/recommended.php
encontraremos la lista de hardware recomendado para asegurarnos de tener compatibilidad.

Control remoto

Podemos encontrar una lista de los controles remotos soportados en la web: http://www.lirc.org/

Entre ellos están Joystick wired/wireless, mando de windows media, control desde móvil bluetooth, teclado wired/wireless...

Visualización

Podemos utilizar como pantalla:
  • LCD/Plasma/Projector with VGA/DVI/HDMI/S-Video/Composite/Component
  • El monitor de un PC
  • TV CRT con S-Video/Video compuesto
Freevo está disponible en live-cd, en código fuente para compilar, o como paquete para algunas de las distros más conocidas.

Para más info, recomiendo visitar la web del proyecto:

http://freevo.sourceforge.net

viernes, 23 de noviembre de 2007

OpenOffice: La suite ofimática de software libre y código abierto

Por si alguien aún no la conoce, OpenOffice es una suite ofimática de software libre y código abierto que incluye las siguientes herramientas:

* Procesador de textos.
* Hoja de cálculo.
* Presentaciones.
* Herramientas para dibujo vectorial.
* Base de datos.

Está disponible para muchas plataformas: Windows, Unix, GNU/Linux, BSD, Solaris, Mac OS X y en muchos idiomas.
Es compatible con los formatos de otras suites ofimáticas comerciales.
Y además, soporta el estándar ISO OpenDocument para el intercambio de datos, y puede ser utilizado sin costo alguno.

Como en los centros educativos de Extremadura, tenemos el sistema operativo LinEx con la suite ofimática OpenOffice, muchos usuarios piensan que es un inconveniente utilizar dicha suite, por tener que adaptar sus documentos hechos en otra suite comercial a OpenOffice. Cuando en realidad, la solución es más sencilla: Lo único que tienen que hacer es instalar OpenOffice en sus casas, ya que además de libre y gratuito, está disponible también para sus equipos con sistema operativo comercial.

Por si alguien se anima a empezar a utilizar OpenOffice:

* Puede descargar la versión para GNU/Linux desde aquí.
* O la versión para Windows desde aquí.

jueves, 22 de noviembre de 2007

Scribus: El Software Libre de la autoedición

Scribus es un programa de software libre para autoedición, muy potente y utilizado en la creación de publicaciones por ordenador que ofrece capacidades para el diseño y diagramación, similares a las ofrecidas por programas comerciales.

Ejemplos de su aplicación: pequeños periódicos, folletos, boletines de noticias, libros...

Está disponible en Linux, Unix, Mac OS y Windows.
Como la versión que tenemos en los repositorios de LinEx es un poco antigüa, he compilado la última disponible a día de hoy (la 1.3.3.9) y he creado un paquete debian. Por si a alguien le interesa, puede descargarlo desde aquí.

SmoothWall: Un cortafuegos GPL basado en linux

SmoothWall es un cortafuegos que se distribuye bajo licencia GPL en dos versiones estándar: Una para procesadores basados en 386 y posteriores, y otra para procesadores de 64 bits.

Podemos descargar SmoothWall desde la web del proyecto:

http://www.smoothwall.org/

Se encuentra alamacenado como un archivo imagen ISO. Una vez que lo descarguemos, lo grabaremos en un CD.

Una cosa que hay que tener en cuenta es que esta herramienta funciona con base en el sistema operativo Linux e incluye, entre otras cosas, un interfaz vía web para su administración y configuración. Ojo. Es un sistema Linux completo. No es una aplicación que se instale en una distribución.

Nos permitirá disponer de un cortafuegos mediante hardware.

La instalación es sencilla y el sistema funciona directamente desde el momento en que lo arrancamos, con una configuración por defecto. No obstante, si necesitamos adaptarlo a nuestras necesidades, podemos hacerlo después de una forma sencilla, mediante nuestro navegador favorito.

El cortafuegos nos ofrece, además del firewall propiamente dicho:
* Un proxy (concretamente Squid).
* Un detector de intrusiones (Snort).
* Un conjunto de herramientas de administración.
* Un servidor DHCP.
* Control de acceso horario.
* Conexión a servidores de hora.
* Posibilidad de crear una VPN (red privada virtual), ...

Los requisitos hardware para instalarlo son:

* Un procesador a partir de pentium 200 o compatible.
* 128 Mb de RAM. Para servicios adicionales se requiere más memoria.
* Un disco duro de al menos 2 Gb. Puede ser IDE o SCSI.
* Al menos una tarjeta de red y otro interfaz, ya sea cable modem, ADSL u otra tarjeta de red.
* El teclado, una tarjeta de video, un monitor y un cdrom sólo son necesarios durante el proces de instalación instalación. Una vez instalado, podemos acceder al cortafuegos desde otra máquina a través de la red.

Como corre en una máquina con unos requisitos, mínimos, podremos aprovechar un viejo ordenador que tengamos aparcado para usarlo como firewall.

Además, no es necesario saber Linux para hacerlo funcionar.

miércoles, 21 de noviembre de 2007

Tuxfinder: Un buscador de paquetes para linux

Algunas veces me pongo a compilar una aplicación desde código fuente porque la versión que hay en la distribución que utilice en ese momento es un poco antigüa. Y, en muchas ocasiones, la aplicación que estoy compilando tiene dependencias de otros paquetes, que ve tú a saber cómo se llaman.

Pues bien, para estos casos, suelo utilizar tuxfinder, un buscador de paquetes que me permite encontrar los paquetes que necesito para resolver las dependencias. Si queréis echarle un vistazo, la dirección es:

http://www.tuxfinder.com/

martes, 20 de noviembre de 2007

Instalar diccionarios de Openoffice en LinEx

Como en todos los sitios donde hay gran cantidad de usuarios, en los centros de secundaria tenemos establecidas cuotas para alumnos y profesores. El problema que hay en linux es que cada vez que un usuario ejecuta una aplicación la configuración de la misma se almacena en su cuenta, con lo que, si la cuota del usuario no es muy grande, con el tiempo se llenará.

En Openoffice, podemos instalar los diccionarios en modo usuario o en modo administrador.
Si los instalamos en modo usuario, dichos diccionarios se almacenarán en las cuentas de los usuarios, concretamente en el directorio /home/usuario/.openoffice.org2/user/wordbook/
El problema es que si instalamos varios diccionarios de varios idiomas, las cuotas de los usuarios pueden llegar al límite.
Así que, para evitar este problema, es preferible instalar los diccionarios en modo administrador. En cuyo caso, los diccionarios se almacenan en /usr/lib/openoffice/share/dict/ooo/

Para instalarlo en todo el centro, primero he entrado en una máquina como root y he arrancado el openoffice writer, he accedido al apartado Instalar diccionarios y he instalado los correspondientes idiomas que se necesitaban: En nuestro caso, español, inglés y francés.

Una vez instalados, he abierto un terminal y he entrado en el directorio /usr/lib/openoffice/share/dict/ooo/

Y he creado un fichero .tar.gz con el contenido del directorio:

# tar cvvfz diccionariosoo.tar.gz *

Además, me he fijado que en nuestra distribución, el fichero con la lista de diccionarios (dictionary.lst) se almacena en el directorio /etc/openoffice/ y en /usr/lib/openoffice/share/dict/ooo/ lo que hay es un enlace a dicho fichero.

Seguidamente he copiado diccionariosoo.tar.gz y dictionary.lst al directorio /var/www/ficheros/ del servidor, y he creado una tarea en /var/www/tareas/ que copia los diccionarios a los directorios donde deben ir en cada máquina.

De este modo, ya puedo tener instalados los diccionarios de español, inglés y francés en todas las máquinas del centro sin que ocupen espacio en las cuentas de los usuarios, cuya cuota se queda un poco pequeña.

lunes, 19 de noviembre de 2007

SystemRescueCD: Una herramienta imprescindible

SystemRescueCd es un sistema Gnu/linux arrancable desde cdrom.

Es una herramienta imprescindible que uso casi a diario en mi trabajo. Nos sirve para reparar nuestro sistema, recuperar datos y particiones tras un fallo, nos permite crear y editar particiones en el disco duro...
Contiene una gran cantidad de utilidades de sistemay herramientas

Soporta los sistemas de archivos mas importantes: ext2/ext3, reiserfs, reiser4, xfs, jfs, vfat, ntfs, iso9660, samba y nfs. Además, nos permite montar unidades ntfs en modo lectura/escritura, lo que nos permite trabajar con recuperación de sistemas Windows también.

Una de las herramientas que más uso es el partimage, para clonar particiones y discos duros.
Otra es el gparted para crear, mover, copiar, redimensionar... particiones de diferente tipo.

Otra de las cosas interesantes que nos ofrece es la posibilidad de hacer versiones personalizadas, a las que podemos añadir nuestros propios scripts y herramientas.

Además, es posible grabar un DVD personalizado con el SystemRescueCD y nuestras copias de seguridad, para hacer por ejemplo DVD autorestaurables.

Por último, comentar que es posible instalar System Rescue CD en un pendrive, muy útil para tener una alternativa de arranque de nuestro sistema de rescate.

Para más información recomiendo visitar la web del System Rescue CD:
http://www.sysresccd.org/

gnuLinEx: Diferentes sabores para diferentes necesidades

La migración de la Administración al software libre ha hecho que en Extremadura contemos con una distribución base gnuLinex que ofrece variantes orientadas a diferentes necesidades.

Podemos descargar la distribución gnulinex 2006 desde su web:
http://www.linex.org/joomlaex/

La última revisión publicada es gnulinex 2006 r3.

En cuanto a las variantes, contamos con:

  • LinEx-Edu en los centros de secundaria.
  • LinEx Colegios en los centros de primaria.
  • SESLinEx en Sanidad.
  • JuegaLinEx, que empaqueta una colección de 150 juegos libres.
Actualmente se está trabajando en LinEx SP (Sector Público). Ésta última variante está siendo diseñada con el objetivo de migrar a software libre todo el sistema administrativo de la Junta de Extremadura.

Podemos descargar JuegaLinEx del siguiente enlace: Juegalinex

Podemos descargar LinexColegios desde aquí:Linexcolegios

Podemos descargar LinExEmpresa desde aquí: LinexEmpresa

ophcrack: Una distro para recuperar las passwords de windows

Ophcrack es una distro de Linux diseñada para obtener las contraseñas de un sistema windows.
Os bajáis la iso, la tostáis en un CD y listo. Cuando queráis obtener las contraseñas de los usuarios de un windows, no tenéis más que introducir el CDROM en la unidad de forma que el sistema se inicie desde cd.

Esta herramienta trabaja sóla. No tenéis que hacer nada. Cuando termine, mostrará en una ventana los nombres de los usuarios y sus respectivas contraseñas.

Podéis descargarla desde aquí:
http://sourceforge.net/project/showfiles.php?group_id=133599

Compilar e instalar wine desde el código fuente

Necesitaba en mi casa una versión más reciente de wine de la que tenemos en los repositorios de LinEx, así que me bajé el código fuente de la última versión (a fecha de hoy la 0.9.49) y me puse a compilarlo.

Creo que tardé más de una hora entre instalar paquetes para resolver dependencias y compilar. Así que, en lugar de instalar con make install, decidí utilizar checkinstall para, de paso, crear un paquete que pudiera instalar en otras máquinas.

Como tiene varias dependencias, de otros paquetes y me ha costado un poquito encontrar el nombre de los mismos, os cuento el proceso de compilación e instalación:

Primero: Abrimos un terminal y descargamos el código fuente de la aplicación. Por ejemplo, desde aquí:

$ wget http://garr.dl.sourceforge.net/sourceforge/wine/wine-0.9.49.tar.bz2

Una vez descargado el código fuente, descomprimimos el paquete:

$ tar xfvj wine-0.9.49.tar.bz2

Una vez descomprimido, se nos habrá creado un directorio con el nombre: wine-0.9.49. Bien, pues entramos en él:

$ cd wine-0.9.49

Una vez dentro, tendríamos que ejecutar el script configure, y éste nos iría informando de paquetes adicionales que debemos instalar, pero como yo ya he ido ejecutando el configure e instalando lo que faltaba, os digo mejor los paquetes que debéis instalar antes de ejecutar el configure:

$ apt-get install flex bison fontforge libfreetype6-dev
libx11-dev xlibmesa-gl-dev

Una vez instalados los paquetes anteriores con el apt-get install, podemos hacer el configure:

$ ./configure

Al ejecutar el configure, debería informarnos de que la configuración ha sido finalizada con un mensaje como el siguiente "
Configure finished.'" ya no debería darnos ningún error.
Por tanto, pasamos a compilarlo:

$
make depend && make

Aquí es done va a tardar un buen rato: Por lo menos una hora...
Una vez compilado, en lugar de instalarlo directamente con make install he preferido ejecutar checkinstall para que además de instalarlo, me creara un paquete que pudiera instalar en otras máquinas. Así que, después de terminar la compilación, me puse como root:

$ su

Y estando como root, ejecuté checkinstall:

# checkinstall

El sistema me instaló wine y me creó un paquete debian que ya he podido instalar en otras máquinas.

Como ya he dicho, el proceso es largo, así que por si alguien quiere ahorrarse el trabajo de compilar e instalar el paquete, puede descargarlo desde aquí.

domingo, 18 de noviembre de 2007

Desinstalar un programa instalado a partir del código fuente

Si lo que queremos es desinstalar un programa compilado a partir del código fuente, cambiamos en la consola al directorio en el que fue descomprimido, compilado e instalado, nos autentificamos como usuario root, y a continuación ejecutamos la orden:

$ make uninstall

Una vez desinstalado, podemos eliminar el directorio donde fue descomprimido si no vamos a volver a utilizarlo.

Compilar e instalar aplicaciones desde código fuente

Compilar aplicaciones

En muchas ocasiones el software que queremos instalar no está empaquetado en nuestra distribución, o lo está pero nos interesa compilarlo para adaptarlo a la configuración de nuestra máquina. En estas ocasiones habrá que recurrir a la consola.

A la mayor parte de los usuarios les dá pánico tener que recurrir a una consola de texto, y más aún pensar en compilar un programa para instalarlo. Si bien hay que decir que en la mayoría de los casos suele ser una tarea bastante sencilla que se hace básicamente con tres órdenes: configure, make y make install.

Lo primero que tenemos que hacer es descomprimir el archivo comprimido que contiene el código fuente del programa que queremos instalar. Tendrá extensión .tar.gz o .tar.bz2. Para descomprimirlo, abrimos una consola y tecleamos la siguiente orden:

$ tar xvzf nombredelprograma.tar.gz (si tiene extensión .tar.gz)
ó
$ tar xvjf nombredelprograma.tar.bz2 (si tiene extensión .tar.bz2)

Una vez descomprimido el archivo, veremos que se ha creado un directorio con el mismo nombre que el archivo que acabamos de extraer, sin la extensión .tar.gz ó .tar.bz2.

Cambiamos a ese directorio tecleando la orden:

$ cd nombredelprograma

Una vez dentro del directorio, debemos leer dos archivos: Uno llamado README y otro llamado INSTALL. En ellos encontraremos las instrucciones de instalación así como las dependencias de otros paquetes.

A continuación deberemos configurar los archivos que nos permitirán compilar el programa.

$ ./configure

Si quisiéramos instalar el programa en otro lugar diferente del que viene predeterminado en el paquete, lo especificaríamos con el parámetro --prefix=directorio donde queremos instalarlo:

$ ./configure --prefix=/usr/local

Al ejecutar ./configure veremos una gran cantidad de mensajes en la consola.

Si nuestro sistema dispone de todo lo necesario para llevar a cabo la compilación de forma satisfactoria, se nos informará en el último mensaje mostrado.

En el caso de que se produzca algún error, deberemos prestar atención a los últimos mensajes mostrados para tratar de solucionar el problema que se haya detectado en nuestro sistema. En ocasiones nos falta algún paquete necesario para la aplicación. Si es así, lo instalaremos y volveremos a ejecutar el ./configure hasta que no nos falten paquetes por instalar.

Si todo fue bien, ya podemos pasar al siguiente punto, que será compilar nuestra aplicación. Eso lo haremos con la orden:

$ make

Dependiendo de la complejidad de la aplicación, del número de archivos de código fuente que la compongan, de la velocidad de nuestro procesador y del rendimiento de nuestro sistema, el proceso puede durar desde pocos segundos hasta varias horas.
Durante todo este tiempo, la consola irá mostrando todo lo que se está haciendo, y tal vez se muestren algunos mensajes de aviso o de error.
En caso de errores, la compilación se detendrá, aunque lo normal es que no ocurra ningún error en este proceso.

Compilaremos nuestras aplicaciones con un usuario normal, pero, para poder instalarlas, necesitaremos tener privilegios de root. Para ello haremos:

$ su

Nos pedirá la contraseña de root. La introduciremos y , finalmente, ya como root, instalaremos la aplicación con el comando:

# make install

Si todo fue bien y no ocurrió ningún error, nuestra aplicación ya estará lista para ser usada.

Hardware compatible con Linux

Muchas veces he comprado hardware sin saber si sería compatible con mi Linux, y, como lo habitual es que los vendedores de hardware sólo conozcan windows, tampoco me han podido confirmar si lo era o no.

Si queréis saber si vuestro hardware es compatible con Linux, sobre todo antes de comprarlo, existe una web que os será de gran ayuda:
http://www.linuxcompatible.org/

De todos modos, si se trata de una impresora, podemos recurrir a:
http://www.linux-foundation.org/en/OpenPrinting

Si lo que buscamos es la compatibilida de una webcam, podemos mirar en:
http://mxhaard.free.fr/

Y si lo que queremos es ver si nuestra tarjeta wifi es compatible con Linux, podemos recurrir a:
http://linux-wless.passys.nl/

sábado, 17 de noviembre de 2007

WebDeveloper: Una extensión para desarrollo web

Web Developer es una de las extensiones más útiles para desarrolladores web. Se integra como barra de herramientas en Firefox.

Web Developer incluye muchas herramientas, cómo validadores CSS, HTML, etc.
También podremos activar y desactivar opciones a las páginas que visitemos, cómo Java, JavaScript, etc.
Además, nos permite obtener información acerca del tamaño y resolución de las imágenes, ocultarlas y hasta cambiar la imagen de fondo, limpiar la caché, historial, autentificación HTTP, borrar los cookies, abrir el inspector DOM, redimensionar la ventana del navegador, editar formularios, visualizar el código fuente, etc...

Podemos descargar la versión 1.1.4 en español del siguiente enlace:
http://descargas.proyectonave.es/extensiones/webdeveloper-1.1.4-es-ES-ff.xpi

FireFTP: Un cliente FTP para Firefox

FireFTP es una extensión muy interesante que nos ofrece un cliente FTP integrado dentro de Firefox. Este cliente es gratuito y, puesto que se instala como extensión del navegador, es multiplataforma.

Además está disponible en castellano.

Podemos instalarlo desde el siguiente enlace:
https://addons.mozilla.org/es-ES/firefox/downloads/file/18646/fireftp-0.97.1-fx.xpi

DownThemAll! Un gestor/acelerador de descargas para Firefox

DownThemAll es una extensión para Firefox que me encanta.

Se integra en el menú de Herramientas de Firefox. Además, si pulsamos con el botón derecho del ratón sobre un enlace de una página web, nos aparecerá la opción de descargarlo con DownThemAll.

Esta herramienta es al mismo tiempo gestor y acelerador descargas. Según la información que ofrece, aumenta la velocidad de descarga hasta un 400%, y permite detener y reanudar las descargas en cualquier momento. Además, nos permite descargar todos los enlaces o imágenes de una página web.

Y una de las cosas que me parecen más importantes es que es freeware y código abierto.

Podemos ver todas las posibilidades que nos ofrece en:
http://www.downthemall.net/howto/features/

Podemos instalarlo desde aquí:
https://addons.mozilla.org/es-ES/firefox/downloads/file/15927/downthemall!-0.9.9.10-fx+tb+fl.xpi

viernes, 16 de noviembre de 2007

gpdftk: Un front-end para pdftk

pdftk es una herramienta muy potente y muy útil para el tratamiento de archivos PDF que se maneja desde la línea de comandos.
Es una herramienta que se puede usar para combinar documentos PDF, separar las páginas PDF en un documento nuevo, descomponer un documento PDF en páginas sueltas, descomprimir y volver a comprimir páginas, descifrar un documento (si sabemos la contraseña), cifrar el documento resultante; y hasta intentar reparar un PDF corrupto...

Como hoy en día estamos tan acostumbrados a trabajar entornos gráficos, para facilitar su uso, y no tener que recordar parámetros y opciones, he creado gpdftk, un front-end para el pdftk.

Está hecho en gambas, por tanto, para utilizarla es necesario tener instalado los paquetes:

* gambas2-runtime (>= 1.9.48)
* gambas2-gb-gtk (>= 1.9.48)

Además, como es un front-end que utiliza pdftk, tiene como dependencia pdftk. Puesto que no tendría sentido instalar gpdftk sin pdftk.

Para que podáis probarlo, aquí dejo un enlace al wiki de administradores: gpdftk

Es un archivo zip: gpdftk.zip

Lo descomprimimos y tendremos el paquete debian, que instalaremos con dpkg:

# dpkg -i gpdftk_0.0-29_i386.deb

jueves, 15 de noviembre de 2007

Algunos comandos útiles para administradores

* Encontrar qué proceso está utilizando más memoria:
A veces algún proceso utiliza demasiada memoria. Podemos ver una lista de los procesos que están corriendo en nuestro sistema, ordenados por consumo de memoria de la siguiente manera:

# ps aux | sort -k 5

* Obtener una lista de archivos ordenada por tamaño:
En ocasiones, nuestros usuarios tienen agotada su quota de disco. Podemos obtener una lista de los archivos que hay en su cuenta ordenados por tamaño accediendo a su home y ejecutando el siguiente comando:

# ls -lR | sort -k 4

* Ejecutar aplicaciones desde el shell y cerrarlo:
Muchas veces cuando ejecutamos tareas o comandos desde un terminal, tardan mucho en acabar. Para no tener que estar esperando a que la tarea termine, podemos utilizar nohup a la hora de lanzar el comando y salir del shell desde el que lo iniciamos. Puede ser muy útil cuando nos conectamos a una máquina remota por ssh para ejecutar un comando o script que tarda mucho en terminar.
- Si ejecuto la tarea directamente, y cierro la conexión ssh, la tarea o comando que estaba ejecutando se finaliza.
- Pero, si ejecuto la tarea con nohup, puedo cerrar tranquilamente la conexión, que el proceso, ya terminara.

La forma de ejecutar el comando sería:

# nohup "comando" &

La tarea se ejecuta en segundo plano y no se cierra cuando cerramos el proceso padre que la lanzó.

* Planificación de tareas:
Con frecuencia, usamos cron para programar tareas, añadiendo las tareas que queremos planificar al archivo /etc/crontab. Pero, a veces, nos interesa programar una tarea para que se ejecute tan sólo una vez. En esos casos, normalmente uso batch o at.

batch nos permite retrasar la ejecución de una orden, de forma que se ejecute, no a una hora determinada, sino cuando la carga de trabajo del sistema lo permita (muy útil para el servidor).
Ejecutaremos batch desde un terminal:

# batch
El prompt cambia y nos muestra el siguiente:
at>
Bien, pues ahí podemos escribir todas las líneas de órdenes que queramos. Cuando terminemos de escribir líneas de órdenes pulsamos CTRL+D y la tarea se almacenará para ser procesada en cuanto la carga del sistema lo permita (Por supuesto, si el sistema no está muy cargado, la ejecuta directamente).

at es otro de los comandos de planificación de tareas. Nos permite programar una tarea para que se ejecute a una determinada hora, un determinado día o en una determinada fecha. Personalmente suelo usarlo cuando me queda alguna tarea por ejecutar, pero llega la hora de irme a casa y no puedo entretenerme o esperar a que llegue dicha hora. Un caso claro: Imaginad que quiero clonar un aula y he metido una tarea que clone los equipos de ese aula al encenderlos. Con at, y los scripts de encendido puedo hacer que se encienda el aula a las 15:00, cuando los alumnos se hayan marchado a casa. Así comenzarán a clonarse sin que yo tenga que estar en el insti a las 15:00. ¿Útil, verdad?

¿Cómo usarlo? Por ejemplo: at 15:00 enciende a18

* Obtener una lista de los ficheros de un usuario:
Muchas veces los usuarios exceden sus cuotas y vienen a decirnos que les da un mensaje que dice: "Su sesión ha durado menos de 10 segundos". Así que tenemos que entretenernos en buscar en su cuenta qué archivos borrarles para liberar espacio. El problema está en que, en ocasiones, tienen archivos en las carpetas de aulas u otras carpetas compartidas.

Para evitar tener que estar buscando dónde demonios tienen archivos, y como sabemos que los ficheros de los usuarios sólo pueden estar en el directorio /home, podemos hacer una búsqueda de todos los ficheros de un usuario de la siguiente manera:

# find /home -user nombredelusuario

* Sincronización de /etc/passwd y /etc/shadow
A veces creamos, borramos o modificamos usuarios de forma manual, tocando los archivos /etc/passwd y /etc/shadow, como por ejemplo, hicimos cuando clonamos los servidores. Ésto, a veces, genera problemas de sincronización entre ambos archivos.

Para comprobar si tenemos problemas en éstos archivos no tenemos más que ejecutar el comando pwck sin parámetros.

# pwck

pwck chequeará dichos archivos y nos informará si hay problemas en ellos. Por supuesto, nos dará algún warning, informándonos de que hay cuentas sin directorio home, como por ejemplo, las de sistema (que no deben tenerlo).

Una vez comprobados los problemas, ya podremos solucionarlos.

Una opción interesante de pwck, para cuando tenemos ambos archivos un poco desordenados es -s. Si ejecutamos:

# pwck -s

Nos ordenarla las entradas de ambos archivos por uid.

Otro comando muy útil cuando tenemos problemas con los archivos de usuarios es pwconv.

pwconv se ejecuta sin parámetros:

# pwconv

Cuando lo ejecutamos, comprueba si existe el fichero /etc/shadow. Si existe, lo renombra a /etc/shadow- y crea un nuevo /etc/shadow a partir del /etc/passwd. Muy útil para generar un /etc/shadow correcto cuando hemos arreglado /etc/paswd.

* Ejecución de tareas secuencialmente.
En ocasiones ponemos tareas en las aulas cuya ejecución simultánea nos causa conflictos.
Por ejemplo, cuando en un script hacemos un apt-get install "loquesea" y seguidamente un dpkg -i paquete. Aunque ejecutemos los comandos uno tras otro, si el proceso del apt-get install no ha finalizado antes de que se lance el dpkg -i, el dpkg -i no se hará.
Podemos hacer que una tarea espere a que termine la otra ejecutándolas con &&.

Ejemplo: apt-get install "loquesea" && dpkg -i paquete

De este modo, el dpkg -i paquete no se hará hasta que no haya terminado el apt-get.

checkinstall: Creación paquetes .deb

A veces no tenemos la aplicación que queremos en formato .deb en nuestra distribución, pero está disponible en código fuente.
Naturalmente podemos instalarla a partir de dicho código fuente sin más que seguir las instrucciones de instalación, que suelen ser habitualmente:

$ ./configure
$ make
# make install

El problema de hacerlo de esta manera está en la dificultad para desinstalar la aplicación, puesto que no sabemos dónde se encuentra cada archivo.

Para solucionar nuestro problema, cuando tengamos una aplicación en código fuente, podemos crear fácilmente un paquete .deb utilizando la aplicación checkinstall.

Si no tenemos instalada esta aplicación, la instalamos:

# apt-get install checkinstall

Una vez instalada, ya podemos crear paquetes a partir de su código fuente. ¿Cómo? Muy sencillo. Ejecutando los siguientes comandos en orden:

$ ./configure
$ make
# checkinstall

De este modo, checkinstall nos instalará el programa, y nos creará un paquete .deb que dejará en el directorio en el que se encuentra el Makefile.

Por supuesto, si la ejecución de ./configure devuelve algún error, debemos instalar todo lo necesario antes de hacer el make.

Y otra cosillla: En los comandos, hemos indicado con el símbolo de petición de orden $ que le comando es ejecutado por un usuario normal y con el símbolo # que el comando debe ser ejecutado por el usuario root.

miércoles, 14 de noviembre de 2007

cups-pdf: Una impresora virtual para convertir archivos a PDF.

Como dice el autor en su web, cups-pdf está diseñado para producir ficheros PDF en una red heterogénea (con diferentes sistemas operativos), proporcionando una impresora PDF en un servidor central.
Este software está disponible bajo la licencia GPL y se encuentra empaquetado para diferentes distribuciones. Además, puede ser instalado directamente desde el código fuente.

Podemos descargarlo desde:
http://www.cups-pdf.de/download.shtml

La última versión disponible en código fuente es la siguiente: cups-pdf_2.4.6.tar.gz

Como LinEx no tiene una versión muy reciente, he preferido instalar el software desde el código fuente.

Los pasos a seguir para instalarlo son:
  • Lo primero es descargar cups-pdf_2.4.6.tar.gz
  • Una vez descargado, descomprimimos: tar xfvz cups-pdf_2.4.6.tar.gz
  • Se nos creará el siguiente directorio: cups-pdf_2.4.6
  • Entramos en el directorio src que hay dentro de cups-pdf_2.4.6
  • Editamos el fichero cups-pdf.h que hay dentro de src, si no queremos que el fichero de configuración de cups-pdf tenga como nombre /etc/cups/cups-pdf.conf
  • Ahora compilamos cups-pdf (No olvidemos que tenemos que estar dentro del directorio src para hacerlo): gcc -O9 -s -o cups-pdf cups-pdf.c
  • Una vez compilado el software, tenemos que instalarlo. Bien, pues instalarlo es tan sencillo como copiar cups-pdf al directorio backend de CUPS (usualmente /usr/lib/cups/backend): cp cups-pdf /usr/lib/cups/backend/
  • Cambiamos los permisos de cups-pdf: chmod 700 /usr/lib/cups/backend/cups-pdf
  • Una vez hecho lo anterior, copiamos el fichero cups-pdf.conf que hay en el directorio extra a /etc/cups/ (o a la localización que hayamos elegido en cups-pdf.h): cp extra/cups-pdf.conf /etc/cups/
  • Podemos modificar cups-pdf.conf sin tener que reiniciar ningún servicio, aunque las opciones por defecto deberían funcionar bien en la mayoría de los sistemas.
  • Por último, copiamos el driver PostScript que viene en el directorio extra: cp extra/PostScript.ppd /usr/share/cups/model/
Una vez instalado, tendremos que configurar la impresora en el servidor. Podemos hacerlo desde cups. P. ej:Mediante el navegador: http://ipservidor:631

Una vez configurada la impresora virtual, cuando un usuario quiera guardar un archivo como PDF, no tendrá más que imprimirlo en dicha impresora.

La primera vez que cada usuario lo use, se creará un directorio llamado PDF en su cuenta, en el que se almacenarán los archivos pdf. Debemos tener en cuenta que si para las cuentas de usuario, estamos exportando el home mediante nfs, en el fichero /etc/exports tendremos que especificar como opción de exportación no_root_squash

Y eso es todo. Tan sólo tendremos que compartir la impresora con las máquinas de nuestra red, para que pueda ser utilizada desde cualquier equipo. La configuración se hace como con cualquier impresora real.

martes, 13 de noviembre de 2007

pdftk - Una herramienta para trabajar con documentos PDF

Voy a dedicar este blog a contar cosas que me parecen interesantes o útiles sobre LinEx o Linux en general. Aunque a la hora de instalar, me referiré al sistema de paquetes Debian, que es con el que habitualmente trabajo.

Como primer tema, comenzaré hablando de pdftk:

pdftk
es una herramienta sencilla para hacer operaciones habituales con documentos PDF, como por ejemplo:
  • Combinar varios documentos PDF.

  • Extraer páginas de un documento PDF.

  • Desencriptar un document, conociendo la contraseña.

  • Encriptar un documento PDF.

  • Descomponer un documento PDF en páginas independientes.

  • Obtener las características del archivo PDF, incluyendo metadatos y marcadores.

  • Descomprimir y volver a comprimir páginas.

  • Intentar reparar un PDF corrupto.

Suele estar en los repositorios, así que instalarla será tan fácil como hacer un:

# apt-get install pdftk


Una vez instalada, ya podremos realizar las operaciones mencionadas al comienzo. Eso sí, para muchos usuarios tiene una pega, y es que es una herramienta de línea de comandos, para la que no hay un front-end gráfico...