lunes, 9 de junio de 2008

Futbol, Venezuela Vs brasil

Venzuela 2 Brasil 0

lunes, 24 de marzo de 2008

Apache TOMCAT

Bajar los fuentes de:

http://tomcat.apache.org/


1.- Una vez bajado el tomcat, lo colocas en el directorio donde lo vayas a
descomprimir, usr/local/

Cuando lo descomprimas te va a quedar algo como

/usr/local/ /jakarta-tomcat ....

2.- Creas un link simbólico en el mismo directorio

ln -s jakarta-.... tomcat


3.- creas un usuario llamado
servletd o el que sea, y lo colocas
como dueño de todo el contenido de
/usr/local/tomcat


4.- En las variables de ambiente de servled (.profile o .bash_profile)
y colocas


export JAVA_HOME=directorio raiz de java
export CATALINA_HOME=/usr/local/tomcat
export TOMCAT_HOME=/usr/local/tomcat

Listo, entras como servletd y le das

/usr/local/tomcat/bin/startup.sh



La 5.5 de tomcat necesita java 1.5, con la 5.0.28 puedes
usar java 1.4



GENERACIÓN DE CERTIFICADO EN TOMCAT


El comando para generar un nuevo certificado de servidor para TOMCAT es el siguiente:

$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA -keystore /ruta_keystore/.keystore

donde,
* $JAVA_HOME es una variable de entorno que debe apuntar al path absoluto de la
instalacion de java, p.e.
/opt/jdk1.6.0

*
/ruta_keystore/ es la ruta completa del archivo ".keystore" que debe encontrarse en el directorio
de TOMCAT, p.e.
/opt/apache-tomcat-6.0.14/.keystore

El comando solicitara la información que debe ir dentro del certificado, es
importante colocar en el campo CN (common name) el nombre del dominio FDQN.

La clave se guarda en el archivo de configuración conf/server.xml, en la
sección donde se especifican los parámetros para el conector HTTPS.



Luego debes reiniciar el servidor tomcat y estar atento a los logs (en
log/catalina.out) a cualquier mensaje o excepcion.

Comando para reiniciar el servidor tomcat:

/apache-tomcat-6.0.14/bin# ./startup.sh

Comando para detener el servidor tomcat:

/apache-tomcat-6.0.14/bin# ./shutdown.sh




jueves, 28 de febrero de 2008

Squirrelmail

Instalación Squirrelmail

La instalación de squirrelmail es bastante sencilla

#apt-get install squirrelmail squirrelmail-locales php5 php5-ldap imapproxy

Luego se crea un link simbólico al directorio donde se encuentra la instalación de apache, típicamente /var/www

#ln -s /usr/share/squirrelmail /var/www/squirrelmail

Para cambiar el Idioma

#dpkg-reconfigure locales

Se agrega el local necesario es_ES y es_VE y se escoge como idioma por defecto. Luego se reinicia el servidor web

#/etc/init.d/apache2 restart

Para cambiar la configuración de la pantalla principal de squirrelmail nos ubicamos en la carpeta /var/www/squirrelmail/config y corremos el script de configuraciín

#cd /var/www/squirrelmail/config
#/var/www/squirrelmail/config/./conf.pl


Esto genera un menu de opciones, elegimos 1 y configuramos los parámetros según las necesidades del administrador y luego salvamos los cambios.



SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1. Organization Preferences
2. Server Settings
3. Folder Defaults
4. General Options
5. Themes
6. Address Books
7. Message of the Day (MOTD)
8. Plugins
9. Database
10. Languages
D. Set pre-defined settings for specific IMAP servers
C Turn color on
S Save data
Q Quit
Command >>



Plugins

