Showing posts with label sistema operativo. Show all posts
Showing posts with label sistema operativo. Show all posts

Tuesday, January 19, 2016

Menos es más: Linux para equipo legacy y de gama baja

frugalidad.

(Del lat. frugalĭtas, -ātis).
1. f. Templanza, parquedad en la comida y la bebida.

A veces no necesitás más RAM, un CPU* más costoso, una PC nueva o una versión más reciente de Windows. A veces sólo necesitás reconsiderar tus paradigmas y hábitos. A veces no necesitás más mierda, al contrario; a veces lo que tenés es suficiente, y en algunos casos incluso necesitás dejar ir cuanta mierda sea posible de tu vida en lugar de envidiar a otros y ansiar más. 

Lo que me gusta de Linux en comparación a sistemas privativos, es su flexibilidad. Podés usarlo en una máquina de mil dólares como podés instalarlo en un equipo viejo o de gama baja y aun así tener una PC funcional que te dure largo rato. 

Vamos a considerar equipo legacy y de GAMA baja a: 
  • 2GB de RAM o menos, (en legacy, DDR2 o anterior).
  • Procesador de dos núcleos actual, o uno socket LGA775 o Socket AM2 (estas plataformas fueron lanzadas entre el 2005-2006)
  • Video integrado o incluso, una gráfica discreta entry-level
  • Interfaz SATA II - IDE 
  • Laptops doble nucleo de bajo consumo con procesadores AMD serie A/Thurion/Zacate/Athlon, o Intel Celeron/Pentium/Atom de generaciones viejas. Cualquier cosa que tenga cuatro threads, podemos o un Turbo Booster, podemos considerarlo algo de gama mayor.

 

 

Esencialmente, lo que buscás es EVITAR EL BLOATWARE.

 

Para principiantes, instalar una distro con cualquiera de estos entornos ligeros/window managers:

    • LXDE
    • XFCE
    • LXQT 
    • Mate
    • Openbox
Listo. Para un novato que quiere algo simple, listo y fácil de usar; eso sería lo que busca. Podemos mencionar algunos ejemplos (pero sigo recomendando, buscar en línea por más alternativas en distrowatch.com):

Xubuntu, Lubuntu, BunsenLabs, CrunchBang Plus Plus (derivados del extinto y mítico Crunchbang, desarrollado por Corenominal), Fedora XFCE spin o LXDE spin, Linux Mint, Puppy Linux, Porteus, Point Linux.


