Showing posts with label superusuario. Show all posts
Showing posts with label superusuario. Show all posts

Thursday, December 24, 2015

Nuevo equipo, jugando con microservidores.

Ratos de no escribirles.

He llegado a la conclusión de que este blog difícilmente tendrá un desarrollo "lineal". Inicialmente decidí que sería una especie de manual introductorio para novatos GNU/Linux. Durante el tiempo que no escribo, aprendo de administración Linux, programación, microcontroladores y demás; esas cosas no considero necesarias para un novato; pero compartiré las cosas que considere útiles. Algunas de ellas pueden ser de nivel básico y otras requieren un conocimiento mayor en esto o aquello. 

Esta actualización podría ser un poco "avanzada" puesto que habla de hardware y un poco de soluciones de almacenaje.

Me hice de nuevo equipo y me deshice de mi Phenom 960T. Ahora, tengo una laptop intel (i5 4210u, 8GB, Nvidia 840M, 720p, WiFi, Bluetooth, parlantes, teclado y 1TB que reemplacé por mi SSD de 128GB) en la cual tengo Freya. Ya tengo unos tres meses en ella y no me quejo de nada :) ¿Por qué tanta RAM y un i5? porque serán útiles durante mi aprendizaje de FOSS. 

Desde hace un par de años vengo con la idea de construir mi propio servidor multipropósito y alojarlo en casa. Existe un invento llamado "la nube", y otro llamado "servidor NAS" pero para todo el material que tengo (software, imágenes, música, etc.) y como prefiero armar mis propios equipos y aprender del FOSS, quise hacer mi propio servidor. 

Ya tenía mi PC de escritorio y se me ocurrió que tenía el suficiente músculo para hacerla un servidor (Phenom 960T quad core, convertible en hexacore; 2GB Nvidia GTX 650 Ti Boost de EVGA, Asrock 990FX Extreme3; 8GB de RAM Kingston Hyper X Beast; OCZ SSD de 128GB SATA III; 2x 3TB Western Digital Caviar Red SATA III; radiador Corsair H60; Cooler Master CM 690 II; -lector de tarjetas y sin unidad óptica interna :v ); pero honestamente, casi no le usaba y sería un consumo de energía excesivo para lo que quiero.

Me di la tarea de buscar desde hace unos años y encontré la solución perfecta: motherboards embebidas (SoC, Single Chip computers); son simplemente motherboards de factor pequeño (usualmente micro ATX, baby ATX, mini ITX o incluso Pico ITX) con procesadores de bajo consumo (usualmente, procesadores de laptop); que toman RAM de escritorio o laptop y tienen varios puertos SATA. Son populares en países de Asia y el primer mundo occidental, para entusiastas que deciden hacer sus propios Home Theater PCs (HTPCs) o micro servidores e incluso como PCs domésticas para quines no tienen exigencias altas (gaming, creación multimedia, compilar código,  virtualización, etc.).

Durante los tres-cuatro años que contemplé la idea, llamaron mi atención una motherboard Zotac con un AMD Turion de doble núcleo (ya bastante viejo, pero de bajo consumo), una AsRock con un AMD Zacate E-350, y una Asrock con el AMD Kabini A4-5000. Todos procesadores originalmente pensados para laptops. También varios Intel (los Intel Celeron Bay Trail son muy buenos, pero valen un poquito más y tienen menos puertos SATA III: aquí estamos considerando algo llamado escalabilidad).

El Kabini me pareció perfecto para el trabajo puesto que trae cuatro puertos SATA III (lo que me permitiría poner dos o más discos en RAID 1), aparte de tener un TDP de W, y ser quad core... de apenas a 1.5GHz, pero es suficiente para lo que hará: proveer almacenaje en mi red local y tal vez alojar sitios en WordPress para cuando retome el tema; en todo caso, tengo dos núcleos extra en comparación al E-350.  podría beneficiarme de los múltiples núcleos

Mientras tanto, aprendí a instalar Arch vía VirtualBox en mi laptop (virtualizar requiere bastante RAM según los SOs que se corren). No considero hacer una guía al respecto porque ya existe: está en la Wiki de Arch, y siguiendo su filosofía me adhiero al principio #KISS (keep it simple, stupid!) y por eso es que te sugiero: #RTFM (read the fucking manual!). 

Hace unos dos meses, me llegó la mini ITX; conecté mi otro  SSD a la mobo Kabini e instalé Arch hace unos cuantos sábados. Como está pensada para servidor, no requiero de un Entorno de Escritorio; aun así, instalé Awesome WM como lo hice en el Arch de VirtualBox. Tal vez hable de Awesome en otra entrada después. En mi tiempo libre me di a la tarea de auditar mis discos duros y consolidar todos mis archivos en mi disco duro externo. Ya luego configuro RAID 1, un par de daemons y copio la info de mi disco duro externo a ellos. 

Leyendo de administradores y desarrolladores angloparlantes, aprendí ciertos trucos a implementar en mi servidor, pero... la cagué al configurar la instalación;

