Para todo Administrador de Sistemas Linux, hay herramientas indispensables que nos facilitan el trabajo a niveles inimaginables como es el caso de SED. Sed es una herramienta que nos permite manipular el texto de un fichero, desde cortar lineas, hasta sustituir cadenas de texto, o realizar búsquedas.
Sed ha llegado a ser tan influyente en el Mundo de Unix, que gracias a el y al superpoderoso AWK, Larry Wall decidió desarrollar el lenguaje de programación conocido como Perl ( otro grande en el mundo de Unix).
Hay usos básicos de esta herramienta como los siguientes:
- Sustituir la PRIMERA coincidencia en un fichero determinado
sed ’0,/Coincidencia1/s//nueva_cadena/’ file
- Eliminar la 5ta Línea de un archivo
sed ’5d’ fichero
Como estas existen infinidad de aplicaciones que puede tener esta herramienta muy similar a la aplicación del comando Find del que ya hemos hablado aqui en Techironic.
Y tu? cual es la herramienta que mas usas?
Instalando Freetds con perl DBD::sybase para realizar conexiones a SQL SERVER desde Perl, me encontré con un problema al realizar la instalación de los paquetes en CentOS 64bits, problemas de librerías, paquetes, rpm’s entre otros. La única forma en que pude resolverlos fue la siguiente.
Paquetes Necesarios
http://www.freetds.org/
http://www.cpan.org
Procedimiento
Para realizar la instalación de los paquetes debemos descargar el Freetds del Website en su versión estable con el comando wget como se muestra a continuación
wget url de descarga
Una vez descargado el paquete procedemos a compilarlo de la siguiente forma:
./configure --prefix=/usr/local/freetds --with-tdsver=7.0
make
make install
Una vez echo esto tendremos el driver de freetds instalado, ahora debemos configurarlo y probar que funciona. Para esto es necesario editar el fichero /usr/local/freetds/etc/freetds.conf Agregando el siguiente contenido.
try server login = yes
try domain login = no
[sql1]
host = ip_del_servidor_SQLSERVER
port = 1433
tds version = 8.0
Read more…
Categories: Comandos, How To, Linux, Programación, Sistemas Operativos Tags: dbd::sybase, dbi, freetds, MS SQL SERVER, perl, perl SQL SERVER, sqlserver
Muchas veces sucede que hemos montado una unidad en nuestro equipo ó servidor, y luego cuando ya no la necesitamos deseamos desmontarla y obtenemos un error de “Device busy“. La primera reacción a este error es revisar si estamos en alguna ruta que involucre a esta unidad, o por otra parte cerrar todos los terminales que tengamos abiertos para que sea mas sencillo, pero sucede en muchos casos que a pesar de realizar estas acciones algún proceso se queda zombie en esa unidad. Es por tal motivo que la recomendación es usar el comando fuser el cual nos permitirá conocer el pid del proceso que hace uso de la unidad o partición. Lo usaríamos de la siguiente forma:
# fuser -m /dev/sdc1
/dev/sdc1: 538
# ps auxw|grep 538
donncha 538 0.4 2.7 219212 56792 ? SLl Feb11 11:25 rhythmbox
Luego es suficiente con hacer un kill al proceso 538 y esto matará el proceso rhythmbox y permitirá que desmontemos nuestra partición sin problemas.
Vía: ocaoimh
CentOS + DRBD + HeartBeat + MYSQL
DRBD (Distributed Replicated Block Device), es un sistema para almacenamiento distribuido usado en Linux para realizar replicaciones de sistemas de archivos por bloques. Este paquete consiste en un modulo del Kernel drbd-kmod, y scripts que permiten que se puedan realizar replicaciones muy similares a un RAID 1, en red.
DRBD se suele usa acompañado de herramientas de High Availability (HA), como Heartbeat, para lograr servidores de alta disponibilidad.
Paquetes Necesarios
En el siguiente ejemplo utilizaremos como base un sistema 32 bits, para lo cual necesitaremos instalar por Yum, o por RPM los siguientes paquetes.
• drbd.i386
• kmod-drbd.i686
• MySQL-server <– Aplica a nuestro caso se puede usar cualquier otro servicio.
• Heartbeat*
• Gnutls*
• Ipvsadm*
Para ejecutar el modulo de drbd en el kernel debemos ejecutar lo siguiente:
• modprobe drbd
Read more…
Mucho he hablado de los problemas con los que me he encontrado en la instalación y mantenimiento de diferentes servidores. Una de las soluciones que he implantado ha sido la creación de un repositorio local de CentOs. Ahora le tocó el turno a Debian, ya que necesito que las tareas de actualización se hagan de la forma mas eficiente.
Para la creación de repositorios en Debian, es un poco mas sencilla:
- Instalamos el paquete que nos permitirá crear nuestro repositorio.
apt-get install debmirror
- Vamos al directorio de nuestro apache o donde queramos crear nuestro repositorio en mi caso /var/www/ y ejecutamos los siguiente que creará el repositorio para las distribuciones etch, sid, lenny para la arquitectura i386 en la carpeta debian. (Estos parámetros son configurables a nuestro agrado)
debmirror –debug –method=http –dist=etch,sid,lenny –nosource –arch=i386 –host=ftp.debian.org –ignore-release-gpg debian
- Creamos un repositorio de los paquetes de seguridad para cada distribución en nuestro caso etch, y en la arquitectura i386 en el directorio debian-security.
debmirror –debug –method=http –dist=etch/updates –nosource –arch=i386 –host=security.debian.org -r=/ –section=main,contrib,non-free debian-security/
A esto solo faltaría configurarle el apache con un vhost, para que todo marche a la perfección.

