Algunas aclaraciones antes de empezar!
Recomiendo leer todo el post! Ya que todo sirve! Las ultimas cosas que se explican se necesitan saber algunas cosas que estan antes.
Este post esta dedicado para cualquier persona que maneje Debian o derivados (Ubuntu, Vector Linux, DSL, etc), no recomiendo que sigan los pasos de consola de este post, aquella persona que tenga otra distro que no sea derivada de Debian, como OpenSUSE, RedHat, Mint, etc.
Otra cosita, cuando aparece este simbolo delante de la linea "$" quiere decir que es consola en modo de usuario normal, y cuadno aparece este "#" es por que se necesita el privilegio de superusuario o root.
Esta informacion puede servirle de ayuda, de forma de empujoncito tambien para animarse a aquellos que recien comienzan con Linux, y por que no aquellos que ya son un poco mas experimentados en complementar algunas cositas. Sin mas prologo aqui les va.
Que es la terminal?
De manera mas fácil, es Terminal, sino se llama Interprete de Comandos, este nombre hace referencia a un programa informatico que actua como interfaz de usuario para comunicar al usuario con el sistema operativo mediante una ventana que espera ordenes escritas por el usuario, los interpreta y los entrega al sistema operativo para su ejecución. A continuación, el programa queda esperando nuevas instrucciones. Se interactua con la informacion de la manera mas sencilla posible, sin gráficas, solo el texto crudo.
A la terminal se la conoce tambien muchas veces como shell o programa shell, linea de comandos, consola, entre otras. Muchas veces encontraremos que tambien se le llama interprete de comandos al programa que interactua con el usuario y un software cliente de un servidor, por ejemplo, MySql, Oracle, FTP, etc.
Algunas de sus caracteristicas mencionadas
Permite ejecutar ordenes basicas del sistema operativo
Permite manejar procesos del sistema
Permite redirigir la entrada/salida de los comandos
Nos provee de un sistema de scripts (archivos por lotes)
GNU Bourne Again Shell.
Ese nombre es importante tanto en Debian como en otras distribuciones. su acrónimo "bash", es un shell de Unix escrito par ael proyecto GNU. Este "lenguaje" de interprete de comandos, es el renacimiento sobre el Bourne Shell (sh), que fue uno de los primeros interpretes importantes en Unix.
Bash es el interprete predeterminado en la mayoria de los sistemas GNU/Linux.
Algunas cosita para interpretar mejor la consola:
cuando la linea de comando termina con un "$" quiere decir que se esta ejecutando un usuario normal con sus respectivos permisos, pero cuando en la consola la linea termina con un "#" quiere decir que se esta ejecutando como modo superusuario o root.
El root, en linux es el dios de la PC, el administrador, Holy Shit, el OMG, el WTF todo! Asi que hay que tener mucho cuidado con este usuario ya que con un comando de 4 letras se puede borrar todo el disco duro!!! Y no es broma!!!!
Si se instala algo con el root (ya que con el usuario normal no se puede) hay que saber que se esta instalando, que se ejecuta, hay que saber que esta haciendo, por que un programita o un script que ejecutemos con ciertas ordenes que no sepamos que estaban ahi, nos puede costar todo el disco rigido.
Ah, no pero tengo en particiones separadas Windows y Linux! Asi que se me borra Linux! O tengo windows en otro disco duro! Cual es!
Les hago un comentario, en linux todo son archivos, los directorios, los accesos directos o enlaces, todos son archivos, asi como tus particiones de Windows son archivos en Linux, asi que se pierde TODO!!!
Comandos fundamentales de la terminal
pwd
Imprime en pantalla el nombre del directorio de trabajo actual. No es muy util cuando lo vemos asi a simple vista, pero si es util cuando redirijimos su flujo hacia un archivo o script y este luego hace un backup o cualiquier otra cosa.
ls
Sintaxis:
ls <opciones>
Opciones:
-l :lista en formato largo tipo Vista Detalles, mostrando los permisos, cantidad de enlaces (aquellos que tienen una "d" al principio de la linea es por que son directorios)
-a :muestra archivos ocultos
-R :lista en forma recursivas, es decir las carpetas que hayan y todo su contendio dentro de cada carpeta.
-F :muestra directorios anteponiendo "/".
Ejemplos
$ ls -la
cd
Cambia de directorio de trabajo
Sintaxis:
cd <opciones>
cd <ruta>
Opciones:
cd .. :sube un nivel de directorio (es decir si estamos en /etc/apache2 se va a /etc)
cd - :cambia al directorio anterior (si estamos en nuestra home y nos vamos a /etc/apache2 , no va a ir a /etc sino a nuestra home)
cd . :cambia al directorio actual
cd ~ :cambia al directorio principal del usuario (por defecto /home/usuario, ese simbolo en algunos AltGr + 4)
Ejemplo:
cd ..
$ cd /etc/apache2/sites-available
find
Realiza una busqueda de archivos en jerarquia de directorios.
Sintaxis:
find <ruta> <expresion> <opciones>
Opciones:
-L :seguir enlaces simbolicos
-P :No seguir enlaces simbolicos
-iname "algo*" :busca todos los archivos que comiencen con "algo".
-type f :muestra unicamente los archivos, no mostrando enlaces y directorios
-type -ls :muestra en formato largo (con premisos, fecha de crecion, etc)
-name "*algo": busca los archivos que terminan con "algo" y sin el asterisco los archivos que tengan la cadena "algo" dentro de su nombre.
Ejemplo:
$ find /etc ( -name "*txt" -or -name "*dat" ) -type f -ls
(muestra todos los archivos que terminan en "txt" o "dat" dentro del directorio /etc, mostrando en formato largo)
grep
Imprime en pantalla las lineas que coincidan con una cadena de caracteres especificada.
Sintaxis:
grep <opciones> cadena <archivo>
Opciones:
-r :busca recursivamente dentro de todos los subdirectorios del directorio actual.
-v :muestra la lineas que NO contienen la cadena especificada
--color : muestra las lineas donde se encuentra la cadena y colorea la coincidencias
Ejemplo:
$ grep --color 'debian' /etc/apt/sources.list
file
Identifica tipos de archivos
Sintaxis
file <opciones> <archivo>
Opciones:
-i :nos muestra la informacion sobre ese archivo y su tipo mime
Ejemplo:
$ file /home/usuario/Desktop
$ file -i /home/usuario/.bashrc
cat y tac
El primero de ellos muestra el contenido de un archivo y permite concatenar cadenas de textos.
El segundo muestra el contenido de un archivo pero desde la ultima linea a la primera, es decir , inverso.
Sintaxis:
cat <opciones> <archivo>
tac <opciones> <archivo>
Opciones:
-b :no muestra la lineas en blanco
-n :numera las lineas de un archivo
Ejemplos:
$ cat -b /etc/sources.list
$ tac -n /etc/hosts
head y tail
El primero nos muestra las 10 primeras lineas de un archivo y el segundo las 10 ultimas lineas.
Sintaxis:
head <opciones> <archivos>
tail <opciones> <archivos>
Opciones:
-n :nos muestra las "n" lineas de un archivo
Ejemplos:
$ head -n 15 /etc/apt/sources.list
$ tail /home/usuario/mistextos.txt
Comandos para consultar ayuda
info
Muestra informacion sobre un comando
man
Muestra el manual de un comando. Recomendado (Se sale con Ctrl+Z)
apropos
Busca informacion sobre comandos entre su nombre y descripcion
Sintaxis:
info <comando>
man <comando>
apropos <patron a buscar>
Ejemplos:
$ info ls
$ man ls
$ apropos list
Comandos para el manejo de archivos
mkdir
Crea directorios
Sintaxis:
mkdir <opciones> <directorios>
Opciones:
-p :Crea la estructura completa de directorio
-v :imprime un mensaje por pantalla de cada directorio creado
Ejemplos:
# mkdir -pv /home/usuario/dir1/subdir1 /home/usuario/dir1/subdir2
rm
Remueve archivos
Sintaxis:
rm <opciones> <archivos>
Opciones:
-r :remueve un directorio de forma recursiva (necesario este parametro si se quiere eliminar algun directorio con archivos dentro)
-i
ide confirmacion antes de remover un archivo
-f :No pide confirmacion para remover
Ejemplos:
# rm -r /home/usuario/dir1
# rm -fr / (borra todo el disco rigido)
Comandos para el manejo de usuarios
who
Muestra informacion sobre los usuarios logueados
w
Muestra informacion sobre los usuarios logueados en el sistema y el comando que se esta ejecutando.
finger
Muestra informacion sobre los usuarios, su directorio /home, su shell por defecto y su nombre completo.
su
Switch User. Permite cambiar de usuario a otro.
Ejemplos:
$ su - Nos permite loguearnos como root
su Carlos - Nos permite loguear como el usuario Carlos
Hasta aqui llego mi paciencia
Que son los repositorios de Debian Squeeze?
Las distribuciones están formadas por paquetes. Un paquete viene a ser una pieza de software que cumple una determinada funcionalidad. Así pues, un paquete puede ser un programa, una biblioteca, un conjunto de plugins... Pueden ser incluso, por ejemplo, iconos.
¿Y a qué se debe esto? Básicamente, a que una distribución puede verse como un gran LEGO. Cada paquete es una pieza del LEGO. A la hora de construir el LEGO, para colocar algunas piezas, debes haber puesto otras antes (las llamadas dependencias). Algunas piezas son claves, y forman la base para que se puedan colocar todas las demás (como por ejemplo, el kernel). Otras, en cambio, sólo son necesarias para piezas muy concretas. Y muchas piezas no tienen nada que ver unas con otras.
Al fin, llegamos al concepto de repositorio
El repositorio es un almacén de paquetes (como la caja con las piezas). Los repositorios pueden estar en internet, en un medio extraíble como un CD, en el disco duro, en otra pc conectada en red, pendrives, etc...
Hay tanto repositorios oficiales (con todos los paquetes de la distribución, así como sus actualizaciones de seguridad y bugs), como repositorios con software que el proyecto GNU no puede incluir en los oficiales (que contiene códecs multimedia propietarios, programas libres pero con restricciones legales y cosas así), como repositorios mantenidos por voluntarios con las últimas versiones del software (con los que hay que tener mucho cuidado. Personalmente, no te recomendaría usarlos).
Y, finalmente, nos encontramos con el sistema de gestión de paquetes. En el caso de Debian, es "apt" (o aptitude). Es el encargado de gestionar la instalación, actualización y desinstalación de los paquetes de la distribución.
Los repositorios incluyen un fichero con las dependencias de todos los paquetes que contienen (los llamados en algunas distros hdlist.cz, o synthesis.hdlist.cz), es decir, las instrucciones del LEGO. La diferencia está en que el primero contiene, además de las dependencias, información sobre cada paquete (para qué sirve, qué ficheros contiene, etc), mientras que el segundo únicamente tiene las dependencias. El primero, por tanto, es mucho más grande que el segundo, pero contiene información muy útil.
El gestor de paquetes actúa como el constructor del LEGO y utiliza dichas instrucciones para saber qué piezas debe poner antes de una concreta (es decir, resolver las dependencias de los paquetes).
Ya sabemos como funciona, ahora veremos el orden de ingreso y la sintaxis
Orden de Ingreso
Es importante ingresar los repositorios en un orden justo, los primeros en la lista, son los mas importantes (o favoritos).
Para mejorar el rendimiento, es aconsejable ordenarlos por velocidad (primero el CDROM, después la red local, internet etc).
Sintaxis
Cada linea que describe un repositorio tiene una bien determinada sintaxis, esto debe ser escrito en el sources.list:
deb url distribution [component...]
Analizamos los componentes por separado, así lo entendemos mejor:
deb o deb-src sirve para indicar si el repositorio indicado contiene paquetes binarios o paquetes fuente (si tiene ambos es necesario especificarlo en dos lineas diferentes).
url indica la dirección donde es posible encontrar el repositorio, y además podemos elegir entre los siguientes métodos de acceso a los paquetes:
file permite acceder a un repositorio presente en el disco de nuestro pc. Ejemplo:
deb file:/home/gaucho/repos ./
Que no es ni mas ni menos que uno situado en la /home del usuario gaucho creado con dpkg-scanpackages.
cdrom permite acceder a un repositorio presente en un cdrom.
http permite acceder tramite el protocolo http (si es especificada una variable de ambiente http_proxy con el formato ,seran usadas estas opciones para acceder al repositorio, en caso de necesitar identificación, sera posible indicar la dirección del proxy, en la variable de ambiente de la siguiente forma; http://user:pass@server:port).
ftp permite acceder a un repositorio tramite el protocolo ftp, también es posible especificar un proxy,de la misma forma que en http
sustituyendo http_proxy por ftp_proxy.
copy es identico a file, pero los archivos serán guardados en la cache de apt y/o aptitude, útil para soportes como memorias-flash, floppy, etc.
rsh,ssh permite acceder a un repositorio tramite el protocolo ssh , la identificacion sera tramite el intercambio de llaves RSA.
distribution indica la distribución (o rama) utilizada... es posible usar el nombre en código (squeeze, wheezy, sid) o el nombre genérico (stable, testing, unstable)
component indica las secciones del repositorio, non-free , main , contrib....
A continuación veremos una lista de repositorios oficiales para agregar a nuestro sources.list
Agregando repositorios en Debian
Seguramente, ya habran leido la parte de Terminal, ya que se necesita saber manejar la terminal para esto.
Muy bien, lo primeros que haremos sera ubicar el archivo donde se encuentran las direcciones de los repositorios llamado "sources.list".
Este se encuentra en /etc/apt/sources.list
Lo que haremos será editarlo con un editor de texto de la terminal. En este caso el "nano".
Entonces hacemos, como root:
# nano /etc/apt/sources.list
Borramos todo lo que halla alli dentro, seguramente el cdrom de donde instalamos nuestro Debian, actualizaciones de seguridad y volatiles.
Una vez que hallamos borrado todo, ponemos dentro lo siguiente:
##OFICIALES
deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
##SEGURIDAD
deb http://security.debian.org/debian/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/debian/ squeeze/updates main contrib non-free
##MULTIMEDIA
deb http://debian-multimedia.org/debian/ squeeze main contrib non-free
deb-src http://debian-multimedia.org/debian/ squeeze main contrib non-free
Apretamos Ctrl+"O", damos Enter para guardar, y Crtl+"X" para salir.
Ahora si, escribimos en consola
# apt-get update
Seguramente saltara un error de llaves. Se soluciona escribiendo la siguiente linea:
# apt-get install debian-multimedia-keyring
Una vez instalada, ahora si:
# apt-get update
Se Finish.
Aqui les dejo un video de esta ultima parte que se entiende mejor graficamente.
Que es WINE?
WINE es un programa que emula la API de Win16 y Win32 para sistemas basados en Unix, es decir, permite la ejecución de programas diseñados para MS-DOS, y las versiones de Windows 3.11, 95, 98, ME, NT, 200, XP, Vista y 7.
Wine provee de un conjunto de herramientas de desarrollo para portar código fuente de aplicaciones Windows a Unix.
Provee también de un cargador de programas, el cual permite que muchas aplicaciones para Windows 2.0/3.x/9X/ME/NT/2000/XP/Vista y Win 7 se ejecuten sin modificarse en varios sistemas operativos unix-like como GNU/Linux, BSD, Solaris y Mac OS X.
Características
Compatibilidad binaria
Soporte para programas de la familia MS-DOS y Windows (3.x/9x/NT/2000/XP/2003/Vista/2008/7).
Soporte para llamadas de funciones de Windows de 64, 32 y 16 bits.
Código x86 de 64, 32 y 16 bits.
Extensas bibliotecas de interrupciones para programas utilizando llamadas de modo real INTxx.
Capacidades avanzadas de trunking.
Posibilidad de añadirle más bibliotecas dinámicas (DLL), incluso las nativas de Windows, las cuales están ubicadas en la carpeta C:WindowsSystem32, y pueden ser instaladas en wine copiando dichas librerías en la carpeta ~/.wine/drive_c/windows/system32.
Diseño de ingeniería inversa para mejorar la solución frente a errores.
Ejecución sobre otras arquitecturas no Intel bajo emulación, con QEMU (Darwine era una bifurcación de Wine hecha para Mac OS X PowerPC, pero el proyecto quedó abandonado).
Gráficos
Puede dibujar en entornos gráficos basados en X11, SDL texto/ttydrv.
Pantalla remota para cualquier terminal X.
Soporte total de GDI y parcial GDI32.
Soporte de DirectX para juegos.
Puede utilizar impresoras para sistemas Windows de 16 bits de forma nativa.
Interfaz interna de impresión PostScript.
Capacidad de meta-archivo.
Capacidad de ejecución en una o varias ventanas.
Posibilidad de instalar temas visuales de formato msstyle, los nativos de Windows.
Otras características
Soporte de sonido y entradas alternativas.
Soporte de módems o dispositivos por puerto serie.
Trabajo en red con Winsock TCP/IP.
Soporte de escáneres ASPI.
Soporte de controles avanzados típicos de programas Windows de 32 bits.
Wine API
Diseñado para ser compatible con código para Windows de 32 bits.
Programas de muestra.
Documentación generada automáticamente de las API.
Compilador fuente de 32 bits.
Capacidad parcial de codificación Unicode.
Internacionalización: Wine está disponible en 16 lenguas.
Depurador integrado y mensajes de rastreo configurables.
Como lo instalamos en nuestro Debian?
Muy sencillo, luego de que tenemos nuestros repositorios de Debian, hacemos en la terminal:
# apt-get install wine
Listo.
Y ahora? Como instalo un programa de Windows? Como hago andar el Photoshop portable?
No se desesperen! Tenemos dos formas! Una es llendo a Aplicaciones y abrir el Wine y agregar a la lista de programas. Y la otra es la forma que corresponde en Linux, con la terminal. Es obvio con cual vamos a hacerla no?
Hacemos de cuenta que nos bajamos el programa de PokerStars desde la pagina (siempre un programa .exe), se descargo y se guardo en la carpeta /home/usuario/Descargas/PokerStarsInstall.exe , hacemos lo siguiente.
Como root:
# wine /home/usuario/Descargas/PokerStarsInstall.exe
Alli empieza a trabajar el wine y se abre la instalacion de PokerStars, lo instalamos como si fuera en Windows, (Suiguiente, Siguiente, Siguiente, Finalizar)
Buenisimo, anda!
Cerramos la termi y se cerro el programa! Ahora donde esta el Acceso Directo???
Ahora si, vamos a Aplicaciones -> Sistema -> Wine -> y alli esta!
Lo mismo para el Photoshop!
Que programas andan con WINE?
Es muy indeterminada la respuesta, ya que siempren se descubren programas nuevos! Pero basicamente muchos que nos son de gran ayuda hoy en dia funcionan con Wine.
Photoshop (hasta CS3)
Office (pero para eso esta OpenOffice.org, 10 veces mejor que la suite de Microsoft)
Ares
AutoCAD
Taringa tambien anda!
Muchisimos juegos.
En esta pagina FranksCorner hay un listado por categoria de los programas que funcionan con Wine. Esta desactualizada.
En la parte 2 explicare, algunas funciones esenciales del root, como el manejo de usuarios, grupos y permisos. Tambien algunas cositas de redes y sobre el manejo de archivos (tar.gz, zip, rar, .deb, etc)
Gracias
Recomiendo leer todo el post! Ya que todo sirve! Las ultimas cosas que se explican se necesitan saber algunas cosas que estan antes.
Este post esta dedicado para cualquier persona que maneje Debian o derivados (Ubuntu, Vector Linux, DSL, etc), no recomiendo que sigan los pasos de consola de este post, aquella persona que tenga otra distro que no sea derivada de Debian, como OpenSUSE, RedHat, Mint, etc.
Otra cosita, cuando aparece este simbolo delante de la linea "$" quiere decir que es consola en modo de usuario normal, y cuadno aparece este "#" es por que se necesita el privilegio de superusuario o root.
Esta informacion puede servirle de ayuda, de forma de empujoncito tambien para animarse a aquellos que recien comienzan con Linux, y por que no aquellos que ya son un poco mas experimentados en complementar algunas cositas. Sin mas prologo aqui les va.
Que es la terminal?
De manera mas fácil, es Terminal, sino se llama Interprete de Comandos, este nombre hace referencia a un programa informatico que actua como interfaz de usuario para comunicar al usuario con el sistema operativo mediante una ventana que espera ordenes escritas por el usuario, los interpreta y los entrega al sistema operativo para su ejecución. A continuación, el programa queda esperando nuevas instrucciones. Se interactua con la informacion de la manera mas sencilla posible, sin gráficas, solo el texto crudo.
A la terminal se la conoce tambien muchas veces como shell o programa shell, linea de comandos, consola, entre otras. Muchas veces encontraremos que tambien se le llama interprete de comandos al programa que interactua con el usuario y un software cliente de un servidor, por ejemplo, MySql, Oracle, FTP, etc.
Algunas de sus caracteristicas mencionadas
Permite ejecutar ordenes basicas del sistema operativo
Permite manejar procesos del sistema
Permite redirigir la entrada/salida de los comandos
Nos provee de un sistema de scripts (archivos por lotes)
GNU Bourne Again Shell.
Ese nombre es importante tanto en Debian como en otras distribuciones. su acrónimo "bash", es un shell de Unix escrito par ael proyecto GNU. Este "lenguaje" de interprete de comandos, es el renacimiento sobre el Bourne Shell (sh), que fue uno de los primeros interpretes importantes en Unix.
Bash es el interprete predeterminado en la mayoria de los sistemas GNU/Linux.
Algunas cosita para interpretar mejor la consola:
cuando la linea de comando termina con un "$" quiere decir que se esta ejecutando un usuario normal con sus respectivos permisos, pero cuando en la consola la linea termina con un "#" quiere decir que se esta ejecutando como modo superusuario o root.
El root, en linux es el dios de la PC, el administrador, Holy Shit, el OMG, el WTF todo! Asi que hay que tener mucho cuidado con este usuario ya que con un comando de 4 letras se puede borrar todo el disco duro!!! Y no es broma!!!!
Si se instala algo con el root (ya que con el usuario normal no se puede) hay que saber que se esta instalando, que se ejecuta, hay que saber que esta haciendo, por que un programita o un script que ejecutemos con ciertas ordenes que no sepamos que estaban ahi, nos puede costar todo el disco rigido.
Ah, no pero tengo en particiones separadas Windows y Linux! Asi que se me borra Linux! O tengo windows en otro disco duro! Cual es!
Les hago un comentario, en linux todo son archivos, los directorios, los accesos directos o enlaces, todos son archivos, asi como tus particiones de Windows son archivos en Linux, asi que se pierde TODO!!!
Comandos fundamentales de la terminal
pwd
Imprime en pantalla el nombre del directorio de trabajo actual. No es muy util cuando lo vemos asi a simple vista, pero si es util cuando redirijimos su flujo hacia un archivo o script y este luego hace un backup o cualiquier otra cosa.
ls
Sintaxis:
ls <opciones>
Opciones:
-l :lista en formato largo tipo Vista Detalles, mostrando los permisos, cantidad de enlaces (aquellos que tienen una "d" al principio de la linea es por que son directorios)
-a :muestra archivos ocultos
-R :lista en forma recursivas, es decir las carpetas que hayan y todo su contendio dentro de cada carpeta.
-F :muestra directorios anteponiendo "/".
Ejemplos
$ ls -la
cd
Cambia de directorio de trabajo
Sintaxis:
cd <opciones>
cd <ruta>
Opciones:
cd .. :sube un nivel de directorio (es decir si estamos en /etc/apache2 se va a /etc)
cd - :cambia al directorio anterior (si estamos en nuestra home y nos vamos a /etc/apache2 , no va a ir a /etc sino a nuestra home)
cd . :cambia al directorio actual
cd ~ :cambia al directorio principal del usuario (por defecto /home/usuario, ese simbolo en algunos AltGr + 4)
Ejemplo:
cd ..
$ cd /etc/apache2/sites-available
find
Realiza una busqueda de archivos en jerarquia de directorios.
Sintaxis:
find <ruta> <expresion> <opciones>
Opciones:
-L :seguir enlaces simbolicos
-P :No seguir enlaces simbolicos
-iname "algo*" :busca todos los archivos que comiencen con "algo".
-type f :muestra unicamente los archivos, no mostrando enlaces y directorios
-type -ls :muestra en formato largo (con premisos, fecha de crecion, etc)
-name "*algo": busca los archivos que terminan con "algo" y sin el asterisco los archivos que tengan la cadena "algo" dentro de su nombre.
Ejemplo:
$ find /etc ( -name "*txt" -or -name "*dat" ) -type f -ls
(muestra todos los archivos que terminan en "txt" o "dat" dentro del directorio /etc, mostrando en formato largo)
grep
Imprime en pantalla las lineas que coincidan con una cadena de caracteres especificada.
Sintaxis:
grep <opciones> cadena <archivo>
Opciones:
-r :busca recursivamente dentro de todos los subdirectorios del directorio actual.
-v :muestra la lineas que NO contienen la cadena especificada
--color : muestra las lineas donde se encuentra la cadena y colorea la coincidencias
Ejemplo:
$ grep --color 'debian' /etc/apt/sources.list
file
Identifica tipos de archivos
Sintaxis
file <opciones> <archivo>
Opciones:
-i :nos muestra la informacion sobre ese archivo y su tipo mime
Ejemplo:
$ file /home/usuario/Desktop
$ file -i /home/usuario/.bashrc
cat y tac
El primero de ellos muestra el contenido de un archivo y permite concatenar cadenas de textos.
El segundo muestra el contenido de un archivo pero desde la ultima linea a la primera, es decir , inverso.
Sintaxis:
cat <opciones> <archivo>
tac <opciones> <archivo>
Opciones:
-b :no muestra la lineas en blanco
-n :numera las lineas de un archivo
Ejemplos:
$ cat -b /etc/sources.list
$ tac -n /etc/hosts
head y tail
El primero nos muestra las 10 primeras lineas de un archivo y el segundo las 10 ultimas lineas.
Sintaxis:
head <opciones> <archivos>
tail <opciones> <archivos>
Opciones:
-n :nos muestra las "n" lineas de un archivo
Ejemplos:
$ head -n 15 /etc/apt/sources.list
$ tail /home/usuario/mistextos.txt
Comandos para consultar ayuda
info
Muestra informacion sobre un comando
man
Muestra el manual de un comando. Recomendado (Se sale con Ctrl+Z)
apropos
Busca informacion sobre comandos entre su nombre y descripcion
Sintaxis:
info <comando>
man <comando>
apropos <patron a buscar>
Ejemplos:
$ info ls
$ man ls
$ apropos list
Comandos para el manejo de archivos
mkdir
Crea directorios
Sintaxis:
mkdir <opciones> <directorios>
Opciones:
-p :Crea la estructura completa de directorio
-v :imprime un mensaje por pantalla de cada directorio creado
Ejemplos:
# mkdir -pv /home/usuario/dir1/subdir1 /home/usuario/dir1/subdir2
rm
Remueve archivos
Sintaxis:
rm <opciones> <archivos>
Opciones:
-r :remueve un directorio de forma recursiva (necesario este parametro si se quiere eliminar algun directorio con archivos dentro)
-i

ide confirmacion antes de remover un archivo
-f :No pide confirmacion para remover
Ejemplos:
# rm -r /home/usuario/dir1
# rm -fr / (borra todo el disco rigido)
Comandos para el manejo de usuarios
who
Muestra informacion sobre los usuarios logueados
w
Muestra informacion sobre los usuarios logueados en el sistema y el comando que se esta ejecutando.
finger
Muestra informacion sobre los usuarios, su directorio /home, su shell por defecto y su nombre completo.
su
Switch User. Permite cambiar de usuario a otro.
Ejemplos:
$ su - Nos permite loguearnos como root
su Carlos - Nos permite loguear como el usuario Carlos
Hasta aqui llego mi paciencia

Que son los repositorios de Debian Squeeze?
Las distribuciones están formadas por paquetes. Un paquete viene a ser una pieza de software que cumple una determinada funcionalidad. Así pues, un paquete puede ser un programa, una biblioteca, un conjunto de plugins... Pueden ser incluso, por ejemplo, iconos.
¿Y a qué se debe esto? Básicamente, a que una distribución puede verse como un gran LEGO. Cada paquete es una pieza del LEGO. A la hora de construir el LEGO, para colocar algunas piezas, debes haber puesto otras antes (las llamadas dependencias). Algunas piezas son claves, y forman la base para que se puedan colocar todas las demás (como por ejemplo, el kernel). Otras, en cambio, sólo son necesarias para piezas muy concretas. Y muchas piezas no tienen nada que ver unas con otras.
Al fin, llegamos al concepto de repositorio

El repositorio es un almacén de paquetes (como la caja con las piezas). Los repositorios pueden estar en internet, en un medio extraíble como un CD, en el disco duro, en otra pc conectada en red, pendrives, etc...
Hay tanto repositorios oficiales (con todos los paquetes de la distribución, así como sus actualizaciones de seguridad y bugs), como repositorios con software que el proyecto GNU no puede incluir en los oficiales (que contiene códecs multimedia propietarios, programas libres pero con restricciones legales y cosas así), como repositorios mantenidos por voluntarios con las últimas versiones del software (con los que hay que tener mucho cuidado. Personalmente, no te recomendaría usarlos).
Y, finalmente, nos encontramos con el sistema de gestión de paquetes. En el caso de Debian, es "apt" (o aptitude). Es el encargado de gestionar la instalación, actualización y desinstalación de los paquetes de la distribución.
Los repositorios incluyen un fichero con las dependencias de todos los paquetes que contienen (los llamados en algunas distros hdlist.cz, o synthesis.hdlist.cz), es decir, las instrucciones del LEGO. La diferencia está en que el primero contiene, además de las dependencias, información sobre cada paquete (para qué sirve, qué ficheros contiene, etc), mientras que el segundo únicamente tiene las dependencias. El primero, por tanto, es mucho más grande que el segundo, pero contiene información muy útil.
El gestor de paquetes actúa como el constructor del LEGO y utiliza dichas instrucciones para saber qué piezas debe poner antes de una concreta (es decir, resolver las dependencias de los paquetes).
Ya sabemos como funciona, ahora veremos el orden de ingreso y la sintaxis
Orden de Ingreso
Es importante ingresar los repositorios en un orden justo, los primeros en la lista, son los mas importantes (o favoritos).
Para mejorar el rendimiento, es aconsejable ordenarlos por velocidad (primero el CDROM, después la red local, internet etc).
Sintaxis
Cada linea que describe un repositorio tiene una bien determinada sintaxis, esto debe ser escrito en el sources.list:
deb url distribution [component...]
Analizamos los componentes por separado, así lo entendemos mejor:
deb o deb-src sirve para indicar si el repositorio indicado contiene paquetes binarios o paquetes fuente (si tiene ambos es necesario especificarlo en dos lineas diferentes).
url indica la dirección donde es posible encontrar el repositorio, y además podemos elegir entre los siguientes métodos de acceso a los paquetes:
file permite acceder a un repositorio presente en el disco de nuestro pc. Ejemplo:
deb file:/home/gaucho/repos ./
Que no es ni mas ni menos que uno situado en la /home del usuario gaucho creado con dpkg-scanpackages.
cdrom permite acceder a un repositorio presente en un cdrom.
http permite acceder tramite el protocolo http (si es especificada una variable de ambiente http_proxy con el formato ,seran usadas estas opciones para acceder al repositorio, en caso de necesitar identificación, sera posible indicar la dirección del proxy, en la variable de ambiente de la siguiente forma; http://user:pass@server:port).
ftp permite acceder a un repositorio tramite el protocolo ftp, también es posible especificar un proxy,de la misma forma que en http
sustituyendo http_proxy por ftp_proxy.
copy es identico a file, pero los archivos serán guardados en la cache de apt y/o aptitude, útil para soportes como memorias-flash, floppy, etc.
rsh,ssh permite acceder a un repositorio tramite el protocolo ssh , la identificacion sera tramite el intercambio de llaves RSA.
distribution indica la distribución (o rama) utilizada... es posible usar el nombre en código (squeeze, wheezy, sid) o el nombre genérico (stable, testing, unstable)
component indica las secciones del repositorio, non-free , main , contrib....
A continuación veremos una lista de repositorios oficiales para agregar a nuestro sources.list
Agregando repositorios en Debian
Seguramente, ya habran leido la parte de Terminal, ya que se necesita saber manejar la terminal para esto.
Muy bien, lo primeros que haremos sera ubicar el archivo donde se encuentran las direcciones de los repositorios llamado "sources.list".
Este se encuentra en /etc/apt/sources.list
Lo que haremos será editarlo con un editor de texto de la terminal. En este caso el "nano".
Entonces hacemos, como root:
# nano /etc/apt/sources.list
Borramos todo lo que halla alli dentro, seguramente el cdrom de donde instalamos nuestro Debian, actualizaciones de seguridad y volatiles.
Una vez que hallamos borrado todo, ponemos dentro lo siguiente:
##OFICIALES
deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
##SEGURIDAD
deb http://security.debian.org/debian/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/debian/ squeeze/updates main contrib non-free
##MULTIMEDIA
deb http://debian-multimedia.org/debian/ squeeze main contrib non-free
deb-src http://debian-multimedia.org/debian/ squeeze main contrib non-free
Apretamos Ctrl+"O", damos Enter para guardar, y Crtl+"X" para salir.
Ahora si, escribimos en consola
# apt-get update
Seguramente saltara un error de llaves. Se soluciona escribiendo la siguiente linea:
# apt-get install debian-multimedia-keyring
Una vez instalada, ahora si:
# apt-get update
Se Finish.
Aqui les dejo un video de esta ultima parte que se entiende mejor graficamente.
Que es WINE?
WINE es un programa que emula la API de Win16 y Win32 para sistemas basados en Unix, es decir, permite la ejecución de programas diseñados para MS-DOS, y las versiones de Windows 3.11, 95, 98, ME, NT, 200, XP, Vista y 7.
Wine provee de un conjunto de herramientas de desarrollo para portar código fuente de aplicaciones Windows a Unix.
Provee también de un cargador de programas, el cual permite que muchas aplicaciones para Windows 2.0/3.x/9X/ME/NT/2000/XP/Vista y Win 7 se ejecuten sin modificarse en varios sistemas operativos unix-like como GNU/Linux, BSD, Solaris y Mac OS X.
Características
Compatibilidad binaria
Soporte para programas de la familia MS-DOS y Windows (3.x/9x/NT/2000/XP/2003/Vista/2008/7).
Soporte para llamadas de funciones de Windows de 64, 32 y 16 bits.
Código x86 de 64, 32 y 16 bits.
Extensas bibliotecas de interrupciones para programas utilizando llamadas de modo real INTxx.
Capacidades avanzadas de trunking.
Posibilidad de añadirle más bibliotecas dinámicas (DLL), incluso las nativas de Windows, las cuales están ubicadas en la carpeta C:WindowsSystem32, y pueden ser instaladas en wine copiando dichas librerías en la carpeta ~/.wine/drive_c/windows/system32.
Diseño de ingeniería inversa para mejorar la solución frente a errores.
Ejecución sobre otras arquitecturas no Intel bajo emulación, con QEMU (Darwine era una bifurcación de Wine hecha para Mac OS X PowerPC, pero el proyecto quedó abandonado).
Gráficos
Puede dibujar en entornos gráficos basados en X11, SDL texto/ttydrv.
Pantalla remota para cualquier terminal X.
Soporte total de GDI y parcial GDI32.
Soporte de DirectX para juegos.
Puede utilizar impresoras para sistemas Windows de 16 bits de forma nativa.
Interfaz interna de impresión PostScript.
Capacidad de meta-archivo.
Capacidad de ejecución en una o varias ventanas.
Posibilidad de instalar temas visuales de formato msstyle, los nativos de Windows.
Otras características
Soporte de sonido y entradas alternativas.
Soporte de módems o dispositivos por puerto serie.
Trabajo en red con Winsock TCP/IP.
Soporte de escáneres ASPI.
Soporte de controles avanzados típicos de programas Windows de 32 bits.
Wine API
Diseñado para ser compatible con código para Windows de 32 bits.
Programas de muestra.
Documentación generada automáticamente de las API.
Compilador fuente de 32 bits.
Capacidad parcial de codificación Unicode.
Internacionalización: Wine está disponible en 16 lenguas.
Depurador integrado y mensajes de rastreo configurables.
Como lo instalamos en nuestro Debian?
Muy sencillo, luego de que tenemos nuestros repositorios de Debian, hacemos en la terminal:
# apt-get install wine
Listo.
Y ahora? Como instalo un programa de Windows? Como hago andar el Photoshop portable?
No se desesperen! Tenemos dos formas! Una es llendo a Aplicaciones y abrir el Wine y agregar a la lista de programas. Y la otra es la forma que corresponde en Linux, con la terminal. Es obvio con cual vamos a hacerla no?
Hacemos de cuenta que nos bajamos el programa de PokerStars desde la pagina (siempre un programa .exe), se descargo y se guardo en la carpeta /home/usuario/Descargas/PokerStarsInstall.exe , hacemos lo siguiente.
Como root:
# wine /home/usuario/Descargas/PokerStarsInstall.exe
Alli empieza a trabajar el wine y se abre la instalacion de PokerStars, lo instalamos como si fuera en Windows, (Suiguiente, Siguiente, Siguiente, Finalizar)
Buenisimo, anda!
Cerramos la termi y se cerro el programa! Ahora donde esta el Acceso Directo???
Ahora si, vamos a Aplicaciones -> Sistema -> Wine -> y alli esta!
Lo mismo para el Photoshop!
Que programas andan con WINE?
Es muy indeterminada la respuesta, ya que siempren se descubren programas nuevos! Pero basicamente muchos que nos son de gran ayuda hoy en dia funcionan con Wine.
Photoshop (hasta CS3)
Office (pero para eso esta OpenOffice.org, 10 veces mejor que la suite de Microsoft)
Ares
AutoCAD
Taringa tambien anda!

Muchisimos juegos.
En esta pagina FranksCorner hay un listado por categoria de los programas que funcionan con Wine. Esta desactualizada.
En la parte 2 explicare, algunas funciones esenciales del root, como el manejo de usuarios, grupos y permisos. Tambien algunas cositas de redes y sobre el manejo de archivos (tar.gz, zip, rar, .deb, etc)
Gracias
