sábado, 26 de septiembre de 2009

Instalar Webmin en Ubuntu paso a paso

webmin-logoWebmin es una interfaz web para la administración de sistemas Linux (Unix). Usando cualquier navegador podemos configurar las cuentas de usuario, Apache, DNS, apagado del equipo, compartir archivos, etc. Además, elimina la necesidad de editar manualmente los archivos de configuración (como /etc/passwd) y nos permite manejar el sistema desde el propio equipo o remotamente.

Webmin está escrito en Perl y ejecuta tanto su propio proceso como su servidor web por lo que no necesitamos tener instalado Apache o cualquier otro servidor web, pero convive sin problemas con ellos. Por defecto se comunica a través del puerto TCP 10.000, y puede ser configurado para usar SSL. Así es como lo lo vamos a instalar en este ejemplo, con SSL.

La instalación de Webmin podemos realizarla tanto en la versión Desktop como en la Server. En este caso, lo hice sobre Ubuntu Server 9.04 pero sería exactamente igual para la versión Desktop.

Los pasos para instalar Webmin en Ubuntu son los siguientes:

  1. Actualizamos la información de los repositorios (fundamental antes de instalar cualquier aplicación):

    sudo aptitude update

  2. Instalamos una serie de paquetes que nos hacen falta para la instalación de Webmin y para que se configure con SSL:

    sudo aptitude install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl

  3. Nos aseguramos de estar en nuestro home:

    cd

  4. Descargamos la última versión de Webmin (la 1.480 en este caso).

    wget http://downloads.sourceforge.net/webadmin/webmin_1.480_all.deb

  5. Instalamos Webmin:

    sudo dpkg -i webmin_1.480_all.deb

  6. Una vez instalado podemos acceder a la interfaz web de Webmin usando un navegador y escribiendo la dirección IP del equipo donde está instalado seguido del puerto donde está escuchando, por defecto, el 10.000. Eso sí, debemos estar atentos porque en vez de usar el protocolo HTTP, usaremos el HTTPS. En mi caso la IP de mi Ubuntu Server es 192.168.1.100:

    https://192.168.1.100:10000

  7. bueno ya esta listo, en teoria solo queda configurar el lenguaje para ver las cosas en castellano y listo.
  8. Una buena practica es poner todo estro detras de un firewall en enrute un puerto cualquiera que le asignemos a nuestra direccion IP al puerto 10000 esto sobre todo si es que vamos a administrar nuestro servidor desde un acceso remoto.
  9. Esta aplicación cuando se instala crea un superusuario para la gestión de la aplicación con nombre root y el pass el que tenga nuestro usuario root en la máquina. Como por defecto la cuenta de root de Ubuntu viene desactivada habrá que cambiar la clave del root de Webmin:

    $ sudo /usr/share/webmin/changepass.pl /etc/webmin root nueva_clave

  10. Ahora está accesible apuntando tu navegador a https://localhost:10000. así verás la pantalla de identificación de Webmin. Idéntificate como usuario root y como password la que pusiste como nueva_clave más arriba y pulsa login para acceder a la pantalla principal de Webmin.


Espero que les sirva
MF

aptitude y apt-get

Aunque podemos instalar programas de forma gráfica, siempre podemos recurrir a la consola para instalar cualquier programa.

A muchos usuarios esta opción les puede parecer un poco más complicada y algo críptica. Nada más lejos de la realidad; cuando uno se acostumbra es mucho más cómodo, fácil y rápido.

Existen dos formas de instalar programas en modo texto: con aptitude y con apt-get.

Ambos programas son muy similares, salvo en un detalle: aptitude recuerda las dependencias que se han aplicado en la instalación de un paquete. Esto significa que si se instala o actualiza una aplicación con aptitude y luego se quiere desinstalar, aptitude borrará el programa junto con todas sus dependencias (excepto si son usadas por otros paquetes). Si se instala con apt-get o con entorno gráfico Synaptic, la desinstalación borrará sólo el paquete especificado, pero no las dependencias.

Uso

  • instalar paquetes:
$ sudo aptitude install 
  • Desinstalar paquetes:
$ sudo aptitude remove 
  • Desinstalar paquetes (incluyendo archivos de configuración):
$ sudo aptitude remove --purge 
  • Actualizar la lista de paquetes disponibles:
$ sudo aptitude update
  • Actualizar el sistema con las actualizaciones de paquetes disponibles:
$ sudo aptitude upgrade
  • Obtener una lista de opciones del comando:
