Showing posts with label sobrevivencia. Show all posts
Showing posts with label sobrevivencia. Show all posts

Wednesday, January 13, 2016

Soy nuevo en GNU/Linux ¿cuál distro me recomiendan? Parte I

Todos nos preguntamos eso al inicio. 

Cuando escuché de GNU/Linux por primera vez, pensé que era una sola cosa, una sola organización, un escritorio, un set de aplicaciones, uno solo. 

Ahora entiendo que Linux es un sistema (no sólo informático sino también) orgánico; como tal es entero, completo en sí mismo; y a su vez, diverso. Es la síntesis de miles de esfuerzos globales. Hace tres-cuatro años, mi interés primordial era: ¿cómo putas lo instalo? 

Me documenté y llegué a varios blogs -angloparlantes; enfatizo el hecho de que se encuentra mucha más info en ese idioma; es el latín moderno- que instruían cómo instalarlo. Ya sabía como instalar Windows desde una USB, así que el tema no fue completamente ajeno. En las instrucciones, el primer paso implícito en todos los blogs, era:
Escogé tu distro
Yo: ¿Ah? ¿Qué putas es una distro?
Cuando se trata de conocimiento y aprendizaje, usualmente una sola pregunta no se resuelve con una respuesta, sino haciendo más preguntas. Leí sobre las distros y me fascinó que cada una lucía diferente a la otra, y que incluso una misma podía tener distintas apariencias y usos. Entonces escuché de "distros estables", "distros a la vanguardia", "distros minimalistas", "distros amigables", "distros esotéricas", etc., etc., etc. Vi screenshots y algunos me parecían "aburridos", otros me resultaban una imitación de Windows, otras una copia de Mac OS; otras me parecían increíbles y fascinantes, y así. 

Estoy seguro que vos también has pasado por esto y también te hiciste la pregunta del millón:

¿Cuál distro instalo?

Si andás en las redes sociales y sos miembro de grupos de GNU/Linux, habrás visto la misma pregunta hecha varias veces al día en cada grupo. Todos los días llega un primerizo/a porque escuchó maravillas de Linux, y se animó a probarlo. Pero descubre que  el tema de Linux es un poco más extenso, porque tiene más opciones versus Mac OS y Windows [esto es porque Linux es flexible y modular; pensá en GNU/Linux como un juego de Lego; como puede ser un modelo F1 ya armado, puede ser una cubeta llena de legos listos para que vos creés lo que se te dé la gana]. 

Cuando aparece un "nuevo", quienes tenemos ya un tiempo usando GNU/Linux, de alguna forma sentimos algo de responsabilidad por ellos; todos fuimos primerizos. Si practicaste artes marciales o un deporte en equipo y llegaba gente nueva de vez en cuando, entenderás la importancia de esto. GNU/Linux es lo que es porque alguien (Linus) inició la kernel, y después otro llegaron otras leyendas míticas y organizaciones que aportaron a la causa. Ayudar es bueno. Pero creo que,

... necesitamos replantearnos lo que entendemos por ayuda. Veamos el asunto desde dos ángulos:


• Muchas veces, la ayuda que los n00bs pedimos, se trata de que alguien más busque algo por nosotros. O sea, pedimos cínicamente que nos hagan la tarea; tal vez por simple pereza o porque no sabemos dónde buscar, qué preguntar, cómo preguntarlo; entonces buscamos a un humano que decodifique nuestras dudas.

• Por otro lado, la ayuda que a veces damos a otros n00bs, se limita a tirar respuestas aleatorias, basadas en juicios y opiniones personales, como si se tratase de un juego Pokemon: 
¡Pikachu, instala Fedora XFCE!
¡Estás bobo, usa KDE mi Charmander, quedará "ermozo"!
Tontuelithoss ustedes no saben; uso mi carta de Manjaro turbo cargado con mil widgets de Conky... también te va a correr en una netbook con 1GB de RAM... Fatality :v :v :v
Consideremos esto:

• Pedir ayuda implica que definás primero el problema que necesita solución.
• Pedir ayuda no significa "háganme la tarea... sóplenme la respuesta".
• Pedir ayuda tampoco es igual a "decidan por mí por favor".

