miércoles, 29 de mayo de 2013

instalar y configura un proxy

Este resumen no está disponible. Haz clic en este enlace para ver la entrada.

Cómo crear una Autoridad Certificadora

Manual obtenido de :
http://helektron.com/tutorial-como-crear-una-autoridad-certificadora-ca-con-openssl/
Veamos como  crear una Autoridad Certificadora (CA) con OpenSSL, para por ejemplo  poder tener un dominio con https.
Creación de estructura jerárquica.
* Lo primero deberemos crear una autoridad certificadora la cual expedirá todos los certificados a los clientes que deseen conectarse con el servidor.
* La comunicación se hará a través de la Web mediante la implantación de un protocolo de seguridad SSL.
* Solamente se confiará en los certificados emitidos por nuestra autoridad certificadora.
* El periodo de los certificados expirará cada 15 días.
Herramientas a utilizar:
  •  Win32OpenSSL-v0.9.8a.
  •   appserv-win32-2.4.5.
  •   Apache_1.3.34-Mod_SSL_2.8.25-Openssl_0.9.8a.
  •   Internet Explorer.
  • * Windows XP service pack 2.
  • * OpenSSL
DESARROLLO
La primera operación que vamos a realizar es la instalación del programa appserv-win32-2.4.5 el cual utilizaremos para poder trabajar con el servidor Apache el local y mysql, tras lo cual pasaremos a la instalación del programa OpenSSl para Windows. El software OpenSSL es un proyecto de software desarrollado por lo miembros de la comunidad Open Source. Es un robusto juego de herramientas que le ayudan a su sistema a implementar el Secure Sockets Layer (SSL), así como otros protocolos relacionados con la seguridad , tales como el Transport Layer Security (TLS). También incluye una librería de criptografía.
Una vez tenemos instaladas todas las herramientas necesarias pasaremos a crear en primer lugar nuestra autoridad certificadora para que pueda expedir certificados digitales a nuestros clientes:
Creación de la Autoridad certificadora (CA)
Para poder crear un certificado primero tenemos que tener una CA (Autoridad Certificadora). Ésta será la que valida y confirma que nuestro certificado es valido.
Para ello nos colocamos en el directorio OpenSSL/bin y ejecutamos la siguiente instrucción:
-openssl req -x509 -newkey rsa:2048 -keyout cakey.pem -days 3650 -out cacert.pem
Ahora vamos a crear un certificado digital, es decir con nuestra CA.
Primero generamos la clave privada del que sera nuestro certificado digital:
-openssl genrsa -des3 -out serv-priv.pem -passout pass:sslfsv 2048
Antes de hacer un certificado , hay que hacer una petición donde se define el propietario del certificado.

-openssl req -new -subj "/DC=root.com/OU=com/CN=root" -key

serv-priv.pem -passin pass:sslfsv -out petic-certificado-serv.pem
Generamos un fichero que contenga lo siguiente:
basicConstraints = critical,CA:FALSE
extendedKeyUsage = serverAuth
Y lo guardamos con el nombre config1.txt.
Y ahora con el fichero hecho con la configuración hacemos el certificado:
-openssl x509 -CA cacert.pem -CAkey cakey.pem -req -in petic-certificado-serv.pem -days 15 -extfile config1.txt -sha1 -CAcreateserial -out servidor-cert.pem
Y le indicamos que el certificado es para un servidor, como esto lo tenemos en nuestro fichero de configuración se lo indicamos poniendo -extfile y nuestro fichero config1.txt y utilizaremos un algoritmo de cifrado SHA (-sha1).
Configuración Servidor Apache
Ahora lo que tenemos que hacer es que copiar los ficheros servidor-cert.pem y servidor-priv.pem en el direcorio donde tengamos nuestro apache /apache/ssl.
Tambien hay que decirle al servidor que escuche por el puerto seguro 443 que es el puerto seguro para comunicaciones SSL. Para ello habrá que retocar el fichero de configuración httpd.conf y poner lo siguiente en la sección Port.
Listen 80
Listen 443
Hay que decirle a Apache que tiene que cargar el modulo correspondiente al paquete SSL y para ello lo hacemos añadiendo la siguiente instrucción en el apartado de carga de módulos.
LoadModule ssl_module modules/mod_ssl.so
Ademas tambien tenemos que decirle que lo añada a la lista de modulos que tambien disponemos.
AddModule mod_ssl.c
Una vez hecho esto solamente nos queda declarar nuestro server virtual en el fichero de configuracion con las directivas correspondientes para ello añadimos al final del fichero el siguiente fragmento de codigo.
NameVirtualHost *:443
ServerAdmin root@localhost
SSLEngine on
SSLCertificateFile ssl\servidor-cert.pem
SSLCertificateKeyFile ssl\serv-priv.pem
Reiniciamos el servidor y a partir de ahora ya tenemos nuestro server listo para pedir certificados clientes.
Generación de certificados clientes
Ahora tenemos que generar los certificados clientes correspondientes a la peticion, para ello vamos a ver los ficheros que
tenemos hasta ahora:
Por parte de nuestra CA—–>cacert-pem, cacert.srl, cakey.pem (creación de nuestra CA)
Por parte de nuestro certificado de servidor—-> servidor-cert.pem, serv-priv.pem (certificado y clave privada)
Ahora generaremos los certificados cliente que le tendremos que dar a los mismos para que puedan entrar en nuestro sitio web.
Primero generamos la clave privada del cliente:
-openssl genrsa -des3 -passout pass:sslfsv -out client-priv.pem 2048
Tendrá un algoritmo de cifrado triple des (-des3) de 2048 y se almacenara en el fichero (-out) client-priv.pem y con el comando -passout pass: indicamos la passphrase para nuestra clave privada que será sslfsv.
Ahora generamos la petición del certificado:
-openssl req -new -key client-priv.pem -passin pass:sslfsv -subj "/DC=localhost/OU=com/CN=Fsv" -out petic-cert-client.pem
Y ahora finalmente ya podemos emitir el certificado, para ello debemos editar el archivo de configuracion openssl.cnf, pero nosotros lo haremos con un archivo externo al que llamaremos config2.txt y al cual le pondremos las siguientes lineas:
basicConstraints = critical,CA:FALSE
extendedKeyUsage = clientAuth
Y hacemos por fin el certificado cliente para enviarselo a nuestros compañeros para que puedan entrar a nuestro sitio https:
-openssl x509 -CA cacert.pem -CAkey cakey.pem -req -in petic-cert-client.pem -set_serial 3 -days 15 -extfile config2.txt -sha1 -out client-cert.pem
Veamos que estamos haciendo, le indicamos que será un certificado del tipo x509 cuya CA (-CA) está definida en el fichero cacert.pem y que usa como clave privada (-CAkey) el fichero cakey.pem y que el certificado a generar tendrán las especificaciones definidas en el apartado anterior(-req -in) las cuales están en el fichero de petición petic-cert-client.pem.
El certificado tendrá una validez de quince dias (-days 15),le indicamos que el certificado es para un cliente, y como esto lo tenemos en nuestro fichero de configuración se lo indicamos poniendo -extfile y nuestro fichero config2.txt y utilizaremos un algoritmo de cifrado SHA (-sha1).
Tambien le decimos que nuestro certificado tendra el numero 3; es importante decir que este numero se deberia cambiar para realizar distintos certificados cliente, ya que a la hora de revocarlos openssl lo hace por el numero de certificado.
Ahora hay que configurar Apache para que nuestro certicado servidor pida certificados cliente, para ello vamos al archivo de configuración httpd.conf y en la declaracion de nuestro host virtual añadimos las siguientes 2 lineas:
SSLCACertificateFile ssl\cacert.pem
SSLVerifyClient require
Con SSLCACertificateFile, le indicamos donde esta nuestra CA y con SSLVerifyClient require le indicamos que el servidor solicite un certificado al cliente cuando acceda a nuestro site.
Ahora debemos redireccionar las entradas por el puerto 80 (http) para que solo se pueda acceder via Https a nuestro servidor; para ello agregamos las siguientes lineas al archivo de configuracion.