W: GPG error: http://security.debian.org stable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F9A2F76A9D1A0061
A muchos usuarios de debian les habrá ocurrido este error más WTF! y descriptivo que ninguno en la vida pues bien la solución a este inconveniente consiste en la ejecución de dos comandos bastante simples a decir verdad.
gpg --keyserver hkp://wwwkeys.eu.pgp.net --recv-keys F9A2F76A9D1A0061
OJO: cambiar F9A2F76A9D1A0061 por el Key que te aparecer cuando ejecutas el apt-get update.
gpg --armor --export F9A2F76A9D1A0061 | apt-key add -
El primer comando se realiza para generar la clave publica que usaremos cuando nos tengamos uqe autentificar en algún repositorio. Mientras que el segundo comando es el que usaremos para agregar la clave a nuestro sistema.

Existe una lista bastante básica de comandos y herramientas que todos los Administradores de Sistemas Linux deberíamos conocer para facilitar en muchos casos nuestra vida, a la hora de conocer el status de nuestros servidores en un momento dado.
- TOP – Este comando nos da información en tiempo real de nuestro servidor, por defecto muestra el uso del CPU, y se refresca cada 5 segundos, altamente recomendable.
- VMSTAT – Informacion del Sistema y Hardware: Esta herramienta nos informa del estado de nuestro equipo, los procesos, se puede usar con diferentes entradas para ver estado de la memoria casi en tiempo real.
- W – Este comando nos permite ver que usuarios están conectados a nuestro equipo, y adicionalmente podremos saber que están haciendo en ese momento.
- UPTIME – Este comando nos ofrece información que también se despliega en el comando TOP, entre esa información que se muestra esta, el tiempo que tiene iniciado, la carga, numero de usuarios que están en el equipo actualmente.
- PS - combinado con diferentes opciones ese tomando puede ser muy poderoso al momento de ver los procesos que se ejecutan en nuestro sistema, consumo de memoria de cada uno y de procesador.
- FREE – Con free podemos ver el estado y uso de la memoria en nuestro sistema.
- IOSTAT – Nos provee de información de entrada y salida de nuestro CPU, y Discos es bastante útil al momento de detectar problemas, también es muy útil al momento de monitorizar un NFS.
- SAR – Otro comando muy poderoso, dependiendo de la combinación que se utilice permite realizar reportes de actividad del sistema.
- MPSTAT – En la actualidad cuando la mayoría trabajamos con equipos multiprocesadores Quadcore entre otros, este comando nos permite ver el rendimiento de cada procesador independientemente.
- PMAP – Cuando tenemos problemas de memoria podremos ver el rendimiento usando este comando, incluso hasta podremos monitorizar la memoria que consume un proceso específico.
- NETSTAT – Si quieres conocer las conexiones abiertas en tu equipo este es el comando que debes utilizar.
- SS – Nos provee estadisticas de los sockets de nuestro equipo, similar a Netstat.
- IPTRAF – Más que un comando, es una aplicación bastante interesante y bien trabajada que nos permite monitorizar el tráfico que transita por cada una de nuestras interfaces, puertos ETC…
- TCPDUMP – Además de poderoso este comando nos permite ver todo lo que transita por un puerto en tiempo real, bastante útil al momento de monitorizar cosas muy específicas.
- STRACE – Esta herramienta no he tenido mucho necesidad de utilizarla pero permite realizar debug de nuestro servidor Web, apache, httpd, lighthttp, nginx entre otros.
- /PROC – Aunque esto no es un comando, dentro de este directorio se encuentran archivos muy interesantes como meminfo, cpuinfo entre otros uqe nos permiten ver el hardware instalado en nuestro equipo un simple cat a estos archivos sería suficiente para ver lo que contienen.
- NAGIOS – Este sistema de motorización es extremadamente versátil y útil debido a la infinidad de plugins y comandos que existen y se pueden crear, en la actualizada lo uso para monitorizar 150 servidores, Windows, y Linux, así como sistemas por SNMP, routers, switch, y UPS. Si posees una SMS gateway ó un Móvil para realizar envio de sms a través de Linux, lo puedes usar asi podrías enviar alertas a tu móvil en caso de cualquier incidencia en los equipos.
- CACTI – Este sistema hace uso del SNMP, para realizar gráficas de rendimiento en los dispositivos que envian las trazas vía SNMP.
- KDE System Guard – Ahora para ambientes KDE (NO ME GUSTAN, NO LOS USO), recomiendan el uso de esta herramienta pueden probarla y dejan un comentario en este post.
- GNOME SYSTEM MONITOR – Esta herramienta nos permite al igual que la anterior monitorizar el rendimiento de nuestro equipo con una interfaz bastante amigable.
- A esta lista le agrego el SMOKEPING, es una herramienta que se encarga de monitorizar que nuestros equipos respondan a ping, es bastante útil si quieres monitorizar interfaces genera gráficas de latencia.
- JFFNMS – Esta herramienta también puede ser muy útil, debido a las gráficas que genera para monitorizar equipos a gran escala.
A la lista de Fnot le agregue dos mías que me parecieron bastante interesantes y que uso a diario, espero que les sean de utilidad.
Vía: FNOT
Este es un post que he querido hacer desde hace ya bastante tiempo, y que por motivos de tiempo y proyectos no había podido. Muchos de los que me leen, seguro saben que los iptables son volátiles, y bueno los que no lo sabían pues esnterense que es así, a que me refiero? bueno, básicamente lo que quiero decir es que si uno crea un iptables, y reinicia el equipo/servidor, al iniciar encontrarán con que los iptables no existen.
Que sucede muchos necesitamos que estas reglas se mantengan así el equipo se reinicie es por esto que hay herramientas para solucionar este inconveniente por ejemplo en el caso de Red Hat, que son bastante sencillas. Los pasos en Red Hat para crear un iptables y mantenerlo funcionando aun después de reiniciar serían los siguientes.
- Crear un archivo con la lista de iptables que deseamos crear ó insertarlas una a una.
- Ejecutar el comando service iptables save
Listo, esto nos creara un servicio que podremos iniciar, reiniciar ó parar en el momento que deseemos sin necesidad de recurrir a iptables -F para realizar un flush de las tablas.
En el caso de Debian también es bastante sencillo a decir verdad, los pasos serían.
Luego debemos ejecutar el comando chmod +x /etc/network/if-up.d/iptables. Esto permitirá que el archivo pueda ser ejecutado al inicio.