• Dar ayuda no significa escupir respuestas como dogmas religiosos inamovibles. Esto no es un concurso de preguntas y no vas a ganar una Range Rover por dar más respuestas correctas como cotorra.
• Dar ayuda no significa tomar mis opiniones como verdades absolutas e imponerlas a otros.
• Lo que me sirve a mí, puede servirle a alguien más, o tal vez pueda causarle más problemas (esto aplica cuando alguien tiene una netbook y le sugieren que instale Fedora con Gnome 3.x y le ponga Compiz para tener los workspaces como un dado 3-D.
• Lo que me gusta a mí puede gustarle a alguien más o parecerle caca mal cagada.

Pedir y dar ayuda debe de ser útil para todos: todos deberíamos de aprender de ello; tanto el que la solicita, como el que la da, como los espectadores.

Escribí esta primera parte, para que reflexionemos y pensemos en términos de eficiencia y optimización de recursos: No hay pregunta estúpida; hacer la misma pregunta que se hizo literalmente miles de veces antes, tampoco te hace estúpido. Seamos sensatos: considerá si otros deberían darte de su tiempo para responder una pregunta hecha mil veces antes, cuando la respuestá está a unos clicks en un motor de búsqueda. Si pudiste escribir en un  grupo social para preguntar algo que todos nos preguntamos antes, estoy seguro que también sos capaz  de encontrar la respuesta sin tener que crear otra thread y desperdiciar espacio, quitar visibilidad a los posts ajenos que pueden ser más urgentes, y gastar el tiempo ajeno. 

Pensalo sin sentimentalismos, sin ponerte a la defensiva; dejá eso para la gente que no crece como persona ni como profesionales. Mirá al  espejo, tomá lo bueno, desechá  lo malo. Esto no es una regañada o una bofetada ni un insulto, es un llamado a tu inteligencia. Sé que del otro lado del internet hay alguien inteligente -si has leído hasta acá, sos lo suficientemente paciente y dispuesto a aprender; y  eso es lo esencial para crecer en GNU/Linux y resolver problemas en general :)

En la segunda parte te compartiré algunos criterios objetivos a considerar a la hora de escoger una distro. Pero me gustaría que compartás este artículo con tus amigos Linuxeros. Entre más seamos quienes practicamos el buen uso de los recursos, podremos llegar a más gente y ayudarnos de forma más sana, efectiva, eficiente.

Iniciativa, proactividad, autonomía, sentido común, independencia, autogestión, autodidáctica.


Hasta entonces, suerte :D

Thursday, September 10, 2015

CLI y Sistema de Ficheros II


$ pwd

Este es facilito. Se lee "print working directory": imprimir (en pantalla, no en papel) el directorio actual.

$ pwd
muestra/el/directorio/en/el/que/estás/actualmente 

 

$ ls

se lee "list directory", listar directorio:
muestra/los/archivos/o/sub/directorios/del/directorio/especificado

Escribí el siguiente comando en tu Terminal:
$ ls .

El " . " (punto) representa al directorio actual; es decir, el directorio en el que te encontrás. Y esto es algo fascinante si lo pensás: ¿cómo se marca usualmente una posición en un mapa o plano cartesiano? con un punto. Algo tan simple como eso :)

Ahora, seguí uno a uno, los siguientes:

$ ls /
$ ls /etc
$ ls /usr

¿Qué  te dice esto? Que podés navegar por tu PC sin tener que dar click como loco. Pero listar los directorios y  archivos no es suficiente. A veces necesitás moverte; para eso usamos:

 

$ cd 

"Change directory" o cambiar directorio. Hacé esto:

$ pwd

Y ahora, detenidamente hacé esto:

$ cd / 
$ pwd
¿Qué pasó? Te moviste del directorio home (si es que estabas en home), al Root Directory. Ahora escribí:

$ cd - 
$ pwd

Como pudiste notar, " cd - " te regresa al directorio donde estabas inicialmente (no un nivel más o menos, sino al directorio en el que estabas antes).  Hay otros usos de cd:

