Esto no pretende ser una visión a profundidad sobre de las inmensidades de Linux, sino más bien una breve introducción a sus mayores diferencias y a derribar obstáculos que podría cruzarse en su camino.
Linux a diferencia de Windows está diseñado para ser un sistema multiusuario, eso significa que los usuarios necesitan estar protegidos unos de otros, a Jill no le gustaría que Jack fuese capaz de borrar sus archivos y a los dueños del sistema no les gustaría que sus usuarios fuesen capaces de instalar todo lo que quisieran, que los detendría de poder instalar virus?
Estas protecciones son forzadas a través de lo que es conocido como permisos de usuario, en términos generales, cada archivo tiene 3 conjuntos de 3 permisos, que son permisos para leer, escribir y ejecutar y son establecidos sobre el dueño, su grupo y cada usuario, esto significa que si desea ser el único que pueda editar un documento, pero permitirle a todos leerlo, puede establecer de esa manera los permisos.
Algunas veces se le solicita ingresar una contraseña, por ejemplo, cuando instala software. Esto es debido a que, en general, usted sólo tiene permiso para modificar archivos dentro de su propia carpeta personal (home), el software, de manera predeterminada es instalado fuera de este directorio y por lo tanto, el sistema no se lo permitirá. La solución es temporalmente elevar sus privilegios, esto es conocido como correr como root (administrador) o correr como superusuario, porque temporalmente adquiere para usted mismo el poder de hacer lo que sea en el sistema, es por eso que no es recomendable correr como root todo el tiempo.
El lugar principal donde usted nota que necesita privilegios de superusuario es en la terminal, es por eso que algunas veces necesita poner a algunos comandos el prefijo 'sudo' (piense en la palabra cómo Super User DO - HACER cómo Superusuario), esto le permite hacer algo como root, por ejemplo:
sudo apt-get install firefox
Lo cuál instalaría 'firefox'.
Un comando relacionado de manera cercana es 'gksu' éste hace lo mismo pero para aplicaciones GUI (con Interfaz Gráfica de Usuario) usando el set de herramientas GTK, por ejemplo:
gksu synaptic
Si intenta correr algo como usuario normal, cuando el programa le solicite la contraseña de root, seguramente recibirá un error parecido a éste:
E: No se pudo abrir el archivo /var/lib/dpkg/lock - open (13 Permiso negado) E: Imposible asegurar el directorio administrativo (/var/lib/dpkg/), es usted root?
Éste es el mensaje de error de apt-get install
El comando 'synaptic' está disponible en '/usr/sbin/synaptic' El comando no pudo ser ubicado porque '/usr/sbin' no está incluido en el PATH de la variable de entorno. Esto es comúnmente causado por la falta de privilegios administrativos asociada con la cuenta de usuario. bash: synaptic: comando no encontrado
Éste es el de synaptic:
Cuando usa sudo, se le pedirá ingresar su contraseña, pero no le regresará ningún dato visualmente sobre la contraseña que está ingresando, no se preocupe, esto es normal; sólo ingrese la contraseña y oprima enter, si está equivocada se lo dirá.
Si usa gksu, recibirá una notificación solicitando ingresar su contraseña, esto le regresará información visual.
Recuerde que las aplicaciones lanzadas desde el menú o una combinación de teclas o una aplicación de auto-arranque también le requerirán que agregue el prefijo gksu (no use sudo, ya que no habrá un espacio para realmente escribir los datos de su contraseña).
Mucha gente le recomendará usar 'sudo' para todo lo que requiera privilegios de superusuario, mientras que en general esto está bien, en ciertas circunstancias puede causar problemas con las aplicaciones GUI, así que lo mejor es adquirir el hábito de usar 'gksu' cuando sea necesario, para lanzar apliaciones GUI.
Vea este artículo para mayores detalles: Corriendo sudo gráficamente.
En Windows la manera normal de instalar algo es buscar en Internet, descargar un paquete, seguir el instalador y luego correrlo. Linux usa repositorios centrales dónde todos los programas están almacenados, la ventaja de éste enfoque es que el software puede ser probado y modificado para asegurarse de que funcione con una distribución en particular y esté libre de fallas (bugs) y virus. También asegura que tendrá todas las dependencias, (otro software y librerías de los que la aplicación depende para funcionar) instaladas. También significa que las actualizaciones para todas las aplicaciones serán manejadas automáticamente, ya no tendrá la necesidad de andar buscando por todas partes para ver si la más reciente versión de X aplicación ya está disponible.
Puede buscar e instalar software usando una aplicación que administra los paquetes (un Gestor de Paquetes), CrunchBang tiene 2, para la terminal tiene apt-get y tiene synaptic, una aplicación GUI, en el repositorio, probablemente encontrará el 99% de los programas que necesite, ésta debería ser su primera parada cuando este buscando software, es mucho más fácil y seguro.
Synaptic está disponible en el menú en System –> Package Manager (Sistema –> Gestor de Paquetes), después de que haya ingresado su contraseña, se le mostrará la pantalla principal, hay una caja de búsqueda cerca de la parte superior que puede usar para buscar una aplicación, ya sea usando un título específico o un termino general, como por ejemplo: “navegador web” (web browser), una vez que haya encontrado lo que busca, haga click derecho sobre él y seleccione “marcar para instalación” (mark for installation), entonces cuando esté listo, haga click en “aplicar” (apply) y los paquetes serán instalados, así de sencillo.
La Instalación usando Apt-get es tan sencilla como escribir en una terminal:
sudo apt-get install firefox
Para buscar una aplicación:
sudo apt-cache search web browser
Abajo explicaré con mayor detalle sobre el uso de Apt-get.
Necesita tener su sistema al día, tanto para protegerlo contra posibles vulnerabilidades, como para obtener funciones adicionales, todas sus aplicaciones instaladas a través del gestor de paquetes, serán actualizadas a través de éste, así que no necesita correr por diferentes sitios web para buscar actualizaciones.
Para actualizar un sistema usando Synaptic, lance synaptic, haga click en “Recargar” (reload) la lista de paquetes y luego haga click en “marcar todas las actualizaciones” (mark all upgrades) para luego hacer click en “Aplicar” (apply).
Se puede acceder al script de actualización de CrunchBang desde el menú en:
System –> System updates.
Sistema –> Actualizaciones del Sistema
Escriba en una terminal:
sudo apt-get update
y luego:
sudo apt-get upgrade
Se puede acceder a la terminal de dos maneras. La primera y más fácil, es a través del menú en el encabezado 'terminal', esto inicia el emulador de terminal Terminator. La segunda menra es a través de atajos de teclado, usando las teclas ctrl alt 1-6 (ctrl-alt 7 lo trae de vuelta aquí)
La Terminal es usada mucho más en el mundo Linux que en el mundo Windows, esto en parte se debe a que la Terminal de Linux es mucho más poderosa, muchas instrucciones que lea en este Wiki y en otros lugares le darán las instrucciones usando la terminal. Antes que nada, esto es para hacerlo portable, hay una gran variedad de aplicaciones gráficas que no está garantizado que se instalen y hay una gran variedad de aplicaciones de terminal que está garantizado que estarán en cada sistema. En segundo lugar, las instrucciones pueden ser mas concretas, compare:
sudo apt-get install firefox
con
Haga click en el menu --> sistema --> gestor de paquetes, haga click en buscar, escriba firefox, seleccione firefox y haga click derecho seleccionando 'marcar para instalación' luego haga click en aplicar.
Ambas hacen lo mismo, ambas instalan firefox. ¿Cuál es más fácil de escribir o menos viable a ser malinterpretada? también hay más sistemas que tienen apt-get que synaptic (el gestor de paquetes gráfico) así que potencialmente podría tener que reescribir las instrucciones para los usuarios que usen algo diferente.
Nuevamente, esto no pretende hacerlo un experto, sólo darle las nociones básicas con las cuáles trabajar.
Primero una nota breve: '~' generalmente significa su directorio home, se expande a /home/sunombredeusuario aquí es donde debería guardar todos sus archivos personales.
Los dos comandos más básicos son probablemente 'cd' y 'ls', 'cd' corresponde a Change Directory (Cambiar Directorio), 'ls' corresponde a LiSt (LiSta) y lista los archivos y directorios en su directorio actual. pruébelos escribiendo ls en la terminal, deberá tener un resultado similar a:
>ls >backup Desktop documents downloads images music PDF tmp videos
están en azul porque son directorios, los archivos son blancos y los archivos ejecutables son verdes.
para mayor información, escriba 'ls -l' (pruébelo):
>ls -l >drwxr--r-- 3 user user 4.0K 29-10-2009 22:16 images ......
Obtendrá mucha información como:
drwxr--r-- 3 user user 4.0K 29-10-2009 22:16 images
Esto me dice que es un directorio (la 'd'), que todos pueden leer este directorio, pero sólo yo puedo escribirlo y ejecutarlo, denotado por los 3 grupos 'rwx' para usuario, grupo y cada uno. Sé que user es el dueño, que tiene un tamaño de 4k y que fue modificado por última vez el 29 de Octubre del 2009.
Otra opción útil de ls es 'ls -a', esto probablemente liste unos cuántos archivos más, unos cuántos comenzarán con un '.' de alto total, estos son archivos ocultos y generalmente son usados para configuraciones, también verá algunos que terminan con '~' esto no tiene nada que ver con expandir su ruta (PATH) a home y sólo es una convención de nombrado para archivos de respaldo, generalmente si un archivo es guardado y modificado, el viejo archivo es guardado con un sufijo '~' .
De vuelta a cd.
Escriba:
>cd ~/images
Esto es lo mismo que escribir 'cd images', excepto que 'cd images' sólo trabajará si imágenes está en el directorio actual, recuerde '~' se expande a su ruta home, así que es lo mismo que 'cd /home/sunombredeusuario/images', luego escriba 'ls', deberá ver un directorio llamado wallpapers (fondos de pantalla), luego escriba 'cd'<espacio><tab>, la tecla de tabulación trata de auto-completar, como no hay otras opciones, sabe que tendrá que ser wallpapers, el espacio está ahí para deterner el intento de auto-completar cd, podría estar tratando de escribir cdparanoia para todos los términos que la computadora conoce.
Ahora intente.
>cd ..
'..' siempre se refiere al directorio previo, si se mantuvo escribiendo 'cd ..' eventualmente lo llevaría de vuelta a la raíz del sistema de archivos, también conocido como '/'.
El otro comando básico es 'cp' el cuál copia.
>cp ~/file.txt ~/Documents/file.txt
copiará el archivo a su directorio Documents (Documentos), relacionado estrechamente con cp está 'mv' el cual mueve los archivos en lugar de copiarlos, es también útil para renombrarlos:
>mv file.txt file1.txt
Renombrará file.txt a file1.txt.
Un comando que verá a menudo es:
>sudo apt-get install nombre_de_un_programa
Este es en realidad 2 comandos: 'sudo' le permite hacer cosas que sólo al administrador le está permitido realizar, vea la sección “Permisos de Usuarios” arriba. Es por esto que necesita ingresar una contraseña, 'apt-get' es una herramienta de gestión de paquetes, también vea arriba, y es usado para manejar aplicaciones, el comando “install” instala nuevo software, otras opciones incluyen
apt-get remove program
remueve un programa pero conserva los archivos de configuración.
apt-get purge program
remueve un programa y todos los archivos de configuración.
apt-cache search program
busca un programa en particular, 'apt-get search web browser' buscará en la base de datos por navegadores web y le dará una lista.
apt-cache show program
le mostrará más detalles sobre un programa en particular, digamos que su búsqueda anterior le dio como resultado 'elinks', qué es eso?, 'apt-get show elinks' se lo dirá.
El comando man es extremadamente útil, le muestra las páginas del manual para un programa en particular, 'man ls' le mostrará la documentación para ls, le mostrará el -a flag (indicador) y el -l flag (identificador) y muchos más.
Otro útil comando es 'apropos' este buscará entre sus programas instalados, por programas que concuerden con un término de búsqueda, así que 'apropos calculator' le regresará una lista de calculadoras en su sistema, es útil si ha olvidado el nombre de algo o no sabe qué hace qué.
Desafortunadamente, no todas las personas son tan buenas cuando le dan un consejo en los foros y por ello, necesita estar al pendiente de algunos comandos que pueden ser usados de manera incorrecta.
'rm' es el comando para remover, como puede imaginar, si se usa incorrectamente puede ser dañino, pero por supuesto que tiene un uso legítimo:
rm file.txt
Removerá el archivo file.txt.
Siendo que puede ser usado mal, probablemente el peor ejemplo es 'sudo rm -rf /', que borrará todo en su computadora, es casi tan malo como 'rm -rf ~', que sólo borra todos sus archivos personales. Por favor tenga en mente que estos comandos no necesariamente tienen que ser usados de manera maliciosa, por ejemplo, que pasa si necesita remover un viejo directorio de su carpeta home y tecleó 'rm -rf ~ /viejodirectorio', nota el espacio ?, eso borrará el /viejodirectorio y ~, su carpeta home. en esas circunstancias sería una bueno idea agregar el '-i' flag (argumento - identificador) por ejemplo, 'rm -rfi', eso le pedirá una confirmación antes de borrar cada archivo.
Otro comando que aunque no es dañino en si mismo, puede aunado a otros serlo y por tanto hay que ser más cuidadosos al usarlo, es el comando 'sudo', el cuál le permite hacer virtualmente lo que usted quiera, incluyendo instalar programas, o borrarlos, relacionado cercanamente a gksu, el cuál es recomendado para usarse con aplicaciones gráficas.