$ sudo aptitude help
Imagen:Nota idea.png Para instalar paquetes desde la línea de comandos también podemos usar apt-get, aunque es preferible el uso de aptitude por el manejo de dependencias.

Convertir paquetes RPM a Deb

Algunas distribuciones de GNU/Linux, como por ejemplo Red Hat, SUSE y Mandriva, usan paquetes .rpm, organizados de manera diferente a los paquetes .deb de Debian y Ubuntu.

Para instalar estos paquetes es preciso convertirlos antes al formato .deb. Para ello se usa la aplicación alien, la cual se puede instalar mediante uno de los métodos explicados en este artículo. La aplicación alien se utiliza de la siguiente manera:

Desde la consola ejecutamos la siguiente instrucción:

$ sudo alien .rpm

De esta forma el programa crea un archivo con el nombre del paquete, pero con extensión .deb, que se podrá instalar siguiendo la explicación

En la mayoria de los casos, por experiencia propia, estos paquetes se convierten sin mayores complicaciones, pero he de aclarar que no en todas las oportunidades se convierten, por lo que es mejor siempre buscar el paquete para Debian/Ubuntu antes de intentar convertir un RPM.

espero que les sirva

Agregar o quitar programas y paquetes en Ubuntu

No se si lo dije antes, yo uso Ubuntu, la verdad me parece seguro, simple y sobre todas las cosas facil de mantener, pero sin polemizar ni entrar en detalles de como me incline por esta distro, voy derecho al grano de esta entrada, agregar o quitar programas de nuestra instalacion.

Si tenemos un paquete .deb que queremos instalar:

ara instalar estos paquetes sólo hay que hacer doble click sobre el fichero en el navegador y automáticamente se lanzará la aplicación gdebi, que se ocupará de instalar el paquete y buscar las dependencias de otros paquetes que pudiera necesitar para su correcta instalación.

Si lo preferimos, también se pueden instalar mediante la línea de comandos, mediante el comando dpkg:

$ sudo dpkg -i .deb

En este caso también habrá que instalar manualmente las posibles dependencias del paquete.

El mismo comando también se puede usar para desinstalar el paquete:

$ sudo dpkg -r 

miércoles, 23 de septiembre de 2009

Conocer el espacio libre y ocupado en disco

A ver...
no me gustan esas personas que dicen que en Linux esto no se puede hacer, aquello tampoco, que es muy dificil...
nada de nada, son vagos....

no importa, sigo dejando aqui comandos que son sencillos pero utiles.

Con estos simples comandos podemos conocer cuanto espacio libre u ocupado tenemos en el disco:
  • df: Muestra el espacio libre del disco
  • du -u fichero1 … ficheroN: Muestra el total que ocupan los ficheros
  • du -s directorio: Muestra el espacio que ocupa el directorio

Si a estos comandos le añadimos además el parámetro “-h“, las cantidades saldrán en un formato de facil lectura (gigabyte, megabyte, etc.) teniendo en cuenta la cifra.


domingo, 19 de abril de 2009

Enlaces simbólicos.

Si hay algo que me parece fantastico son los enlaces simbolicos, una funcionalidad pequeña de este SO, pero no por ello menos robusta.
Y para que sirven?
Bueno para muchas cosas, basicamente un enlace simbólico (symbolic link) es un archivo que apunta a otro archivo o directorio, de ahí cada uno le encontrara la funcionalidad que necesite, yo por ejemplo los uso para no repetir contenido en instalaciones parecidas, por ejemplo que usan las mismas imagenes, o los mismos programas, pero por supuesto cada administrador/usuario le encontrara una utilidad distinta.

como hacer? bueno ahi va...

El comando que se usa es ln

El archivo de enlace simbólico contiene solamente la ruta del otro archivo o directorio.

# ln -s nota nota.ls0
crea nota.ls0 como enlace simbólico.

# ln -s dir2 dir2ls
crea dir2ls como enlace simbólico hacia un directorio.

# ls -l

muestra la letra l en el tipo de archivo para indicar que es un enlace simbólico.

# ls dir2

# ls dir2ls
muestran el mismo contenido de archivos.

# ls -l dir2ls

muestra que es un enlace simbólico e indica hacia donde apunta.

