Instalar NCTuns 5.0 en Debian Lenny y derivados.
|En la universidad, frecuentemente veo estudiantes de semestres mas altos, con algunas deficiencias de conocimiento sobre GNU/Linux, y esto es algun inconveniente, por que en esta etapa de la carrera hay herramientas educativas muy interesantes que necesitan estar instaladas un sistema operativo, GNU/Linux, Un caso mas especifico es el NCTuns 5.0 el cual es un simulador y emuladores de redes, desarrollado para Fedora 9, este software es muy interesante, sin embargo, me parecio algo raro, ver que siendo GNU/Linux, nos pidiera como requeremiento una distribucion en especial, asi que me puse a la tarea de investigar un poco como instalar esta aplicaciones en mi querido Debian Lenny, obviamente si lograba instalar NCTuns 5.0 en Debian, tambien seria posible en sus derivados como UBUNTU, KUBUNTU, LINUX MINT, etc etc etc. Despues de dos dias de busqueda e investigacion me encontre con un documento que me facilito mucho el trabajo, asi que decidi hacer esta guia en español, para todos aquellos estudiantes que tengan la necesidad de instalar este software y tengan varios problemas para hacerlo en Fedora 9.
Antes que nada debemos tener claro que es el NCTuns 5.0, una pequeña definicion sacada de la guia mencionada anteriormente:
el NCTUns es un simulador de red extensible de alta fidelidad y un emulador capaz de simular varios protocolos usados en redes guiadas y no guiadas.
PROCEDIMIENTO
Inicialmente debemos preparar nuestro sistema, instalando las dependencias necesarias para compilar el codigo fuente de nuestra aplicacion, asi que en consola como root hacemos esto:
apt-get install build-essential
apt-get install rpm
apt-get install tcl8.5
apt-get install tcl8.5-dev
apt-get install xinetd
apt-get install rsh-server
apt-get install libncurses5-dev
apt-get install libqt3-mt
Con estas aplicaciones instaladas ya tendremos nuestro sistema listo para proceder a modificar el fuente del NCTuns 5.0 y seguir con los demas paso.
El siguiente paso es descargar el paquete NCTuns 5.0 y descomprimirlo:
wget http://nsl10.csie.nctu.edu.tw/download/NCTUns-allinone-linux-2.6.25.9-f9.20080919-3.tar.gz
tar xzf NCTUns-allinone-linux-2.6.25.9-f9.20080919-3.tar.gz
cd NCTuns-5.0
Despues de tener las fuentes procedemos a modificarlas, en esta parte del proceso es donde esta la clave, puesto que con los parametros que vamos a modificar, le haremos crear al script de instalacion que tenemos los paquetes rpm instaldos, pero obviamente no es asi, porque no queremos instalar rpm en debian:
Modificamos el archivo install.d/E00common:
# WHICH=»/usr/bin/which –skip-function –skip-alias»
WHICH=»/usr/bin/which»Explicando un poco, buscamos la primera linea y la comentamos con el #. Despues de esta linea agregamos la segunda.
En el mismo archivo buscamos esta linea:
#if [[ `eval echo \\\$$1` =~ ^[Yy]([Ee][Ss])?$ ]]; then
if [[ `eval echo \\\$$1` =~ ^[Yy]\([Ee][Ss]\)?$ ]]; thenEl mismo proceso del punto de arriba, hay que tener en cuenta la diferencia entre esas dos lineas, son los dos \
Seguimos con el archivo install.d/S06check buscamos estas lineas y hacemos esto:
# test rpm package manager whether exists
#RPM=rpm
#export RPM=`$WHICH $RPM 2>/dev/null`
fake_rpm() { echo «fake_rpm»; }
export RPM=fake_rpm
Ahora creamos el archivo /etc/xinetd.d/rlogin con este contenido:
# default: on
# description: rlogind is the server for the rlogin(1) program. The server \
# provides a remote login facility with authentication based on \
# privileged port numbers from trusted hosts.
service login
{
socket_type = stream
wait = no
user = root
log_on_success += USERID
log_on_failure += USERID
server = /usr/sbin/in.rlogind
disable = no
}
Creamos el archivo /etc/xinetd.d/rsh con este contenido:
# default: on
# description: The rshd server is the server for the rcmd(3) routine and, \
# consequently, for the rsh(1) program. The server provides \
# remote execution facilities with authentication based on \
# privileged port numbers from trusted hosts.
service shell
{
socket_type = stream
wait = no
user = root
log_on_success += USERID
log_on_failure += USERID
server = /usr/sbin/in.rshd
disable = no
}
Ya modificamos los archivos, lo que sigue seria compilar el NCTuns 5.0, debemos crear un archivo install.conf con el contenido del archivo install.conf-example, dejando todas las configuraciones habilitadas menos install_kernel (install_kernel=no). Luego ejecutar el script de instalacion como root asi:
./install.sh -c install.conf
Hay que tener en cuenta que las tareas que se esten ejecutando a la hora de la instalacion no tengan estado «skip», si mientras estas instalando el NCTuns te aparece «skip» en cada tarea del script, es por que hiciste algo malo modificando las fuentes del programa, asi que devuelvete y revisa bien el proceso. Si en cambio todo ha salido bien, ya debemos tener nuevo usuario llamado nctuns. Ahora incluimos las variables de entorno del NCTuns 5.0 asi:
nano /home/nctuns/.bashrc
Agregamos al final las siguientes lineas:
export NCTUNSHOME=/usr/local/nctuns
export NCTUNS_TOOLS=$NCTUNSHOME/tools
export NCTUNS_BIN=$NCTUNSHOME/bin
export PATH=${NCTUNS_BIN}:${PATH}nano /root/.bashrc
Agregamos al final las siguientes lineas:
export NCTUNSHOME=/usr/local/nctuns
export NCTUNS_TOOLS=$NCTUNSHOME/tools
export NCTUNS_BIN=$NCTUNSHOME/bin
export PATH=${NCTUNS_BIN}:${PATH}
PARCHANDO Y COMPILANDO EL KERNEL
Hasta aqui llevamos la mitad del proceso y la mas facil ahora viene la parte donde hay que poner mas cuidado. Como todos saben NCTuns 5.0 tiene un propio kernel, es decir, cuando normalmente instalamos esta aplicacion en Fedora, el programa nos instala un kernel propio con configuraciones y caracteristicas especiales para que el programa corra de forma eficiente. Pero como en este caso no lo estamos haciendo en Fedora, debemos parchar un kernel y compilarlo con las fuentes propias de Debian, Muchos diran, solo basta convertir el kernel precompilado .rpm por medio de «alien» un programa que cumple esta funcion, sin embargo esta opcion no es muy segura, asi que procederemos a crear el parchear del kernel:
cd NCTUns-5.0/src/kernel-patch
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.9.tar.bz2
tar jxf linux-2.6.25.9.tar.bz2
mkdir linux-2.6.25.9-nctuns
tar -C linux-2.6.25.9-nctuns -xjf kernel-2.6.25.9nctuns20080826-patches.tar.bz2
LC_ALL=C diff -urP linux-2.6.25.9 linux-2.6.25.9-nctuns | grep -v «^Only in» > nctuns-2.6.25.9.patch
Con esto hemos creado el parche, el siguiente paso es instalar el kernel de debian y parcharlo:
cd /tmp
wget http://puga.vdu.lt/debian/dists/lenny/main/binary-i386/l/linux-2.6.25/linux-source-2.6.25_2.6.25-3~1_all.deb
dpkg -i linux-source-2.6.25_2.6.25-3~1_all.deb
Ya instalamos el kernel asi que vamos a las fuentes y aplicamos el parche creado anteriormente:
cd /usr/src
tar jxf linux-source-2.6.25.tar.bz2
cd linux-source-2.6.25
patch -p1 < /ruta/donde/estaelparche/nctuns-2.6.25.9.patchHay que aclarar que /ruta/donde/estaelparche/ es la direccion donde creamos el parche.
Ahora que ya tenemos el kernel parchado debemos compilarlo e instalarlo de nuevo, no puedo explicar esto por que se me iria muy extenso, sin embargo hace algun tiempo hice una entrada que explicaba la forma de compilar el kernel aca este el enlace: Si hicieron bien la compilada del kernel ya lo tendran instalado y listo para arrancar, asi que reiniciamos y entramos por el kernel
Debian GNU/Linux, kernel 2.6.25-nctuns
Entramos con el usuario nctuns, y posteriormente lanzamos los demonios en 3 consolas diferentes hacemos esto:
dispatcher # 1. consola
coordinator # 2.consola
nctunsclient # 3.consola
Listo despues de un largo proceso, si has seguido todo al pie de la letra, tendras el NCTUns 5.0 instalado en GNU/Linux Debian Lenny, si alguien tiene compiz instalado este puede generar problemas a la hora de la visualizacion, en vez de compiz pueden usar el clasico metacity. Espero que esta guia sea de mucha utilidad para la comunidad estudiantil y sobre todo para la comunidad del software libre, por qure esta aplicacion es una buena alternativa contra el software privativo. Si tienen cualquier duda comentario, sugerencia o problema, quedan bienvenidos a dejarla en los comentarios que con mucho gusto se respondera.
Bacano chino, yo si lo instale de primerazo en Fedora 9, pero aguanta instalarlo en mi debian.
Uyyyy viejo EXCELENTE estoy en esas y ya me habia salido un problema en Fedora 9 jajajaja aunque he investigado para instalarlo, pero teniendo ya la instalación osbre DEBIAN me voy a dar la pela para instalarlo, por cierto tambien estaba haciendo el tutorial en Fedora 9 para que otros lo puedan instalar ;). Ahí estamos charlando si lo logro se lo comparto.
wow!!! bastante genial y el hecho de que le dedicaras tanto a investigar como instalarlo en otras distros hace que tu post valga mucho la pena, en cuanto tenga tiempo lo pruebo en mi Debian… oye, una duda… has probado el packet tracer? salu2!
@luckry13, tienes toda la Razon, soy testigo de cuanto se esforzo Epsilon por lograr que esta aplicación funcionara para Lenny. Por otro lado, no se si Epsilon, pero YO si he probado el ya famoso Packet Tracert, me parece un excelente programa, de hecho muchos laboratorios que se proponen en CCNA se hacen con este software.
Saludos y buen pulso.
Chinaso siguiendo los pasos y despues de haberlos revisados 3 veces y de haber ido a la fuente original que es esta –> http://wiki.ehas.org/index.php?title=How_to_install_NCTUns_in_Debian/Ubuntu
me sale el siguiente error:
./install.sh: line 88: [: !=: unary operator expected
./install.sh: line 93: [: =: unary operator expected
./install.sh: line 106: stop_log: command not found
Justo despues de ejecutar el comando –>
./install.sh -c install.conf
sera que usted me podria brindar alguna ayuda para solucionar este problema. De antemano gracias por su tiempo y colaboracion.
Fortress
Listo despues de solucionar varios problemas especificos de mi version de Debian por fin tengo funcionando el NCTUns. Gracias por el articulo y por la ayuda prestada.
Fortress
buenas noches..
bueno estoy siguiendo las instrucciones pero en la parte donde
nano /home/nctuns/.bashrc
….
-…
ingreso las lineas de codigo y cuando voy a guardar me pide el nombre y asumo que es .bashrc y sale el siguiente mensaje
[ Error guardando ‘.bashrc’: Es un directorio ]
o que nombre hay que colocarle para guardar
por favor ayudenme,
que puedo hacer?? que estoy haciendo mal?
buenas noches..
bueno estoy siguiendo las instrucciones pero en la parte donde
nano /home/nctuns/.bashrc
….
-…
ingreso las lineas de codigo y cuando voy a guardar me pide el nombre y asumo que es .bashrc y sale el siguiente mensaje
[ Error guardando ‘.bashrc’: Es un directorio ]
o que nombre hay que colocarle para guardar
por favor ayudenme,
que puedo hacer?? que estoy haciendo mal?
el sistema que estoy utilizando es ubuntu 9.04
gracias…
Al parecer ya tienes un directorio con ese nombre, seria muy util que pegaras el resultado de un ls -la en el home del usuario nctuns
me sale el siguiente error en ubuntu 10.04 de 64bits
./install.sh: line 88: [: !=: unary operator expected
./install.sh: line 93: [: =: unary operator expected
./install.sh: line 106: stop_log: command not found
Justo despues de ejecutar el comando –>
./install.sh -c install.conf
sera que usted me podria brindar alguna ayuda para solucionar este problema.
He seguido lo pasos para instalar la version 6.0 en mi Ubuntu 10.04, no se si se pueda tambien para esta version. Me sale el siguiente error despues de ejecutar
sudo ./install.sh -c install.conf
ERROR: Cannot find gcc or g++ compiler
pero aparentemente los programas que me arrojan error los tengo instalados.
hola tengo problemas para instalar nctuns 6.0 en ubuntu 10.04 si alguien me puede ayudar kmo realizar la correcta instalacion necesito de ungencia …….
thanks
POR FAVOR NECESITO EL LINK DE DESCARGA DE NCTUNS INCLUIDO FEDORA.