RedirectMatch permanent .* https://127.0.0.1:443
Reiniciamos el servidor y ya esta listo para solicitar certificados a cada persona que entre.
Por ultimo tenemos que crear los certificados que cada cliente debera añadir al navegador. Para ello necesitamos crear con nuestro certificado un fichero comprimido en formato pkcs12 que el navegador entiende.
-openssl pkcs12 -export -in client-cert.pem -inkey client-priv.pem -certfile cacert.pem -out cert-pck12.p12
Esto nos genera el archivo de salida cert-pck12.p12 a partir de nuestro certificado cliente client-cer.pem que tiene como clave privada client-priv.pem y cuya entidad certificadora esta definida en cacert.pem. El nombre cert-pck12.p12 podemos cambiarlo a nuestro gusto para crear certificados personalizados para cada cliente.
Este archivo .p12 es el que cada cliente debe añadir a su navegador para poder ver nuestra pagina web via https.
Revocación de Certificados
Un aspecto importante para poder hacer nuestra CA segura es poder revocar certificados, para asegurarnos de que la perdida de un certificado no supone entradas no autorizadas a clientes que no les hemos dado el certificado correspondiente.
Lo primero que debemos hacer es crear una lista de revocacion en la cual se reflejaran todos aquellos certificados que han sido revocados y por lo tanto son invalidos y no utilizables por los clientes. Para poder hacerla bien, debemos tener en el directorio OpennSSL/bin un archivo de texto llamado index.txt el cual tendrá todas las entradas de certificados revocados (base de datos de certificados revocados).
Tambien tenemos que tener bien configurado el archivo openssl.cnf para que coja las rutas adecuadamente, para ello nos aseguraremos que las siguientes entradas estan bien puestas en dicho archivo:
[ CA_default ]
dir= c:/openssl/bin # Directorio donde esta OpenSSl
certs= $dir/certs # El directorio de certificados (da lo mismo)
#crl_dir= $dir/crl #La dejamos comentada. CRL en raiz
database= $dir/index.txt #Donde tengamos nuestro fichero index.txt
#unique_subject= no #Lo dejamos en ‘no’ para poder crear certificados con el mismo subject
new_certs_dir = $dir/newcerts # Directorio de nuevos certificados(tampoco es importante)
certificate= $dir/cacert.pem #Ruta del certificado de nuestra CA
serial= $dir/serial #El actual numero de serie para los certificados
#crlnumber= $dir/crlnumber #El numero actua de la lista de revocacion. Debe estar comentado
#crl= $dir/crl.pem #La actual lista de revocacion
private_key= $dir/cakey.pem # Localización de la clave privada
RANDFILE= $dir/.rand #Archivo para la generación aleatoria de numeros.
x509_extensions = usr_cert #Extension para añadir a los certificados
Una vez tenemos este archivo bien configurado pasamos a crear nuestra lista de revocación o CRL de la siguiente manera.
-openssl ca -gencrl -out listarev.crl
Tambien deberemos crear el mismo archivo pero con extensión .pem

-openssl ca -gencrl -out listarev.pem

Ahora ya tenemos la lista de revocación creada y ya podemos revocar los certificados cliente que queramos, para ello utilizaremos la siguiente instrucción para revocar un certificado.
-openssl ca -revoke client-cert.pem
Con esto le estamos diciendo que revoque el archivo client-cert.pem que habiamos creado anteriormente. OpenSSL añadirá dicha entrada a la base de datos hasta que actualizemos nuestra lista de revocación que deberemos hacerla con el mismo comando utilizado para crearla.
-openssl ca -gencrl -out listarev.crl
-openssl ca -gencrl -out listarev.pem
Para publicar la lista de revocación CRL en nuestro servidor para que se entere de los certificados que han sido revocados, deberemos copiar los 2 archivos de la lista de rovocación listarev.crl y listarev.pem en el directorio /apache/ssl y configurar el archivo htttp.conf para indicarle donde tenemos la lista de revocación almacenada. El paso de copiar las listas al direcorio de apache/ssl se puede evitar poniendo la correspondiente ruta en el archivo de configuracion hhtpd.conf, para ello añadimos a la entrada de nuestro virtuahost lo siguiente.
-SSLCARevocationFile ssl\listarev.pem
Quedando nuestro virtualhost configurado de la siguiente manera.

NameVirtualHost *:443

ServerAdmin root@localhost
SSLEngine on
SSLCARevocationFile ssl\listarev.pem
SSLCertificateFile ssl\servidor-cert.pem
SSLCertificateKeyFile ssl\serv-priv.pem
SSLCACertificateFile ssl\cacert.pem
SSLVerifyClient require
Reiniciamos nuestro servidor apache con la nueva configuración y ya lo tenemos todo listo para pedir certificados y revocar aquellos que nos interesa por diferentes causas.
BIBLIOGRAFÍA
Las páginas consultadas han sido los siguientes:
http://bulma.net/
http://www.openssl.org
http://www.apache.org/
Libro consultado:
-SERVIDOR APACHE 2, Mohammed J. Kabir (Ed. Anaya Multimedia)
ISBN: 8441514682. 1ª edición
Fecha Publicación: Enero 2003
Fuente:  helektron.com

domingo, 26 de mayo de 2013

personaliza la consola

Para continuar con nuestros tutoriales sobre el uso del terminal, hoy os vamos a explicar como personalizarlo, para que lo dejéis a vuestro gusto y que deje de hacer que vuestro ordenador parezca de los años 70.

Este tutorial va a constar de 4 partes, desde la más básica, de modificar las opciones del terminal directamente desde el menú del terminal "Preferencias del perfil" hasta la modificación del archivo .bashrc . ¡Empecemos!

Menú "perfiles" y "preferencias del perfil"

Linux nos da opciones para crear perfiles. Cada uno de estos perfiles tendrá unas opciones determinadas (color de fondo, tipografía, etc.) Para la mayoría de los usuarios, basta con utilizar el perfil por defecto, pero si necesitais crear más, podéis hacerlo pinchando en Editar > Perfiles... > Nuevo. En esa misma ventana podréis seleccionar qué perfil utilizar en cada momento.

Una vez que tengáis el perfil que queráis cambiar, vais a Editar > Preferencias del perfil, donde se os mostrarán varias pestañas:
  • General: Aquí podréis cambiar el tipo y el tamaño de letra a utilizar, el tamaño de la consola, el tipo de cursor, activar o desactivar el sonido, etc.
  • Título y comando: Aquí es posible personalizar el título del terminal, definir la acción a realizar cuando termina una orden, etc.
  • Colores: Esta es la pestaña que más juego da. Podéis cambiar el color del texto y del fondo, además de la paleta de colores que las diferentes órdenes pueden utilizar. Aunque vienen esquemas de color ya incluidos, os recomiendo que probéis la combinación que más os guste.
  • Fondo: En vez de tener un fondo de un solo color, esta pestaña os permite cambiarlo por una imagen de fondo. Escoged bien la foto, ya que si tiene colores parecidos a los que usáis en el texto, os resultará difícil de leer luego. Yo os recomiendo una imagen simple, de pocos colores y pocas figuras. También podéis poner cierto grado de transparencia.
  • Desplazamiento: Para cambiar la posición de la barra de desplazamiento y la cantidad de líneas que se pueden retroceder. Si utilizáis la terminal con programas que ejecutan muchos comandos os recomiendo que no pongáis desplazamiento ilimitado, vuestra memoria os lo agradecerá ;)
  • Compatibilidad: No toquéis nada de esta pestaña si no sabéis exactamente que estáis haciendo, pues cualquier cambio puede hacer que todo deje de funcionar como debería. Si todo te funciona bien hasta ahora, no cambies nada.


Mostrar tu nombre o cualquier otro mensaje al abrir el terminal