... apenas y le asigné 15GB de espacio a la partición root. El sistema base de Arch pesa menos de 3.5GB ( # df -h muestra 3.4GB usados hasta ahora, que tiene paquetes extra que he instalado), pero preveo que podré necesitar más espacio en un futuro cercano. 

Así que en la próxima entrada, te compartiré cómo hice para extender la partición root.

Y eso. Felices fiestas :) 

Thursday, September 10, 2015

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 :)

Thursday, May 8, 2014

Root



Root (/ ro͞ot / / ru-uT/ )
  • Parte de las plantas que las pegan al piso para que la gravedad cero no las succione al espacio exterior.
  • La línea negra que se ve en el cuero cabelludo de algunas damas "rubias".
  • La cuenta de Superusuario: La mamá de Tarzán. La última chupada del mango.

Root es  el nombre de la cuenta que tiene  privilegios de “superusuario”. El Root puede usar tooooodos los comandos y archivos en Linux. Es como Arceus en Pokemon, Broly en Dragon Ball GT, Yisus* en el Cristianismo, Alá* en el Islamismo, etc.

En inglés, lo vas a conocer como Root account, Root User, Root Superuser. Tal vez recordás que tu distro te pedía crear una contraseña para Root al momento de instalar.

Se le llama así, porque un superusuario es el único que tiene acceso al directorio raíz en Linux (el directorio raíz o root directory se representa así “/”, sólo la barra diagonal, porque es el primer directorio o el “más alto”; tal vez lo has visto cuando instalaste tu distro).

Ser Superusuario, o Root user, significa tener el poder total: ser el Dios absoluto de tu Distro. Podés dar y quitar accesos y restricciones a otros usuarios (digamos que tu hermanito es bien metido y te cagó la Distro una vez, pues lo limitás esta vez y ya).

Root también hace referencia al directorio “ / “ (sin las comillas), que es el Top Level Directory,  o “el directorio padre/maestro”.


¿Cómo me convierto en Root user? / ro͞ot  ˈyo͞ozər/ ruut iuser /



En general, para la mayoría de Distros, usamos el comando su en Terminal.Se te pide que ingresés tu contraseña, des enter y listo.
su significa Substitute User, aunque la mara lo tiene por "superuser" o "switch user".


Fijate en esta "sesión" de terminal:
chepe@chepe-desktop chepe@chepe-desktop $ su contraseña: root@chepe-desktop # imaginá que aquí está lo que sea que querés hacer como Root. 


Ahora, lo que su hace, es que convierte la sesión de Terminal, en sesión del Root para que el resto de comandos que introduzcás, sean ejecutados como superuser. Observá que cuando te hayás convertido en Root, vas a ver un numeral en lugar del signo de moneda.
root@chepe-desktop # imaginá que aquí sigue lo que sea que querés hacer como Root. 
root@chepe-desktop # exit 
Cuando hayás terminado de ejecutar los comandos como superusuario es importante que salgás de la sesión de Root; para esto usás exit ; y vas a ver que el signo de moneda regresa a la línea
de Terminal. ¿Simple, cierto?
chepe@chepe-desktop $


Si estás trabajando en Ubuntu o derivadas (Lubuntu, Xubuntu, Kubuntu, Elementary y afines), vas a usar sudo -i en lugar de su. ¿Por qué? Por cuestiones de diseño de la Distro. Canonical, la compañía que desarrolló Ubuntu, consideró que era mejor que ni los admins ni los usuarios supieran sus contraseñas Root para evitar que fueran crackeadas por terceros maliciosos; no es que no tenga contraseña (sí la tiene, y es un hash criptográfico bastante difícil de descifrar), es que simplemente el SO no te la va a dar. Podés cambiarla de hecho (en otro capítulo hablaremos de ello), p-e-r-o n-o e-s r-e-c-o-m-e-n-d-a-b-l-e.
La mara experta recomienda que no usés Root en Ubuntu o derivados, a menos que sea necesario porque si errás en un comando, vas a pasearte en todo el sistema operativo. Pero si has leído tutoriales, ya sabés que en ciertas ocasiones deberás hacerlo.

Como recomendación, si la tarea que querés ejecutar requiere privilegio de superusuario y tomará una línea de comando, usá sudo , (SuperUser Do) que sirve para ejecutar un comando de una línea con el mismo usuario que inició la sesión de Terminal (y te va a pedir la contraseña de usuario, no de root), sin abrir sesión de Root y permanecer en ella más tiempo del necesario -lo que minimiza el riesgo de que cometás un error involuntario pero fatal.

Cuando busqués ayuda, tutoriales o instructivos en línea, vas a encontrar otro comando

chepe@chepe-desktop $ sudo apt-get update este comando sirve para actualizar los paquetes de ciertas distros, como Ubuntu y sus derivadas.
[sudo] contraseña para chepe:   cuando das enter, vas a ver una gran jerigonza de líneas abajo porque tus paquetes se están actualizando.

Y una vez terminado, vas a regresar al prompt con tu usuario regular:

chepe@chepe-desktop $


Recordá esto:
$ usuario regular (algunos SOs basados en Unix usan '#' en lugar de '$').
# root, superuser, root user.


Entradas populares.