Existen extensiones de squirrelmail en forma de plugins que permiten aumentar su funcionalidad. Los plugins pueden ser bajados de la página de squirrelmail (http://squirrelmail.org/plugins.php) .

Usaremos como ejemplo select_language-1.1-1.4.0.tar.gz que es un plugin para escoger el idioma en la pantalla de inicio del squirrelmail.

Para activar los plugins es necesario cumplir los siguientes pasos:

Se descarga el archivo del plugin select_language-1.1-1.4.0.tar.gz disponible en la pagina de plugins de squirrelmail.

Se descomprime el archivo dentro del directorio /var/www/squirrelmail/plugins


#cp select_language-1.1-1.4.0.tar.gz /var/www/squirrelmail/plugins

#tar xfz select_language-1.1-1.4.0.tar.gz


Se configura el plugin, segun las instrucciones del creador.

Nos ubicamos en la carpeta /var/www/squirrelmail/config y corremos el script de configuración:

# cd /var/www/squirrelmail/config
./conf.pl


Elegimos 8 para entrar en el submenú de plugins y activamos el plugin select_language descargado.

Salvamos los cambios y actualizamos el squirrelmail, con presionar la tecla F5 es suficiente.



Ocultar texto y version de Squirrelmail

A veces, cuando algunos sysadmin somos paranoicos con la seguridad es bueno que un atacante no conozca nuestra version de squirrelmail:


Si sólo quieres ocultar la versión, en el archivo 'squirrelmail/config/config_local.php' hay que colocar la linea:

$hide_sm_attributions = true;




Seguridad en los sitios web con apache y conexiones SSL

Pasos:

1- Instalar el OpenSSL

#apt-get install openssl ssl-cert

2- crear las carpetas /etc/apache2/ssl.crt/ y /etc/apache2/ssl.key/

3- Generar el certificado (autofirmado)

# openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/ssl.crt/apache.crt -keyout /etc/apache2/ssl.key/apache.key

4- Establecer los permisos a la llave privada

#chmod -R 600 /etc/apache2/ssl.key/


El soporte SSL se comunica a través del puerto 443 del servidor Web, por lo tanto debemos de editar el fichero /etc/apache2/ports.conf y agregar este puerto.

Listen 443

De ahí debemos activar el soporte SSL ya que este por defecto no aparece activado,
para esto ejecutamos la línea siguiente:

# a2enmod ssl

# apache2ctl -k restart


Ahora lo que nos falta es configurar los sitios o el sitio que queramos que use SSL, por lo tanto debemos de editar los virtual host.
Para que un virtual host utilice SSL debe de tener la siguiente línea:


SSLEngine On
SSLCertificateFile /etc/apache2/ssl.crt/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl.key/apache.key

jueves, 21 de febrero de 2008

SCREEN (ejecuta distintas sesiones en un mismo terminal)


Tomado de la revista begins numero 02 http://www.linuxchillan.cl/

¿QUÉ ES "SCREEN"?

Screen es un programa que nos permite ejecutar distintas sesiones (distintos programas, o distintas aplicaciones) dentro del mismo terminal de consola, y así no saturar nuestro sistema con pantallas del tipo xterm, por ejemplo. Esto es realmente útil para usuarios de GNU/Linux que gustan de usar el modo comando en su sistema, o bien para aquellos que acceden a su sistema por vía ssh, y quieren ejecutar a través de una sola sesión, varias aplicaciones al mismo tiempo. Screen resulta muy práctico cuando queremos dejar una tarea ejecutándose, que deseamos recuperar posteriormente desde otro terminal.


¿CÓMO INSTALAR EL PROGRAMA?

El programa Screen está bajo licencia GNU. Para obtener las fuentes sólo tenemos que bajarlas del servidor de ftp dedicado a este servicio, en nuestro caso ftp://ftp.gnu.org/gnu/screen/

En sistemas GNU/Linux de tipo Debian podemos usar la aplicación apt para instalarlo, de la siguiente manera.


#aptitude install screen


USO BÁSICO

Lo primero para habilitar el uso de screen en nuestro terminal es ejecutarlo en nuestra consola.


$ screen


Tras la ejecución del comando no dará un mensaje de bienvenida que nos confirmará que estamos usando Screen.

Luego, al pulsar Enter o Space nos encontramos con la entrada del bash de nuevo, y nada parece haber cambiado.


A partir de ahora nos encontramos en condicion de introducir las distintas opciones de screen pulsando simultáneamente las teclas Control y a (Ctrl+a), lo cual indica que lo siguiente a introducir es una orden para el programa screen, y no para la consola en sí. De este modo:

Ctrl+a(c) significa: Ctrl+a pulsamos ambas teclas, y después dejamos el teclado libre, la tecla entre paréntesis (c) en nuestro caso significa simplemente la tecla o combinación de teclas a pulsar en el teclado. En nuestra consola ejecutaremos:

Ctrl+a(c) Crear una sesión nueva

Veremos que nos creará una sesión nueva, con salida del prompt, y la anterior sesión nos ha desaparecido. En este momento tenemos dos sesiones (la original y la que hemos creado nueva), que podemos listar con las siguiente orden.

Ctrl+a(") listar las sessiones

Nos saldrán dos sesiones con muy poca información, pero que nos indican que tenemos en una consola únicamente las dos sesiones trabajando. Podemos elegir cualquiera de ellas mediante las flechas del teclado y seleccionamos la sesión que necesitamos con enter. Para cambiar de una sesión a otra sin ver este listado ejecutaremos.

Ctrl+a(n) ir a la sesión siguiente

Ctrl+a(p) ir a la sesión anterior

Podemos crear sucesivamente sesiones nuevas con Ctrl+a(c), y seguir listándolas con Ctrl+a("). Llegará un momento (dependiendo de nuestra adicción por la consola), que tengamos varias sesiones en un mismo terminal. Es conveniente antes de llegar a este momento que le demos un nombre a cada una de las sesiones...

Ctrl+a(A) asigna un nombre a la sesión actual que se está ejecutando.

Por ejemplo, ahora estamos ejecutando la sesión 0, podemos asignarle el nombre "invitado user". Al hacer un nuevo listado de las sesiones con Ctrl+a(") nos encontramos un listado de sesiones, con nombres invitado user y bash1 respectivamente.

Con esto hemos conseguido tener en una misma consola dos usuarios distintos. Renombrar las sesiones puede parece trivial, pero es algo esencial si hacemos muchas sesiones, para hacernos una idea de qué hace cada opción y conmutar entre ellas fácilmente.



OPCIONES AVANZADAS: COPIAR / PEGAR

Hay algo realmente útil de las sesiones múltiples, y es la capacidad de copiar/pegar (incluso entre distintas máquinas si entramos por control remoto a conexiones en red). Para ello sólo tenemos que ejecutar Ctrl+a([) que habilita el comienzo del modo "copiar" y permite el movimiento libre por la pantalla, comienza a copiar con la barra espaciadora, y terminará de copiar con enter, almacenando la copia en el buffer. Ctrl+a(]) simplemente pega, tras dejar posicionarse libremente por la pantalla y pulsar intro. En la mayoría de terminales nos permitirá pegar con el famoso CTRL+V


DEJAR UNA SESION HUÉRFANA

Para muchos realmente la gran propiedad de screen reside en su capacidad de deja sesiones huérfanas, y poder recuperarlas a gusto después. Por ejemplo, supongamos que tenemos las siguientes sesiones tras un breve list: Una sesión
0 llamada user, una sesión 1 llamada root compilation y una tercera 3 llamada user irssi. En un momento dado nos interesa dejar estas tres sesiones funcionando independientemente, y seguir usando la consola sin ellas. Podemos desvincular las sesiones que screen tiene en ese momento con la orden Ctrl+a(d).

Ctrl+a(d)
desvincula la sesión actual de screen.

Al activar esta opción en la sesión activa, podemos incluso salir de nuestra terminal o sesión de usuario completamente, y la sesión que hemos desvinculado seguirá activa hasta que la rescatemos posteriormente. Si posteriormente hacemos un login como el usuario que activó el programa screen, y ejecutamos la orden screen ­ls, veremos cuántas y cuáles son las sesiones huérfanas que tenemos ejecutando. Por ejemplo:

$ screen
There is a screen on:
2328.pts­1.hostname (Detached)
1 Socket in /var/run/screen/S­user

Las ventajas de esta opción son muchas, pero entre ellas destacamos la seguridad de que las sesiones se ejecutarán independientemente de si estemos en el sistema. Un fallo o cuelgue del terminal no nos impedirá posteriormente „recoger“ la sesión y continuar con el trabajo que estábamos haciendo. Por otro lado, permite que utilicemos distintas máquinas con un login en el mismo servidor para (por ejemplo, si compilamos el kernel de una máquina por sesión remota, podemos empezar la compilación en el trabajo, y terminarla cuando lleguemos a casa al recuperar la sesión). Una opción quizás más lúdica es la de dejar nuestro usuario de irc funcionando desde casa, y „recogerlo“ desde otra estación de trabajo para seguir sin necesidad de iniciar el cliente de irc cada vez.

Es importante que el usuario que inició la sesión screen sea el que la visualice y la rescate posteriormente. Un usuario sin los permisos pertinentes no podrá ver qué sesión de screen ha dejado huérfana otro usuario, y naturalmente, tampoco podrá rescatarla. Rescatar una sesión es bastante fácil, basta ejecutar el comando screen ­r con el número de la sesión que queremos tomar.

Así por ejemplo:

$ screen ­r 2328


OPCIONES AVANZADAS: UTILIZANDO DOS SESIONES EN LA MISMA
PANTALLA

Podemos visualizar varias sesiones simultáneamente en una pantalla de la siguiente manera: supongamos primero que tenemos dos sesiones (una con el editor vi, y otra con el cliente de irc para modo consola irssi). Si queremos trabajarsimultáneamente en ellas dentro de la misma pantalla, podemos dividir la pantalla de la sesión en uso con la siguiente orden:

Ctrl+a(S) dividimos la sesion actual de screen.

Nos aparecerá la sesión actual arriba, y luego una sesión nueva abajo, a la que debemos movernos con Ctrl+a(Ctr+­i) que indica moverse a la otra sesión de la misma pantalla. Una vez en las sesiones correspondientes (esta vez, divididas en la pantalla), podemos llamar a otras sesiones, crear nuevas, ver listados, dividir mas la pantalla, etc... Si queremos volver a modo normal (una sesión en pantalla entera) sólo tenemos que escribir Ctrl+a(Q) en la sesión que queramos tener completa.

RESUMEN:
Por último, incluimos un resumen de las funciones que hemos explicado aquí:

USO BASICO DESVINCULAR Y RESCATAR SESIONES

Ctrl+a(c) Crear sesión Ctrl+a(d) desvincular
Ctrl+a(?) muestra ayuda en la pantalla Ctrl+a(r) rescatar la última sesión (o screen ­r)
Ctrl+a(n) ir a la siguiente sesión
Ctrl+a(p) ir a la anterior sesión DIVIDIR SESIONES
Ctrl+a(a) ir a la última sesión visitada Ctrl+a(S) divide la sesión actual
Ctrl+a(") muestra una lista de sesiones en uso Ctrl+a(Ctrl+i) cambia a la sesión contigua de la misma pantalla
Ctrl+a(#) ir a la sesión de número #
Ctrl+a(Q) deja la sesión actual como pantalla completa
Ctrl+a(')
similar a (") pero se ejecuta con número de sesión y enter
Ctrl+a(A) asigna un nombre a la sesión actual

COPIAR Y PEGAR

Ctrl+a([) entrar en modo copiar comienza con spacebar termina con enter
Ctrl+a(]) pegar aunque la mayoría de las veces podemos usar Ctrl+v

CONSIDERACIONES FINALES

Screen es una poderosa herramienta, un ejemplo más de profesionalidad, eficacia y servicio del software libre bajo licencia GNU. Hemos descrito aquí la particularidad que tiene el comando screen de ejecutar varias sesiones en una única consola. Además cada sesión puede nombrarse y accederse mediante opciones del teclado. Las opciones copiar y pegar están disponibles, y quizás lo más llamativo, la posibilidad de desvincular sesiones para dejarlas funcionando independientemente y volver a recogerlas posteriormente para finalizarlas, o para modificarlas desde otros entornos de trabajo.

Finalmente hemos de ser conscientes de una particularidad de screen. Aunque screen trabaja en modo consola, todos los comandos y aplicacione que puedan ser enviados por esta son válidos para ejecutarse en screen. La gran ventaja que tiene esto es que los cuelgues de terminal, o fallos en la consola, no tienen por qué afectar a las sesiones de X que hemos ejecutado bajo consola ejecutada con screen. Estos quedarían como sesiones de screen en modo húerfano, que podemos recuperar. Si ejecutamos firefox bajo screen en nuestra consola, el programa firefox seguirá viviendo tanto lo siga haciendo screen, pese a que hayamos salido de la consola que le ha dado vida.

Un último detalle antes de terminar. Precisamente, la aplicación screen se termina con el comando exit, lo cual nos envía una notificación al prompt de
que hemos terminado la sesión screen.

jueves, 14 de febrero de 2008

Solución a problemas con el VirtualBox

Problema 1: No carga la máquina virtual despues de instalar un nuevo kernel.

Cuando realizamos la instalación de un nuevo kernel y tenemos instalado VirtualBox al ejecutarlo nos puede arrojar el siguiente mensaje y no nos carga la máquina virtual:


VirtualBox
kernel driver not installed. The vboxdrv kernel module was either not loaded or /dev/vboxdrv was not created for some reason. Please install the virtualbox-ose-modules package for your kernel and execute '/etc/init.d/vboxdrv start' as root.

Esto es porque al instalar el nuevo kernel no tenemos los linux-headers para ese kernel, la manera que encontre en internet para solucionar esto es la siguiente:

1° Instalamos los siguientes paquetes:

# aptitude install virtualbox-ose-source linux-headers-$(uname -r) build-essential module-assistant

2° Ejecutamos con el module assistant lo siguiente:

# m-a -t build,install virtualbox-ose

3° Agregamos el modulo de virtual box:

echo "vboxdrv" >> /etc/modules

4° Probamos el modulo

# modprobe vboxdrv

5° Añadimos el usuario del sistema al grupo vboxusers que se encuentra en el archivo /etc/group:

vboxusers:x:1002:miusuario

Iniciamos de nuevo el virtualbox y ya deberia funcionar, en tal caso que no funcione reiniciamos la sesion.


Problema 2: No detecta los dispositivos usb el virtualbox.


1° crear grupo usbfs:

#
addgroup usbfs

2°
verificar el gid en /etc/group:

# cat /etc/group | grep usbfs
usbfs:x:1003:

3° Editar el /etc/fstab para colocar la siguiente linea:

none /proc/bus/usb usbfs devgid=xxxx,devmode=666 0 0

Nota: cambiar el xxxx por el gid (identificador del grupo, en este caso el identificador es 1003)

4°
Para que el sistema tome los cambios que realizamos en el archivo fstab ejecutamos el siguiente comando:

# mount -a

5° Ejecutamos de nuevo virtualbox y en el menu ingresamos a maquina->cofiguración, seleccionamos serial ports y activamos la casilla enable serial port

6° ejecutamos la maquina virtual y ya debe reconocer los dispositivos usb

martes, 12 de febrero de 2008

TARJETA INALAMBRICA DELL WIRELESS 1450 USB ADAPTER CON NDISWRAPPER

MANUAL PARA LA CONFIGURACION DE LA TARJETA INALAMBRICA DELL WIRELESS 1450 USB ADAPTER CON NDISWRAPPER (el procedimiento es igual para cualquier tarjeta soportada con ndiswrapper)


Lista de tarjetas soportadas aqui:

http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,list/

Ambientes donde se realizo la prueba:

Linux debian etch 4.0 kernel 2.6.18-4-686
Linux debian lenny kernel 2.6.21-2-686

Paquetes necesarios:

ndiswrapper-1.47
wireless-tools
module-assistant
drivers para windows de la tarjeta DELL wireless 1450 usb


1° Instalamos el module-assistant como root:

#aptitude install module-assistant

2° preparamos el module-assistant :

# module-assistant prepare

3° Instalamos el wireless-tools:

debian:/home/usuario#aptitude install wireless-tools

4° Descargamos el ndiswrapper, la versión utilizada para esta prueba fue la ndiswrapper-1.47 (a la fecha la ultima versión es la 1.52 para estable y la 1.50-rc3 para testing) que fue bajada de la siguiente pagina:
http://sourceforge.net/project/showfiles.php?group_id=93482&package_id=99148&release_id=515643

5° Nos colocamos en la ruta donde descargamos el programa y lo descomprimimos:

# tar -xvzf ndiswrapper-1.47.tar.gz

6°Inggresamos a la carpeta compilamos e instalamos el programa:

debian:/home/usuario/Desktop/ndiswrapper-1.47# make

debian:/home/usuario/Desktop/ndiswrapper-1.47# make install

7° Conectamos la tarjeta a un puerto USB

8° Ejecutamos el siguiente comando para verificar que fue detectada por el sistema:

debian:/home/usuario# lsusb
Bus 003 Device 003: ID 413c:8104 Dell Computer Corp.
Bus 003 Device 001: ID 0000:0000
Bus 001 Device 003: ID 04b3:310c IBM Corp.
Bus 001 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000


9°Creamos una carpeta y copiamos los archivos DELLNIC.inf, DELLNIC.cat, PRISMA02.sys, que se encuentra en el cd que trae los drivers para windows que viene con la tarjeta:

10°Nos colocamos en la ruta donde copiamos los archivos anteriores y seguiremos del siguiente modo (como root):

debian:/home/usuario/drivers_dell#ndiswrapper -i DELLNIC.inf

Si nos muestra algun error es posible que tengamos algun otro modulo instalado anteriormente con ndiswrapper, en ese caso tenemos que proceder a desinstalar el driver con el comando ndiswrapper -r (nombre del driver), removemos el modulo de ndiswrapper con rmmod, compilamos e instalamos de nuevo el ndiswrapper y continuamos con el paso 10.

11° Si no nos da ningún error, comprobaremos que se haya instalado correctamente con el siguiente comando:


debian:/home/usuario/drivers_dell# ndiswrapper -l
dellnic : driver installed
device (413C:8104) present

El comando nos debería dar la misma salida que está resaltada. Ahora sólo nos queda arrancar el módulo y configurar la red.


12° Arrancamos el módulo de la forma habitual (como root):

debian:/home/usuario/drivers_dell# modprobe ndiswrapper
debian:/home/usuario/drivers_dell#

Si el modulo arranca sin problemas el sistema se coloca de nuevo en la linea de comandos

13° Podemos comprobar los mensajes del kernel para ver que el módulo está cargado correctamente (podemos verificarlo también con el comando lsmod). Haremos lo siguiente (como root) y nos debería dar una salida similar:

debian:/home/usuario/drivers_dell# dmesg | grep wlan

wlan0: ethernet device 00:90:4b:d2:1e:dc using NDIS driver: dellnic, version: 0x3010c, NDIS version: 0x501, vendor: 'Dell Wireless 1450 Dual-band (802.11a/b/g) USB2.0 Adapter', 413C:8104.F.conf
wlan0: encryption modes supported: WEP; TKIP with WPA; AES/CCMP with WPA
ndiswrapper: changing interface name from 'wlan0' to 'wlan1'
ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
wlan1: no IPv6 routers present

Adicionalmente si queremos verificar que el modulo este cargado usamos el siguiente comando:

debian:/home/usuario/drivers_dell# lsmod | grep ndiswrapper

ndiswrapper 170556 0
usbcore 123272 5 ndiswrapper,usbhid,ehci_hcd,ohci_hcd

Si el modulo esta cargado correctamente veremos un mensaje como el anterior.



14°Para cargar el ndiswrapper automáticamente al inicio del sistema, simplemente ejecutaremos el siguiente comando:


debian:/home/usuario/drivers_dell# ndiswrapper -m

15° Configuramos la red con los comandos del wireless tools:

debian:/home/usuario/drivers_dell# iwconfig

lo no wireless extensions.
eth1 no wireless extensions.
wlan1 IEEE 802.11g ESSID:"myaccesspoint"
Mode:Managed Frequency:2.437 GHz Access Point: 01:20:4C:50:DA:F8
Bit Rate:24 Mb/s Tx-Power:22 dBm
RTS thr:2347 B Fragment thr:2346 B
Encryption key:676F-7065-7261-6369-6F6E-6573-31 Security mode:open
Power Management:off
Link Quality:90/100 Signal level:-38 dBm Noise level:-96 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
sit0 no wireless extensions.


Como vemos aqui nuestra interfaz wireless se llama wlan1, luego con el siguiente comando podemos escanear la red para descubrir todos los access point disponibles:

debian:/home/usuario/drivers_dell# iwlist wlan1 scan

wlan1 Scan completed :
Cell 01 - Address: 01:20:4C:50:DA:F8
ESSID:"myaccesspoint"
Protocol:IEEE 802.11g
Mode:Managed
Frequency:2.437 GHz (Channel 6)
Quality:81/100 Signal level:-44 dBm Noise level:-96 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Extra:bcn_int=100
Extra:atim=1
Cell 02 - Address: 00:18:9F:4D:90:22
ESSID:"accesspoint2"
Protocol:IEEE 802.11g
Mode:Managed
Frequency:2.437 GHz (Channel 6)
Quality:17/100 Signal level:-85 dBm Noise level:-96 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Extra:bcn_int=100
Extra:atim=1
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (1) : TKIP
Authentication Suites (1) : PSK
Cell 03 - Address: 03:15:6D:05:68:12
ESSID:"accesspoint3"
Protocol:IEEE 802.11g
Mode:Ad-Hoc
Frequency:2.462 GHz (Channel 11)
Quality:100/100 Signal level:-16 dBm Noise level:-96 dBm
Encryption key:off
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Extra:bcn_int=100
Extra:atim=1

16°En el anterior escaneo descubrimos 3 access point, para asociarnos a un access point especifico podemos utilizar el siguiente comando:

debian:/home/usuario/drivers_dell# iwconfig wlan1 essid "myaccesspoint"

También podemos asociarnos por medio del NetworkManager en el escritorio de GNOME, otra alternativa puede ser instalar el paquete kwifimanager con el que podemos escanear las redes que estén a nuestro alcance y asociarnos a ellas.

Para mas informacion consultar la pagina:

http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_frontpage/Itemid,1/

en este link se encuentra toda la informacion referente a ndiswrapper, descargas del programa, tutoriales de instalacion y configuracion, ademas de la lista oficial de las tarjetas soportadas y los drivers necesarios, tambien podemos encontrar informacion sobre WPA con ndiswrapper.

martes, 23 de octubre de 2007

SSH (Secure Shell)

- Para saber que sesiones están abiertas:


$ who
$ w


- Para saber cuantas sesiones estan abiertas:


$who -q
$who | grep wc


- Para desconectar un usuario usamos ps:


$ps aux | grep usuario
# kill -TERM id_del_proceso

miércoles, 17 de octubre de 2007

Compresión y Descompresión de Archivos en Linux

.tar (tar)

Empaquetar
tar cvf archivo.tar /archivo/mayo/*

Desempaquetar tar xvf archivo.tar

Ver el contenido (sin extraer) tar tvf archivo.tar



.tar.gz - .tar.z - .tgz (tar con gzip)

Empaquetar y comprimir tar czvf archivo.tar.gz /archivo/mayo/*

Desempaquetar y descomprimir tar xzvf archivo.tar.gz

Ver el contenido (sin extraer)
tar tzvf archivo.tar.gz



.gz (gzip)

Comprimir
gzip -q archivo
(El archivo lo comprime y lo renombra como "archivo.gz")

Descomprimir
gzip -d archivo.gz
(El archivo lo descomprime y lo deja como "archivo")
Nota: gzip solo comprime archivos, no directorios



.bz2 (bzip2)

Comprimir
bzip2 archivo
bunzip2 archivo
(El archivo lo comprime y lo renombra como "archivo.bz2")

Descomprimir bzip2 -d archivo.bz2
bunzip2 archivo.bz2
(El archivo lo descomprime y lo deja como "archivo")
Nota: bzip2 solo comprime archivos, no directorios



.tar.bz2 (tar con bzip2)

Comprimir
tar -c archivos | bzip2 > archivo.tar.bz2

Descomprimir bzip2 -dc archivo.tar.bz2 | tar -xv
tar jvxf archivo.tar.bz2 (versiones recientes de tar)

Ver contenido bzip2 -dc archivo.tar.bz2 | tar -tv



.zip (zip)

Comprimir
zip archivo.zip /mayo/archivos

Descomprimir unzip archivo.zip

Ver contenido unzip -v archivo.zip



.lha (lha)

Comprimir
lha archivo.lha /mayo/archivos

Descomprimir lha -x archivo.lha

Ver contenido lha -v archivo.lha
lha -l archivo.lha




.zoo (zoo)
Comprimir zoo -a archivo.zoo /mayo/archivos

Descomprimir zoo -x archivo.zoo

Ver contenido zoo -v archivo.zoo
zoo -L archivo.zoo




.rar (rar)

Comprimir
rar -a archivo.rar /mayo/archivos

Descomprimir rar -x archivo.rar

Ver contenido rar -v archivo.rar
rar -l archivo.rar

lunes, 15 de octubre de 2007

Bases de Datos MYSQL

Instalación de mysql server:


aptitude install mysql-server-5.0 mysql-client-5.0


Archivo de configuracion de mysql esta en:



/etc/mysql/my.cnf


renombrar la linea

bind-address = 127.0.0.1

para poderse conectar desde cualquier lado, tambien se puede colocar la ip desde donde queremos que se conecte solamente


mysql-query-browser: cliente grafico para conetarse a las bases de datos, tambien se puede usar phpmyadmin, abrimos un navegador colocamos el nombre o la ip del servidor seguido de /phpmyadmin

El usuario root de mysql por defecto tiene la clave en blanco por lo que es primordial colocarle una inmediatamente despues de instalar mysql

Coloque una clave para el usuario root de MySQL cuando ingrese desde localhost en la consola (no recomendado) con:


/usr/local/bin/mysqladmin -u root password 'nueva-clave'


Recordemos limpiar el historial para que no quede ese ultimo comando grabado y se pueda ver la contraseña:


history -c


- Desde el mysql (Recomendado):
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> UPDATE user SET Password=PASSWORD('password') WHERE user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql>

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql>

mysql> quit
bye


Ahora que asignamos una contraseña al usuario root comprobaremos que ya no puede acceder sin la contraseña:


$mysql -u root
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)


Para poder acceder como usuario "root" haremos uso del parametro "-p" para usar validación por contraseña:


$mysql -u root -p
Enter password:

De esta manera solo podras acceder como root con una contraseña

Ahora comprobamos con esto:
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql>

mysql> SELECT host,user,password FROM user;
+-----------+------+------------------+
| host | user | password |
+-----------+------+------------------+
| localhost | root | 565491d704013245 |
+-----------+------+------------------+
1 row in set (0.00 sec)

mysql>
Como podemos ver, el usuario "root" desde 'localhost' necesita contraseña (la cual se muestra cifrada) para acceder, lo cual es recomendable.


Nuevamente refrescamos los privilegios así:

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
Y salimos:
mysql> quit
bye


Ahora mencionaremos una medida mas de seguridad la cual también es recomendable y consiste en cambiar el nombre por default de la cuenta administrador de mysql (root), a algun nombre diferente que pueda ser mas difi­cil de adivinar. Este cambio hara mas dificil utilizar un ataque de fuerza bruta o con diccionario a la cuenta de administrador. En tal caso el intruso tendra que adivinar el password, pero primero el nombre de la cuenta de administrador, esto se hace así­:

mysql> use mysql;
mysql> update user set user="mydbadmin" where user="root";
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> quit

Ahora como ultimo test apagaremos el servicio mysqld así­:


# /etc/rc.d/rc.mysqld stop


Y comprobaremos que lo podamos reiniciar con:


# /etc/rc.d/rc.mysqld start


Bien, ahora nuestro servidor MySQL ya está correctamente instalado y configurado con las medidas de seguridad apropiadas.

Finalmente debemos de eliminar el contenido del historial de MySQL (~/.mysql_history), en el cual todos los comandos SQL ejecutados han sido almacenados (especialmente passwords, los cuales son almacenados en texto plano).


$ cat /dev/null > ~/.mysql_history

NOTA: Como podemos ver en el comando anterior, fue ejecutado como usuario normal, ya que las tareas de cambiar contraseñas fueron hechas con un usuario normal.

*NOTA: este procedimiento deberá de ser aplicado para todas las cuentas con las que se ha estado trabajando (si es que si hicieron las pruebas con un usuario normal y con el usuario root del sistema).





Crear una cuenta de usuario en la base de datos:



mysql> GRANT ALL ON basededatos.* TO ‘user’@'hosts’ IDENTIFIED BY ‘pass’;


donde host puede ser la ip de la maquina que se va a conectar


Algunas operaciones usuales del administrador son:


SHOW DATABASES;

muestra todas las bases disponibles.


USE base1;

permite usar la base base1.


SHOW TABLES;

que muestra todas las tablas de la base activa.


DESCRIBE tabla;
SHOW CREATE TABLE tabla;
que presentan estructura de la tabla.


Crear base de Datos:


create database nombre_de_bdd


Remplazar base de datos:



~# mysql -u root -p nombre_bdd < /ruta/nueva_bdd/ bdd.sql



Realizar dump (respaldo de la bdd):


mysqldump -u root -p nombre_bdd > nombre_del_respaldo.sql


y posteriormente restaurarla con:


#mysql < /respaldomysql/nombre_del_respaldo.sql

Para sacar una copia de respaldo de todas las bases de datos con:


# mysqldump --force -p --all-databases > /respaldomysql/dump-1nov2007.sql


y posteriormente restaurarla con:


# mysql < /respaldomysql/dump-1nov2007.sql Mas ayuda en:


   


DETECCIÓN DE HARDWARE

Si es posible evite el uso de controladores binarios ya que los binarios son compilados respecto a una única arquitectura y versión del núcleo.

- Para detectar hardware con lspci y obtener un resumen:

$lspci

- Para obtener mas informacion use los indicadores -v y -vv:

$lspci -v

$lspci -vv

La utilidad lspci recupera del bus PCI alguna información, mostrando datos adicionales obtenidos de su propia base de datos de identificadores de vendedores de hardware, dispositivos, clases y subclases almacenados en /usr/sharemisc/pci.ids , podemos actualizar este archivo con:


#update-pciids


lspci solo recupera información referente a los dispositivos pci, para ver todos los dispositivos que hay en el sistema use dmesg que es un registro de todo lo que ha detectado el núcleo:

$dmesg | less

- Para encontrar dispositivos específicos como dispositivos usb use:


$dmesg | grep -i usb


- Para saber cuanta memoria física hay en el sistema use:


$dmesg | grep -i memory


- Para obtener los dispositivos IDE que estan usando el subsistema de emulación SCSI:


$dmesg | grep -i scsi


- Para ver los puertos serie use:


$dmesg | grep -i tty


- Para ver el procesador o procesadores use:


$dmesg | grep -i cpu


- También podemos usar la utilidad hwinfo para mostrar todos los dispositivos del sistema, necesitamos instalarlo primero:


$aptitude install hwinfo

$hwinfo


- Para supervisar un sistema en funcionamiento y en tiempo real viendo información relativa a la memoria física y la CPU o la identificación de unidades lea el sistema de archivos virtual que se encuentra en /proc , utilice únicamente cat, no use editores para evitar el riesgo de modificación.


- Para ver el CPU:


$cat /proc/cpuinfo


- Para ver la memoria:

$cat /proc/meninfo

- Para ver el disco duro /proc/ide/hda o hdb


- Para conocer la geometría del disco, tanto física como lógica:


$cat /proc/ide/ide0/hda/geometry


- Para identificar un disco:


$cat /proc/ide/ide0/hda/model


- Para mostrar las versiones de los controladores de todas las unidades IDE use:


$cat /proc/ide/drivers


- Para ver las capacidades de las unidades de CD :



$cat /proc/sys/dev/cdrom/info



- Para ver los dispositivos SCSI, pero no se diferencia entre los dispositivos conectados al bus SCSI y los IDE que usan el subsistema de emulación:



$cat /proc/scsi/scsi



- El siguiente comando emite el sonido del CPU en funcionamiento, no tiene aplicación practica:



$cat /proc/kcore > /dev/dsp



- Para ver todas las particiones de un disco y ver la capacidad total del disco use:


#fdisk -l



- Para mostrar la tabla de particiones de un disco determinado use:



#fdisk -l /dev/hda



- Para ver el espacio usado y el disponible del disco use:


$df -h

sábado, 13 de octubre de 2007

MAN (Paginas de manuales o man pages) E INFO (Paginas de información o info pages)

Cada programa en Linux tiene su pagina man, tienen como propósito documentar la sintaxis del comando y cada opcion con que cuenta.

Visores gráficos para las paginas de manual e información:


Konqueror: Navegador web y de archivos de KDE. Simplemente escriba:

man:algo o info:/algo , en la barra de direcciones.

Yelp: Visor de GNOME

Pinfo: Basado en ncurses para ver paginas de manual e info desde la consola.

*RTFM (read the fine man page, lee la pagina de manual adecuada).

Linux ve todas las paginas de manual de un sistema como si fueran parte de un unico manual. Este se divide en secciones:

1 Programas ejecutables o comandos del interprete de ordenes (shell).
2 Llamadas de sistema.
3 Llamadas de bibliotecas.
4 Archivos especiales (alojados normalmente en /dev)
5 Formatos de archivo y convenciones
6 Juegos
7 Miscelanea
8 Comandos de adminsitración del sistema
9 Rutinas no estandar del nucleo
n Documentacion nueva, que podria ser trasladada posteriormente
l Documentación local especifica de si sistema

Referencias a paginas numeradas de manual, ejm:

grep(1) hace referencia a man grep en la seccion 1:

$man 1 grep

Para enumerar todas las secciones de las man pages de un comando o programa:

$man -f nombre_comando_programa

Cada man pages esta dividida en secciones, generalmente son: NOMBRE, SINOPSIS, DESCRIPCION, OPCIONES, ARCHIVOS, EJEMPLOS, VEA TAMBIEN, BUGS, AUTOR/TRADUCCION

La sintaxis de los comandos es:

nombre_comando [indicadores opcionales] cualquier otro elemento necesario

Texto en negrita: Escriba esto exactamente como se muestra.
Texto en cursiva: Denota argumento, o sea se debe remplazar con el valor que quiera. Depende del visro que use puede verse subrayado o en negritas.

[-abc] : Todo entre corchetes es opcional y se puede combinar
[-a | -b | -c] : No se pueden combinar entre si
argumento... Los puntos suspensivos indican que se pueden introducir varios argumentos, los delimitantes son espacios pero a veces se usan comas.
[expresión]... pueden facilitarse varias expresiones
Las opciones cortas pueden escribirse:

-abc o -a -b -c

Las opciones largas se introducen individualmente con doble guión:

--opcion1 –opcion2 –opcion3

ENCONTRA PAGINAS DE MANUAL APROPIADAS

Ejm: quiere encontrar un programa que cuente las palabras contenidas en un archivo, use la busqueda de palabras clave con apropos o man -k:

$apropos cout words
$man -k count words


A veces la base de datos de man puede quedar corrupta, para encontrar paginas de manual perdidas intente buscar con whereis -m:

$whereis -m cat
cat:/usr/man/man1/cat.1.gz

luego leala con man:

$man /usr/man/man1/cat.1.gz

si no funciona se puede intentar reconstruir la base de datos con mandb:

#mandb

si no funciona se puede usar locate y egrep para realizar una busqueda por todo el sistema:

$locate /cat. | egrep -w 'cat\.[1-9] [a-zA-Z]*[.gz]?[_F_]' o $locate/cat.


Si el visor man no funciona se puede usar zcat y nroff:


$zcat /usr/man/man1/cat.1.gz | nroff -man | less


Ultimo recurso: leer la pagina de manual en bruto con zless:


$zless /usr/man/man1/cat.1.gz


*groff : programa para dar formato a documentos o de composición tipografica, se pueden crear multiples documentos con formatos distintos a partir de un mismo archivo origen.



CONFIGURAR MANPATH

Si desea agregar una pagina de manual que no se encuentra en la ruta normal por ejemplo /opt/man, edite /etc/manpath.conf y añada la ruta:

MANDATORY_MANPATH /opt/man

si se tienen subdirectorios se colocan en este orden:

MANDATORY_MANPATH /opt/man/local
MANDATORY_MANPATH /opt/man

primero los subdirectorios y de ultimo el directorio padre.

Para mostrar los directorios de manual actuales use:

$manpath

Para ver las PAGINAS DE INFORMACION (info pages)

$info nombre_comando_programa



IMPRIMIR PAGINAS DE MANUAL Y PAGINAS DE INFORMACIÓN


Para imprimir manpages:


$man -t nombre_comando_programa | lpr


-t se encarga de darle el formato adecuado.

- Para imprimirlo por una impresora de red:


$man -t nombre_comando_programa | lpr -P printername


Para ver las impresoras disponibles:

$lpstat -p -d

Manual de usarios de CUPS:


http://localhost:631/help

Para imprimir infopages:


$info nombre_comando_programa | lpr -o cpi=12 -o page-left=54 -o page-right=54 \ -o page-top=54 -o page-bottom=54

tambien se puede usar:


$info nombre_comando_programa | lpr


pero saldra sin formato apropiado.

Para imprimir paginas selectivas hay que exportarlas a un archivo:


$man nombre_comando_programa | col -b > archivo.txt
$info nombre_comando_programa | col -b > archivo.txt


el comando col -b elimina saltos de linea inversos o retrocesos.

- Para encontrar todos los archivos leame, de cambios, how to, guias, ejemplos, muestras y cualquier otra documentacion relevante a algun porgrama instalado use findoc, programa en python de Akkana Peck

ADMINISTRACIÓN DE PAQUETES EN DEBIAN

Página oficial de Debian:

http://www.debian.org/

Descarga de Debian Testing:

http://www.debian.org/devel/debian-installer/

Descarga de Debian Stable:

http://www.debian.org/releases/etch/debian-installer/

Espejo oficial Debian:

http://www.debian.org/mirror

Lista de mirrors oficiales:

mirrors

Guia de Instalación de Debian:

http://www.debian.org/releases/stable/installmanual

Depositos apt no oficiales:

http://www.apt-get.org

Página de búsqueda e información de paquetes Debian Individuales:

http://www.debian.org/distrib/packages


Pagina de backports:

http://www.backports.org

Actualizaciones de seguridad únicamente disponibles en:

http://www.debian.org/security

Instalación de Linux en Laptops:

http://www.linux-laptop.net/

A continuación unos tips para utilizar apt, también se puede usar aptitude

- Para añadir archivos desde un CD-ROM usar:

#apt-cdrom add

- Para identificar un disco o CD usar:

#apt-cdrom ident

- Para reinstalar un paquete sobreescribiendo los archivos usar:

#apt-get install --reinstall nombre_paquete

- Para descargar únicamente sin instalar o desempaquetar usar:

#apt-get -d install nombre_paquete

puede añadir --dry-run para probarlo antes de ejecutarlo:

#apt-get -d install nombre_paquete --dry-run

- Para eliminar paquetes:

#apt-get remove nombre_paquete

- Para probar el comando de eliminación usar:

#apt-get remove nombre_paquete --dry-run

-Para eliminar todo rastro del paquete incluyendo archivos de configuración usar:

#apt-get --purge remove nombre_paquete


INSTALAR DESDE FUENTES EN UN DEBIAN

Para compilar un programa en vez de instalar los binarios, o para ejecutar un paquete inestable en uno estable y recompilarlo asegurara que se construya con las dependencias correctas, para esto usar apt-get source con ayuda de dpkg, primero descargue las bibliotecas y cabeceras dependientes en el directorio donde se quiere construir el paquete:


#cd /usr/src
#apt-get build-dep nombre_paquete


Luego construir el paquete con:

#apt-get -b source paquete

Luego instalarlo con:

#dpkg - i nombre_paquete.deb

Una alternativa a construir el paquete es el uso de backports que son binarios de Debian compilados apropiadamente preparados para su uso, tambien se puede instalar un programa que no se encuentre en los repositorios construyendo un deb usando chekinstall, utilidad que crea paquetes RPM, deb y slackware.


ACTUALIZACIÓN DE PAQUETES

No existe comando independiente para actualizar paquetes, apt-get install busca siempre la versión mas reciente.

- Para actualizar un sistema Debian usar:

#apt-get update (actualiza la lsita de paquetes)

- Para actualizar todos los paquetes instalados sin eliminar ningún paquete para resolver dependencias usar:

#apt-get -u upgrade (realizar siempre primero el update)

- Para actualizar todos los paquetes (incluso la versión) que hay instalados, eliminando o instalando paquetes según se necesite para satisfacer todas las dependencias usar:

#apt-get -u dist-upgrade

El indicador -u le da una oportunidad de revisar todos los cambios antes de que se produzcan.


DETERMINAR QUE HAY INSTALADO EN SU SISTEMA DEBIAN


Usar las opciones de consulta de dpkg para obtener una lista de todos los paquetes instalados y redirigirla a un archivo de la siguiente forma:

$dpkg -l | tee dpkglist

- Para verificar si un paquete en particular esta instalado:

$dpkg -l nombre_paquete

- Para encontrar únicamente paquetes ajustados a un término de búsqueda usar:

$dpkg -l | grep nombre_paquete

- Para enumerar los archivos que pertenecen a un paquete use:

$dpkg -L nombre_paquete

- Para saber a que paquete pertenece un archivo use:

$dpkg -S nombre_archivo

- Para obtener toda la información relativa a un paquete usar:

$dpkg -s nombre_paquete


INSTALAR PROGRAMAS A PARTIR DEL CODIGO FUENTE

Para crear una lista de archivos de una instalación fuente para facilitar la desinstalación:


#find / | grep -v -e ^/proc/ -e ^/tmp/ -e ^/dev/ > nombre_paquet_preinstall.list

Compile e instale el nuevo programa, generando a continuacion la lista posterior a la instalación:


#find / | grep -v -e ^/proc/ -e ^/tmp/ -e ^/dev/ > nombre_paquet_postnstall.list

la opcion -v de grep activa las explicaciones detalladas -e ^ significa que debe excluirse el directorio a continuación.


A continuación cree la lista de archivos instalados por el paquete haciendo un diff de las 2 listas previas:

$diff nombre_paquet_preinstall.list nombre_paquet_postnstall.list > paquet_instalado.list

- Para instalar desde el codigo fuente paso por paso desempaquete el tarball porcesando a continuacion el programa con configure, make, make install


#cd /usr/src/descargas
#tar zxvf paquete.tar.gz
#cd paquete
#ls -l
#less README
#less INFO
#./configure --help
#./configure
#make
#make install | tee paquete_makeinstall

El ultimo comando almacena el resultado de la instalacion en el archivo de texto paquete_makeinstall

Otros programas estan archivados con bunzip2 en lugar de gzip para desempaquetarlo use:

#tar jxvf paquete.tar.bz2

- Para desinstalar un programa instalado a partir de los fuentes use:

#make uninstall

solo funcionara en caso que el autor del programa haya incluido la opcion make uninstall, tambien se puede redirigir la salida del comando hacia un archivo para verificar que se desinstalo todo.


USO DE CHECKINSTALL PARA CREAR PAQUETES A PARTIR DE LOS FUENTES

Checkinstall
aloja los archivos README y el resto de la documentacion del programa en el directorio doc-pak.

#mkdir /doc-pak
#tar zxvf paquete.tar.gz
#cd paquete
#./configure
#make
#checkinstall -D

Se construira e instalara un paquete .deb, se puede verificar con:


$dpkg -l | grep paquete


para crear un paquete slackware:


#checkinstall -S


para crear un paquete RPM:


#checkinstall -R


Para eliminar un paquete de checkinstall simplemente use el administrador de paquetes de su sistema.