# cd dir2ls
# ls -l
muestra el contenido de dir2, enlazado desde dir2ls.
# pwd
indica el directorio con nombre del enlace, pero
# /bin/pwd
muestra el directorio verdadero, no el enlace simbólico; pwd indica la ruta por la que se llegó al directorio, /bin/pwd indica la ruta de acceso al verdadero directorio. Conviene usar /bin/pwd para evitar ser engañado por enlaces simbólicos a directorios.
El comando pwd es interno del shell, /bin/pwd es un programa aparte.

# cd ..
# mv dir2 DIR2
cambia el nombre del directorio real; el enlace simbólico sigue apuntando a dir2, por lo que
# cd dir2ls
da error, ya que no existe el objeto real.

# mv DIR2 dir2
repone el nombre original al que apunta el enlace.

# rmdir dir2ls
da error porque no es un directorio sino un enlace.

# rm dir2ls
borra el enlace. Un enlace simbólico se borra con rm, y no con rmdir, puesto que el enlace simbólico es un archivo y no un directorio, aún cuando sea un enlace simbólico hacia un directorio.

# ls dir2
cuando se borra un enlace simbólico, sólo se borra un archivo puntero, y no el objeto real.

No hay que confundir los enlaces simbolicos con los enlaces duros (hard link) ya que estos ultimos son algo distinto, son aquellos en el que el acceso es indistinguible del real, y el borrado del enlace provoca el borrado del archivo o directorio si era el último enlace duro al fichero.

Espero que les sirva

Salu2

MF

Eliminando un directorio con datos

Bueno, quizas esto es un tip muy bobo para algunos, una de esas cosas que ya se saben, pero cuanto ayudan esas pequeñas cositas o truquitos a la hora de administrar un sistema, no?

Esta es para la linea de comandos, y se trata de un problema muy comun y es eliminar un directorio o carpeta (para los de Güindous) que no este vacio.

quien no se topó con lo siguiente al escribir en la linea de comandos?

# rmdir directorio
rmdir: directorio/: El directorio no está vacío

esto obviamente porque directorio que queremos borrar contiene datos.

bueno la orden para hacerlo desaparecer del mapa es
# rm -rf directorio

listo no lo veran mas, eso si si tienen los permisos necesarios claro.

saludos

MF

sábado, 18 de abril de 2009

Creando capturas del escritorio en video

Bueno vamos a los bifes...

Con la necesidad de crear una serie de demos y algunos tutoriales surgio la idea de armar unos videos con audio conteniendo la captura de la pantalla y con la voz del operador en off.

Rapidamente por buscar en Google las experiencias de los demas pude ver que la mejor opcion (o al menos la que me convencio) fue recordmydesktop, entonces me dispuse a instalarlo.
Viene en su version de linea de comandos y para los que no les gusta hay un GUI que se lama gtk-recordMyDesktop.
Como hacer, bien.. es sencillo:

# sudo apt-get install recordmydesktop

y si quieren la version grafica, yo la recomiendo porque es muy intuitiva y menos dura para los quejosos y para los practicos tambien.

# sudo apt-get install gtk-recordmydesktop

otra forma es por medio del manejador de paquetes, en mi caso Adept

una vez que se instala podemos ir a una consola y para usarlo

# recordmydesktop

esto comienza la captura, la salida en la terminal sera algo asi
# recordmydesktop
Initial recording window is set to:
X:0 Y:0 Width:1280 Height:800
Adjusted recording window is set to:
X:0 Y:0 Width:1280 Height:800
Your window manager appears to be KWin

Initializing...
Buffer size adjusted to 4096 from 4096 frames.
Opened PCM device hw:0,0
Playback frequency 22050Hz is not available...
Using 44100Hz instead.
Recording on device hw:0,0 is set to:
2 channels at 44100Hz
Capturing!

entonces esta grabando y cuando queremos parar presionamos ctrl-c y listo la salida se graba en un fichero que por defecto se llama out.ogg

