Archivo para la categoría "Programación"
Desempolvando NetBSD
Despues de casi 1 año que ya no venia trabajando con NetBSD, que es una version de los sistemas operativos basados en 4.4BSD y cuya filosofia es la portabilidad, actualmente tiene soporte para mas de 50 arquitecturas de computadoras, con decirles que un grupo de personas llego a instalarlo en un tostador.
Pues bueno me decidi a darle una oportunidad a NetBSD, en este caso la version 4.0, como servidor de Backups (aun en pruebas) en una p4, con 1 de Ram y 80 de GB de disco, el proceso de instalacion no varió en nada respecto a las versiones anteriores que usaba, bastante sencillo por decirlo, el wizard te guia todos los pasos y bueno en estos momentos me encuentro configurandolo remotamente desde mi hogar, y para hacerla un poco mas dificl me instale ksh como Shell para aprender este lenguaje, por lo q me hice un pequeño script que no hace nada importante, pero me sirvio para ir jugando un poco con los principales comandos de este lenguaje, bueno este script nos muestra una consola interactiva para poder instalar los paquetes del arbol de ports de NetBSD y poder usarlo con el administrador de paquetes “pkgsrc”, el cual es muy parecido al portage de gentoo, ya que nos permite instalar binarios y compilar codigo fuente segun nuestras preferencias, a la vez el pkgsrc nos brinda dos arboles uno para la version “stable” y otra para la version “current”, asi como tambien este script nos permitira actualizar el pkgsrc via cvs( en este caso deberemos de tener instalado la aplicacion cvs), bueno pues aqui les dejo este scriptpara conocer un poco de ksh.
#!/bin/ksh
# Direcciones para descargar pkgsrc por FTP
URL_PKGSRC="ftp://ftp.netbsd.org/pub/pkgsrc"
DIR_PKGSRC_STABLE="pkgsrc-2008Q2"
DIR_PKGSRC_CURRENT="current"
NAME_PKGSRC_STABLE="pkgsrc-2008Q2.tar.gz"
NAME_PKGSRC_CURRENT="pkgsrc.tar.gz"
PKGSRC_STABLE="$URL_PKGSRC/$DIR_PKGSRC_STABLE/$NAME_PKGSRC_STABLE"
PKGSRC_CURRENT="$URL_PKGSRC/$DIR_PKGSRC_CURRENT/$NAME_PKGSRC_CURRENT"
# Direcciones para actualizar via CVS
CVSROOT="anoncvs@anoncvs.NetBSD.org:/cvsroot"
CVS_RSH="ssh"
function get_pkgsrc {
print "=================="
print "Elija version de pkgsrc"
print "(1) Version stable"
print "(2) Version current"
print -n "Opcion: "
read op_version
if [[ $op_version = 1 ]];then
get_pkgsrc_stable
NAME_PKGSRC=$NAME_PKGSRC_STABLE
elif [[ $op_version = 2 ]]; then
get_pkgsrc_current
NAME_PKGSRC=$NAME_PKGSRC_CURRENT
else
echo "Tu opcion es incorrecta!!"
exit
fi
}
function get_pkgsrc_stable {
echo "Descargando version estable de pkgsrc..."
echo $PKGSRC_STABLE
ftp $PKGSRC_STABLE
}
function get_pkgsrc_current {
echo "Descargando version current de pkgsrc..."
echo $PKGSRC_CURRENT
ftp $PKGSRC_CURRENT
}
function install_pkgsrc {
echo "Instalando pkgsrc..."
get_pkgsrc
tar zxvf $NAME_PKGSRC -C /usr
}
function update_pkgsrc {
echo "Actualizando pkgsrc..."
cd /usr/pkgsrc
cvs update -dP
}
function getout {
print "Byeee...
"
exit
}
op=1
while [[ $op -ne 3 ]];do
print "Elija que opcion desea realizar: "
print "(1) Instalar pkgsrc"
print "(2) Actualizar pkgsrc"
print "(3) Salir"
print -n "Opcion: "
read op
#done
case $op in
1) install_pkgsrc;;
2) update_pkgsrc;;
3) getout;;
*) print "Opcion incorrecta
"
esac
done
exit
Como ven el codigo es bastante simple pero nos servira para reconocer el funcionamiento los principales comandos de ksh.