Para novatos atrevidos e intermedios  instalar un sistema base; esto provee mejor control sobre qué instalar/usar, y aprovechamiento de recursos... aunque requiere mayor conocimiento y tiempo.

  • O sea, la pura CLI, y comenzar a construir su propio escritorio desde ahí.
    • Debian.
    • Arch
      • Incluso si no instalás Arch, su Wiki es asombrosa.
    • Slitaz
    • Slackware
    • Gentoo
      • También tienen documentación excelente.
    • Ubuntu mínimo
      • Francamente, he encontrado info útil en su foro angloparlante.
    • Cualquier cosa que diga "CLI" o "No GUI" cuando completás su instalación.
  • Instalar un gestor de ventanas en lugar de un entorno completo, como por ejemplo:
    • Flotantes:
      • Blacbox o sus derivados a continuación:
        • Openbox.
        • Fluxbox.
    • Tiling o de "fichas/bloques" (podrán parecer feos o "simples" a quienes vienen acostumbrados al maquillaje y demás superficialidades: 
      • Awesome Window Manager (también es flotante)
      • DWM
      • Xmonad
      • i3 
      • JWM (usado en Puppy)
  • Usar aplicaciones minimalistas y de preferencia, basadas en Terminal en lugar de una GUI (particular , por ejemplo:
    • midnight commander como visor de archivos/directorios ($cm)
    • $top o $htop en lugar de Gnome System Monitor. 
    • nano/vim/emacs en lugar de gedit, scratch, atom, etc. Aquí hay argumentos sólidos por parte de programadores para seguir usando un editor de texto pesado (se integran con sus IDEs, tienen autocompletar, etc.); para un novato, sería sano seguir mi recomendación.
    • Hay incluso, navegadores en CLI: Lynx, por ejemplo. 

  • Usar la jodida CLI, CLI, CLI. 
Esto te va a permitir ahorrar espacio en disco y evitar desperdiciar segundos al arranque con cosas que no necesitás/no usás. Naturalmente, para lograr esto, necesitás más tiempo, conocimiento, etc.






*Cuando digo CPU, no me refiero al "cajón", "case" o "chassis", me refiero al microchip, microprocesador, el Intel, AMD, VIA, ARM, de un computador.

Tuesday, September 22, 2015

La importancia de los PPAs en Ubuntu y derivados: el caso Screenfetch.

Hace uno o dos años instalé Screefetch en Luna siguiendo las indicaciones del artículo anterior:

Elementary Luna en mi computadora de escritorio. Nota: el CPU dice "modelo desconocido" porque es uno de esos Phenom II a los que se les pueden activar núcleos dormidos. Pero eso es un tema de hardware y no es relevante.


La cuestión es que para entonces-tenía menos conocimiento y voluntad que los  que tengo ahora y no entendí concientemente la necesidad de agregar un simple PPA a mi Distro vía Terminal (según entiendo, esto puede hacerse vía GUI usando Synaptic; pero no hablaré de eso porque he usado Synaptic muy poco y Terminal es siempre nuestra primera opción). Para un novato, hacer todo esto para instalar un simple programita parecía extraño, incomprensible, poco amigable.

Aquí podría hablar de un dilema de carácter filosófico: a veces las instrucciones de los expertos en la comunidad  son precisas; sin embargo, llegar a ellas  y entenderlas puede ser difícil para un novato; no porque seamos tontos o ignorantes sino porque muchas veces no sabemos qué buscar una vez tenemos los resultados y la info frente a nosotros. Tal vez es que estamos acostumbrados a dar dos clicks para instalar algo, o sólo decirle que "sí" a todo el wizard de instalación; o a lo mejor es que las plataformas de Software Libre son a veces muy  escuetas y muy poco intuitivas (por ejemplo, hay muchos tutoriales que te dicen "escribí este código" pero pocos te describen qué es, qué hace, y por qué lo estás escribiendo). Estoy seguro de que muchos diseñadores UX podría estar de acuerdo conmigo y probablemente los desarrolladores no, puesto que el FOSS ha tenido una población mayoritariamente "tecchy".  

Así que, conectado a mi Banana Pro haciendo sesión remota desde mi laptop, quería saber si era posible generar el logo a pesar de estar conectado en acceso remoto, y qué tipo de logo reportaría Screenfetch para Raspbian, la distro del Banana Pro, puesto que el Banana Pi/Pro tiene un logo distinto al Raspberry Pi. Luego de esta intro aburrida,aquí vamos:

Screenfetch para Ubuntu y derivados.



Cuando voy al hipervínculo que sale en el paso 2 de la imagen anterior, soy referido al Launchpad de un usuario en Launchpad, quien parece haber "porteado" Screenfetch hacia los repos de Ubuntu:




Ya con esta información, es suficiente y puedo ponerme a trabajar. Si estás corriendo Ubuntu o derivados (como Freya), vas a tener que escribir dos comandos en tu Terminal:

$ sudo add-apt-repository ppa:djcj/screenfetch
$ sudo apt install screenfetch

En ambos casos se te va a preguntar si querés agregar y permitir instalar. Aceptás y ya. Corrés 

$ screenfetch

y listo. 

Así screenfetch debería de funcionar para usuarios de Ubuntu, ElementaryOS y afines. Sin embargo, no fue así como lo instalé inicialmente durante esta tarde; lo logré con el otro método que te mostré antes; pero repliqué este otro y también funcionó.

Eso es todo por hoy. Compartinos tus Screenshots :)


Screenfetch: información de tu PC, Distro y su logo, en Terminal.

Cuando empezaste a buscar información del FOSS (Free and Open Source Software), o cuando buscabas formas de personalizar tu Distro, seguramente te encontraste con imágenes como esta en los foros:

ElementaryOS Freya (originalmente sería lanzado como Isis, pero debido a los acontecimientos en medio orientese decidió cambiar el nombre). Nótese que desde Luna se empezaron a usar nombres de deidades femininas para cada Versión nueva de Elementary.

Estas capturas de pantalla que los Linuxeros y Unixeros (o sea, usuarios de sistemas operativos Unix, en general) comparten, tienen información de sus Equipos: hardware, sistema operativo y Kernel, junto con el logo renderizado a puros caracteres Unicode (letras, números y símbolos). A lo mejor te preguntaste cómo se hace esto. Simple: buscando, leyendo, aprendiendo, aplicando. Hay varias herramientas que se usan para este objetivo y la más conocida tal vez es ScreenFetch (sedice scriinfetch").

Screenfetch es una herramienta que Brett Bohnenkamper, mejor conocido como el usuario KittyKatt desarrolló y ha puesto a disposición del público en GitHub [un controlador colaborativo de versiones de software que también es usado como Repo].

Screenfetch: instalación general.

 

Las siguientes instrucciones me funcionaron en los siguientes entornos:
  •     ElementaryOS Freya en mi laptop.
  •     Arch Linux corriendo en VirtualBox adentro de mi laptop con Freya
  •     Raspbian en el Banana Pro por medio de sesión remota vía terminal  desde mi laptop.

Con esta muestra, podemos decir que es muy probable que estas instrucciones funcionen en otras Distros, aunque nos hace falta confirmación de parte de alguien que use la familia de RedHat, y otros. Agradeceré que nos compartan los resultados que consigan en sus distros :)

Screenfetch está en la nube de GitHub (una plataforma colaborativa de control de revisiones de Software. Digamos que es un Google Drive para programas, interfaces, código y demás cosas de desarrolladores y programadores).

1) Instalar Git