En el último tutorial (aquí) mucha gente me pidió que les enseñara a mostrar unas letras en grande cada vez que se abra el terminal. Para conseguirlo, primero tendremos que instalarnos el programa Figlet. El cometido de este programa es transformar el texto que le pasemos como parámetro en un texto más interesante. Aquí os dejo un ejemplo:


Para empezar tendremos que instalar varios programas de la siguiente manera:
Ubuntu:
sudo apt-get install figlet cowsay fortune fortunes-es fortunes-es-off

Fedora:

sudo yum install figlet cowsay fortune fortunes-es fortunes-es-off

Una vez se haya instalado correctamente, vamos a nuestro directorio principal:

cd $HOME

y abrimos con gedit (o el editor de texto que prefieras) el archivo de configuración del terminal .bashrc:

gedit .bashrc

Ahora es muy importante que lo que contenga ese archivo no lo modifiqueis para nada. Todo lo que vamos a hacer es ir añadiendo filas al final.

Para que os salga vuestro nombre con letras grandes escribid:

figlet Vuestro Nombre

Para que os salga una bonita vaca diciendo un mensaje escribid:

cowsay Vuestro mensaje

Mirad las opciones del comando cowsay (cowsay --help) para cambiar la apariencia de la vaca.

Para que os salga un mensaje como en las galletas de la suerte chinas:

fortune

Guardad el archivo y abrid un terminal nuevo para ir comprobando el resultado.


Cambiar los colores del prompt

El prompt es el mensaje que da el terminal para indicarnos que está a la espera de órdenes (el clásico usuario@máquina:~$ )  

Linux nos da la opción de personalizarlo, para ello tenemos que seguir editando el .bashrc, para saber como hacerlo, consulta este viejo artículo: 

http://usemoslinux.blogspot.com/2010/11/terminales-con-estilo-personaliza-tu.html

Cómo matar procesos fácilmente

Básicamente, existen 4 maneras de matar eficazmente un proceso en Linux: matarlo por el nombre, mediante la especificación de una parte del nombre, por el PID, señalando la ventana del proceso con el cursor del mouse. Veamos una por una...

Kill: matar un proceso usando su PID

La forma más complicada pero al mismo tiempo más precisa de matar un proceso es a través de su PID (siglas en inglés de "Identificador de Proceso"). Cualquiera de estas 3 variantes puede servir:

kill -TERM pid
kill -SIGTERM pid
kill -15 pid

Se puede usar el nombre de la señal (TERM o SIGTERM) que se desea mandar al proceso o su número de identificación (15). Para ver un listado completo de las posibles señales, sugiero verificar el manual de kill. Para ello, ejecutá:

man kill

Veamos un ejemplo de cómo matar Firefox:

Primero, hay que averiguar el PID del programa:

ps -ef | grep firefox

Ese comando devolverá algo parecido a esto:

1986 ?        Sl     7:22 /usr/lib/firefox-3.5.3/firefox

Usamos el PID devuelto por el comando anterior para aniquilar el proceso:

kill -9 1986


killall: matar un proceso usando su nombre

Este comando es bien fácil

killall nombre_proceso

Un dato a tener en cuenta al usar este método es que en caso de que haya más de una instancia de ese programa ejecutándose, se cerrarán todas.


pkill: matar un proceso usando parte de su nombre

Es posible aniquilar un proceso especificando el nombre completo o parte del nombre. Eso significa que no hay necesidad de que recuerdes el PID del proceso para enviar la señal.

pkill parte_nombre_proceso

Como contrapartida, este método aniquilará todos los procesos que contengan la palabra ingresada. Eso significa que si tenemos abiertos 2 procesos que comparten una palabra en el nombre, se cerrarán ambos.


xkill: matar un proceso seleccionando la ventana con el mouse

Este es el método más sencillo y el más práctico. En caso de desastre, simplemente presioná Alt + F2 para que se abra el cuadro de diálogo que te permitirá ejecutar comandos. Desde allí, ejecutá el siguiente comando:

xkill

El cursor del mouse se transformará en una pequeña calavera. Todo lo que resta es hacer clic en la ventana que querés cerrar y voilá. Chau proceso.


Algunos comentarios finales

Para terminar, quería compartir algunos consejos que pueden ser de utilidad. En Linux, al igual que en Windows, cuando un proceso se cuelga, generalmente se puede cerrar la ventana en cuestión haciendo clic en el botón Cerrar (que tiene la forma de una X). Luego de unos segundos, aparecerá una ventana preguntándonos si realmente queremos aniquilar el proceso puesto que éste no responde adecuadamente. Le damos que sí y listo.

Eso quiere decir que los métodos aquí descriptos deberían ser utilizados cuando no pasa nada al hacer clic en el botón Cerrar de la ventana en cuestión.

En caso de desastre mayor, no olvides que antes de presionar es posible realizar un reinicio "seguro".

Por último, puede ser de mucha utilidad descubrir cuáles son los procesos que están ejecutándose actualmente. Para ello, los diferentes entornos de escritorio (GNOME, KDE, etc.) tienen herramientas gráficas que facilitan esta tarea. No obstante, en caso de que no puedas acceder a ellas o simplemente desees hacerlo desde el terminal, podés ejecutar lo siguiente:

top

En caso de que esto no funcione o que no tengas el paquete correspondiente instalado, siempre podés ejecutar:

ps -A

Esto listará todos los procesos en ejecución, junto con sus respectivos nombres y PIDs.

comandos utiles para linux


Este no intenta ser un listado completo pero sí les aseguro que encontrarán una buena parte de los comandos más comunes y útiles para la consola de comandos de Linux. :) 

Commandos Generales

dmesg
Imprime los mensajes desplegados por el "kernel" al inicio.

depmod -a
Genera un archivo que contiene las dependencias de los modulos que son cargados para el "Kernel",esto es, es capaz de reconocer cuales modulos deben de ser cargados para que un tercero sea utilizado en el sistema.

free
Estadisticas de uso de Memoria.

init q
Comando que vuelve a leer los parametros que se encuentran en inittab.

insmod
Habilita ("loads") el modulo que se especifica en la linea, para que el "kernel" sea capaz de utilizarlo.(ejemplo: insmod ip_alias.o )

ldconfig
Actuliza las librerias utilizadas por el sistema, recomendable ejecutarlo cada vez que se instale un programa.

lsmod
Despliega la información referente a los modulos que estan abilitados por el "kernel".

mount
Permite que particiones del sistemas,CD-ROMs, floppys puedan ser leeidas en el sistema. Su formato: mount -t . Vea también /etc/fstab .

smbmount
Similar al comando mount , excepto que este comando es utilizado para montar particiones en Samba .

smbumount
Utilizado para desactivar las particiones activadas con smbmount

setup
Presenta un menu para configurar varios parameteros del sistema (Sonido, Xwindow, Mouse..).

slocate
Actualiza la base de información que es utilizada para encontrar archivos con el comando locate .

stat
Despliega información detallada sobre el archivo especificado como: fechas de modificiación y cambio, dueño del archivo..etc.

umount
Desactiva la partición que se indicada, los parametros que toma este comando son similares a los de mount .

uname -a
Información completa sobre el "Host".

uptime
Hora actual, tiempo que lleva el sistema corriendo desde el ultimo "reboot", usuarios conectados al servidor, carga del sistema en los ultimos 1,5 y 15 minutos.

hostname
El nombre del "Host".

chkconfig
Este comando despliega la información sobre los niveles de ejecución de los "scripts" ubicados en el directorio /etc/rc.d/init.d


Código :

chkconfig --list httpd Este comando despliega: 
httpd 0 ff 1 ff 2 ff 3 n 4 n 5 n 6 ff

Lo anterior indica que cuando se utilize el nivel de arranque 3, el "script" httpd en el directorio /etc/rc.d/init.d recibirá el argumento "start", cuando se corra el nivel de arranque 6, httpd recibirá el argumento "stop",etc..

Para modificar hacia argumento "start" :

Código :

chkconfig --add  
--level 

Para modificar hacia el argumento "stop" :

Código :

chkconfig --del  
--level 