$ cd .. 
cambia al directorio padre (el directorio que contiene al directorio en el que estás).

$ cd ../..
cambia a dos directorios superiores.

$ cd ../../.. 
cambia tres directorios superiores, y así, hasta que de tanto " .. " vas a llegar al directorio / .

Ejercicio:

(¿Pensaste que no habría ejercicio? Sin repetición no hay aprendizaje duradero. NOTA: a menos que sepás lo que estás haciendo, no vayás a usar otros comandos que aun no hayamos mostrado; esto es por seguridad y  para evitar modificar o agregar cosas a archivos/directorios de forma indebida).  

• Listá el contenido del Root Directory.
• Navegá a /usr
• Imprimí el directorio /usr
• Sin desplazarte a otro lugar, imprimí el directorio /home
• Sin desplazarte a ningún lugar, listá el contenido del directorio /etc
• Navegá a /usr/share/man
• Navegá un nivel hacia atrás
• Listá el contenido de ese nivel donde estás ahora.
• Navegá de vuelta a tu home directory.
• Cerrá tu Terminal.

CLI y Sistema de Ficheros: Dolores de Cabeza para Principiantes.

En palabras de un antiguo samurai: "parecerá difícil al inicio, pero todo es difícil al inicio."

Nos han solicitado que elaboremos una guía un poco "menos técnica" que la que Jimmy compartió hace un rato ya acerca de los comandos básicos así como el asunto del Sistema de Ficheros de Linux. Este es un intento por lograrlo y nos esforzamos por ser lo menos "techy" posible.

La Terminal intimida a mucha gente. Si se la mostrás a un hermano mayor o un papá o tío que haya visto una de las primeras PCs y que no sea un adepto a la informática, a lo mejor te cuente lo complicado que era usar una PC antes;  si sos lo suficientemente viejo tal vez recordás un poco de DOS. Es comprensible; se trata de una pantalla oscura con una rayita que parpadea esperando que le digás qué hacer. Y si no sabés qué palabras usar para decirle qué hacer y escribís cualquier cosa que se te ocurra como "ACM1PT", de seguro te va a escupir un mensaje diciendo algo como "command not recognized" o "comando no reconocido" y es de esperarse que no haga nada y que por lo tanto la PC parezca un alien.

Tal vez por eso es intimidante y la gente le evita; o tal vez porque no quieren tomar el tiempo para aprender a usarla. Pero el problema entonces no es la Terminal, sino nuestro escaso conocimiento acerca del "idioma" que ella "escucha" y "habla". ¿Cómo se arregla este predicamento? De dos formas: huyendo, como la mayoría hace; o aprendiendo a comunicarte en el lenguaje que la Terminal entiende. A todos nos frustró al inicio; pero de nuevo, "todo es difícil al inicio".

Si vas a hacerle frente al problema, armarte de valor y ánimos es sólo una porcioncita de lo que debés de hacer. Se necesita disciplina, orden, dedicación, tiempo, y estar dispuesto a equivocarte una y otra vez. Casi nunca son las felicitaciones las que te hacen aprender para cambiar y mejorar, son tus equivocaciones y cómo vos las tomás. Recordá esto y aplicalo en todo aspecto de tu vida.
 
Es justo y necesario, nuestro deber y salvación aprender los siguientes comandos a usar en Linux. La GUI (Graphical User Interface) no es más que una síntesis o representación visual (en forma de iconos y ventanas) de toda instrucción que tu PC ejecuta. Estas instrucciones pueden ser ingresadas en forma de texto, cosa que con un poco de práctica es más rápida y fácil que dar clicks aquí y allá de un lado a otro de tu pantalla (ahorrándote tiempo, divagación y esfuerzos).

Así como das clicks en tus ventanas para moverte de un lugar a otro en tu PC y lograr que ella haga algo por vos, así también podés desplazarte por tu PC desde una simple ventanita escribiendo texto. 
Vamos a aprender a navegar en tu Terminal con estos comandos básicos. Ellos son como el "AEIOU" de Linux. 

"Pero yo no necesito ni quiero aprender comandos."