Como casi cualquier FOSS, Git se integra con Terminal, así que vamos a instalar el comando git para poder luego descargar el Screenfetch a nuestro equipo.
para Ubuntu y afines:
$ sudo apt install git


para Arch y derivados:
$ sudo pacman -Syu git
A partir de acá, podemos instalar de dos formas:

2) Creando un directorio dentro de /home y clonar Screenfetch desde Github:

Hacemos un directorio adentro de "home" (recordá que " ~  " es el home directory)
mkdir ~/screenfetch
cd ~/screenfetch

Recordá usar $ pwd para confirmar que estás en el lugar correcto)  Ahora en él, copiaremos el repo git de Screenfetch adentro de /tmp, así:

$ git clone git://github.com/KittyKatt/screenFetch.git screenfetch

Básicamente, ya tenemos el programa instalado y puesto que lo instalamos en el directorio ~/screenfetch ( o en el /tmp), para poder ejecutar el script desde /home/usuario, tendríamos que escribir
$ sudo screenfetch/screenfetch-dev

2-A) Navegando hacia /temp y clonar Screenfetch desde Github:

En lugar de hacer un nuevo directorio, navegamos hacia el directorio temporal conocido como "/tmp" y proseguir de la misma forma:

$ cd /tmp $ git clone git://github.com/KittyKatt/screenFetch.git screenfetch
$ sudo /tmp/screenfetch/screenfetch-dev


¿Cuál es la diferencia entre ambos métodos?

El primer método requiere generar una nueva entrada en tu filesystem y descargar Screenfetch a ella, mientras que en la segunda, se usa/tmp porque esta es una carpeta de almacenamiento temporal para la sesión: el propósito es que luego de apagar el equipo y reiniciar, la descarga de Screenfetch sea borrada del sistema y evitar así, usar espacio innecesario en el disco. La verdad, es cuestión de preferencia personal. No tengo preferencia, aunque me parece una buena idea el usar /tmp de vez en  cuando.

3)  Ejecutar Screenshot desde su locación: 

Dependiendo del lugar donde lo instalaste, vas a tener que escribir 
$ sudo /tmp/screenfetch/screenfetch-dv
$ sudo ~/screenfetch.

En ambos casos, el comando es demasiado largo y tedioso de escribir. El comando cp copia un directorio o archivo en otra locación, usando esta sintaxis:

$ cp ruta/origen ruta/destino

4)  Copiar el programa, a /usr/bin. 

$ sudo cp screenfetch/screenfetch-dev /usr/bin/screenfetch
$ sudo cp /tmp/screenfetch/screenfetch-dev /usr/bin/screenfetch

La razón por la cual estamos copiando al directorio /usr/bin es porque aquí se alojan los programas y comandos ejecutables por administradores. Por lo tanto, debemos de cambiar permisos para que el usuario regular pueda ejecutar el programa.
 

5) Cambiar permisos:

$ sudo chmod 755 /usr/bin/screenfetch

chmod es "change mode", cambiar modo. Asigna permisos especiales a objetos y elementos en el Filesystem de Unix. y listo. Ahora corré

6) Ejecutar y aplaudir como morsa.

$ screenfetch
Y vas a tener un resultado similar a este:

Screenfetch de Arch Linux. Hemos estado aprendiendo a instalar Arch usando VirtualBox dentro de Freya. Ignorá donde dice "firefox installed", es sólo el nombre de referencia que le di a un snapshot o "captura" de la máquina virtual. Acá estaba corriendo Arch sin GUI; es decir, a pura CLI; en ambos casos Screenfetch funciona porque es un programa de Terminal.


Screenfetch de Arch Linux (vía VirtualBox en Freya) desde un entorno de escritorio que estoy probando
Mientras escribía este artículo en mi laptop corriendo Freya, estaba conectado remotamente vía Terminal a mi servidor de descargas, mi Banana Pro. De nuevo, Screenfetch es una herramienta de Terminal así que le es indiferente si hay interfaz gráfica (Enterno de escritorio o gestor de ventanas); siempre va a darte información de tu sistema.