* Es precisamente de los directorios /etc/rc.d/rc[0-6] de donde proviene la información que despliega chkconfig.

ntsysv
Es una herrmienta gráfica que tiene la misma funcionalidad que chkconfig, la diferencia es que esta herramienta despliega todos los "scripts" por nivel, esto es, si se utiliza el comando ntsysv --level 3 , la gráfica mostrará el status "stop" o "start" de todos los "scripts" para el nivel de arranque 3 . De la misma forma se utilizan: ntsysv --level 5 , ntsysv --level 0 ,etc.

Al igual que chkconfigntsysv modifica y toma la información que se encuentra en los directorios /etc/rc.d/rc[0-6]


Comandos Entorno De Red 


En Entorno de Red 

host
Determina la dirección IP de un "Host" , host -a despliega toda la información de DNS.

ifconfig
Permite configurar una interfase de Red y ver el "status" de ésta.Esa de la forma ifconfig , ejemplo: ifconfig eth0

ifup
Habilita la interfase especificada,ejemplo: ifup eth0 .

ifdown
Deshabilita la interfase especificada,ejemplo: ifdown eth0 .

netstat -a
Todas la conexiones de Red originadas y recibidas por el "Host"

netstat -r
Muestra la tabla de ruteo "routing table" del sistema

netstat -i
Estadisticas de red de cada interfase

nslookup
Busca información en los servidores DNS,ejemplo: nslookup -query=mx osomosis.com , si no se especifican parametros se entra en modo interactivo

ping -s 1016
Manda paquetes de ping de 1024 bytes (header 8 bytes), mientras que el "default" es 512.

route add
Permite agregar tablas de ruteo de y hacia el "Host". Ejemplo: Para guiar toda la información de la red 206.171.55.16 netmask 255.255.255.240 via la interfase eth0 :

Código :


route add -net 206.171.55.16 255.255.255.240 eth0

Para rutear todo el trafico por cierta interfase ("Default Gateway"):


Código :

route add default gw 206.171.55.51 eth0

Esto enviará toda la infromacion por la direccion 206.171.55.51

route -n:
Despliega la tabla de ruteo del "Host". NOTA: Debe de estar "IP Forwarding" ON en /etc/sysconfig/network , además el "kernel" debe de estar configurado para "IP Forwarding" .

smbclient
Funciona como un cliente FTP, que simula conexiones que serán realizadas através de Samba.

tcpdump
Permite el "debugging" de una interfase en el host.

testparm
Verifica la validez del archivo smb.conf utilizado por Samba.

Comandos Para Control De Procesos 

Control de Procesos:

ps -aux
Despliega todos los procesos del sistema, con nombre y tiempo de inicio.

kill
Es utilizado para mandar señales a los procesos en Unix.
kill -HUP : Señala al proceso con numero , que vuelva a leer sus archivos de configuración.
kill -INT : Señala al proceso con numero , que sera interrumpido .
kill -TERM : Señala al proceso con numero ,que debe de terminar, a diferencia de -KILL , esta opción da la oportunidad al proceso de terminar.
kill -STOP : Señala al proceso con numero , que pare momentaneamente.
kill -CONT : Señala al proceso con numero , que continué, este comando se utiliza para reanudar un proceso que le fue aplicado -STOP.
kill -KILL : Señala al proceso con numero ,que termine de inmediato, el proceso es terminado abruptamente.

killall
A diferencia de kill , killall permite mandar un señal al proceso por nombre.



Envia la señal -TERM al proceso con el nombre especificado. NOTA: Por "default" la señal que toma kill y killall es -TERM .

ps -l
Este comando despliega dos parametros PRI y NI. El parametro PRI indica la prioridad actual del proceso, que es calculada por el sistema operativo, el valor de NI es tomado encuenta cuando se determina el PRI.

Que es NI ? : NI es llamado el numero gentil o "nice number" , este numero es especificado por el "superusuario"("root") o dueño del proceso y afecta el orden final del PRI, le da prioridad a los menos gentiles.Sus valores oscilan desde -20 (menos gentil=mas prioridad) y 20 (mas gentil=menos prioridad)

nice
Este comando especifica el numero NI de cada proceso.

nice -10 named: Esto bajaria la prioridad de named en 10 unidades.(Si estaba en -10, pasará a -20).
nice +10 named: Esto incrementaria la prioridad de named en 10 unidades.(Si estaba en 0, pasaria a +10).


snice y renice
El mismo funcionamiento que nice , excepto que utiliza el numero de proceso :
snice -10


&
El & es utilizado para indicar que el proceso debe de ejecutarse en el fondo.


top
Esta herramiente monitorea varios recursos del sistema y tiene un caracter dinámico, muestra uso de CPU por proceso, cantidad de memoria, tiempo desde su inicio,etc.


vmstat
Es muy similar a top ya que es un condensado de los procesos del sistema, para que esta herrmienta se vuelva dinamica se deben especificar los argumentos: vmstat -n


at
Este comando permite programar ciertas actividades a una cierta hora,ejemplo: at 22:00 , el comando anterior abre un "prompt" de la forma at> , sobre este "prompt" se especifican todos los comandos que se deseen ejecutar, en este caso a las 22:00, una vez especificados, se utiliza Ctlrl-d para salir.

Ya finalizado,los comandos estarán programados para ejecutarse a la hora indicada, el directorio /var/spool/at contiene el trabajo.

El comando atq despliega los trabajos at que estan pendientes, y el comando atrm elimina un trabajo programado con at . Vea también /etc/at.deny y /etc/at.allow


crontab
Al igual que at especifica el tiempo al cual se ejecutará un programa "script", crontab tiene la siguiente forma: minutos horas dias meses fin_de_semana nombre_de_usuario instrucción argumentos

El siguiente ejemplo ejecutará el programa oracle.pl cada media hora todos los dias:

Código :


30 * * * * root /usr/oracle.pl

Si se desea realizarlo mensualmente:

Código :

01 3 1 * * root /usr/oracle.pl 

Lo anterior ejecutará oracle.pl el dia primero de cada mes, a las 3:01 AM.

Para especificar trabajos cron cada usuario mantiene un archivo en el directorio /var/spool/cron/ , este directorio lo accesa cada usario con el comando crontab -e

La ejecución de crontab se facilita debido al archivo /etc/crontab que esepcifica trabajos crontab por hora,dia,semana y mes, de esta forma solo se requiere que el usuario coloque un archivo en los directorios correspondientes: /etc/cron.hourly | /etc/cron.daily | /etc/cron.weekly | /etc/cron.monthly

Comandos Para Resgistros y Sistema 

Control de Registros "Logs" 

tail
Permite ver el final de un archivo, este comando es util ya que los archivos de registros "logs" crecen constantemente tail --f /var/log/messages

Tambien se puede especificar el numero de renglones que se deben observar:

Código :

tail --f --line 15 /var/log/messages

Este comando anterior despliega las ultimas 15 lineas del archivo ("default" = 10). La --f mantiene el archivo abierto para poder observarlo conforme se agregen eventos.

Configuracion de Sistema 
/usr/sbin/sndconfig: Ejecutable utilizado para configurar el sonido del sistema.
/bin/netconf: Ejecutable utilizado para configuración de Interfases de Red.

Comandos De Administracion 

sysctl
Descripción: Configurar los paràmetros del kernel en tiempo de ejuecución.
Ejemplos: sysctl -a

ulimit
Descripción: muestra los limites del sistema (maximo de ficheros abiertos, etc..)
Ejemplos: ulimit

adduser
Descripción: añadir usuario de sistema.
Ejemplos: adduser pepe, adduser -s /bin/false pepe

userdel
Descripción: = eliminar usuario de sistema
Ejemplos: userdel pepe

usermod
Descripción: = modificar usuario de sistema
Ejemplos: usermod -s /bin/bash pepe

df
Descripción: = disk free. espacio en disco disponible. Muy util.
Ejemplos: df, df -h

uname
Descripción: =unix name. Informacion sobre el tipo de unix en el que estamos, kernel, etc.
Ejemplos: uname, uname -a