Es cierto que para poder hablar no se necesita escribir y que mucha gente vive sin llegar a escribir ni leer nada; pero es cierto que esto les priva de muchas libertades y conocimiento importante para crecer como personas. Algo así sucede con los comandos de la Terminal.

 

Yo sólo quiero ver videos, revisar mi correo y redes sociales.


Bueno, entonces tal vez este no es el lugar para vos y te pediremos que dejés de leer los artículos relacionados a Comandos y Terminal. Lo cierto es que para los usuarios de Linux que deseamos aprovechar el potencial de estos sistemas operativos, la CLI y los comandos son vitales.

¿Qué carajos tienen que ver la Terminal con el Sistema de Ficheros?

Todo. Por ahora digamos que la Terminal es una mezcla de Timón y el Sistema de Ficheros es un Mapa de Navegación. O digamos que tu Terminal es una Caja de Herramientas y tu Sistema de Ficheros es los planos de un Automóvil. Tal vez esta última analogía no la comprendás aún, pero lo harás cuando aprendás comandos avanzado. Si seguiste leyendo, esperamos que esta guía te ayude. Abrí tu Terminal y comencemos. 

Probablemente es lo primero que vas a ver junto a tu nombre o el nombre que le diste a tu PC cuando instalaste tu distro. Es el "command prompt" o símbolo de sistema. La "señal" que indica estar lista para que ingresés comandos. Cuando veás el prompt en mis tutoriales, deberás escribir los comandos que a su derecha.

Es el mismo símbolo o prompt, pero como "root" o superusuario. A menos que necesités hacer labores de mantenimiento o corrás una distro especializada, vas a ver este prompt muy poco.

 /

Como punto de partida, si alguna ves al símbolo de barra diagonal (símbolo de fracción, pleca, etc.) solito, es que representa al directorio "inicio" o "de partida", llamado Directorio Raíz. O sea, vas a entender que estamos hablando del Root Directory.  Es el nivel primero en el sistema de ficheros y respecto a él, situamos a todos los demás directorios y archivos (aquí no usamos la palabra "raíz" como algo bajo tierra sino como el INICIO, o seal el origen, nacimiento, punto de partida).

Es como si fuera la calle principal de una ciudad y la cual se toma como punto de referencia para poder tomar otras calles y conducirte a tu destino. En dibujitos:


Esta es la representación gráfica de la estructura de directorios de Linux. Recordá que un sistema operativo basado en Linux está organizado en compartimientos llamados conocidos como carpetas/folders/ficheros. En los siguientes niveles ves otros folders/carpetas/nombres. Si partimos de / (el Root Directory) y queremos ubicar al folder "Miguel" dentro del  sistema operativo, vamos a escribir

/home/miguel

que sitúa a Miguel dentro del folder "home", que está dentro del folder o Directorio Root. O sea, podemos decir que Miguel está dos directorios abajo en relación al Root Directory. No estamos diciendo que Miguel tenga menos superpoderes o un Ki menor al del Root Directory por estar "dos niveles abajo", porque no estamos comparando; simplemente estamos situando a Miguel en relación al Root Directory.

Partiendo del directorio Raíz, si queremos representar al fólder public_html, vamos a hacerlo así:

/home/francis/public_html

Como ves, seguimos usando / varias veces; y es que cuando la / se usa después del nombre de un folder, simboliza un "nivel"; o sea, nos sirve para hacer divisiones entre un directorio y otro o un directorio con un archivo. La primera barra a la izquierda simboliza el directorio raíz; las siguientes indican un directorio más "abajo".
  
Notá que escribí 
/home/miguel

y no

/home/Miguel

o

/Home/Miguel

¿Por qué? Porque así es como fueron definidos estos dos directorios y la sintaxis usada en la Terminal es sensible a capitalización. Si no tenés idea qué significa esto, deberías de hacer click en "sensible a capitalización"; he hipervinculado un artículo de la Todopoderosa Wikipedia que te lo explica.


Ya con esta explicación breve, en nuestra Terminal abierta, vamos a escribir este primer comando:

$ exit

¿Qué pasó? Yo sé qué pasó. Seguí la segunda parte para aprender más :)

Entradas populares.