Solarized VIM
by admin on February 15, 2012
Solarized es un paleta de dieciseis colores diseñado para su uso en la terminal (xterm, gterminal, etc) y la interfaz grafica de usuario.
– tomado del website:
Vim es mi editor favorito, corriendo bajo X podemos cambiar la configuracion de colores en la edicion usando el proyecto Solarized.
Requisitos:
* Vim instalado
* Git
* Consola
Descargamos solarized para vim desde Github.
% git clone git://github.com/altercation/vim-colors-solarized.git
Esto creara un subdirectorio llamado vim-colors-solarized en nuestro /home y nosotros crearemos los directorios necesarios para usar la nueva configuracion de colores.
% mkdir ~/.vim % mkdir ~/.vim/colors ~/.vim/autoload % cp ~/vim-colors-solarized/colors/solarized.vim ~/.vim/colors % cp ~/vim-colors-solarized/autoload/toglebg.vim ~/.vim/autoload
Un sencillo ~/.vimrc queda de la siguiente forma.
syntax enable set background=dark colorscheme solarized
De esta forma tenemos una mejor combinacion de colores al momento de editar programas, usando gvim tambien suele ser muy comodo.
Disfrutalo.
oh-my-zsh
by admin on November 12, 2011
He venido usando zsh desde hace un tiempo como mi shell preferido en BSD.
Hace un par de meses descubrí Oh-my-zsh y empeze a usarlo en mi laptop.
Que es precisamente Oh-my-zsh ? La pagina del proyecto en github, lo denomina un framework para manejar tu configuracion personal de este shell, incluye mas de 40 plugins mas 80 temas y una utileria para actualizarse periodicamente.
Para configurar Oh-my-zsh en OpenBSD 5.0
hice lo siguiente (lo mismo aplica a NetBSD, FreeBSD, excepto la instalacion de paquetes).
Paquetes necesarios: Git y zsh
export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/5.0/packages/i386 $ sudo pkg_add -v zsh-4.3.12 git-1.7.6p0
Cambiamos el shell a zsh
$ chsh -s /usr/local/bin/zsh
Obtenemos Oh-my-zsh via github en nuestro directorio local, renombramos el directorio creado y copiamos un .zshrc a nuestro home.
$ git clone git://github.com/robbyrussell/oh-my-zsh.git $ mv oh-my-zsh .oh-my-zsh $ cp .oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
Reiniciamos nuestra sesion, o en sucaso ejecutamos zsh directamente.
Basta modificar nuestro .zshrc y elegir el Tema dentro de los mas de 50 existentes y reiniciar el shell.
Zsh es bueno, pero extenso, quiza alguien diga lo contrario, quiza no, a mi me gusta y por ello comparto esta experiencia.
zshroadmap(1) es una pagina de manual para un rapido repaso a lo mas importante de ZSH.
Introduccion a Perl
by admin on October 26, 2011
Recientemente fui invitado a la semana academica que celebra el Instituto Tecnologico de Pinotepa con motivo de su aniversario.
Fue para mi grato poder hablar de lo que me gusta a los estudiantes de Ingenieria y Licenciatura respectivamente. Hablé de , una introduccion al lenguaje.
Lo sorprendente es que pocos, habian oido hablar de este lenguaje tan poderoso y bien conocido en la comunidad.
Hable de sus origenes, elementos basicos, porque usarlo y los actuales frameworks escritos en Perl.
Dejo aqui los slides, el codigo fuente en Latex y el .pdf:
El codigo fuente esta en Latex con Beamer Class viene comprimido con gzip, para descomprimirlo, por favor usa:
$ gunzip -d perl.tex.gz
Introduccion a Perl – PDF
Introduccion a Perl – fuentes en Latex
Espero que esto contribuya un poco a la comunidad.
Perl Vive !
Paquetes binarios en NetBSD
by admin on June 29, 2011
Uno de los principales incovenientes de los que muchos usuarios suelen quejarse al probar NetBSD es su sistema de paquetes (pkgsrc), ya que cada programa necesita ser compilado desde los fuentes y probado lo que llega a ser tardado y algunas veces frustrante, el tiempo de compilacion e instalacion llegar a ser critico tratandose de meta-programas; Por ejemplo; compilar OpenOffice 3 quiza tarde unas seis horas o mas dependiendo del equipo, consumiendo recursos y tiempo y en ocasiones pueden presentarse problemas de compilacion, es posible que despues de esto detalles, dejemos el sistema y sigamos con lo que estamos acostumbrado a usar.
Afortunadamente ahora existe pkgin, una utileria al estilo “apt-get” o “yum” para instalar paquetes binarios bajo NetBSD. Es una forma atractiva, facil y elimina el mito aquel o el dolor de compilar desde fuentes.
Puedes bajar el binario de pkgin desde el sitio ftp e instalarlo manualmente con pkg_add(1) y despues proceder con la configuracion anterior.
pkgin usa un simple archivo .conf ubicado en /usr/pkg/etc/pkgin/repositories.conf, este archivo acepta lineas apuntando a servidores ftp o http con depositos de paquetes binarios de NetBSD para una version determinada, por ejemplo:
ftp://ftp.fr.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/5.0/All
Esta linea contiene paquetes binarios para NetBSD 5.0 y la plataforma i386.
Un simple: $ sudo pkgin update creara una lista de paquetes y sus dependecias en una base de datos sqlite3, listos para ser instalados; por ejemplo para instalar apache2 y sus dependencias.
$ sudo pking install apache-2.2.17
Para buscar mysql en la base de datos:
$ sudo pkgin se mysql
Para ver las las opciones de pkgin solo ejecuta el programa sin argumentos.
Realmente tener un sistema NetBSD con los paquetes necesarios, es realmente sencillo con esta utileria, lo mismo para meta-paquetes como gnome, xfce4, kde, e incluso puedes tener un servidor AMP (Apache, MySQL, Perl/PHP) en cuestion de minutos sin esfuerzo, con el soporte del extraordinario pkgsrc.
Nota: Los binarios normalmente se compilan para una version determinada, si usas una version -current quiza tengas algunos resultados inesperados, aunque NetBSD es el rey de la estabilidad.
Espero que este post pueda romper el mito de los paquetes binarios y te animes a probar NetBSD.
Agregando un disco a NetBSD
by admin on June 28, 2011
Tengo en casa un servidor corriendo NetBSD 5.1 stable en un disco SCSI 36gb conectado a una controladora SYMBIOS que soporta siete dispositivos. Es mi necesidad poder en ocasiones compilar pkgsrc/, asi que me decidi a montar un disco extra solo para ese proposito, a continuacion detallo el proceso.
$ dmesg | grep scsibus scsibus0 at esiop0: 16 targets, 8 luns per target scsibus0: waiting 2 seconds for devices to settle... sd0 at scsibus0 target 1 lun 0: <FUJITSU, MAP3367NP, 0106> disk fixed sd1 at scsibus0 target 2 lun 0: <IBM, DDYS-T36950N, S96H> disk fixed
disklabel(8) nos permite crear la etiqueta de nuestra particion en el disco nuevo.
$ disklabel -i -I sd1
$ sudo newfs /dev/rsd1e
/dev/rsd1e: 35003.6MB (71687340 sectors) block size 16384, fragment size 2048
using 190 cylinder groups of 184.23MB, 11791 blks, 23296 inodes.
super-block backups (for fsck_ffs -b #) at:
$ sudo fsck -f /dev/rsd1e
$ sudo mkdir /usr/pkgsrc
$ vi /etc/fstab
/dev/sd1e /usr/pkgsrc ffs rw,log 1 2
$ sudo mount -va
$ df -h
/dev/sd1e 34G 34M 32G 0% /usr/pkgsrc
La instalacion es simple y ahora tenemos un disco aunque de no gran tamaño, bien nos sirve para hacer compilacion de paquetes, sin congestionar nuestro disco del sistema base.
Algunas ocasiones necesitamos limpiar el disco, llenar con ceros, para ello usamos:
# dd if=/dev/zero of=/dev/sd1 bs=8k
Disfruta tu nuevo disco.
Configuracion de pf en NetBSD 5.1
by admin on June 27, 2011
PF (packet filter) es un filtro de paquetes proveniente de OpenBSD; Incorporado en el sistema base desde NetBSD 4.0 y puede ser usado para implementar firewalls.
NetBSD 5.1 incorpora la version 4.2 de pf, por lo que es importante leer la FAQ correspondiente;
En esta ocasion, tengo un servidor corriendo ssh/web/dns y varios intentos de login via ssh, asi que decidi implementar una solucion para mitigar los intentos, para ello use PF y NetBSD 5.1; a continuacion detallo el proceso simple;
Editamos /etc/lkm.conf y anexamos:
/usr/lkm/pf.o - - - - BEFORENET
En /etc/rc.conf
lkm=YES pf=YES pflogd=YES
y manualmente iniciamos el modulo lkm para pf
$ sudo modload /usr/lkm/pf.o
Una vez realizado el proceso, editamos a conveniencia el archivo /etc/pf.conf y agregamos lo necesario, en mi caso:
int_if = "fxp0"
localnet = $int_if:network
tcp_services = "{ ssh, smtp, domain, www, pop3, auth, https }"
udp_services = "{ domain }"
table <bruteforce> persist
block quick from <bruteforce>
pass inet proto tcp to $localnet port $tcp_services \
keep state (max-src-conn 100, max-src-conn-rate 15/5, \
overload <bruteforce> flush global)
persist: Mantiene la tabla en memoria, aunque no haya reglas que refieran a ella.
max-src-conn : Indica el numero de conexiones simultaneas provenientes de un host, puedes incrementar o disminuir este valor segun sea el caso.
max-src-conn-rate: Indica la tasa de transferencia permitida por conexion, aqui es 15 conexiones cada 5 segundos, expresada: 15/5
Overload: Toda conexion que exceda la condicion anterior, sera agregada a la tabla bruteforce, y sera bloqueado todo el contenido de la tabla.
Para ver la lista de IP baneadas, usa la siguiente linea:
$ sudo /sbin/pfctl -t bruteforce -T show
Con estas adiciones podemos bloquear intentos fallidos via ssh hacia nuestro servidor.
Genesis
by admin on January 21, 2011
Despues de algún tiempo de inactividad revivo este blog.
Esta bitacora contendra post relativos a mi trabajo en la fotografia, los sistemas BSD Unix y sobre todo en mi ministerio en la Iglesia de Cristo.
Espero tener el tiempo para escribir lo que quiero, hacerlo con destreza y que mas personas puedan en algun momento beneficiarse de ello.
Dedico este esfuerzo a Jesus nuestro señor primeramente y a mis dos amores, Isabel y Constanza.
