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
Ayer me encontré con un inconveniente relacionado con Nagios, actualmente poseo un numero X de usuarios que reciben alertas de un número X de servidores en casos de fallos vía SMS, y adicionalmente tengo dos usuarios destinados a listas de correos departamentales los cuales reciben alertas vía email en caso de algún fallo.
Debido a inconvenientes en uno de los departamentos, las alertas que se envían a estos son con un perfil muy particular es decir, en vez de enviar el “hostname” del equipo envío el ip del equipo que esta fallando, que aunque me critiquen por hacer eso no es algo de mi competencia realizar ese cambio.
Partiendo de esta situación y debido a que hemos tenido que monitorizar un grupo adicional de equipos, los cuales si deben ser enviados en las alertas con su respectivo “hostname” se plantearon dos soluciones, la primera y un poco engorrosa sería crear un segúndo template que se encargue de llamar al command que realiza la ejecución del script que realiza el envió de SMS, cuyo notification-command sea uno nuevo que permita enviar el nombre del equipo y no el ip, crear un segundo contact digamos “user2″ y en el script que creamos para el envío de sms limpiar la cadena del usuario user2 para borrar ese 2 y se envié nuestro sms correctamente. Pero también hay una segunda opción un poco mas sencilla y que requiere un aproximado de 3 minutos, y consiste en crear un command pero en vez de hacer uso de la Macro de Nagios $CONTACTNAME$, usar el $CONTACTALIAS$, esto nos permitirá crear un contacto cuyo nombre sea diferente al de otro pero con alias iguales así podremos inclusive crearle templates de contactos diferentes a cada uno y así enviar distintas alertas.
Para quienes manejan mucha data, es necesario en muchos casos transferir una gran cantidad de información entre uno o varios servidores es por tal motivo que les traigo un uso de un comando que aunque no tiene cifrado en la data que se trasfiere es bastante más rápido que rsync, scp, ftp, entre otros. Estamos hablando de Netcat, y su aplicación es bastante sencilla:
En el servidor donde tenemos el archivo que deseamos transferir debemos ejecutar el siguiente comando:
nc -vv -l 5678 > archivo.txt
Esto hará que el equipo espere la petición de un equipo en el puerto 5678.
Mientras que en el equipo a donde queremos transferir nuestro archivo ejecutaremos lo siguiente:
nc 192.168.0.1 5678 < archivo.txt
Esto realizará la petición al equipo 192.168.0.1, en el puerto 5678 para que envie el archivo.txt que deseamos transferir.
Espero que les sea de utilidad, y si conoces algún otro método para transferir archivos rápidamente no dudes en comentar.
En el caso de Fedora Core 8,9,10,11 y hasta el el 12 no es necesario realizar estos pasos ya que, por defecto se instalan las últimas versiones de los drivers ALSA.
De todas formas para instalarlos o quizás si necesitamos instalar otros paquetes podemos usar los siguientes repositorios.
Ejecutamos el siguiente comando para editar el archivo de repositorios
nano -w /etc/yum.conf
Agregamos las siguientes lineas al final del archivo yum.conf
[atrpms]
name=Fedora $releasever – $basearch – ATrpms
baseurl=http://dl.atrpms.net/f$releasever-$basearch/atrpms/stable
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
gpgcheck=1
enabled=1
exclude=*kmdl*i586*
includepkgs=*alsa*
Importamos nuestro certificado
rpm –import http://ATrpms.net/RPM-GPG-KEY.atrpms
Instalamos los drivers con el comando Yum
yum install alsa-driver
Vía: linwik
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.
En la vida de todo administrador de sistemas, ocurren situaciones que nos hacen reflexionar acerca del uso que le estamos dando a nuestra red, y donde comenzamos a valorar cada bit que usamos en nuestra red. Es por este motivo que hace unos 6 meses decidí tomarme en serio el echo de montar dos repositorios locales de CentOS, uno en la oficina, y el otro en nuestro datacenter, ya que TODAS las instalaciones que realizo las hago a través de la red y muchas haciendo uso del Kickstart de Red Hat, ya uqe es mas eficiente que realizarlo usando discos. A la fecha no se si es posible realizar instalaciones totalmente remotas en Debian (estoy CASI TOTALMENTE seguro que solo se puede por el cochino debootstrap) mientras que los Red Hat based Systems me permiten realizar estas instalaciones desde repositorios http.
Pero bueno ese tema no viene al caso de este How To, cabe destacar que necesitarás unos 30GB de espacio en disco, si quieres hacer un repositorio de 32 bits y otro de 64 bits.
Los pasos son para un repositorio de CentOS v.5
- mkdir -pv /var/www/html/centos/5/os/i386/CentOS/RPMS/
- mkdir -pv /var/www/html/centos/5/os/x86_64/CentOS/RPMS/
- createrepo /var/www/html/centos/5/os/i386/
- createrepo /var/www/html/centos/5/os/x86_64/
Read more…
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.
Hoy necesitaba hacer un iso de un DVD de Windows 7, en mi Macbook, como nunca habia necesitado hacerlo, decidí investigar como hacerlo con dd, como normalmente lo haría en linux, pero sucede que nunca había tenido la necesidad de desmontar un disco en MacOs sin hacer eject del disco. Lo cual es requisito para poder hacer un dd.
Ahora bien el procedimiento es el siguiente:
Read more…