En la misma página de KittyKatt se encuentran las instrucciones específicas para instalar según cada Distro mayor; Pero para hace uno o dos años, fue un poco difícil de seguirlas debido a mi limitado conocimiento acerca del asunto, y opté por hacerlo como te he compartido en este artículo. Sólo por quitarme la curiosidad y completar el reto, me documenté y logré finalmente instalar Screenfetch en ElementaryOS usando tanto el método que te compartí como las instrucciones dedicadas a Ubuntu por KittyKatt. En la siguiente nota dedico un artículo para usuarios de Ubuntu/derivados.

Monday, June 2, 2014

Un sistema operativo dentro de un sistema operativo - cómo usar una máquina virtual.


Virtual.
(Del lat. virtus, fuerza, virtud).
1. adj. Que tiene virtud para producir un efecto, aunque no lo produce de presente, frecuentemente en oposición a efectivo o real.
2. adj. Implícito, tácito.
3. adj. Fís. Que tiene existencia aparente y no real. — Real Academia Española.

Virtualización:  creación -a través de software- de una versión virtual de  un recurso tecnológico, sea de hardware o también de software. —La sabia y a veces tergiversada Wiki.

En buen español, una máquina virtual es un programa que te permite correr un sistema operativo dentro de un sistema operativo, en lugar de correrlo "directamente" sobre tu hardware. 


Y esto, a mí, ¿qué? Simple, leé esto.

La virtualización es una forma buena de experimentar con una o más distros, sin tener que echarte el huevo de tener que respaldar tus datos (aunque esto deberías de hacerlo SIEMPRE), quemar discos o provisionar memorias USB con la ISO de tu Distro, irte al BIOS, modificar el orden de booteo, cargar la imagen de la distro, borrar particiones existentes, perder las fotos de tu chucho, la tarea de la U, y de remate, tener que reinstalar tu sistema operativo actual en caso de que la imagen de instalación no funcione, o la distro simplemente no te guste.


Las Muñecas Matrioska son la analogía de una máquina virtual: una muñeca dentro de una muñeca; un sistema operativo dentro de un sistema operativo.

Muñecas Matrioska -o Matryoshka.
¿Cómo empiezo a virtualizar? Buena pregunta chele. Primero, lo primero:

  • La imagen (ISO) de tu distro.
  • Un procesador con soporte para virtualización (buscá el modelo de tu procesador,  andá a la página de su fabricante y mirá si el modelo tiene soporte para virtualización). Lo ideal, es un procesador multi-núcleos.
  • Placa base con soporte y modo de virtualización habilitado en el BIOS. (Referite al manual de tu Mobo). 
  • Suficiente memoria RAM. Pensá en esto: tu sistema operativo actual debe operar mientras la distro -otro sistema operativo- opera a la vez; para correr máquinas virtuales es adecuado usar una buena cantidad de RAM si querés que el desempeño del sistema anfitrión y del huéped, sea decente y no se "traben" o "congelen". 
Es este precisamente uno de los pocos escenarios donde tener más de 4GB de RAM realmente es beneficioso -porque es recomendado que al sistema operativo virtual se le asigne tanta RAM como necesitaría para correr directamente en hardware, además de la cantidad de RAM que sistema operativo anfitrión usa por sí mismo. Con esto, evitás tocar el archivo de swap o página de intercambio, que es "memoria" virtual tomada de tu unidad de almacenamiento principal y como estusualmente será más lenta que RAM física (si se trata de un Disco Duro): asegurate de tener suficiente RAM como  para que no tengás que cerrar aplicaciones y matar servicios para poder usar ambos sistemas operativos; de otra forma, no podrás experimentear cómo "se siente" estar en él de verdad).
  • Máquina virtual; este es el software que se instala en el sistema operativo anfitrión y sirve para "emular" el sistema operativo huésped.
  • Espacio de almacenamiento suficiente en tu equipo, para "crear" una unidad de almacenamiento donde el huésped residirá.
Esos son los ingredientes para la receta. Podés hacer tu propia búsqueda en base a estas observaciones y experimentar por tu cuenta. 

Luego tal vez hablemos de VirtualBox, que es la máquina virtual que estamos usando por el momento y con la cual instalamos el sistema base de Debian Wheezy dentro de Windows 7 Ultimate de 64 bits ayer por la noche.

Saludos.

Post Datum: Chele es un modismo coloquial usado en El Salvador; significa "blanco", persona de tez clara. Actualmente se usa para referirse en un grupo de cheros (amigos) o colegas, a uno de ellos, aunque su tez no sea clara. "Chele, pasame la birria" = Viejo, pasame la cerveza.

Entradas populares.