Posts filed under 'SysAdmin'

¿Cómo seleccionar el browser web por defecto en Debian?

Tux MagoTe puede estar pasando que cuando haces click en algún enlace desde Thunderbird (ejem, Icedove…) en Debian, te cargue el navegador Epiphany por más que hayas configurado en “aplicaciones preferidas” que use Firefox (cof, Iceweasel…). Esto es porque Icedove no tiene en cuenta esas configuraciones de GNOME, mas bien hay que configurar a nivel sistema que Iceweasel sea el navegador web por defecto, ¿cómo hacemos esto?

En Debian disfrutamos de una herramienta muy útil llamada “update-alternatives”, que nos permite configurar la aplicación favorita a partir de una lista de opciones. Como root nos logueamos y ejecutamos lo siguiente:

computita:~# update-alternatives --config x-www-browser

Hay 2 alternativas que proveen `x-www-browser'.

  Selección     Alternativa
-----------------------------------------------
*+        1    /usr/bin/epiphany
          2    /usr/bin/iceweasel

Pulse <Intro> para mantener el valor por omisión [*] o pulse un número de selección:

Seleccionamos la opción “2″ y listo, mágicamente el icedove comienza a funcionar como debería: abriendo páginas en nuevas pestañas del iceweasel activo.

Add comment December 3rd, 2007

Cómo comprobar la configuración de un servidor DNS

InternetInternet funciona gracias a un servicio, el más importante de todos: DNS (Domain Name Service).

DNS no es más que una base de datos jerárquica y distribuída que permite a personas de distintos puntos del globo aportar datos de tal manera que los servicios que todos conocemos, funcionen correctamente. Gracias al DNS los servidores de correo electrónico pueden intercambiar mensajes, los navegadores web pueden encontrar los servidores donde pedir las páginas, etc.

Los administradores de sistemas tenemos como tarea, la de configurar los servidores de nombres para que los datos de nuestros dominios sean correctamente publicados en Internet. Lo cierto es que muy pocos administradores de sistemas conocen realmente la manera correcta de configurar un servidor de nombres, y muchas veces caemos en errores que luego sufrimos por cortes de servicio de correos y otros similares.

Por suerte, en GNU/Linux contamos con varias herramientas que nos ayudan a corroborar que la configuración de un dominio está correcta, hoy voy a comentar “zonecheck” una herramienta que tiene la particularidad de no necesitar analizar un archivo de configuración, sino que hace las consultas a los servidores de nombres públicos en Internet.

Zonecheck viene en Debian, así que para aquellos felices usuarios de esta maravillosa distribución de Linux, solo hace falta ejecutar “apt-get install zonecheck” y comenzar a utilizarlo. El comando posee muchas opciones y realmente es conveniente leer con detenimiento su páginal de manual, pero para aquellas personas ansiosas, acá les va un ejemplo:

$ zonecheck -4 -q -vi,x,d fileextensionunknown.com
ZONE  : fileextensionunknown.com.
NS <= : ns1.name.com. [4.79.81.159]
NS    : ns2.name.com. [38.97.225.164]
NS    : ns4.name.com. [38.97.225.165]
NS    : ns3.name.com. [4.79.81.160]

w> The format of the serial number is not YYYYMMDDnn
 | Ref: RFC1912 (p.3)
 |   The recommended syntax is YYYYMMDDnn (YYYY=year, MM=month, DD=day,
 | nn=revision number).
 `—– — – - -  -
 :   The serial 1 doesn’t seem to be in the YYYYMMDDnn format.
 `….. .. .. . .  .
=> ns2.name.com./38.97.225.164
=> ns4.name.com./38.97.225.165
=> ns3.name.com./4.79.81.160
=> ns1.name.com./4.79.81.159

w> [TEST delegated domain is not an open relay]: No route to host - connect(2)
=> generic

w> [TEST can deliver email to 'postmaster']: No route to host - connect(2)
=> generic

w> [TEST domain of the hostmaster email is not an open relay]: No route to host - connect(2)
=> generic

f> [TEST can deliver email to hostmaster]: No route to host - connect(2)
=> generic

==> FAILURE (and 7 warning(s))

Zonecheck realiza numerosas pruebas, y nos va diciendo cuales son advertencias, cuales son errores fatales y en algunas ocasiones, cómo solucionarlo.

Además, para aquellos administradores que no usen GNU/Linux, acabo de poner en línea una herramienta web que utiliza zonecheck de fondo, para poder acceder a esta ventaja aún estando en un Windows: Free DNS Report. ¡Que la disfruten!

1 comment November 17th, 2007

Cannot bind: address already in use

Tux MagoYa sea que estemos intentando iniciar algún servicio, o quizás desarrollando alguna aplicación de red, el mensaje del título tarde o temprano se nos presenta, a veces dejandonos dubitativos.

El mensaje en cuestión significa que el proceso que acabamos de ejecutar intentó reservar algún puerto ya reservado por otro proceso, ¿pero cual será el usurpador de puertos?

Por suerte, tenemos una manera de saberlo de forma fácil.

Gracias al comando fuser, podemos darnos cuenta muy fácilmente de cual es el número de proceso que nos da problemas. Supongamos que necesito saber qué proceso está ocupando ese puerto UDP número 53 que yo quiero usar para mi servidor de juegos de canasta por Internet, debería ejecutar como root:

# fuser 53/udp
53/udp:               2946

Claramente vemos que el proceso cuyo número es 2946 es el que está estorbandonos.

Para no quedarnos fuera de la temática mágica de esta serie de artículos, combinemos este comando con un poco de otros ingredientes:

# ps ax | grep `fuser 53/udp`
53/udp:
 2946 ?        Ssl    0:02 /usr/sbin/named -u bind

Bien, es el proceso del BIND. Como un servidor de DNS es algo no tan importante como un buen juego de canasta, si o si necesitamos eliminar ese proceso que nos molesta, la pócima final que nos salva de este problema es:

# kill `ps ax | grep $(fuser 53/udp) | awk '{print $1}'`

He aqui una manera de divertirse matando procesos, existe otra mucho más interesante, pero como no es orientada a la línea de comandos, no la vamos a ver por el momento.

Como recomendación: dejemos los servidores de juego de canasta y otros servicios similares para los puertos mayores a 1024 :-)

Add comment November 5th, 2007

Cómo liberar espacio en disco

Tux MagoEl día de hoy comienzo una serie de artículos “de divulgación científica” para algunos, o “de magia negra”, para aquellos que no conozcan la flexibilidad que nos da la línea de comandos. Trataré de publicar usos prácticos de nuestro día a día en el uso de GNU/Linux como sistema operativo hogareño y por que no, también de trabajo.

El caso concreto de hoy es el contínuo llenado de nuestro disco con archivos que desconocemos o que no recordamos: un buen día llega y vemos que nuestra partición de datos, que tiene más de 100 GB de capacidad, está al tope. ¿Cómo hacemos para liberar espacio?

Una de las formas posibles es la búsqueda de archivos “viejos”, que no usemos más y que realmente deberían ser parte de algún DVD juntando tierra en nuestra estantería en vez de ocupar nuestros preciosos bytes. Por suerte existe el comando find!

$ find $HOME -type f -atime +365 | wc -l

El número resultante es la cantidad de archivos que tenemos en nuestro directorio personal que no hemos accedido en el último año. ¿Y que puedo hacer para saber cuanto espacio me ocupan esos archivos?

$ find $HOME -type f -atime +365 -exec ls -l {} \; | awk '{suma += $5} END {print suma}'

Lo que nos devuelve este comando es la cantidad de bytes ocupados por los archivos que hace más de un año que no utilizamos. ¿Bueno, y que tal si quiero ver el “top 10″ de archivos viejos más grandes?

$ find $HOME -type f -atime +365 -exec ls -l {} \; | cut -d" " -f5,8- | sort -nr | head -n 10

Finalmente con este comando que sigue, eliminamos cualquier archivo que no haya sido usado en los últimos 3 años:

$ find $HOME -type f -atime +1095 -exec rm {} \;

Esto es todo, ¡a limpiar esos discos! :-)

5 comments October 31st, 2007


About me

Noticias seleccionadas

Calendar

August 2008
S M T W T F S
« Jul    
 12
3456789
10111213141516
17181920212223
24252627282930
31  

Posts by Month

Posts by Category

Technorati