netstat
Descripción: la informacion sobre las conexiones de red activas.
Ejemplos: netstat, netstat -ln, netstat -l, netstat -a

ps
Descripción: =proccess toda la informacion sobre procesos en ejecucion.
Ejemplos: ps, ps -axf, ps -A, ps -auxf

free
Descripción: muestra el estado de la memoria RAM y el SWAP.
Ejemplos: free

ping
Descripción: heramienta de red para comprobar entre otras cosas si llegamos a un host remoto.
Ejemplos: ping www.rediris.es

traceroute
Descripción: herramienta de red que nos muestra el camino que se necesita para llegar a otra maquina.
Ejemplos: traceroute www.rediris.es

du
Descripción: =disk use. uso de disco. Muestra el espacio que esta ocupado en disco.
Ejemplos: du *, du -sH /*, du -sH /etc

ifconfig
Descripción: =interface config. configuracion de interfaces de red, modems, etc.
Ejemplos: ifconfig, ifconfig eth0 ip netmask 255.255.255.0

route
Descripción: gestiona las rutas a otras redes.
Ejemplos: route, route -n

iptraf
Descripción: muestra en una aplicacion de consola TODO el trafico de red IP, UDP, ICMP.
Permite utilizar filtros, y es SUMAMENTE UTIL para diagnostico y depuracion de firewalls
Ejemplos: iptraf

tcpdump
Descripción: vuelca el contenido del trafico de red.
Ejemplos: tcpdump, tcpdump -u

lsof
Descripción: muestra los ficheros(librerias, conexiones) que utiliza cada proceso
Ejemplos: lsof, lsof -i, lsof | grep fichero

lsmod
Descripción: Muestra los modulos de kernel que estan cargados.
Ejemplos: lsmod

modprobe
Descripción: Trata de instalar un modulo, si lo encuentra lo instala pero de forma temporal.
Ejemplos: modprobe ip_tables, modprobe eepro100

rmmod
Descripción: Elimina modulos del kernel que estan cargados
Ejemplos: rmmod

sniffit
Descripción: Sniffer o husmeador de todo el trafico de red. No suele venir instalado por defecto.
Ejemplos: sniffit -i

Otros 

ls
Descripción: =list. listar contenido de directorios.
Ejemplos: ls, ls -l, ls -fl, ls --color


cp
Descripción: =copy. copiar ficheros/directorios.
Ejemplos:cp -rfp directorio /tmp, cp archivo archivo_nuevo


rm
Descripción: =remove. borrar ficheros/directorios.
Ejemplos: rm -f fichero, rm -rf directorio, rm -i fichero


mkdir
Descripción: =make dir. crear directorios.
Ejemplos: mkdir directorio


rmdir
Descripción: =remove dir. borrar directorios, deben estar vacios.
Ejemplos: rmdir directorio


mv
Descripción: =move. renombrar o mover ficheros/directorios.
Ejemplos: mv directorio directorio, mv fichero nuevo_nombre, mv fichero a_directorio


date
Descripción: gestion de fecha de sistema, se puede ver y establecer.
Ejemplos: date, date 10091923


history
Descripción: muestra el historial de comandos introducidos por el usuario.
Ejemplos: history | more


more
Descripción: muestra el contenido de un fichero con pausas cada 25 lineas.
Ejemplos: more fichero


grep
Descripción: filtra los contenidos de un fichero.
Ejemplos:cat fichero | grep cadena


cat
Descripción: muestra todo el contenido de un fichero sin pausa alguna.
Ejemplos: cat fichero


chmod
Descripción: cambia los permisos de lectura/escritura/ejecucion de ficheros/directorios.
Ejemplos: chmod +r fichero, chmod +w directorio, chmod +rw directorio -R, chmod -r fichero


chown
Descripción: =change owner. cambia los permisos de usuario:grupo de ficheros/directorios.
Ejemplos: chown root:root fichero, chown pello:usuarios directorio -R


tar
Descripción: =Tape ARchiver. archivador de ficheros.
Ejemplos: tar cvf fichero.tar directorio , tar xvf fichero.tar, tar zcvf fichero.tgz directorio, tar zxvf fichero.tgz



gunzip
Descripción: descompresor compatible con ZIP.
Ejemplos: gunzip fichero


rpm
Descripción: gestor de paquetes de redhat. Para instalar o actualizar software de sistema.
Ejemplos: rpm -i paquete.rpm, rpm -qa programa, rpm --force paquete.rpm, rpm -q --info programa


mount
Descripción: montar unidades de disco duro, diskette, cdrom.
Ejemplos: mount /dev/hda2 /mnt/lnx, mount /dev/hdb1 /mnt -t vfat


umount
Descripción: desmontar unidades.
Ejemplos: umount /dev/hda2, umount /mnt/lnx


wget
Descripción: programa para descargar ficheros por http o ftp.
Ejemplos: wget 
http://www.rediris.es/documento.pdf

lynx
Descripción: navegador web con opciones de ftp, https.
Ejemplos: lynx 
www.ibercom.com, lynx --source http://www.ibercom.com/script.sh | sh

ftp
Descripción: cliente FTP.
Ejemplos: ftp 
ftp.ibercom.com

whois
Descripción: whois de dominios.
Ejemplos: whois 
ibercom.com

who
Descripción: muestra los usuarios de sistema que han iniciado una sesion.
Ejemplos: who, w, who am i


mail
Descripción: envio y lectura de correo electronico.
Ejemplos: mail 
pepe@ibercom.com < fichero, mail -v pepe@ibercom.com < fichero
sort
Descripción: ordena el contenido de un fichero.
Ejemplos: cat /etc/numeros | sort, ls | sort


ln
Descripción: =link. para crear enlaces, accesos directos.
Ejemplos: ln -s /directorio enlace


tail
Descripción: muestra el final (10 lineas) de un fichero.
Ejemplos:tail -f /var/log/maillog, tail -100 /var/log/maillog | more


head
Descripción: muestra la cabecera (10 lineas) de un fichero.
Ejemplos: head fichero, head -100 /var/log/maillog | more


file
Descripción: nos dice de que tipo es un fichero.
Ejemplos: file fichero, file *


Fuente: Cristalab

Cómo descubrir cuáles son los 10 comandos que más usás

Este artículo tiene más de dos años de antigüedad y es posible que esté desactualizado.
En caso de que seas un ávido usuario del terminal, seguramente querrás saber cuáles son los comandos que más utilizás. Bueno, existe una forma muy sencilla de descubrirlo...

Abrí un terminal y escribí:

history | awk '{print $2}' | sort | uniq -c | sort -rn | head -10

Cómo mantener actualizadas varias máquinas al mismo tiempo

Este artículo tiene más de dos años de antigüedad y es posible que esté desactualizado.
En situaciones en las que administrás varias máquinas, Apt puede ser de mucha ayuda ya que hace que el proceso de actualización y aplicación de los parches de seguridad para cada máquina sea muy simple. El problema es que, con el método tradicional, una vez que sale una actualización, tenés que bajar una copia de todos los nuevos paquetes para cada una de las máquinas, lo que implica un consumo fenomenal de nuestro ancho de banda y del ancho de banda del servidor oficial.

Afortunadamente, existe un método que nos permite actualizar una de las máquinas y, desde allí, actualizar el resto de las máquinas que componen nuestra red. Este método, además de reducir los costos y optimizar el uso de nuestro ancho de banda, evita la duplicación de paquetes en las distintas máquinas: todas instalan los paquetes utilizando nuestro "servidor de caché".

Cuando estás ejecutando la misma distribución en diferentes máquinas (ya sea en el trabajo, en laboratorios de computación, en "granjas" de servidores, en clusters o incluso en tu pequeña red doméstica) puede resultar útil crear un repositorio caché en tu red para que una vez descargado un paquete desde un repositorio oficial todas las demás máquinas lo descarguen desde ese repositorio caché que está almacenado en una máquina de tu red a la que llamaremos "servidor". De esta manera, las actualizaciones descargadas desde una máquina pueden ser instaladas en las demás sin necesidad de volver a descargarlas desde los repositorios oficiales.

Primero veamos algunas soluciones "no tradicionales" que NO recomiendo, pero que seguramente te vendrán a la mente a la hora de resolver esta cuestión.


Compartir /etc/apt

Cuando instalás un paquete en una distro Debian (o sus derivadas), éste se almacena localmente en el directorio '/etc/apt'. Cuando un paquete es requerido, Apt primero busca en este directorio para ver si existe una copia local (o sea, un caché), evitando así su descarga innecesaria. Como resultado de ello, a varios de Uds. seguramente se les habrá ocurrido que una buena forma de resolver el problema en cuestión podría ser elegir una computadora, que designaríamos como una suerte de servidor, que se actualizaría utilizando los repositorios oficiales, y que compartiría su directorio '/etc/apt' con el resto de las máquinas de la red. No obstante, este método podría derivar en problemas vinculados al bloqueo del archivo 'sources.list'. En general, no es la solución más utilizada ni la más conveniente.


Mover los paquetes

En vez de compartir un directorio '/etc/apt' común, otra alternativa podría ser que cada compu utilice su propio directorio local de caché pero generar un script que se ocupe de copiar los paquetes de una máquina a la otra de modo que queden todas actualizadas. Una herramienta para llevar adelante esta tarea puede ser 'apt-move', pero sinceramente no se las recomiendo porque no es lo suficientemente transparente para el usuario final. Además, puede significar una utilización completamente innecesaria de espacio en disco ya que deberán copiarse todos los paquetes en cada una de las máquinas.


Sistemas de caché dedicados

La mejor solución para este problema es la utilización de un sistema de caché dedicado. De lo que se trata, en definitiva, es de crear una copia de los servidores oficiales en una de las máquinas de tu red y luego configurar al resto de las máquinas para que, en vez de buscar las actualizaciones desde los servidores oficiales, lo hagan utilizando este caché (o copia) local.

Existe una variedad de sistemas diseñados para trabajar con Apt, incluyendo apt-cacher, apt-proxy, y apt-cached.

Aquí vamos a tratar con apt-cacher, que es el más sencillo de usar.


Apt-cacher

Apt-cacher es bien diferente de otros sistemas de caché de repositorios ya que no es un programa independiente ("stand-alone") sino que corre como un script CGI bajo Apache. Esto tiene varias ventajas, como por ejemplo, convertirlo en una herramienta pequeña y simple pero al mismo tiempo muy poderosa y, por consiguiente, más robusta porque no precisa de un código propio para el manejo de protocolos, y es muy flexible porque podés usar el mecanismo de control de acceso de Apache en caso de que quieras limitar el número de máquinas que se encuentren habilitadas para acceder al caché.

Apt-cacher sólo necesita ser instalado en una máquina, aquella que decidas que debe funcionar como tu caché local de repositorios. Luego, el resto de las computadoras de tu red deberán ser configuradas para que realicen los pedidos de actualizaciones al caché y no a los servidores oficiales.


Configuración del servidor

Para instalar basta con

sudo apt-get install apt-cacher

Este paquete tiene dependencias con apache, perl y wget, por lo que los instalará si no lo tenés previamente instalados.

Una vez instalado, es recomendable reiniciar Apache:

/etc/init.d/apache restart

Finalmente, lo único que hay que hacer es ajustar los parámetros por defecto del script. Escribí en un terminal:

sudo gedit /etc/apt-cacher/apt-cacher.conf

En general, todos los valores por defecto están bien, pero es recomendable ajustar los tres siguientes:

admin_email=mimail@miservidor
generate_reports=1
expire_hours=24

El segundo elemento es una variable de tipo booleana que determina la generación de reportes (0 no genera reportes, 1 sí los genera). El primer elemento, en cambio, es la dirección de correo electrónico a la que se enviarán los reportes creados. El tercer y último elemento determina la cantidad de horas que debe esperar Apt para verificar si hay actualizaciones disponibles en los servidores oficiales.

Si utilizás un proxy, no te olvides de agregar los siguientes elementos:

http_proxy=proxy.example.com:8080
use_proxy=1

Para verificar que funcione, podés acceder a tu caché local a través de la url http://nombre_servidor/apt-cacher/ y aparecerá una página donde se muestra la configuración de apt-cacher. Recordá que 'nombre_servidor' debe ser reemplazado por el IP de la máquina que hayas designado como 'servidor', o sea, como depositaria del caché local de paquetes.


Configuración clientes

Ahora lo único que hay que hacer es modificar los sources.list de los clientes para que pasen a través del servidor. Si el IP del servidor es 123.123.123.123, hay que añadirlo a cada línea del sources.list, y además tener cuidado y que todos hagan referencia al mismo servidor, sino el cache no tendrá efecto.

sudo gedit /etc/apt/sources.list

Nota: ¡Ojo! En Debian y sus derivados el 'sources.list' se almacena en '/etc/apt'. Sin embargo, en otras distribuciones puede ser que se almacene en otra ruta. En caso de que no encuentres el archivo siempre podés encontrarlo ingresando 'locate sources.list' en un terminal.

Una vez abierto el archivo, siendo el IP de nuestro servidor 123.123.123.123, habría que modificar todas las líneas usando el siguiente criterio:

# Originales
#deb http://ftp.us.debian.org/debian/ sid main contrib non-free
#deb-src http://ftp.us.debian.org/debian/ sid main contrib non-free

# Modificados
deb http://123.123.123.123/apt-cacher/ftp.us.debian.org/debian/ sid main contrib non-free
deb-src http://123.123.123.123/apt-cacher/ftp.us.debian.org/debian/ sid main contrib non-free

Como ves, hay que agregar al comienzo de la dirección URL el IP del servidor + '/apt-cacher/'. Luego va el resto de la línea original.


Estadísticas de tráfico

Si agregaste el elemento 'generate_reports=1' en el archivo 'apt-cacher.conf', apt-cacher generará estadísticas de accesos, a las que podés acceder con el url '/apt-cacher/report'.

Si, por algún motivo, necesitás generar las estadísticas antes de las cantidad de horas establecidas en 'apt-cacher.conf', ejecutá el el siguiente comando:

/usr/share/apt-cacher/apt-cacher-report.pl

listado de las alternativas linux en windows

Este artículo tiene más de dos años de antigüedad y es posible que esté desactualizado.
Siempre quisiste saber cuál era la alternativa "libre" de ese programa de Windows que tanto amaste...

Bueno, aquí va un listado bastante extenso con las diferentes opciones con las que cuenta Linux para reemplazar a tus viejos programas de Windows.

Aunque no estés a la búsqueda de un programa en particular, te recomiendo que le pegues una hojeada; podés encontrar muchos programitas muy interesantes que ni sabías que existían. :P

3D Home ArchitectSweet Home 3D (http://sweethome3d.sourceforge.net/index.html)
3D Studio MaxArt of Illusion (http://www.artofillusion.org/)
Blender (http://www.blender.org/)
K-3D (http://www.k-3d.org/)
Wings 3D (http://www.wings3d.com/)
ACDSeeEye of GNOME (http://www.gnome.org/projects/eog/)
Geeqie (http://geeqie.sourceforge.net/)
GQview (http://gqview.sourceforge.net/)
Gwenview (http://gwenview.sourceforge.net/)
KuickShow (http://kuickshow.sourceforge.net/)
ShowImg (http://freecode.com/projects/showimg)
Adobe Acrobat ReaderePDFView (http://trac.emma-soft.com/epdfview/
Evince (http://www.gnome.org/projects/evince/)
okular (http://okular.kde.org/)
Xpdf (http://www.foolabs.com/xpdf/)
Adobe AuditionAudacity (http://audacity.sourceforge.net/)
Adobe IllustratorInkscape (http://www.inkscape.org/
Calligra Karbon (http://www.calligra.org/karbon)
sK1 Project (http://ww.sk1project.org/)
Skencil (http://www.skencil.org/)
Xara Xtreme (http://www.xaraxtreme.org/)
Alchemy (http://al.chemy.org/gallery/)
Open Office Draw (http://www.openoffice.org/product/draw.html)
Libre Office Draw (http://es.libreoffice.org/caracteristicas/draw/)
Adobe LightroomDarktable (http://darktable.sourceforge.net/)
Adobe PageMakerScribus (http://www.scribus.net/)
Adobe PhotoshopCinePaint (http://www.cinepaint.org/
GIMP (http://www.gimp.org/)
GIMPShop (http://www.gimpshop.com/)
Krita (http://krita.org/)
Ant Movie CatalogMoviefly (https://savannah.nongnu.org/projects/lmc/)
AOL Instant Messenger (AIM)Instantbird (http://instantbird.com/
Kopete (http://kopete.kde.org/)
Pidgin (http://pidgin.im)
PSI (http://psi-im.org/)
Empathy (https://live.gnome.org/Empathy)
APC PowerChuteApcupsd (http://www.apcupsd.com/
Network UPS Tools (http://www.networkupstools.org/)
PowerD (http://power.sourceforge.net/)
CollectorzAlexandria (http://alexandria.rubyforge.org/
aviManager (http://sourceforge.net/projects/avimanager/)
GCstar (http://www.gcstar.org/)
Griffith (http://griffith.cc/)
Katalog (http://salvaste.altervista.org/)
Tellico (http://tellico-project.org/)
vMovieDB (http://vmoviedb.sourceforge.net/)
DAMN NFO ViewerNFO Viewer (http://home.gna.org/nfoview/)
DreamweaverBluefish (http://bluefish.openoffice.nl/index.html
BlueGriffon (http://bluegriffon.org/)
Geany (http://geany.uvena.de)
KompoZer (http://www.kompozer.net/)
Nvu (http://www.nvu.com/)
Quanta Plus (http://quanta.sourceforge.net/release2.php)
Screem (http://www.screem.org/)
DVDShrinkAcidRip (http://sourceforge.net/projects/acidrip/
dvd::rip (http://www.exit1.org/dvdrip/)
k9copy (http://k9copy.sourceforge.net/)
OGMRip (http://ogmrip.sourceforge.net/)
qVamps (http://vamps.sourceforge.net/)
Thoggen (http://thoggen.net/)
xdvdshrink (http://dvdshrink.sourceforge.net/)
EverestHardInfo (http://hardinfo.berlios.de/web/HomePage)
EvernoteBasKet (http://basket.kde.org/
Chandler (http://chandlerproject.org/)
QuickFox Notes (https://addons.mozilla.org/en-US/firefox/addon/13572/)
Tomboy (http://live.gnome.org/Tomboy/)
Zim (http://zim-wiki.org/)
FinaleBrahms (http://brahms.sourceforge.net/
Denemo (http://denemo.sourceforge.net/index.html)
Lilypond (http://www.lilypond.org)
MuseScore (http://musescore.org/)
NoteEdit (http://noteedit.berlios.de/)
Rosegarden (http://www.rosegardenmusic.com/)
FL StudioArdour (http://www.ardour.org
Jokosher (http://www.jokosher.org/)
LMMS (http://lmms.sourceforge.net/)
FontographerFontForge (http://fontforge.sourceforge.net/)
foobar2000Amarok (http://amarok.kde.org/
Aqualung (http://aqualung.factorial.hu/misc.html)
aTunes (http://www.atunes.org/)
Banshee (http://banshee-project.org/Main_Page)
Decibel Auto Player (http://decibel.silent-blade.org/)
Exaile (http://www.exaile.org/)
gtkpod (http://www.gtkpod.org/)
Listen (http://listengnome.free.fr/)
minitunes (http://flavio.tordini.org/minitunes)
Quod Libet (http://code.google.com/p/quodlibet/)
Rhythmbox (http://www.gnome.org/projects/rhythmbox/)
Forte AgentPan (http://pan.rebelbase.com/)
FrapsrecordMyDesktop (http://recordmydesktop.sourceforge.net/
Yukon (https://github.com/wereHamster/yukon/)
FreeRIPGrip (http://nostatic.org/grip/
KAudioCreator (http://www.icefox.net/programs/?program=KAudioCreator)
ripperX (http://ripperx.sourceforge.net/)
Rubyripper (http://wiki.hydrogenaudio.org/index.php?title=Rubyripper)
Sound Juicer (http://www.burtonini.com/blog/computers/sound-juicer)
FruityLoopsHydrogen (http://www.hydrogen-music.org/)
Google Desktop SearchBeagle (http://beagle-project.org/
Google Desktop (http://desktop.google.com/linux/index.html)
Google EarthEarth 3D (http://www.earth3d.org/
Marble (http://edu.kde.org/marble/)
Guitar ProDGuitar (http://dguitar.sourceforge.net/
kguitar (http://sourceforge.net/projects/kguitar/)
TuxGuitar (http://www.tuxguitar.com.ar/home.html)
Legacy Family TreeGRAMPS (http://gramps-project.org/)
LimeWireFrostWire (http://www.frostwire.com/)
Meal MasterGourmet Recipe Manager (http://grecipe-manager.sourceforge.net/
krecipe (http://krecipes.sourceforge.net/)
Microsoft AccessGNOME-DB (http://www.gnome-db.org/
Kexi (http://www.kexi-project.org/)
knoda (http://www.knoda.org)
Microsoft ExcelGnumeric (http://www.gnome.org/projects/gnumeric/
Calligra Sheets (http://www.calligra-suite.org/sheets/)
Open Calc (http://www.openoffice.org/product/calc.html)
Libre Office Calc (http://es.libreoffice.org/caracteristicas/calc/)
Microsoft HyperTerminalGtkTerm (http://freshmeat.net/projects/gtkterm/
minicom (http://alioth.debian.org/projects/minicom/)
Microsoft Internet ExplorerChromium (http://www.chromium.org/Home)
Epiphany (http://www.gnome.org/projects/epiphany/
Firefox (http://www.mozilla.com/firefox/)
Seamonkey (http://www.seamonkey-project.org/)
Konqueror (http://www.konqueror.org/)
Opera (http://www.opera.com/download/)
Microsoft MoneyGnofin (http://gnofin.sourceforge.net/
GNUcash (http://www.gnucash.org/)
Grisbi (http://www.grisbi.org/)
HomeBank (http://homebank.free.fr/)
KMyMoney (http://kmymoney2.sourceforge.net/)
Skrooge (http://www.kde.org/applications/office/skrooge/)
Microsoft OfficeGNOME Office (http://www.gnome.org/gnome-office/
Calligra (http://www.calligra-suite.org/)
OpenOffice (http://www.openoffice.org/)
LibreOffice (http://es.libreoffice.org/)
Microsoft Outlook (Express)Evolution (http://www.gnome.org/projects/evolution/
Thunderbird (http://www.mozilla.com/thunderbird/)
Claws Mail (http://www.claws-mail.org/)
KMail (http://kontact.kde.org/kmail/)
Sylpheed (http://sylpheed.sraoss.jp/en/)
Microsoft PowerpointEASE Presentation Editor (http://www.ease-project.org/index.html
Calligra Stage (http://www.calligra-suite.org/stage/)
Open Office Impress (http://www.openoffice.org/product/impress.html)
Libre Office Impress (http://es.libreoffice.org/caracteristicas/impress/)
Microsoft ProjectGanttProject (http://ganttproject.sourceforge.net/
Calligra Plan (http://www.calligra-suite.org/plan/)
OpenProj (http://openproj.org/openproj)
Planner (http://live.gnome.org/Planner)
TaskJuggler (http://www.taskjuggler.org/)
Microsoft VisioDia (http://www.gnome.org/projects/dia/
Calligra Flow (http://www.calligra-suite.org/flow/)
Microsoft Windows Media CenterBoxee (http://www.boxee.tv/
Freevo (http://freevo.sourceforge.net/)
LinuxMCE (http://www.linuxmce.com/)
Moovida (http://www.moovida.com)
MythTV (http://www.mythtv.org)
XBMC Media Center (http://xbmc.org/)
Microsoft WordAbiWord (http://www.abisource.com/
Calligra Words (http://www.calligra-suite.org/words/)
Open Office Writer (http://www.openoffice.org/product/writer.html)
Libre Office Writer (http://es.libreoffice.org/caracteristicas/writer/)
mIRCBitchX (http://www.bitchx.org/
ChatZilla! (http://chatzilla.hacksrus.com/)
irssi (http://www.irssi.org/)
Konversation (http://konversation.kde.org/)
KVIrc (http://www.kvirc.net/)
Pidgin (http://pidgin.im)
Xchat (http://www.xchat.org/)
Empathy (https://live.gnome.org/Empathy)
Mp3tagAudio Tag Tool (http://pwp.netcabo.pt/paol/tagtool/
Cowbell (http://more-cowbell.org/)
EasyTAG (http://easytag.sourceforge.net/)
Kid3 (http://kid3.sourceforge.net/)
Pinkytagger (http://pinkytagger.sourceforge.net/)
MS PaintKolourPaint (http://kolourpaint.sourceforge.net/
Pencil (http://www.pencil-animation.org/)
Pinta (http://pinta-project.com/)
TuxPaint (http://tuxpaint.org/)
MSN messengeraMSN (http://amsn-project.net/
Kopete (http://kopete.kde.org/)
Mercury Messenger (http://www.mercury.to/)
Pidgin (http://pidgin.im)
Empathy (https://live.gnome.org/Empathy)
Gajim (http://www.gajim.org/)
emesene (http://www.emesene.org/)
KMess (http://kmess.org/)
MudboxSharpConstruct (http://sourceforge.net/projects/sharp3d/)
Nero Burning RomBrasero (http://perso.orange.fr/bonfire/index.htm
GnomeBaker (http://gnomebaker.sourceforge.net/)
Graveman! (http://graveman.tuxfamily.org/)
K3b (http://www.kde.org/applications/multimedia/k3b/)
X-CD-Roast (http://www.xcdroast.org/)
NetMeetingEkiga (http://www.gnomemeeting.org/)
NetStumblerKismet (http://www.kismetwireless.net/
SWScanner (http://www.swscanner.org/)
NewzCrawlerAkregator (http://akregator.kde.org/
BasKet (http://basket.kde.org/)
Blam (http://www.inhaltsangabe.info/rss-reader/blam/)
Liferea (http://liferea.sourceforge.net/)
RSSOwl (http://www.rssowl.org/)
Straw (http://www.gnome.org/projects/straw/)
Notepadgedit (http://www.gnome.org/projects/gedit/
jEdit (http://www.jedit.org/)
Kate (http://kate-editor.org/)
leafpad (http://tarot.freeshell.org/leafpad/)
NEdit (http://www.nedit.org/)
Scribes (http://scribes.sourceforge.net/)
tpad (http://tclpad.sourceforge.net/)
OrangeCD CatalogGWhere (http://www.gwhere.org)
OriginSciGraphica (http://scigraphica.sourceforge.net/)
Partition MagicGParted (http://gparted.sourceforge.net/
Palimpsest (http://library.gnome.org/users/palimpsest/)
Partimage (http://www.partimage.org/Main_Page)
QtParted (http://qtparted.sourceforge.net)
PhotoMEFotoTagger (http://sourceforge.net/projects/fototagger/)
PicasadigiKam (http://www.digikam.org/
F-Spot (http://f-spot.org/Main_Page)
flPhoto (http://www.easysw.com/~mike/flphoto/)
gThumb (http://live.gnome.org/gthumb/)
jBrout (http://jbrout.manatlan.com/)
KPhotoAlbum (http://www.kphotoalbum.org/)
Shotwell (http://www.yorba.org/shotwell/)
Picasa (http://picasa.google.com/)
SoulSeekNicotine (http://nicotine.thegraveyard.org/
Nicotine-Plus (http://nicotine-plus.sourceforge.net/)
SoundForgeReZound (http://rezound.sourceforge.net/)
Total CommanderGNOME Commander (http://www.nongnu.org/gcmd/
Krusader (http://krusader.sourceforge.net/)
Midnight Commander (http://www.ibiblio.org/mc/)
Tux Commander (http://tuxcmd.sourceforge.net/)
xfe (http://roland65.free.fr/xfe/)
Traktor DJMixxx (http://mixxx.sourceforge.net/
terminatorX (http://www.terminatorx.org/)
TweetDeckChoqok (http://choqok.gnufolks.org/
Gwibber (http://gwibber.com/)
Pino (http://code.google.com/p/pino-twitter/)
uTorrentqBittorrent (http://qbittorrent.sourceforge.net/
Transmission (http://www.transmissionbt.com/)
Deluge (http://deluge-torrent.org/)
rTorrent (http://libtorrent.rakshasa.no/)
Bittornado (http://www.bittornado.com/)
Torrentflux (http://tf-b4rt.berlios.de/)
KTorrent (http://ktorrent.org/)
Vuze (http://www.vuze.com/)
uTorrent (http://www.utorrent.com/downloads/linux)
Videorathin liquid film (http://thinliquidfilm.org/)
WinampAmarok (http://amarok.kde.org/
Rythmbox (http://www.gnome.org/projects/rhythmbox/)
Audacious (http://audacious-media-player.org/)
Deadbeef (http://deadbeef.sourceforge.net/)
Exaile (http://www.exaile.org/)
Banshee (http://banshee-project.org/)
BMP (http://sourceforge.net/projects/beepmp)
Sonata (http://sonata.berlios.de/)
XMMS (http://www.xmms.org/)
GMPC (http://gmpc.wikia.com/wiki/Gnome_Music_Player_Client)
Windows Media PlayerTotem (http://www.gnome.org/projects/totem/)
mplayer (http://www.mplayerhq.hu/design7/news.html)
SMplayer (http://smplayer.sourceforge.net/)
KMplayer (http://kmplayer.kde.org/)
UMplayer (http://www.umplayer.com/)
VLC Player (http://www.videolan.org/vlc/)
Kaffeine (http://kaffeine.kde.org/)
xine (http://xinehq.de/)
Miro (http://www.getmiro.com/)
Moovida Media Center (http://www.moovida.com/)
Windows Movie MakerAvidemux (http://fixounet.free.fr/avidemux/)
cinefx (http://www.cinefx.org/
Cinelerra (http://cvs.cinelerra.org/)
Kdenlive (http://kdenlive.sourceforge.net/)
Kino (http://www.kinodv.org/)
LiVES (http://lives.sourceforge.net/)
Open Movie Editor (http://www.openmovieeditor.org/)
OpenShot (http://www.openshotvideo.com/)
PiTiVi (http://www.pitivi.org/wiki/Main_Page)
VideoLAN Movie Creator (http://trac.videolan.org/vlmc/)
WinIsoKIso (http://kiso.sourceforge.net/)
WinMergeKDiff3 (http://kdiff3.sourceforge.net/
Kile (http://kile.sourceforge.net/)
Meld (http://meld.sourceforge.net/)
xxdiff (http://furius.ca/xxdiff/)
WinTVKWinTV (http://www.kwintv.org/
tvtime (http://tvtime.sourceforge.net/)
xawtv (http://linux.bytesex.org/xawtv/)
XdTV (http://xawdecode.sourceforge.net/)
Zapping (http://zapping.sourceforge.net/Zapping/index.html)
WS_FTPFireFTP (http://fireftp.mozdev.org/
gFTP (http://gftp.seul.org/)
FileZilla (http://filezilla.sourceforge.net/)
KFTP (http://www.kftp.org/)
NCFTP (http://www.ncftp.com/ncftp/)
LFTP (http://lftp.yar.ru/)
ZoneAlarmFirestarter (http://www.fs-security.com/
Guarddog (http://www.simonzone.com/software/guarddog/)
ZscreenShutter (http://shutter-project.org/)
visitar estos tres sitios