Shutting down.Saved 23 frames in a total of 22 requests
....
Encoding started!
This may take several minutes.
Pressing Ctrl-C will cancel the procedure (resuming will not be possible, but
any portion of the video, which is already encoded won't be deleted).
Please wait...
[100%]
Encoding finished!
Wait a moment please...

Done.
Written 443552 bytes
(369984 of which were video data and 73568 audio data)

Cleanning up cache...
Done!!!
Goodbye!
#

si lo quieren ejecutar desde el modo grafico en Kubuntu estara en la opcion Multimedia/gtk-recordMyDesktop
La verdad podria ser mucho mas extenso pero hay miles de tutoriales por ahi de como usar este programa y por cierto es por demas intuitivo, asi que voy al meollo que me lleva a escribir esta entrada...

Bueno todo funciono perfecto cuando lo instale en un equipo que era nuevo y le habiamos instalado Kubuntu 8.04 LTS hacia unos dias, grabamos unos cuantos videos y todos quedamos contentos con los resultados.

Trate de hacer lo mismo en mi portatil Sony Vaio que la tengo instalada tambien con Kubuntu 8.04 LTS pero esta pobre viene siendo actualizada y recontra actualizada desde la version 6.0 y por esas cosas de la vida hay alguna biblioteca que no esta igual y lo que me sucedia es que al ejecutar recordmydesktop luego de unos segundos el programa se quedaba congelado, durmiendo sin actividad.
Busque y recontra busque en la red hasta que di con un bug relacionado con este tema se trata del Bug 244261que aparentemente estaria en la libx11-6,
probe de reinstalarlas y nada asi que ni se gasten.
Me puse a probar las distintas opciones y me di cuenta que este bicho flipaba por alguno de los efectos de escritorio de X, entonces me puse a probar las distintas opciones en la linea de comandos ... et voila!
lo saque...

utilizando el modificador --full-shots ya no hay problemas.

entonces usando

# recordmydesktop --full-shots

o en el modo grafico dentro de Avanzados, "Capturas completas en cada cuadro"=Habilitado

con eso va a funcionar.

Para los mas tecnicos, aparentemente el problema se produce entre las bibliotecas libxcb-xlib.so.0 y libX11.so.6, se trata de algun tipo de error al grabar solo los fragmentos de video que han cambiado, es por eso que el modificador --full-shots que lo que hace es copiar la pantalla entera sin ver lo que ha cambiado hace que ya no se produzca el error.
Y para los que se preocupan por si esto ocuparia mas espacio en el resultado final o haria un archivo mas grande, pues no se estresen ya que cuando se codifica el video, se ignoran las partes repetidas igual que cuando se comprimen archivos.
este es el error que tira ...

"Locking assertion failure"
in
#0 /usr/lib/libxcb-xlib.so.0 [0x7f1caa44997c]
#1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_unlock+0x24) [0x7f1caa449a84]

#2 /usr/lib/libX11.so.6 [0x7f1cacc18260]
#3 /usr/lib/libX11.so.6(XNextEvent+0x62) [0x7f1cacc00c12]
#4 recordmydesktop [0x409fad]
#5 /lib/libpthread.so.0 [0x7f1cac0b63f7]
#6 /lib/libc.so.6(clone+0x6d) [0x7f1caa721b2d]




Espero que les sirva yo renegue bastante hasta que encontre como resolverlo, pueden ver el tema en https://bugs.launchpad.net/bugs/244261.
Que les salgan lindos sus videos, saludos.

MF

Prologo

Bueno, hace tiempo queria hacer esto de documentar mis peripecias con Linux, he de decir que desde ya hace varios inviernos que no uso Güindous, y tambien he de decir que estoy muy contento por ello.
Como experiencia personal puedo decir que siendo yo un tipo de sistemas, habiendo estado sumergido en las computadoras desde los 12 hasta hoy que tengo 33, habiendo pasado por varios sistemas operativos de PC y tocado de oido en muchos mainframes, hoy es inevitable que utilize un SO como Linux.
Como iniciado en los 80 y con mi antigua PC de procesador intel 8088 comence programando con BASIC para luego irme al C crear miles de rutinas con Asembler, y todas esas cosas que queriamos investigar cuando comenzabamos a programar, digo queriamos porque ya no veo que alguien se interese en esas cosas al comienzo, es mas, creo que ya es historia aquel tiempo...
Hoy dedicado de lleno a brindar servicios relacionados con los mismos sistemas que he desarrollado, todos mis servidores y mis PC son maquinas Linux, sin importar que hacen, tienen el SO del pingüinito porque me ha demostrado que no se rompe tan facil y que puedo confiar en el, no solo por conviccion sino por pura demostracion al estar funcionando en equipos que no se apagan nunca, no se cuelgan nunca y no me molestan nunca, es mas a veces suelo pecar de vago y no les hago el merecido mantenimiento y los pobres ni se quejan, siguen firmes y en la huella.

Espero en este blog dejar mis experiencias para que otros usuarios puedan sacar provecho de ellas o para que me las critiquen o para lo que les plazca, de muchos blogs como este he sacado yo mucha ayuda, espero contribuir con mi granito de arena.
Exitos!