Apartamento En Familia

Apartamento En Familia
Apartamento de playa para vacaciones. http://www.apartamentoenfamilia.es. Número registro HUTT-005768

miércoles, 26 de diciembre de 2012

Sublime Text 2 en Ubuntu 12.10

Sublime Text es un editor de texto y editor de código fuente creado en Python desarrollado originalmente como una extensión de Vim, con el tiempo fue creando una identidad propia, por esto aun conserva un modo de edición tipo villamado Vintage mode.1

Se distribuye de forma gratuita, sin embargo no es software libre o de código abierto,2 se puede obtener una licencia para su uso ilimitado, pero el no disponer de esta no genera ninguna limitación mas allá de una alerta cada cierto tiempo.

(Fuente Wikipedia)


¿Por qué Sublime Text 2?

Los que lo han probado coinciden en que es un antes y un después en los IDE para Linux. Eclipse casi siempre acababa siendo la opción más lógica para programar en casi todos los lenguajes, pero con Sublime Text, parece que esta hegemonía puede terminar. Tiene una versión de gratuita, en la que sale un recordatorio para que pagues si te gusta el programa, o una versión de pago con un coste actual a dia de la edición de este artículo de 60$

Instalación



sudo add-apt-repository ppa:webupd8team/sublime-text-2
sudo apt-get update && sudo apt-get install sublime-text

Una vez instalada la aplicación, la podremos encontrar en el Dash:


¿Como usarlo?

Podéis encontrar una guía completa en http://falasco.org/guia-definitiva-sublime-text-2


Más info



lunes, 24 de diciembre de 2012

martes, 11 de diciembre de 2012

Solucionar el problema "/bin/rm: Argument list too long"

rm es un comando de la familia de sistemas operativos Unix usada para eliminar archivos y directorios del sistema de archivos1 . Esta orden debe utilizarse con cautela, ya que puede ser muy destructiva, debido a que, al momento de ser llamada, por omisión borra los archivos sin pedir confirmación.
Proviene de la palabra remove que significa "borrar" en inglés.

(Fuente Wikipedia)

En algunas ocasiones me ha ocurrido que mirando de borrar los archivos de una carpeta de manera masiva (rm *), he obtenido el error

bash: /bin/rm: Argument list too long

Bien, el problema es bastante claro, ya que nos dice que la cantidad de archivos a borrar es muy grande y no puede gestionarla. La verdad es que uno piensa que un comando como rm tiene que estar preparado para eso y más, pero al final, como todo tiene sus pros y sus contras, la cuestión es encontrar la solución a esa limitación.

¿Que causa el problema?

El problema es una limitación en el buffer de la función exec(), el cual es de 128K. Esta función es usada por muchas otras funciones y por tanto afecta a muchas operaciones. Por regla general, este problema no afecta al dia a dia ni al usuario doméstico, si bien en administración de servidores nos podemos ir encontrando de vez en cuando. Existe una explicación bastante precisa en la wiki de Debian: ArgumentListTooLong
Una traducción aproximada seria esta:

El limite afecta la funcion execve() del kernel, la cual es usada por todas las demás funciones exec() (execl, execlp, execle,etc). La funcion trabaja creando un buffer de 128k al final del espacio de memoria y copiando el comando y el entorno para el nuevo proceso en este espacio. En ese momento el kernel carga el nuevo programa en memoria, configura sus punteros argv y endv, y salta al punto de entrada del programa. El mensaje de error "argument list too long" es causado por el codigo de error !E2BIG, siendo devuelto por la funcion execve(), cuando es incapaz de introducir el argumento y entorno suministrados dentro del buffer de 128k.
(Traducción |_ocutus)


¿Como podemos arreglarlo?

Más que arreglar el problema, deberíamos hablar de como evitarlo. Para evitar que nos salga este error, lo que podemos hacer es borrar de otra manera que no sea mediante rm * .

  • Borrando de uno en uno. Bah... eso no es viable ya que hablamos de que hay quizás más de un millón de archivos a borrar!!
  • Creando un bucle for-do-done:

for i in ls /tmp/*; do rm -v $i -f; done

  • Usando find + xargs:

find . -name '*' | xargs rm

Es facil de entender este comando, pero no aporta gran mejora respecto a usar el bucle for-do-done. Para que aporte mejora podemos hacerlo algo mejor enviando, por ejemplo, de 10 en 10 archivos a xargs:


find ./ -name '*' -print0 | xargs -0 -n 10 rm

Con esto podremos borrar masivamente cualquier cantidad de archivos de una manera óptima. 

 


lunes, 10 de diciembre de 2012

Asociar enlaces de aMule a Firefox en Ubuntu 12.10


aMule es un programa de intercambio P2P libre y multiplataforma, similar al conocido eMule que funciona tanto con la red eDonkey como con Kademlia.
Deriva del código fuente de xMule, el cual deriva del proyecto lMule, el primer intento de portar el cliente eMule a GNU/Linux. Al igual que eMule, aMule se distribuye y publica bajo los términos de la licencia GNU GPL.
El objetivo de aMule es ser un "eMule multiplataforma", funcionando actualmente en los sistemas operativos GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Mac OS X, Irix y Windows, y en las arquitecturas x86, AMD64, UltraSPARC, PowerPC, Macintosh (G4, G5,...), Xbox y NSLU2.
Existen dos versiones de aMule, la versión estable, y la versión de desarrollo (SVN), que se publica diariamente con los últimos avances, aunque no se asegura su estabilidad. aMule admite también enlaces magnéticos.

(Fuente Wikipedia)

Instalar aMule


Para instalar aMule y funcione con Firefox debemos instalar dos paquetes:

amule: https://apps.ubuntu.com/cat/applications/amule/
amule-utils: https://apps.ubuntu.com/cat/applications/amule-utils/

o desde la linea de comandos

apt-get install amule amule-utils

Enlazarlo con Firefox


A mi es una de las cosas que siempre que instalo un Ubuntu de 0 me pasa, que tengo que enlazar el Firefox con los enlaces de amule. Y no es intuitivo activarlo.. has de saber donde tocar y que poner. La manera rápida y efectiva que yo tengo de hacerlo es así:

Tecleamos en la barra de dirección de Firefox about:config. Veremos una pantalla así:



Le damos al botón que nos hace prometer que tendremos cuidado y luego podemos configurarlo:

Mediante el botón derecho tenemos que incluir 4 valores, 3 lógicos y uno de cadena:



Tipo: Logico
network.protocol-handler.external.ed2k
valor: TRUE


Tipo: Logico
network.protocol-handler.warn-external.ed2k
valor: FALSE


Tipo: Logico
network.protocol-handler.expose.ed2k
valor: FALSE




Tipo Cadena
network.protocol-handler.app.ed2k
valor: /urs/bin/amule



Una vez hecho esto reiniciamos el Firefox y ya nos funcionaran los enlaces.

viernes, 30 de noviembre de 2012

Programación en Android desde Ubuntu 12.10


Android es un sistema operativo móvil basado en Linux, que junto con aplicaciones middleware8 está enfocado para ser utilizado en dispositivos móviles como teléfonos inteligentes, tabletas, Google TV y otros dispositivos.9 Es desarrollado por la Open Handset Alliance, la cual es liderada por Google. Este sistema por lo general maneja aplicaciones descargadas desde Google Play, aunque pueden ser instaladas por otros medios.

(Fuente Wikipedia)

Así pues, vamos a preparar nuestro Ubuntu (en el momento de redactar este artículo la versión 12.10) para poder programar aplicaciones para Android.
El primer paso es instalar un entorno de desarrollo integrado (IDE) y luego instalar el Android Development Tools de Google (ADT) para programar en Android. Yo he escogido Eclipse para programar ya que es un IDE muy reconocido y extendido que se integra perfectamente con el ADT.

Así pues, nos lanzamos a programar nuestro primer 'Hello World':

Instalar Eclipse

Para instalar Eclipse vamos al Centro de Software de Ubuntu y buscamos Eclipse. Lo instalamos. (apt://eclipse-platform). Además de esto, si usas un entorno 64bits mira de instalar el ia32-libs

apt-get install ia32-libs

Sinó luego habrán cosas que no te irán
(http://developer.android.com/sdk/installing/index.html#troubleshooting)

Instalar ADT

Una vez instalado el Eclipse, lo abrimos y:


  1. Seleccionamos Help > Install New Software.
  2. Click Add, en la esquina derecha.
  3. En la ventana Add Repository, escribe "ADT Plugin" como Name y la siguiente URL para el  Locationhttps://dl-ssl.google.com/android/eclipse/
    
    
  4. Click OK
  5. En la ventana Available Software, selecciona el checkbox cercano a Developer Tools y haz click en Next.
  6. En la siguiente ventana haz click en Next.
  7. Acepta (si es el caso) la condiciones y licencias.
  8. Cuando la instalación termine reinicia Eclipse.

Configurar ADT

Para configrar ADT, una vez reiniciado Eclipse nos saldrá el Welcome to Android Development y facilmente podremos escoger la opción que más nos interese.

Una vez hecho esto, veremos que empieza a descargarse el Android SDK Tools entre otras cosas.


Programar nuestro "Hola Mundo"

Abrimos Eclipse y vamos a File->New->Project y escojemos Android Application Project



Ahora nos saldrá otra ventana en donde deberemos escoger el nombre y SDK en el que queramos programar.


Después de esto, le damos a Next y veremos otra ventana para configurar el projecto. Si no tenemos muy claro lo que queremos configurar, lo podemos dejar por defecto.


Luego de esta ventana ya nos irán pidiendo unas o otras ventanas dependiendo de nuestras necesidades (icono que queremos, tipo de ventana principal (activity), etc.

Con esto ya nos crea un "Hola Mundo" que podemos ejecutar. 

Android Virtual Device Manager

Tenemos casi todo listo, peeero, puede ser que no veamos los iconos de Android SDK Manager  ni el del Android Virtual Device Manager. 
Esto a mi me ocurrió pese a que en tutoriales que he leido, no siempre pasa. Si os pasa, debeis ir a Window > Customize perspective > Command Groups Availability tab y habilitar Android SDK and AVD Manager


Le dais a Ok una vez seleccionada la opción y ya veréis las opciones. Ahora ya estamos más cerca de poder ejecutar vuestro programa. 

Ahora vamos a crear un dispositivo virtual Android:
Abrimos el AVD Manager yendo al menú Window-> Android SDK and AVD Manager o desde el siguiente icono del menú:


 Le damos al botón New a la izquierda de la ventana del Android Virtual Device Manager. Entonces nos saldrá la siguiente pantalla:

Bien, pues ahora tenemos que rellenarlo de la siguiente manera:
AVD Name: El nombre que recibirá el dispositivo virtual. (sin espacios. Solo letras y números o '-')
Device: Emulará ese tipo de movil (Nexus 7, Galaxy Nexus, etc)
Target: Es la versión de Android que usará en el dispositivo virtual android.

Las demás opciones, no es necesario de inicio configurarlas mucho.

Si usáis 64bits y no habéis instalado el ia32-libs como aconsejé más arriba, el botón OK no se os habilitará.

Una vez creado nuestro móvil virtual, lo arrancamos seleccionándolo y pulsando Start. Una vez arrancado nuestro móvil, podemos darle a 'Run'  en Eclipse y nos saldrá en nuestro móvil.





Listo, ya tenemos nuestra primera aplicación programada para Android funcionando en nuestro Ubuntu 12.10.


Links de interes:





martes, 13 de noviembre de 2012

Nagios3 en Ubuntu (external command, theme, etc)

Nagios es un sistema de monitorización de redes de código abierto ampliamente utilizado, que vigila los equipos (hardware) y servicios (software) que se especifiquen, alertando cuando el comportamiento de los mismos no sea el deseado. Entre sus características principales figuran la monitorización de servicios de red (SMTP, POP3, HTTP, SNMP...), la monitorización de los recursos de sistemas hardware (carga del procesador, uso de los discos, memoria, estado de los puertos...), independencia de sistemas operativos, posibilidad de monitorización remota mediante túneles SSL cifrados o SSH, y la posibilidad de programar plugins específicos para nuevos sistemas.
Se trata de un software que proporciona una gran versatilidad para consultar prácticamente cualquier parámetro de interés de un sistema, y genera alertas, que pueden ser recibidas por los responsables correspondientes mediante (entre otros medios) correo electrónico y mensajes SMS, cuando estos parámetros exceden de los márgenes definidos por el administrador de red.
(Fuente Wikipedia)

Para instalarlo en Ubuntu es tremendamente sencillo. Luego veremos que hay cosas que no funcionan de inicio como nosotros queremos y seguramente querremos tocar. La cosa vendrá que la documentación que encontramos de internet es de versiones anteriores, o de instalaciones realizadas desde el paquete tar ball, etc. Así que vamos a centrarnos en Ubuntu y Nagios:

Para instalarlo:

sudo apt-get install -y nagios3
 
Saldrán pantallas para configurar el nagios que son muy faciles de responder:
 
 

Una vez instalado ya podremos conectar a http://127.0.0.1/nagios3

Ahora bien, veremos que no podemos ejecutar comandos externos. Para habilitarlo necesitamos editar el archivo /etc/nagios3/nagios.cfg y cambiar la linea que pone check_external_commands=0 por check_external_commands=1. ¿Con esto ya funcionará?. Pues no. Dará un error de


Error: Could not stat() command file ‘/var/lib/nagios3/rw/nagios.cmd’!

Para arreglarlo:

root@nagios:~# chmod -R g+x /var/lib/nagios3/rw
root@nagios:~# chown nagios:www-data /var/lib/nagios3/rw/nagios.cmd
root@nagios:~# service nagios3 restart

root@nagios:~# usermod -G nagios www-data

root@nagios:~# service apache2 restart



Tabla comparativa de rutas que podemos encontrar en internet y a que directorio se refiere en nuestro Ubuntu.

binary ………………… /usr/local/nagios/bin/nagios … /usr/sbin/nagios3
configuration files … /usr/local/nagios/etc ………….. /etc/nagios3 & /etc/nagios-plugins/config
plugins ………………. /usr/local/nagios/libexec …….. /usr/lib/nagios/plugins
website files ……….. /usr/local/nagios/share ……….. /usr/share/nagios3/htdocs
command file ……… /usr/local/nagios/var ………….. /var/lib/nagios3




Ahora quizás queremos cambiar el tema de nagios para darle un aspecto algo más agradable.

Instalemos por ejemplo el Nuvola:

Nos descargamos el tar.gz de nagios (enlace más arriba):
wget "http://exchange.nagios.org/components/com_mtree/attachment.php?link_id=46&cf_id=29" -O nagios-nuvola-1.0.3.tar.gz


Luego lo descomprimimos y seria aconsejable leer el readme.txt. Sino lo hacemos da igual porque ya explico yo como hacerlo.

Una vez decomprimido el nagios-nuvola-1.0.3.tar.gz lo que hacemos es mover la carpeta html a /usr/share/nagios3 . Luego, renombramos la carpeta htdocs por htdocs.backup (para tener una copia por si algo no nos gusta). Luego renombramos la carpeta html que habiamos movido a htdocs. Vamos, que la carpeta html que habiamos descomprimido nos sirve para sustituir a /usr/share/nagios3/htdocs .
Con eso ya abremos instalado el tema, pero no lo habremos configurado. Dentro de htdocs (una vez realizado los pasos anteriores) nos encontramos con un archivo llamado config.js. Debeis cambiar la linea donde pone
var cgipath           = "/nagios/cgi-bin/";    
por
var cgipath             = "/nagios3/cgi-bin/";

Con esto ya os funcionará.


Enlaces de interes:
http://askubuntu.com/questions/145518/how-do-i-install-nagios




viernes, 31 de agosto de 2012

Redimensionar partición ext4 sin pérdida de datos


 En ocasiones nos podemos encontrar con el problema de que queremos redimensionar una partición pero esta contiene datos (o incluso el sistema) y no podemos (o no nos apetece) salvar todos los datos y empezar de cero. Así que una alternativa buena puede ser la de redimensionar la partición actual y hacerla más grande o más pequeña. Simplemente tenemos que tener en cuenta que para hacerla más pequeña nunca podemos/debemos hacerla más pequeña que el espacio libre del que dispongamos, ya que sino tendremos pérdida de datos y un disgusto enorme. Así pues, usando unas sencillas herramientas que ya vienen con el sistema, podremos redimensionar fácilmente nuestra partición. Usaremos resize2fs para ello:

Primero nos aseguramos del espacio libre que nos queda:

root@server:/# df -h
Filesystem                       Size  Used Avail Use% Mounted on
/dev/sdb1                        3,7T  1,5T  2,1T  42% /users/home


Y ahora procedemos a redimensionar:

root@server:~# resize2fs /dev/sdb1 2500G
resize2fs 1.42 (29-Nov-2011)
Por favor ejecute antes 'e2fsck -f /dev/sdb1'.





Vaya!! Parece que hay que comprobar el disco antes. Parece lógico. Ante todo asegurar los datos:

root@server:~# e2fsck -f /dev/sdb1
e2fsck 1.42 (29-Nov-2011)
Paso 1: Verificando nodos-i, bloques y tamaños

Paso 2: Verificando la estructura de directorios
Paso 3: Revisando la conectividad de directorios
No se encontró /lost+found.  Crear? no
Paso 4: Revisando las cuentas de referencia
Paso 5: Revisando el resumen de información de grupos
/dev/sdb1: ***** EL SISTEMA DE FICHEROS FUE MODIFICADO *****

/dev/sdb1: 3281220/244064256 files (0.4% non-contiguous), 383150021/976236032 blocks


Venga.. ahora si ¿no?:

resize2fs 1.42 (29-Nov-2011)
Resizing the filesystem on /dev/sdb1 to 655360000 (4k) blocks.
The filesystem on /dev/sdb1 is now 655360000 blocks long.


Bien, pues ahora ya podemos continuar. Lo que haremos ahora es borrar la partición. Si, la borramos pero podemos estar tranquilos porque de hacerlo bien, no perderemos datos.

Para ello usaremos fdisk y borraremos la partición (en el ejemplo la /dev/sdb1).
Si por casualidad usais discos muy grandes (o RAIDS con gran capacidad), tener en cuenta que fdisk no os servirá:

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.


WARNING: The size of this disk is 4.0 TB (3998663944192 bytes).
DOS partition table format can not be used on drives for volumes
larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID 
partition table format (GPT).

Si usais fdisk en la nueva partición empezad por el bloque 1 y acabad por el bloque que os pusiera el resize2fs (en nuestro ejemplo 655360000) y multiplicarlo por 4 (que son los k del bloque). Para daros un poco de margen, multiplicar el resultado por 1.03 o 1.05 y así tendréis un poco más de espacio  no vais tanto al milímetro.

Si usais parted la cosa es similar:
root@server:~# parted /dev/sdb
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) mklabel gpt                                                     
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? Yes
Warning: /dev/sdb contains GPT signatures, indicating that it has a GPT table.  However, it does not have a valid fake msdos partition table, as it should.  Perhaps it was
corrupted -- possibly by a program that doesn't understand GPT partition tables.  Or perhaps you deleted the GPT table, and are now using an msdos partition table.  Is this a GPT
partition table?
Yes/No? Yes                                                              
(parted)                                                                 
(parted) print                                                           
Model: DELL MD32xxi (scsi)
Disk /dev/sdb: 3999GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

(parted) mkpart primary 0GB 3000GB
(parted) print                                                           
Model: DELL MD32xxi (scsi)
Disk /dev/sdb: 3999GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  3000GB  3000GB  ext4         primary

(parted) quit                                                            
Information: You may need to update /etc/fstab.


Con estos pasos tendréis que tener vuestra partición redimensionada.


Fuentes: http://www.howtoforge.com/linux_resizing_ext3_partitions

martes, 14 de agosto de 2012

Solucionar videos en azul en Ubuntu (Youtube, vimeo, etc)


En algunas ocasiones, al actualizar Ubuntu (los archivos relacionados con el flash), los videos se me ven 'apitufados' o 'avatarados'.

La solución que a mi me ha resultado más definitiva es esta:

sudo add-apt-repository ppa:tikhonov/misc
sudo apt-get update
sudo apt-get install libvdpau1

(Fuente: askubuntu.com)

No obstante hay otras muchas soluciones que yo he ido probando con más o menos éxito:


  • Creamos la carpeta /adobe en /etc:
sudo mkdir /etc/adobe
  • Creamos el archivo de texto mms.cfg
sudo gedit /etc/adobe/mms.cfg
  • Pegamos,
EnableLinuxHWVideoDecode=1
en el fichero, guardamos y reiniciamos el explorador.

Esta opción me solucionó el problema, si bien creó muchas inestabilidades en el navegador.

En una web encontre un listado de soluciones muy trabajado:
http://n3ri.com.ar/2012/03/solucion-al-problema-de-flash-player-en-ubuntu-los-videos-se-ven-de-color-azul/ no obstante, la solución que yo planteo no estaba y justamente es la que mejor me ha ido.

Espero poder ayudaros.

miércoles, 27 de junio de 2012

psyBNC en Ubuntu

psyBNC es un programa muy parecido a un BNC aunque es más avanzado y es mucho más fácil de configurar. Este corre en otro servidor (shell), permitiéndote conectarte a él como un servidor IRC, y a través de él, conectarte a un verdadero servidor IRC o ftp usando la ip del servidor donde se encuentra este psybnc.
Las razones por las que utilizamos un PSYBNC para ingresar a Internet es por razones de seguridad. Es decir que cuando ingresamos al IRC con un psyBNC, nuestro Host real no es mostrado, y en cambio son utilizados Host Virtuales, provistos por la compañía, a la que le estamos rentando la Shell.
Otra de las razones para usar una psyBNC son dejar su nick conectado las 24 horas con una IP diferente a la de su máquina y con su pc apagada, ya que cuando usted se desconecta del IRC, el nick sigue corriendo en la máquina donde está corriendo la psyBNC, así mismo también ese nick tendrá la ip de la máquina donde está la psyBNC, y al conectarse nuevamente podrás recuperar la sesión y tendrás un log de todo lo acontecido. También la psyBNC esconde tu IP para sesiones DCC donde en condiciones normales se vería su IP real.
(Fuente Ayuda Digital)

Así que vamos a mirar de instalarlo.

cd
wget http://www.psybnc.at/download/beta/psyBNC-2.3.2-7.tar.gz
tar -zxvf psyBNC-2.3.2-7.tar.gz
cd psybnc
Hasta que lo hemos descargado, descomprimido y nos situamos dentro de la nueva carpeta descomprimida. Ahora vamos a mirar de configurarlo. Para ello podemos o no tener las librerias ncurses instaladas. Sino las tenemos (opción necesitada por defecto), podemos mirar de usar las librerias curses. Sino el programa de configuración nos recordará el problema:

make menuconfig
Initializing Menu-Configuration
[*] Running Conversion Tool for older psyBNC Data.
[*] Running Autoconfig.
System: Linux
Socket Libs: Internal.
Environment: Internal.
Time-Headers: in time.h and sys/time.h
Byte order: Big Endian.
IPv6-Support: Yes.
async-DNS-Support: Yes.
SSL-Support: Yes.
Creating Makefile
Random Seed created.
[*] Creating Menu, please wait.
This needs the ncurses library. If it is not available, menuconf wont work. If you are using curses, use make menuconfig-curses instead.
make: *** [menuconfig] Error 1

Bien, pues sino tenemos ncurses, las instalamos. Miramos que versión tenemos disponible:
dpkg -l|grep ncurses
ii  libncurses-ruby1.8              1.2.4-2                           ruby Extension for the ncurses C library
ii  libncurses5                     5.7+20090803-2ubuntu3             shared libraries for terminal handling
ii  libncursesw5                    5.7+20090803-2ubuntu3             shared libraries for terminal handling (wide
ii  mtr-tiny                        0.75-2build1                      Full screen ncurses traceroute tool
ii  ncurses-base                    5.7+20090803-2ubuntu3             basic terminal type definitions
ii  ncurses-bin                     5.7+20090803-2ubuntu3             terminal-related programs and man pages
Y la instalamos. Hay que tener en cuenta que no son exactamente las ncurses lo que necesitamos, sino las fuentes de ncurses para poder compilar en psyBNC.

sudo apt-get install libncurses5-dev libncursesw5-dev

Ahora si, hacemos make menuconfig y nos saldrá el menú de configuración. Una vez acabada la configuración, veremos un mensaje como este:

Now compile psyBNC using make, if not yet compiled, or if Options were changed.
done.
Ahora ya podemos compilar:
make
Se compilará sin problemas. Así que despues podremos ejecutar ya nuestro psyBNC:
./psybnc
Veremos algo como esto:

.-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-.
 ,----.,----.,-.  ,-.,---.,--. ,-.,----. 
 |  O ||  ,-' \ \/ / | o ||   \| || ,--' 
 |  _/ _\  \   \  /  | o< | |\   || |__  
 |_|  |____/   |__|  |___||_|  \_| \___| 
      Version 2.3.2-7 (c) 1999-2003
              the most psychoid          
      and  the cool lam3rz Group IRCnet  
                                         
`-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=tCl=-'
Configuration File: psybnc.conf
Language File: psyBNC Language File - English
No logfile specified, logging to log/psybnc.log
Listening on: 0.0.0.0 port 31337
psyBNC2.3.2-7-cBtITLdDMSNpE started (PID 16613)


Pues ya lo tenemos. Ahora nos conectamos a nuestro bouncer y podemos conectar a nuestro iRC server mediante nuestro bnc:
/server 82.211.13.24 43568 Change_Me


La primera vez que nos conectamos nos validamos con un password y como somos el primero en entrar en el sistema, seremos el admin:

<-psyBNC> You are the first to connect to this new proxy server.
<-psyBNC> You are the proxy-admin. Use ADDSERVER to add a server so the bouncer may connect.
<-psyBNC> psyBNC2.3.2-7 Help (* = BounceAdmin only)
<-psyBNC> --------------------------------------
<-psyBNC> BHELP   BWHO            - Lists all Users on the Bouncer
<-psyBNC> BHELP   PASSWORD        - Sets your or another Users Password(Admin)
<-psyBNC> BHELP   BVHOST          - Sets your vhost to connect thru
<-psyBNC> BHELP   PROXY           - Sets your proxy to connect thru
<-psyBNC> BHELP   SETUSERNAME     - Sets your User Name
<-psyBNC> BHELP   SETAWAY         - Sets your away-Text when you leave
<-psyBNC> BHELP   SETLEAVEMSG     - Sets your Leave-MSG when you leave
<-psyBNC> BHELP   LEAVEQUIT       - If set to 1, parts all channels on quit
<-psyBNC> BHELP   SETAWAYNICK     - Sets your nick when you are offline
<-psyBNC> BHELP   JUMP            - Jumps to the next IRC-Server
<-psyBNC> BHELP   BQUIT           - Quits your current Server Connection
<-psyBNC> BHELP   BCONNECT        - Reconnects a bquitted Connection
<-psyBNC> BHELP   AIDLE           - Enables/Disables Antiidle
<-psyBNC> BHELP   AUTOREJOIN      - Enables/Disables Auto-Rejoin
<-psyBNC> BHELP   ADDSERVER       - Adds an IRC-Server to your Serverlist
<-psyBNC> BHELP   DELSERVER       - Deletes an IRC-Server by number
<-psyBNC> BHELP   LISTSERVERS     - Lists all IRC-Servers added
<-psyBNC> BHELP   ADDNETWORK      - Adds a seperate Network to your client
<-psyBNC> BHELP   DELNETWORK      - Deletes a Network from your client
<-psyBNC> BHELP   SWITCHNET       - Switches to a given Network
<-psyBNC> BHELP   ADDOP           - Adds a User who may get Op from you
<-psyBNC> BHELP   DELOP           - Deletes an added User who got Op
<-psyBNC> BHELP   LISTOPS         - Lists all added Ops
<-psyBNC> BHELP   ADDAUTOOP       - Adds a User who gets Auto-Op from you
<-psyBNC> BHELP   DELAUTOOP       - Deletes an added User who got Op
<-psyBNC> BHELP   LISTAUTOOPS     - Lists all added Auto-Ops
<-psyBNC> BHELP   ADDBAN          - Adds a ban (global or to a channel)
<-psyBNC> BHELP   DELBAN          - Deletes a ban by Number
<-psyBNC> BHELP   LISTBANS        - Lists all bans
<-psyBNC> BHELP   ADDASK          - Adds a host/bot to ask Op from
<-psyBNC> BHELP   DELASK          - Deletes a host/bot to ask Op by Number
<-psyBNC> BHELP   LISTASK         - Lists the hosts/bots to ask Op from
<-psyBNC> BHELP   ADDIGNORE       - Adds a hostmask/contentfilter to the ignores
<-psyBNC> BHELP   DELIGNORE       - Deletes a hostmask/contentfilter from the ignores
<-psyBNC> BHELP   LISTIGNORES     - Lists the currently added ignores
<-psyBNC> BHELP   ADDDCC          - Adds a DCC-Connection to a bot
<-psyBNC> BHELP   LISTDCC         - Lists all added DCC-Connectionc
<-psyBNC> BHELP   DELDCC          - Deletes a DCC-Connection by number
<-psyBNC> BHELP   DCCCHAT         - Offers a DCC Chat to a given IRC User
<-psyBNC> BHELP   DCCANSWER       - Answers to a DCC Chat-Request
<-psyBNC> BHELP   DCCENABLE       - Enables/Disables DCC thru psybnc
<-psyBNC> BHELP   DCCSEND         - Sends a file to a given IRC User
<-psyBNC> BHELP   DCCGET          - Gets a DCC Send File from an IRC User
<-psyBNC> BHELP   DCCSENDME       - Sends the bouncer User a File
<-psyBNC> BHELP   AUTOGETDCC      - always get offered Files
<-psyBNC> BHELP   DCCCANCEL       - Cancels a dccchat or a transfer
<-psyBNC> BHELP   PLAYPRIVATELOG  - Plays your Message Log
<-psyBNC> BHELP   ERASEPRIVATELOG - Erases your Message Log
<-psyBNC> BHELP   ADDLOG          - Adds a Log source / filter
<-psyBNC> BHELP   DELLOG          - Deletes a Log source by number
<-psyBNC> BHELP   LISTLOGS        - Lists all added Log sources/filters
<-psyBNC> BHELP   PLAYTRAFFICLOG  - Plays the Traffic Log
<-psyBNC> BHELP   ERASETRAFFICLOG - Erases the Traffic Log
<-psyBNC> BHELP   ENCRYPT         - Encrypts talk to a given channel/user
<-psyBNC> BHELP   DELENCRYPT      - Deletes an encryption entry by number
<-psyBNC> BHELP   LISTENCRYPT     - Shows a List of encrypted talks
<-psyBNC> BHELP   TRANSLATE       - Adds a translator to/from channels/users
<-psyBNC> BHELP   DELTRANSLATE    - Deletes a translator by number
<-psyBNC> BHELP   LISTTRANSLATE   - Shows a List of translated talks
<-psyBNC> BHELP * BREHASH         - Rehashes the proxy and resets all Connections
<-psyBNC> BHELP * MADMIN          - Gives a User an Admin flag
<-psyBNC> BHELP * UNADMIN         - Removes the Admin flag from a User
<-psyBNC> BHELP * BKILL           - Kills a User from the proxy
<-psyBNC> BHELP * SOCKSTAT        - Shows/Logs the current Connections
<-psyBNC> BHELP * ADDUSER         - Adds a new User to the Bouncer
<-psyBNC> BHELP * DELUSER         - Deletes a User from the Bouncer
<-psyBNC> BHELP * NAMEBOUNCER     - Names your bouncer (needed for linking)
<-psyBNC> BHELP * LINKTO          - Adds a bouncer Link to the Host/Port
<-psyBNC> BHELP * LINKFROM        - Adds a bouncer Link from your Bouncer
<-psyBNC> BHELP * RELAYLINK       - Allows or disables a relayable Link
<-psyBNC> BHELP * DELLINK         - Deletes a Link to a bouncer
<-psyBNC> BHELP   LISTLINKS       - Lists all Links to/from the Bouncer
<-psyBNC> BHELP * RELINK          - Resets a link to a bouncer by number
<-psyBNC> BHELP * PLAYMAINLOG     - Plays the Connection Log
<-psyBNC> BHELP * ERASEMAINLOG    - Erases the Connection Log
<-psyBNC> BHELP * ADDALLOW        - Adds a host allow to connect
<-psyBNC> BHELP * DELALLOW        - Deletes a host allow
<-psyBNC> BHELP * LISTALLOW       - Lists the host allows on your proxy
<-psyBNC> BHELP   SRELOAD         - Reloads the Script for the User
<-psyBNC> BHELP   LISTTASKS       - Lists the current running tasks
<-psyBNC> BHELP * SETLANG         - Sets the language  (global)
<-psyBNC> BHELP   BHELP           - Lists this help or help on a topic
<-psyBNC> BHELP Use /QUOTE bhelp for details.
<-psyBNC> BHELP - End of help




That u don't know what you've got 'til it's gone