tag:blogger.com,1999:blog-75591369361612182512024-03-13T12:37:19.269-07:00Hispa-Linux, Manual para NovatosLinux para novatos, principiantes, n00bs, neófitos, iniciados.
Las preguntas esenciales que se han hecho mil veces en todos lados, están acá.Unknownnoreply@blogger.comBlogger61125tag:blogger.com,1999:blog-7559136936161218251.post-626001996028229512023-01-02T21:19:00.004-08:002023-01-02T21:19:55.570-08:00Preparar una USB en Linux para flashear la BIOS de tu mobo. <p> <span style="text-align: justify;"><Contexto></span></p><p style="text-align: justify;">Uno de los últimos días de diciembre del 2022 me hice de un "combo" de mobo + procesador + memoria ram, a través del mercado de pulgas local de una red social que comienza con "F" —uno de los pros de usar redes sociales: se aprovecha el comercio formal e informal... </p><p style="text-align: justify;"></p><blockquote><p style="text-align: justify;"></p><blockquote><p style="text-align: justify;">Esto es lo que compré:</p><p style="text-align: justify;"></p><ul><li>Mobo (motherboard, placa base) MSI, modelo h81i ("H81I" en mayúsculas)</li><li>i7 4790 (el i7 de multiplicador bloqueado más potente de su generación)</li><li>16GB de RAM (2x8GB Corsair Vengeance DDR3). </li></ul><p></p><p>La placa, como la "i" indica, es mini-ITX (170mm x 170mm) y cabe en el Cooler Master Elite 130, donde hasta hace unos meses tuve una AsRock QC5000-ITX (con el AMD A4-5000 "Kabini" soldado directamente, procesador de bajo consumo del 2013 para laptops de gama baja) que compré hace ya varios años, y donde instalé Debian Stretch (¿o era Jesse? no recuerdo) y que hace meses murió (capacitores estallados)</p><p style="text-align: justify;">Para los estándares actuales, mi actualización es parecida a Apple lanzando "novedades" cada año, con hardware de hace un par de generaciones atrás (tanto la placa base como la ram y CPU tienen varios años ya); pero con AMD actualmente pateándole el c**lo a Intel desde Ryzen, los precios de equipo que antes fuera "gama alta" están cayendo y dado que buscaba algo "frugal", aproveché la oportunidad apropiada para reemplazar la placa AsRock. </p></blockquote></blockquote><p> </p><p style="text-align: justify;"></p><p style="text-align: justify;">El vendedor (alguien que parece gustar de equipo de gama media-alta) me dejó probarla antes de la compra y parecía funcionar bien excepto que al reiniciar, no había POST. Imaginé que una configuración en la BIOS o incluso, un jumper o un cable mal puesto podrían causar esto y eventualmente lo arreglaría así que procedimos a cerrar negocio. Días después removí la placa quemada e instalé la MSI "nueva"; reemplacé el disipador stock con el radiador Corsair H60 que compré entre el 2010 - 2011; reconecté cables e hice un par de pruebas de encendido-apagado y reinicio... y reiniciando descubrí que el inconveniente seguía allí: </p><p style="text-align: justify;"><br /></p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><h3 style="text-align: justify;"><i style="font-weight: normal;">No hay POST* después de cada reinicio.</i></h3></blockquote><p style="text-align: justify;"><span style="font-size: x-small;">(*<i>Power On Self Test</i>, que sucede en el momento en el que aparece en pantalla, la marca de la placa base u OEM, antes de localizar el sistema operativo y arrancarlo). </span></p><p style="text-align: justify;"><span style="font-size: x-small;"><br /></span></p><p style="text-align: justify;">Probé distintos SSDs, un cable HDMi y uno VGA... probé reiniciando con una sola memoria a la vez y obtuve la misma respuesta siempre. Busqué este problema en línea y <a href="https://forum-en.msi.com/index.php?threads/no-display-from-igd-or-peg-after-restart-on-h81m-e34-with-haswell-refresh-cpu.181005/">encontré una publicación en el foro oficial de MSI, de una motherboard similar, reportando el mismo problema</a>. Las placas base que MSI lanzó con el chipset H81 mostraban este comportamiento con procesadores Haswell (Intel Core de 4ta generación). Según uno de los miembros del foro, tuvo que hacer flash a cada versión de BIOS desde la primera (versión "0") hasta la que finalmente aplica el "fix" (la versión 3, ó A.3 aplica el fix para mi mobo).</p><p style="text-align: justify;"><br /></p><blockquote><p style="text-align: justify;"><i>Cuando trabajé en Soporte Técnico de Dell para Latitude y Optiplex del 2009 al 2012, solíamos hacer un "flash" a las BIOS cuando surgían ciertos probleams de hardware: se buscaba el archivo BIOS (usualmente un .exe), se descargaba y corría desde Windows... la computadora realizaba el resto por su cuenta; solía ser un proceso sumamente sencillo pero con riesgos (el de "bricking" la placa base, si se usa un archivo BIOS para el modelo de PC equivocado). La solución reportada en el foro de MSI es en efecto, flashear BIOS (la versión mínima que corrige este problema es la <b>A.3</b>). Leí varias instrucciones de las maneras recomendadas de flashear BIOS para MSI y en su mayoría se refieren a procedimientos y herramientas dedicadas para Windows. </i></p></blockquote><p style="text-align: justify;"><br /></p><p style="text-align: justify;">El propósito de esta entrada es describirte cómo usar heramientas dentro de tu distro de Linux para preparar una USB y flashear tu BIOS desde dentro de la interfaz BIOS (fuera del Sistema Operativo) —siempre que el fabricante de tu placa base ("mobo") lo permita. Las instrucciones de cómo flashear la BIOS desde fuera del Sistema Operativo varían según cada fabricante y necesitarás complementar esta lectura con la documentación/manual de tu mobo (un folleto físico que viene con tu placa base, aunque los fabricantes los comparten en línea por si alguien pierde el folleto, o no lo tiene... como en mi caso) o explorando las opciones disponibles en tu BIOS. Abajo comparto los pasos necesarios que pueden realizarse desde Linux.</p><p></p><ol></ol><p style="text-align: justify;"></Contexto></p><p style="text-align: justify;"><br /></p><h2 style="text-align: justify;"><span style="font-weight: normal;">Cómo hacer flash a una motherboard MSI vía m-flash usando Linux: </span></h2><ol><li style="text-align: justify;"><b>Busqué y guardé cada versión de BIOS</b> (y en el caso de algunos procesadores Intel, el archivo Intel ME —asumo que se refiere a Intel Management Engine, y que afortunadamente encontréen los foros oficiales de MSI). Obtendrás archivos .zip (el ME lo encontré en formato .zip). </li><li style="text-align: justify;"><b>Decomprimí cada archivo</b> (para los .zip, <i>$ tar -xvf ...</i>) con cualquiera de estos dos comandos: </li><ol><ul><li style="text-align: justify;"><i>tar -xzvf nombredelarchivo.zip</i></li><li style="text-align: justify;"><i>unzip</i><i> nombredelarchivo.zip</i></li></ul></ol><ul><li style="text-align: justify;">Esto creará directorios ("carpetas") donde habrá varios archivos: usualmente un .txt con detalles de la revisión, un .exe ejecutable para Windows (no nos sirve ni lo necesitamos) y un archivo cuya extensión varía según el fabricante de la placa base (MSI los nombra "nombre.A00", "nombre.A10", etc.) </li></ul><li style="text-align: justify;"><b>Reformateé una memoria USB en FAT32</b> (según el fabricante, chipset y edad de tu placa base, podrías o no usar un puerto USB 3.0); asumiendo que tu USB está en <i>/dev/sdc1, </i>cualquiera de estos dos comandos te servirán: </li><ul><li style="text-align: justify;"><i>sudo mkfs.vfat -F 32 /dev/sdc1</i></li><li style="text-align: justify;">Opcionalmente: </li><li style="text-align: justify;"><i>sudo mkfs.vfat -F 32 -n "nombre de tu memoria USB" /dev/sdc1</i></li></ul><li style="text-align: justify;"><b>Guardé el respectivo archivo de BIOS</b> (no el .exe ni el .txt) <b>en el directorio más alto de la memoria USB para leerlo y cargarlo desde de la interfaz BIOS ("flashear" la BIOS)</b> fuera de subdirectorios o "carpetas" adicionales en la USB; los guardé en el "top level directory" de la USB. </li><ul><li><span style="text-align: justify;">Encendí mi PC, cargué a la interfaz BIOS (para mobos MSI, la tecla "delete" durante el POST).</span></li><li><span style="text-align: justify;">Fui a "M-Flash"; navegué en el "top level directory" de la USB, escogí uno el archivo de BIOS con la primera versión y di "Enter". </span></li><li><span style="text-align: justify;">La interfaz cargó el archivo, hizo el "flash" (en resumen, escribir a una EPROM o Memoria Flash de la mobo, con las instrucciones necesarias de bajo nivel).</span></li></ul></ol><p></p><p style="text-align: justify;">Saltar directamente hasta la versión de BIOS A.3 (la que implementa el soporte a chips Haswell) no logró resolver el problema. En efecto y como mencioné párrafos atrás, tuve que flashear dede la primera versión (A.0) progresivamente hasta llegar a la A.3 para finalmente logré reiniciar la PC sin problemas; esto significó descargar, decomprimir y guardar en mi memoria USB varias versiones de archivos BIOS para aplicar la actualización que resolvió. </p><p style="text-align: justify;">Cómo notarás, es posible realizar toda la preparación desde la terminal de tu distribución Linux favorita, sin usar .exe's ni herramientas que los fabricantes lanzan casi exclusivamente para Windows. </p><p style="text-align: justify;">P.D: hace ya mucho desde la última vez que compartimos una entrada y es posible que pase tiempo antes de la siguiente... ¡Te deseamos un 2023 lleno de logros y nuevo conocimiento y sigás aprendiendo más sobre Linux!</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-60709708178844712662016-03-01T11:51:00.003-08:002016-03-01T11:51:47.452-08:00¿Cómo escojo una distro me recomiendan? Parte II<div style="text-align: justify;">
¿Cuál
distro te recomiendo? La que resuelva tus necesidades. Tenés que
definir cuáles son tus necesidades. Tus necesidades están compuestas
por </div>
<ol>
<li><h3>
Tus necesidades y expectativas. </h3>
</li>
<li><h3>
Las limitaciones de tu hardware.
</h3>
</li>
</ol>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<h4>
Tus necesidades como usuario. </h4>
</div>
<div style="text-align: justify;">
Tenés que considerar estas cosas: </div>
<ul>
<li>Tipos de release: </li>
<ul>
<li>Estable,
fijo o estándar: ya fue testeado, auditado, probado, certificado que no
dará pedos -a menos que seás travieso y hagás cambios significativos en
archivos de configuración, o que usés software o paquetes que no están
en los repositorios oficiales de esa distro. En estas, usualmente todo
el equipo de desarrollo aprobó su lanzamiento; todos hiceron un "thumbs
up". Idealmente, querés un release oficial. Las organizaciones
desrarrolladoras programan y anuncian fechas de lanzamiento. Dentro de estos releases, hay una subdivisión:</li>
<ul>
<li>LTS
("Long Term Support"): reciben desarrollo y/o soporte técnico adicional
por cierta cantidad de años; el soporte usualmente es un extra pagado
(Canonical ofrece una versión Ubuntu LTS, por ejemplo). </li>
</ul>
<li>Versiones
Pre-Alpha, Nightly Builds, Alpha, Beta, Release Candidate,
experimental, en desarrollo o términos afines que se refieran a lo
contrario de un release oficial. Para simplificarlo, son un
"prototipo", un trabajo en progreso; son orientadas a desarrolladores,
miembros respetados de la comunidad, programadores, auditores, etc. y
seguramente tendrán bugs, pedos, errores, lentitud, pantallazos y
tormentas de pupú de vez en cuando. Es así porque no están listas para
el usuario final. Simple. Y los que saben de desarrollo, pueden
experimentar, auditar, e incluso reparar bugs, agregar cosas,
modificarlas y mejorarlas. Es como si le diera mi prototipo de automóvil
a un ingeniero mecánico para que haga "peer review". Si no sos un
desarrollador, te recomiendo que te alejés de ellas, o al menos NO LAS
USÉS COMO tu distro principal/en tu pc principal, por paz mental.</li>
<li>Rolling release: distribución en actualización constante. </li>
<li>Todo esto, tiene que ver con el ciclo de <a href="https://upload.wikimedia.org/wikipedia/commons/0/07/Software_dev2.svg">lanzamiento de software</a>. Wikealo para aprender más, si te interesa.</li>
</ul>
<li>Apariencia (influenciado por mayor o menor medida por tu hardware y habilidades técnicas) :</li>
<ul>
<li>Old School.</li>
<li>Simple, minimalista.</li>
<li>Elaborada.</li>
<li>Con animaciones y efectos fluidos.</li>
<li>Transparencias.</li>
<li>Sin efectos en absoluto.</li>
</ul>
<li>El propósito de tu PC: </li>
<ul>
<li>Navegar por la web</li>
<li>Ver porno</li>
<li>Jugar en FB</li>
<li>Jugar cosas de varoncito. </li>
<li>Revisar tu email.</li>
<li>Universidad.</li>
<li>Trabajo.</li>
<li>Desarrollar programas.</li>
<li>Diseño gráfico. </li>
<li>Fapping a 1080p ó 4K. </li>
<li>Crear, renderizar, etc. </li>
<li>Desarrollar, programar.</li>
<li>Ver pelis.</li>
<li>Escuchar música.</li>
<li>Mezclar música. </li>
<li>Usarla para tu trabajo. </li>
</ul>
<li> Nivel de dificultad: </li>
<ul>
<li>Usuarios
domésticos (mejor conocidos con los "normalitos"), principiantes en
Linux que quieren aprender Linux, estudiantes de programación/</li>
<li>Usuarios familiarizados con GNU/Linux, entusiastas, </li>
<li>Usuarios avanzados: sysadmins, hackers, desarrolladores de GNU/Linux. </li>
</ul>
<li>Otros factores: </li>
<ul>
<li>Similitud a Windows o Mac OS para facilitar la transición a GNU/Linux.</li>
<li>Curva de aprendizaje pequeña.</li>
<li>Evitar usar le Terminal tanto como sea posible. </li>
</ul>
</ul>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-15252643489071233622016-02-15T10:44:00.001-08:002016-02-15T10:56:55.761-08:00¿Para qué compilar desde fuente?<div style="text-align: justify;">
<br /></div>
<h3 style="text-align: justify;">
Sigo sin entender para qué cojones debo de compilar.</h3>
<div style="text-align: justify;">
Así pensaba yo también. No tiene sentido usar algo si no entiendo primero su utilidad. Te comparto un ejemplo/experiencia que tuve. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Me moví a Arch porque
busco algo más ligero que Freya y a la vez, algo que me ayude a aprender
sobre la instalación y mantenimiento del sistema operativo: algo que me permita "tener control" de los detalles, para aprender de estos. Como
sabemos, Arch requiere ser instalado "desde el suelo": el sistema base
no tiene GUI, es sólo el prompt y una CLI. Vos agregás componentes según
tu voluntad y preferencias.</div>
<div style="text-align: justify;">
Estoy
usando Awesome WM en lugar de un Destkop Environment completo. También
uso urxvt como Terminal, en lugar de una terminal pesada. Esto hace mi
escritorio ligero. Ahora bien, extraño la transparencia en Terminal, como la de
Pantheon-Terminal en Freya, porque permite trabajar en Terminal sobre tu navegador por ejemplo, y leer cosas mientras trabajás en Terminal. Esto me lleva a un predicamento: </div>
<div style="text-align: justify;">
<br /></div>
<ul>
<li>Podría instalar Pantheon-Terminal en Arch, pero no
quiero algo tan pesado ni con barra de menú porque es un desperdicio de
pixeles... más aun en una laptop. Quiero ahorrar pixeles y dedicarlos a más contenido, no a botones. </li>
<li>En todo caso, la selección de Terminal no es el problema; Awesome WM no soporta transparencias de manera nativa, sino que require un "composite manager", gestor de composición de ventanas para lograrlo. Esto significa que puedo usar virtualmente cualquier Terminal y tener transparencia, siempre y cuando tenga un Composite Manager. </li>
</ul>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
Después de documentarme, aprendí que el Composite Manager llamado Unagi, es ligero y de hecho, fue desarrollado para Awesome WM. Unagi es un paquete adicional en Arch (y diría que en muchas otras distros). No toda la gente lo usa ni lo necesita, así que no tiene sentido para los desarrolladores de Arch, incluirlo como paquete oficial en el sistema base; hacerlo sería abusar del almacenaje de quienes no lo usarán: esta sería una definición justa del término <b><i>BLOATWARE</i></b>. Por eso Unagi está en el AUR, el Repositorio de Usuarios de Arch; acá hay software de calidad, en <i>tarballs</i>, listo para ser descargado, compilado e instalado manualmente por quien desee usarlo. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Así que, para ejemplificar <a href="http://linuxdesobrevivencia.blogspot.com/2016/02/overview-instalar-paquetes-desde-el.html">los pasos que te compartí antes</a>, hice lo siguiente:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
</div>
<br />
<div style="text-align: justify;">
<b><i>$ wget https://aur.archlinux.org/cgit/aur.git/snapshot/unagi.tar.gz</i></b></div>
<div style="text-align: justify;">
<b><i>$ tar xvf unagi.tar.gz</i></b></div>
<div style="text-align: justify;">
<b><i>$ cd unagi </i></b></div>
<div style="text-align: justify;">
<b><i>$ cat PKGBUILD </i></b></div>
<div style="text-align: justify;">
<b><i>$ makepkg -s </i></b></div>
<div style="text-align: justify;">
<b><i>$ sudo pacman -U unagi.tar.xz</i></b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Explicación: descargué el tarball (paquete comprimido), lo extraje, creó un directorio con contenido; me moví a ese directorio, leí el script de instalación o PKGBUILD (es recomendado leer el script de
instalación -si entendés de bash-scripting :v para confirmar que el
script está limpio y no tiene nada malicioso.); compilé el paquete asegurándome de forzar dependencias a ser instaladas (el script incluye referencias a esas dependencias), e instalé el paquete<i>... </i>aunque pude ahorrarme la última línea y usar <i>$ makepkg -sri </i>en su lugar. </div>
<br />
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Y listo. Ahora que tengo Unagi instalado, puedo trabajar en las configuraciones apropiadas dentro de Awesome para hacer que mi terminal sea transparente. Y esa, es otra historia. Hasta pronto :) </div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-37769683262765175072016-02-15T10:33:00.002-08:002016-02-15T10:33:53.501-08:00Overview: Instalar paquetes desde el código fuente.<div style="text-align: justify;">
A veces no encontrarás cierto software en los repos oficiales de tu Distro. Esto es por diversas razones: a lo mejor es software privativo y ponerlo en los repos oficiales contradice la filosofía de la Distro, o no es soportado directamente porque no es totalmente estable o compatible con la Distro o su DE oficial; tal vez está en versión Beta o Alfa incluso, etc. Sin embargo, siempre podés instalar ese software, si vas a un repo no-oficial de tu Distro (como el AUR en Arch) o si vas a un repo externo. Lo que tenés que hacer es algo llamado "compilar el código fuente" (compile/build from source). </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Vamos a detallar las instrucciones para compilar en la CLI desde Arch. En esencia, el procedimiento total es igual en toda Distro, pero algunos comandos cambian. </div>
<div style="text-align: justify;">
<br /></div>
<h3 style="text-align: justify;">
Pre-requisitos. </h3>
<div style="text-align: justify;">
Antes de todo, necesitás: </div>
<ul style="text-align: justify;">
<li>Un usuario regular. Por motivos de seguridad no podés instalar paquetes del AUR o repositorios externos, desde Root. </li>
<ul>
<li>Truco personal: tengo un directorio dentro de /home/usuario exclusivo para descargar paquetes fuente y compilarlos. <i>$ mkdir ~/AUR_downloads</i></li>
</ul>
<li>Que Arch tenga instalado el base-devel (devel= "development"; o sea, un conjunto de paquetes para desarrollo): <i>$ pacman -S --needed base-devel</i></li>
<ul>
<li>Específicamente, los paquetes que se requieren son: </li>
<ul>
<li>gcc (Compilador GNU para C, C++, Java, etc.)</li>
<li>wget (para descargar los paquetes comprimidos, alias "tarballs")</li>
<li>makepkg (para compilar localmente)</li>
<li>fakeroot (como dije en el punto principal anterior, instalar como root no es recomendado ni permitido; fakeroot "emula" un ambiente root para instalar paquetes desde código fuente). <br /> </li>
</ul>
</ul>
</ul>
<div style="text-align: justify;">
<br /></div>
<h3 style="text-align: justify;">
Procedimiento. </h3>
<div style="text-align: justify;">
Una vex tenés todo esto, podés instalar paquetes no-oficiales. En esencia, el proceso es simple: </div>
<ul style="text-align: justify;">
<li>Descargar el paquete, o tarball (esto es un archivo .gz; usás wget).</li>
<ul>
<li><i>$ wget foo.gz</i></li>
</ul>
<li>Descomprimir/extraer el paquete ( se usa <i><b>$</b></i> <i>tar xvf</i> ); un directorio nuevo es creado (Por eso tengo un fólder sólo para paquetes, para mantener todas los tarballs y los directorios extraídos organizados) con algunos archivos; PKGBUILD, README y otros. compilados.</li>
<ul>
<li><i>$ tar xvf foo.gz</i></li>
<li><i>$ cd foo</i></li>
</ul>
<li>Compilar e instalar el paquete (en Arch se usa <i>$makepkg; </i>en otras distros esto puede variar); esto producirá un archivo con el nombre del paquete, en formato .xz). Se puede con una de estas formas: </li>
<ul>
<li><i>$ makepkg -sri </i>(compila, resuelve dependencias e instala). </li>
<li>O de esta forma: <i> </i></li>
<ul>
<li><i>$ makepkg -s</i></li>
<li><i>$ sudo pacman -U foo.xz </i></li>
</ul>
</ul>
<li>Regocijarte y fappear a lo grande. </li>
</ul>
<div style="text-align: justify;">
<br /></div>
Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-7559136936161218251.post-89286258953348240952016-01-19T12:28:00.000-08:002016-01-19T12:31:33.576-08:00Menos es más: Linux para equipo legacy y de gama baja<h3 style="text-align: justify;">
<a href="http://buscon.rae.es/drae/srv/search?val=frugalidad">frugalidad</a>.</h3>
<div style="text-align: justify;">
(Del lat. frugalĭtas, -ātis).</div>
<div style="text-align: justify;">
1. f. Templanza, parquedad en la comida y la bebida.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
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. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
Vamos a considerar equipo legacy y de GAMA baja a: </div>
<ul>
<li>2GB de RAM o menos, (en legacy, DDR2 o anterior).</li>
<li>Procesador de dos núcleos actual, o uno socket LGA775 o Socket AM2 (estas plataformas fueron lanzadas entre el 2005-2006)</li>
<li>Video integrado o incluso, una gráfica discreta entry-level</li>
<li>Interfaz SATA II - IDE </li>
<li>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. </li>
</ul>
<h2 style="text-align: center;">
</h2>
<h2 style="text-align: center;">
</h2>
<h2 style="text-align: center;">
Esencialmente, lo que buscás es EVITAR EL BLOATWARE. </h2>
<h4>
</h4>
<h4>
Para principiantes, instalar una distro con cualquiera de estos entornos ligeros/window managers:</h4>
<ul><ul>
<li>LXDE</li>
<li>XFCE</li>
<li>LXQT </li>
<li>Mate</li>
<li>Openbox</li>
</ul>
</ul>
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):<br />
<br />
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.<br />
<br />
<br />
<h4>
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. </h4>
<ul>
<li>O sea, la pura CLI, y comenzar a construir su propio escritorio desde ahí.</li>
<ul>
<li>Debian.</li>
<li>Arch</li>
<ul>
<li>Incluso si no instalás Arch, su Wiki es asombrosa. </li>
</ul>
<li>Slitaz </li>
<li>Slackware</li>
<li>Gentoo</li>
<ul>
<li>También tienen documentación excelente. </li>
</ul>
<li>Ubuntu mínimo</li>
<ul>
<li>Francamente, he encontrado info útil en su foro angloparlante. </li>
</ul>
<li>Cualquier cosa que diga "CLI" o "No GUI" cuando completás su instalación. </li>
</ul>
<li>Instalar un <a href="https://wiki.archlinux.org/index.php/Window_manager">gestor de ventanas</a> en lugar de un <a href="https://wiki.archlinux.org/index.php/Desktop_environment">entorno completo</a>, como por ejemplo:</li>
<ul>
<li>Flotantes: </li>
<ul>
<li>Blacbox o sus derivados a continuación:</li>
<ul>
<li>Openbox.</li>
<li>Fluxbox.</li>
</ul>
</ul>
<li>Tiling o de "fichas/bloques" (podrán parecer feos o "simples" a quienes vienen acostumbrados al maquillaje y demás superficialidades: </li>
<ul>
<li>Awesome Window Manager (también es flotante)</li>
<li>DWM</li>
<li>Xmonad</li>
<li>i3 </li>
<li>JWM (usado en Puppy) </li>
</ul>
</ul>
<li>Usar aplicaciones minimalistas y de preferencia, basadas en Terminal en lugar de una GUI (particular , por ejemplo:</li>
<ul>
<li>midnight commander como visor de archivos/directorios ($cm)</li>
<li>$top o $htop en lugar de Gnome System Monitor. </li>
<li>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. </li>
<li>Hay incluso, navegadores en CLI: Lynx, por ejemplo. </li>
<li><br /></li>
</ul>
<li>Usar la jodida CLI, CLI, CLI. </li>
</ul>
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.<br />
<br />
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span style="font-size: xx-small;">*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. </span></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-4996532497131487842016-01-18T14:24:00.000-08:002016-01-18T14:29:55.314-08:00Problemas.<div style="text-align: justify;">
La vida es la suma de todo lo que sucede y de lo que nosotros y el colectivo, tenemos conocimiento. Parte de la vida, consiste en problemas; son parte de ella y son inevitables; esto no es una opinión ni una cuestión democrática... los problemas existen y ya. Así como en la vida, en el campo de la tecnología también tenemos problemas. Y respecto a ellos, podemos: </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
• no hacer nada.</div>
<div style="text-align: justify;">
• dejar al problema ser, si es leve.</div>
<div style="text-align: justify;">
• pedir ayuda.</div>
<div style="text-align: justify;">
• esperar que alguien más lo resuelva. </div>
• reiniciar la aplicación o la PC - a veces esto funciona.<br />
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
• formatear la PC para ahorrarnos la frustración y evitar buscar la solución. </div>
<div style="text-align: justify;">
• comprar otra PC -como algunos de mis amigos hacen. </div>
<div style="text-align: justify;">
• hacer distro hopping.</div>
<div style="text-align: justify;">
• pagar por soporte. </div>
<div style="text-align: justify;">
• hacer muchos clicks cuando la PC se traba y pretender que estamos resolviendo el problema mientras la PC toma su tiempo para resolver el problema por su cuenta (es un equivalente a orar en el mundo real). </div>
<div style="text-align: justify;">
• DIY: do it yourself.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Yo opto por el DIY; se requiere un poco de pelotas extra, el hacer las cosas por cuenta propia. Esto no te hace "más especial" o "úniko", pero te aporta cosas buenas como ser humano. Te da paciencia, ejercita tu mente, te vuelve más resiliente a las frustraciones, te hace pensar de forma no-convencional, simplificar las cosas, descomponer los problemas, pensar en distintas maneras de resolver un mismo problema, te vuelve recursivo, creativo, pragmático, organizado, etc. Te vuelve un poco menos lento y dependiente de otros. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Ahora, tener la buena voluntad no basta. Estoy seguro que más de alguna vez, muchos de nosotros tuvimos las intenciones de resolver un problema con nuestras distros alguna vez y luchamos hasta que nos venció. Esto pasa, no porque el problema sea imposible de resolver (sí existen problemas imposibles, pero son muy inusuales), sino porque <b>nos hace falta método, experiencia y conocimiento</b> necesarios para resolverlo. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Para todo qué, hay un cómo. Esta entrada no es un manual técnico como tal, sino que constituye un resumen de lo que he aprendido en mi vida laboral como técnico en hardware. </div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<h3 style="text-align: center;">
Para resolver un problema, primero tenés que entender el problema. </h3>
<div style="text-align: justify;">
Una de las cosas que quiene trabajamos en esta industria aprendemos con el tiempo, la práctica, los clientes y la experiencia es eso: identificar el problema es lo primero. Esencialmente se trata de procurar un diagnóstico correcto del problema, para proveer la solución efectiva. No se puede poner la cola al burro si no se sabe dónde está el jodido burro. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Sólo este primer paso involucra un montón de cosas de qué hablar. Tal vez luego ampliemos la explicación. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<h3 style="text-align: center;">
Una vez hemos identificado el problema, tomamos acciones correctivas. </h3>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
Una vez sabemos cuál es el pedo, sus causas e implicaciones, buscamos las soluciones; puede que ya existan soluciones a él; puede que haya una sola o varias. Lo importante es, tomar acción e implementar las soluciones que tenemos disponibles. Este paso no es realizable, o si lo es, no es eficiente ni efectivo si no hemos cumplido con el anterior. Ojo. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<h3 style="text-align: center;">
Una vez resuelto el problema, implementamos acciones preventivas.</h3>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
Curarse en salud. Esto varía según la causa del problema y el control que tenemos de las variables del entorno: si tuvimos un un problema causado por un controlador de video y resolvimos usando otro controlador, pues será inevitable que surja el mismo problema si nos vemos forzados a reinstalar el mismo sistema operativo (aunque aquí ya no sería tan problema, porque tenemos conocimiento previo, y resolverlo debería entonces, implicar menos tiempo y esfuerzos). </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Las acciones preventivas pueden ser tan simples como anotar las cosas que hicimos para resolver el problema y guardarlas en un lugar seguro (<a href="http://linuxdesobrevivencia.blogspot.com/2016/01/manipulando-io-con-pipelines.html">el artículo anterior es una forma de acción preventiva que tomé</a> respecto a un reto/problema que resolví), hasta reportar un bug, educar a un usuario, crear documentación que antes no existía al respecto, cambiar código fuente, implementar un proceso nuevo, replantear un algoritmo, etc. Cualquier cosa que te ayude a evitar en el mejor de los casos o mitigarlo en caso de reincidencia a futuro.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<h3 style="text-align: center;">
Cierre. </h3>
<div style="text-align: justify;">
El closure es algo necesario; los cierres implican el fin de un ciclo y el inicio de otro. Hacen bien tanto mental como emocionalmente. En todas las culturas, sucesos importantes, celebraciones y demás eventos, y cada uno tiene un cierre. Ayuda al individuo para recuperar el sentido de perspectiva respecto al tiempo y el espacio. Personalmente, una vez haya resuelto un problema o no haya podido resolverle (de nuevo, no todo puede resolverse), hago una evaluación personal: ¿qué aprendí de esto? ¿cómo me beneficio de ello? Al final, ganar o perder no importa tanto como sacar lo mejor de ambas circunstancias para uno y los demás. Perder es ganar si uno es capaz de pensar en términos de funcionalidad; ganar es perder si fuera del sentimiento de logro uno no aprende nada de la circunstancia. Una vez has reconocido las lecciones aprendidas, es hora de cerrar capítulo y moverse. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Por ahora eso es todo. Como dije antes, esta no es un manual detallado como una descripción a grandes rasgos de un proceso que nos puede ayudar a todos a mejorar nuestras habilidades de resolución en GNU/Linux y por qué no, la vida en general :) </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
*Salvadoreñismo: achicopalarse. </div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-33644141493155862552016-01-16T22:30:00.003-08:002016-01-16T22:32:23.876-08:00Manipulando I/O con pipelines.<h3 style="text-align: justify;">
Advertencia:</h3>
<div style="text-align: justify;">
• Recomiendo leer las entradas de $man $cat, $watch, $history y $less antes de seguir leyendo esto.</div>
<div style="text-align: justify;">
• He recomendado previamente wikear e investigar acerca del concepto I/O. Es importante que veamos todas las interacciones con nuestras PCs (y yo me atrevo a incluir, la vida en general) de esa forma:<b> </b></div>
<div style="text-align: justify;">
<br /></div>
<blockquote class="tr_bq">
<div style="text-align: center;">
<b><b>Input | Output</b></b></div>
<br />
<div style="text-align: center;">
<b><b>Entrada | Salida</b> </b></div>
</blockquote>
<div style="text-align: justify;">
<br />
O sea:<b> </b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: center;">
<b>Causa | Efecto</b></div>
<blockquote class="tr_bq">
<div style="text-align: center;">
<b>Instrucciones | Resultados.</b></div>
</blockquote>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Mientras entendamos esto, todo bien; caso contrario, te toca leer manuales externos porque a este punto, asumimos que estamos claros con este concepto y evitaremos elaborar.<br />
<br /></div>
<h2>
Intro:</h2>
<div style="text-align: justify;">
He instalado VirtualBox en un servidor. Me conecto al servidor desde mis otros equipos desde la CLI (eso es un cuento para luego... ahorita no joven). Hice una pausa en este proyecto por un par de semanas porque obtuve una netbook de segunda mano y he pasado jugando con Arch en ella. Para configurar una virtualbox en Terminal, hay que hacer varias cosas y apenas las recordaba hoy, enero/16; a grandes rasgos: crear una nueva virtual machine, asignarle x cores del cpu, x cantidad de RAM y VRAM, crear un HDD virtual, un ODD virtual, agregar controlador, etc.<br />
<br />
Viendo a futuro, y contando con que planeo usar otra unidad de arranque para el servidor, o pueda cagarme en algo (cosa que hago a menudo :v ), probablemente necesite reinstalar virtualbox, o al menos borrar una VM, clonar, crear, restaurar otra. Por ello, quiero guardar un resumen de los comandos usados (como lo hice al aprender a instalar Arch recientemente); a modo de referencia. </div>
<div style="text-align: justify;">
<br /></div>
<h2>
**** Resumen ****</h2>
<div style="text-align: justify;">
Necesito extraer los comandos que he usado para configurar la VM dentro del servidor. El comando (el principal) para gestionar Virtual Machines dentro de VirtualBox en la CLI es:<br />
<br />
$vboxmanage <br />
(o sea, "<i>virtualbox manage</i>": <i>gestionar caja virtual</i>). Recuerdo que lo he usado una, y otra, y otra**10 vez). Tuve una idea: buscar todas las instancias de ese comando, copiarlas y pegarlas en un documento de texto que luego puedo guardar en mi netbook u otro equipo. Para ello:</div>
<div style="text-align: justify;">
<br /></div>
<h3 style="text-align: right;">
<b>$ history | grep -i vboxmanage > vbox_resumen-de-comandos.txt</b></h3>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Y listo. Si has revisado las entradas antes mencionadas, sobran las explicaciones. Una vez creado el documento, lo abro: </div>
<h4 style="text-align: right;">
$ less vbox_resumen-de-comandos.txt</h4>
<div style="text-align: justify;">
Y veo todas las instancias que he usado del mismo comando (algunos de ellos, repetidos o con "typos"). Luego de eso, es posible editar y depurar los errores (con gedit, leafpad, nano, etc.); incluso, puedo agregar notas aclaratorias. Creo tener una entrada antigua sobre editores de texto en este blog; te invito a buscarla. Eso es todo; gracias por leer :D </div>
Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-7559136936161218251.post-87928369119670666362016-01-16T20:57:00.000-08:002016-01-16T22:51:01.059-08:00History: registro de comandos.A veces olvido los comandos que he usado. Cuando esto pasa, escribo: <br />
<br />
<b>$ history</b><br />
<br />
Con esto veo los comandos ejecutados por el usuario actual. Si quiero saber el usuario conectado, hago:<br />
<br />
<i>$ whoami</i><br />
(como en <i>who am I?</i>) <br />
<br />
A veces opero como root; entonces para ver los comandos ejecutados como root, hago esto:<br />
<br />
<i>$ su root</i><br />
(ingreso password)<br />
#<b> history</b> <br />
(recordemos que el #, signo numeral, hash o hashtag, representa a root)<br />
<br />
<br />
Y ellos aparecen. Si nuestro historial de comandos es extenso, apenas veremos los comandos recientes en panatalla; dependiendo de la Terminal desde la cual ejecutamos esto, a veces el scrolling con el mouse o la barra de scrolling vertical no funcionan; entonces <a href="http://linuxdesobrevivencia.blogspot.com/2016/01/less-leer-output-con-calma.html">nos apoyamos de <span id="goog_1637505812"></span>otro comando</a><a href="https://draft.blogger.com/null"></a><a href="http://linuxdesobrevivencia.blogspot.com/2016/01/less-leer-output-con-calma.html">: less</a><span id="goog_1637505813"></span>, capaz de recibir el input de history por medio de una <b>pipeline</b> (se dice "<i>paip-lain</i>"; <a href="http://linuxdesobrevivencia.blogspot.com/2015/12/comando-watch-ejecucion-de-programas.html">hemos mencionado esto antes a grandes rasgos</a> y te invitamos volver a leer esa entrada para aprender/recordar) y procesarlo de forma navegable. Recordemos el asunto del I/O:<br />
<div style="text-align: center;">
<br /></div>
<h4 style="text-align: center;">
input | output</h4>
<h4 style="text-align: center;">
entrada | salida </h4>
<br />
<br />
El asunto suena complejo, pero es tan simple como escribir esto:<span style="font-size: large;"><b><br /></b></span><br />
<span style="font-size: large;"><b><br /></b></span>
<span style="font-size: large;"><b>$ history | less</b></span><br />
y listo. Sin complicarnos. Vas a poder navegar a lo largo de todos los comandos (enumerados) que has escrito.<br />
<br />
El mejor ejemplo que podemos usar, es aplicar la pipeline a tu PC. Adelante y hasta luego :)<br />
<br />
<br />
EDITADO, enero/17, 00:44 horas, San Salvador: el colega <span><a class=" UFICommentActorName" data-ft="{"tn":";"}" data-hovercard="/ajax/hovercard/hovercard.php?id=100005437684021&extragetparams=%7B%22hc_location%22%3A%22ufi_admin%22%7D" dir="ltr" href="https://www.facebook.com/carlos.speedlight?fref=ufi" id="js_ax"><span>Carlos Egüez</span></a></span><span><span> mencionaba hace una hora en nuestro grupo, algo que he olvidado incluir:</span></span><br />
<br />
<span><span><b><span><span><b>•</b></span></span></b></span></span><span><span><b><span><span><b><span><span><b>•</b></span></span></b></span></span></b></span></span><span><span><b><span><span><b><span><span><b><span><span><b>•</b></span></span></b></span></span></b></span></span> Control + R</b> en el prompt regular de Terminal: busca interactivamente un comando y muestra resultados a lo "auto completar".</span></span><br />
<span><span><br /></span></span>
<span><span><span><span><b>•</b></span></span></span></span><span><span><span><span><b><span><span><b>•</b></span></span></b></span></span></span></span><span><span><span><span><b><span><span><b><span><span><b>• </b></span></span></b></span></span></b></span></span>Seguido de</span></span><br />
<span><span>$ history | less </span></span><br />
<span></span><br />
el comando "history" enumera los resultados; una vez has identificado el comando que vas a reutilizar, es posible hacer esto:<br />
<br />
<b>$ !n </b><br />
donde n es el numeral que identifica al comando deseado. Por ejemplo, un fragmento de mis comandos:<br />
<br />
486 screenfetch<br /> 487 scrot<br /> 488 clear<br />
<br />
<b>$ !486</b> <br />
es lo mismo que gatillar:<br />
<br />
<b>$ screenfetch. </b><br />
<br />
Gracias Carlos por el feedback :D es exactamente esto para lo cual debe de existir la comunidad.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-44084890687252539702016-01-16T20:33:00.006-08:002016-01-16T20:43:10.000-08:00Less: leer output con calma.<div style="text-align: justify;">
Te aconsejamos wikear los conceptos "<i><b>input</b></i>" y "<i><b>output</b></i>", o "entrada" y "salida" respectivamente. Para que la PC haga algo, hay que ordenarle por medio de comandos, clicks, enter, etc. cada vez que lo hacemos, le damos un <i><b>input</b></i>; esta analiza/procesa/opera/transforma/computa/se coge al <i>input</i> y usualmente luego, te muestra/vomita/escupe/caga la respuesta en la cara: esto es el <b><i>output</i></b>.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Imaginemos que queremos leer un documento, tarea, reporte, chat sexual travieso o cualquier cosa que tengamos guardada en la PC. <a href="http://linuxdesobrevivencia.blogspot.com/2015/12/cat-leer-y-crear-archivos-de-texto-de.html">Como lo vimos antes</a>, podemos usar</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<i>$ cat nombre_del_asunto</i></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
$ cat toma el input, busca el archivo; si lo encuentra, te lo muestra; caso contrario te saca el dedo y dice que no lo encuentra. En ambos casos hay input-output. Digamos que todo va bien; el resultado se mira a grandes rasgos: </div>
<div style="text-align: justify;">
<br /></div>
<blockquote class="tr_bq">
<div style="text-align: justify;">
<i>output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output y listo. </i></div>
</blockquote>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Esto va muy bien si el documento es breve y tenemos un display con suficiente espacio vertical, y si hemos maximizado la ventana de Terminal. Cuando no es este el caso, veremos solamente el final del documento: </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<i>$ cat derechos_universales_de_los_ortos_peludos</i></div>
<div style="text-align: justify;">
<br /></div>
<blockquote class="tr_bq">
<div style="text-align: justify;">
maldita sea, una idea incompleta... output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output output este es apenas el culo de todo el documento... la cagaste, jaja. </div>
</blockquote>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Cuando esto sucede, mandamos a la mierda a <i>$cat</i> y usamos </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>$ less </b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
quien permite navegar con las flechas (prefiero esto: jode menos las manos y evita quemar tiempo innecesario al despegar una mano del teclado para usar el mouse) del teclado.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
De nuevo: </div>
<div style="text-align: justify;">
<b>$ less</b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Toma tu input (el nombre de un archivo de texto, script, incluso el output de otro comando... pero eso no lo veremos ahora) y te da el output de forma navegable; la
Terminal cambia al "modo visual"; este "modo visual" es tomado de <b>VI</b> (se dice "<i>vi ai</i>", "<i>uve i</i>"
un editor de texto legendario, usado por algunos programadores
profesionales aun). Para salir de este modo, al igual que para salir de
VI, presionamos "<b>q</b>" como en <i>quit</i>; y listo. Hay mucho para hablar al respecto de <b>less</b>; esto nos basta por el momento; te recomendamos #RTFM (read the fucking manual) para mayor info:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>$ man less</b></div>
<div style="text-align: justify;">
<b>$ less --help</b></div>
<div style="text-align: justify;">
((por cierto,<i> </i>ambos comandos mostrados arriba<i> </i>usan el "modo visual" de VI: "q" para salir)<b> </b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Y listo. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Por cuestiones de eficiencia y practicidad, en lugar de poner un ejemplo, te invito a realizar este ejercicio: localizar las licencias GNU-GPL en el filesystem de tu distro para comparar el uso de <i><b>cat</b></i> y <i><b>less</b></i>; vas a notar la diferencia,<br />
</div>
<i>$ less</i> es un comando muy flexible. La flexibidad es poder. Hasta luego :)Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-51837884600795891572016-01-14T13:30:00.000-08:002016-01-14T16:32:06.781-08:00Niveles Sayayín en Linux.<div style="text-align: justify;">
A grandes rasgos, tu nivel de Sayayín Linux, se define por tu experiencia en GNU/Linux:<br />
<br /></div>
<h2 style="text-align: justify;">
Nula.</h2>
<h4 style="text-align: justify;">
<span style="font-weight: normal;">Hasta hace unos días, no sabía qué cojones es Linux y todavía no sé qué putas es la parte de la "GNU"; ¿es la versión geek de la ONU? Por cierto, dónde putas está la tecla "<i>any</i>"? </span></h4>
<h4 style="text-align: justify;">
<span style="font-weight: normal;"> </span></h4>
<div style="text-align: justify;">
<h2>
Primera vez: último día virgen. </h2>
Después del despelote, conseguí una copia de una distro. La bajé torrenteada o vía descarga directa, descubrí que el Windows Media Player no sirve para quemar ISOs (de hecho, no sirve para mucho, a excepción de mostrarme las portadas de los álbumes de música que no tenían portada, porque obviamente me espía y se conecta al internet para darle mi identidad al gobierno estadounidense); alguien me dijo que podía instalar un sistema operativo en una USB y hasta en una micro SD... wow, ¡este siglo es una gran época para vivir!<br />
<br />
Después aprendí a cambiar la secuencia de booteo de mi pc para evitar arrancar windows y poder correr el medio de instalación donde puse Linux. Seguí el wizard de instalación cuyo requisito mínumo es tener un IQ equivalente al de un periquito australiano, y listo: arranqué al escritorio.<br />
<br />
<h4>
</h4>
<h2>
Básica: n00b.</h2>
</div>
<div style="text-align: justify;">
He usado
Linux un par de veces, he hecho "distro hopping" y eso... sé un poco de
Terminal... y la uso para poner mi escritorio bonito, pero la Terminal
no es santo de mi agrado y mejor le pido a alguien que me dé la respuesta a problema que yo causo cuando no la sé. </div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<br />
Logré instalar los drivers de mis dispositivos privativos, pude activar los botones para disminuir la luz en la pantalla de mi laptop. Descubrí que Outlook no es el único cliente de correo que existe; de hecho, descubrí qué significa la palabra "cliente" en el concepto "cliente de correo" y por deducción, en informática en general. Instalé Flash; ya puedo ver porno en internet y fapearme sin licencias propietarias... success!!! </div>
<div style="text-align: justify;">
<br />
<i>Como pingüino básico, necesito ayuda para resolver problemas.</i><br />
<br /></div>
<div style="text-align: justify;">
A veces cuando tengo problemas, voy a FB y escribo en mayúsculas "¡AYUDA!" para que me tiren la respuesta; si no me la dan, hago rabieta y me regreso a Windows temporalmente o pruebo otra distro a ver si me corre mejor... y si no, uso otra, y otra... y así... creo que le llaman "distro hopping".<br />
<br /></div>
<div style="text-align: justify;">
<h4>
</h4>
<h2>
Intermedia: entusiasta.</h2>
</div>
<div style="text-align: justify;">
He configurado Linux en distintos equipos (ahora entiendo que cada equipo y cada distro operan a veces de maneras diferentes); me siento cómodo
usando la Terminal; sé cómo agregar repos no oficiales, e instalar
programas desde los binarios o el código fuente. Sé leer, escribir,
sumar, contar, atarme los zapatos y limpiarme el culito después de ir al baño, así que soy capaz de leer y entender un mensaje de error, una
advertencia o al menos, localizar información sobre los problemas y sé
dónde buscar info y respuestas para resolverlos. Descubrí las <a href="http://linuxdesobrevivencia.blogspot.com/2015/09/man.html">man pages</a>, y
los foros y documentación oficial de mi distro; ellos son mi punto de
partida cuando necesito ayuda. Voy a Gentoo o la Ubuntu o Arch Wiki a buscar
respuestas, sin importar si uso Fedora, Kali o Mint, porque sé que ahí las
encontraré. He aprendido un par de buenas prácticas de seguridad y las aplico. He configurado una distro desde el sistema base hasta dejarla como quiero. Lo he hecho varias veces. Podría incluso guardar mis snapshots para reutilizarlos de ser necesarios. Comparto mis configuraciones cool con otros unixeros (sé cuál es la diferencia entre Unixero y Linuxero).<br />
<br />
<i><i>Como pingüino intermedio, s</i>é cómo buscar soluciones a los problemas. </i></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
No estoy seguro si lo que he aprendido me vuelve un
"usuario
intermedio", porque entiendo que, como en artes marciales "<i>un cinta
negra es un cinta blanca que nunca se rindió</i>", y que, como dice Hatsumi Sensei, "<i><b>everything is basics</b></i>"
(<i>todo a partir de las reglas y principios básicos</i>). Sobretodo, tengo el conocimiento y
la decencia suficiente para saber que instalar Conky o usar Android no
cuentan como "tengo experiencia con GNU/Linux" para entrar al nivel
básico en esta lista :v turn down for what???!!!!<br />
<br /></div>
<div style="text-align: justify;">
<h4>
</h4>
<h2>
Avanzado.</h2>
</div>
<div style="text-align: justify;">
Sé resolver problemas, personalizar mi equipo en aspectos técnicos (lo
estético ya está fuera de discusión aquí porque es una cuestión de
gustos personales y opiniones, no algo absoluto), soy capaz de
monitorear y entender procesos, elaborar reportes administrativos,
determinar puntos de falla, y administrar mi(s) equipo(s) de forma remota; desarrollo mis propios scripts para automatizar tareas, uso versiones Alphas y Betas para aprender y descubrir aspectos de rendimiento más que de apariencia; sé cómo migrar datos en mi red de forma segura. </div>
<div style="text-align: justify;">
<br />
<i></i> </div>
<div style="text-align: justify;">
De hecho, laboro en el área: Configuro y administro positivos en una red, entiendo cuál el concepto verdadero de "hacking" y sé que es mucho más amplio que el concepto que los niños rata tienen. Corro servidores de producción, hago pruebas de seguridad, sé cómo cuidar mi red y a mis usuarios. </div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
Evito tomar screenshots de operaciones internas porque sé que eso es confidencial. No me mato peleando en FB porque alguien menciona a Windows o Mac; estoy ocupado administrando la red/base de datos/desarrollando código/gestionando usuarios/haciendo seguridad forense, etc.</div>
<div style="text-align: justify;">
<br />
<i><i><i>Como pingüino avanzado, t</i></i>rabajo para resolver problemas en mi equipo y mi red de usuarios.</i><br />
<br /></div>
<div style="text-align: justify;">
<h2>
Contribuyente.</h2>
</div>
<div style="text-align: justify;">
Aporto a la comunidad ya sea con código propio o auditando código ajeno, reporte de bugs, soluciones, modero foros, mantengo paquetes en una distro, he sido nombrado "usuario confiable" por un proyecto, audito cambios, trabajo con gente de forma local o remota para desarrollar proyectos y darlos a la comunidad.<br />
<br />
<i>Como pingüino contribuyente, aporto para que otros puedan obtener ayuda y resolver sus problemas.</i><br />
<i> </i> </div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<h4>
</h4>
<h2>
Creador.</h2>
</div>
<div style="text-align: justify;">
Hago software que causa impacto en la sociedad. Inicio mi propia distro, DE, Framework, plataforma móvil, plataforma en la nube, herramietntas de gestión. Lidero un proyecto. Realizo ideas.<br />
<br />
<i>Como pingüino creador, yo creo soluciones a los problemas. </i> </div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
NOTA: pueden faltar o sobrar cosas y niveles incluso, si sos más detallado y técnico. Esto es, medio en serio, medio cómico y su objetivo es, invitarte a la auto-evaluación objetiva: sin sentimentalismos, ni acusasiones, ni adulaciones, para que podás identificar dónde estás parado y hacia dónde podés ir... si te lo proponés y trabajás por ello. Saludos :) </div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-23015423374703180342016-01-13T10:01:00.000-08:002016-01-13T21:27:56.739-08:00Aprender GNU/Linux de forma fácil y rápida.<div style="text-align: justify;">
La entrada <i><a href="http://linuxdesobrevivencia.blogspot.com/2016/01/soy-nuevo-en-gnulinux-cual-distro-me.html">Soy nuevo en GNU/Linux ¿cuál distro me recomiendan? Parte I</a></i> no era la solución mágica que algunos esperaban; pero es más un intento de guía personal. Creo firmemente que el individuo debe de aprender y crecer a nivel personal, no sólo técnico o intelectual. En la medida que <a href="https://es.wikipedia.org/wiki/Teor%C3%ADa_de_sistemas">aprendés y transferís principios de una disciplina a otra</a>, tu criterio se amplía en lugar de volverse más angosto. </div>
<blockquote class="tr_bq">
<div style="text-align: justify;">
<i>Abrí la mente, abandoná el ego; </i></div>
<div style="text-align: justify;">
<i>Tomá lo bueno, desechá lo malo. </i></div>
</blockquote>
<div style="text-align: justify;">
No puedo obligarte a pensar, sentir, ser y vivir como yo, pero desde fuera de un problema las cosas se miran de forma distinta y uno puede notar detalles que, difícilmente se ven cuando uno está sumergido en el problema: <b><i>uno no sabe lo que no sabe</i></b>.</div>
<div style="text-align: justify;">
<ol>
<li>Uno no sabe lo que no sabe (uno tiene un problema y no sabe/lo considera problema).</li>
<li>Uno sabe que hay algo que no sabe (reconoce que hay un problema).</li>
<li>Uno descubre qué es eso que no sabe (de a poco, define el problema)</li>
<li>Uno aprende al respecto (conceptos, elementos, dinámicas, relaciones, principios, reglas; se apoya en gente que sabe, expertos, etc).</li>
<li>Uno investiga y conoce más del tema. Esto ayuda a delimitar el problema y a entenderlo mejor. Se establece un proceso para resolver el problema.</li>
<li>Uno aplica lo aprendido metódicamente (resolución del problema).</li>
<li>Uno repite pasos hasta resolver el problema (iteración).</li>
<li>Uno observa, mide resultados y evalúa, calibra, hace ajustes para la siguiente vez (feedback, iteración y depuración del proceso que se había definido).</li>
<li>Uno resuelve más problemas con el nuevo conocimiento (se gana experiencia, se especializa). </li>
<li>Uno aporta nuevas ideas, procesos, soluciones (uno se vuelve especialista, experto)</li>
<li>Uno comparte y ayuda a otros a resolver los problemas (replica el modelo y la comunidad, sea del carácter que sea, se beneficia).</li>
<li>Todos tienen un orgasmo infinito; Dennis Ritchie, Richard Stallman y Linus Torvalds sonríen complacidos mientras Bill Gates y Steve Jobs lloran por la irritación en la entrepierna.</li>
</ol>
</div>
<div style="text-align: justify;">
¿Qué putas tiene que ver esta mierda con GNU/Linux? Todo, mi joven saltamontes, todo. <b>Aprender, des-aprender, re-aprender.</b></div>
<div style="text-align: justify;">
<br /></div>
<ul>
<li>Aprender algo útil.</li>
<li>Des-aprender hábitos perjudiciales o ineficientes.</li>
<li>Re-aprender prácticas útiles que se dejaron atrás. </li>
</ul>
Saludos :)Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-31331122799008716822016-01-13T09:11:00.000-08:002016-01-13T09:16:03.631-08:00Soy nuevo en GNU/Linux ¿cuál distro me recomiendan? Parte I<div style="text-align: justify;">
Todos nos preguntamos eso al inicio. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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: <b><i>¿cómo putas lo instalo? </i></b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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:</div>
<div style="text-align: justify;">
<blockquote class="tr_bq">
<i><b>Escogé tu distro</b>. </i></blockquote>
<blockquote class="tr_bq">
Yo: <i>¿Ah? ¿Qué putas es una distro? </i></blockquote>
</div>
<div style="text-align: justify;">
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í. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Estoy seguro que vos también has pasado por esto y también te hiciste la pregunta del millón:</div>
<h3 style="text-align: justify;">
¿Cuál distro instalo? </h3>
<div style="text-align: justify;">
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]. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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,</div>
<h3 style="text-align: justify;">
... necesitamos replantearnos lo que entendemos por ayuda. Veamos el asunto desde dos ángulos: </h3>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
•
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. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
•
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: </div>
<blockquote class="tr_bq">
<i>¡Pikachu, instala Fedora XFCE!</i></blockquote>
<blockquote class="tr_bq">
<i>¡Estás bobo, usa KDE mi Charmander, quedará "ermozo"!</i> </blockquote>
<blockquote class="tr_bq">
<i>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 </i></blockquote>
Consideremos esto:<br />
<br />
• Pedir ayuda implica que definás primero el problema que necesita solución. <br />
<div style="text-align: justify;">
• Pedir ayuda no significa "háganme la tarea... sóplenme la respuesta". </div>
<div style="text-align: justify;">
• Pedir ayuda tampoco es igual a "decidan por mí por favor".</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
•
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. </div>
<div style="text-align: justify;">
• Dar ayuda no significa tomar mis opiniones como verdades absolutas e imponerlas a otros.</div>
<div style="text-align: justify;">
•
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.</div>
<div style="text-align: justify;">
• Lo que me gusta a mí puede gustarle a alguien más o parecerle caca mal cagada.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Escribí esta primera parte, para que reflexionemos y pensemos en términos de eficiencia y optimización de recursos: <b>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. S</b>i 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. <br />
<h4>
</h4>
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
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 :) </div>
<div style="text-align: justify;">
<br /></div>
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. <br />
<h4>
<b>Iniciativa, proactividad, autonomía, sentido común, independencia, autogestión, autodidáctica. </b></h4>
<br />
<div style="text-align: justify;">
Hasta entonces, suerte :D </div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-79712838164723139292015-12-27T12:53:00.002-08:002016-01-16T20:53:25.289-08:00Comando watch: ejecución de programas periódicamente <div style="text-align: justify;">
NOTA: Como lo mencionaba antes, los artículos que compartiré de ahora en adelante pueden o no ser adecuados para novatos; porque requieren un poco más de esfuerzo y conocimiento para previo para entenderlos. Este artículo habla de dos cosas: primero, el uso de un comando nuevo y muy útil, pero cuyo potencial no se aprovecha si no hablamos de lo segundo: las pipelines o tuberías. No vamos a profundizar en el segundo aspecto porque, aunque no es extenso, requiere especial atención y dedicación; le veremos de grosso modo para entender la flexibilidad de los sistemas operativos Unix. Si estás interesado en las pipelines, te sugerimos investigar en línea mientras publicamos algo dedicado a ellas. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Según </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
$ <b><i><a href="http://linuxdesobrevivencia.blogspot.com/2015/12/recomendacion-antes-de-correr-un-comando.html">whatis</a></i></b> <b><i>watch</i></b></div>
<div style="text-align: justify;">
watch (1) - execute a program periodically, showing output fullscreen</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Traduciendo: </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
watch (1: comando de usuario) - ejecutá un programa periódicamente, mostrando el resultado en pantalla completa (o sea, abarca toda la Terminal).</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Watch es un programa que ejecuta programas. ¿Por qué "watch" ("observar", "mirar")? ni idea; no lo he buscado, pero sospecharía que tiene que ver con su propósito: mostrar el resultado (el output) en la Terminal. Esto nos puede ayudar cuando queremos observar cambios en un documento o un proceso.</div>
<h3 style="text-align: justify;">
Por ejemplo,</h3>
<div style="text-align: justify;">
Me estoy descargando un archivo de internet. Digamos que cerré la interfaz de la aplicación pero ella sigue corriendo en el background y no quiero volver a abrirla ―por pereza o porque no quiero que su GUI me gaste RAM que puedo dedicar a otra cosa― pero quiero saber cómo va la descarga. Entonces, recuerdo que antes hablábamos del comando <b>ls</b>, útil para LISTAR directorios y archivos en el filesystem. </div>
<blockquote class="tr_bq" style="text-align: justify;">
<b>ls -s</b> muestra el tamaño de los archivos (en Bytes, pero esto puede ser modificado según se necesite: <i>$ ls --block-size=1M</i>)</blockquote>
<div style="text-align: justify;">
Entonces, si watch me permite ejecutar un programa cada cierto tiempo, puedo hacer que <i>watch </i>monitoree el tamaño del archivo, reportado por <i>ls -s</i>, conforme crece):</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>$ watch -n4 ls -s downloads/archivo_siendo_descargado_por_otro_programa</b></div>
<div style="text-align: justify;">
Te recuerdo que podés hacer esto para un archivo localizado en cualquier directorio si sabés la ruta absoluta o relativa a usar. Y esto te reportará un output así:</div>
<div style="text-align: justify;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/akuk6X77-GAEY2r_eo9u2QTGpR7bbgQd5M9Y5FY3vr2LPC4oi7eXmYoVMWJzcV8oU3FidsDZQVAl79a8dl2axzst7WYvOvS0dsJnncsA_-mUDeJO2zcvIjEyQ2PKzCqz2c5yGWyRNO989hWEBuSyQtIyPo0qDOWHuAdAjuUgXoo1ZVaRNNK1SYE--c9gfWd0H1UKRipr0_W8MM_SQbLgDZ7FNtK_C_uGQ9knFuYGIU4Hxh-7Jze5_tEW0dZOH8XEH80jAv6eA3fjxD56J9H5f2bCH2AKYfpLpgHqSG5LezVDdcpe20enXxLUQ54koWC8zGDO-NbB1e9fROqw1A9vg6izrz3QXIK4ZpGRMeqDKxdBAB0a3stESVR8IGwEKAg1-CFgyDwlIgyXg5KNrXRbnc9xfpAppqhP_wKnSy3QgQt093y-TXdd8hVIyLLyD49i5_RbezgnQZNXZZpycCbO6jNt9zIaIv_AUK6I28x71MK_4cTpJ72kia5RqGin4-TPLpdUTrmXKWTDJQOE6Dg5YzIRT7WI5HQcIFBjg6rEOsXdzM2KJvDSYx2NlPvXkHyCm2f3ow=w950-h91-no" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="60" src="https://4.bp.blogspot.com/akuk6X77-GAEY2r_eo9u2QTGpR7bbgQd5M9Y5FY3vr2LPC4oi7eXmYoVMWJzcV8oU3FidsDZQVAl79a8dl2axzst7WYvOvS0dsJnncsA_-mUDeJO2zcvIjEyQ2PKzCqz2c5yGWyRNO989hWEBuSyQtIyPo0qDOWHuAdAjuUgXoo1ZVaRNNK1SYE--c9gfWd0H1UKRipr0_W8MM_SQbLgDZ7FNtK_C_uGQ9knFuYGIU4Hxh-7Jze5_tEW0dZOH8XEH80jAv6eA3fjxD56J9H5f2bCH2AKYfpLpgHqSG5LezVDdcpe20enXxLUQ54koWC8zGDO-NbB1e9fROqw1A9vg6izrz3QXIK4ZpGRMeqDKxdBAB0a3stESVR8IGwEKAg1-CFgyDwlIgyXg5KNrXRbnc9xfpAppqhP_wKnSy3QgQt093y-TXdd8hVIyLLyD49i5_RbezgnQZNXZZpycCbO6jNt9zIaIv_AUK6I28x71MK_4cTpJ72kia5RqGin4-TPLpdUTrmXKWTDJQOE6Dg5YzIRT7WI5HQcIFBjg6rEOsXdzM2KJvDSYx2NlPvXkHyCm2f3ow=w950-h91-no" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Instalamos FreeBSD hace un par de años y pensamos hacerlo de nuevo; esta vez con un poquito más de conocimiento para apreciarle y usarle mejor :)</td></tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<h3 style="text-align: justify;">
Otro ejemplo:</h3>
<div style="text-align: justify;">
(un poco más complejo) El otro día quería ver -por curiosidad- los cambios en tiempo real de la velocidad de mi CPU (cuando digo CPU, me refiero al microchip, al procesador, no al cajón de desktop; este es un término mal usado y debemos de dejar de hacerlo). Un colega en un grupo de Linux en FB decía que Ubuntu mantenía a sus procesador al máximo y por eso calentaba su laptop... pero recuerdo que una vez ya había medido la velocidad de mi CPU en tiempo real con watch dentro de Freya cuando tenía mi Phenom 960T; revisé los documentos de nuevo y para salir de la duda, lo hice en mi laptop nueva. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
La info del procesador se puede obtener de muchas formas según encontré en sitios diversos; pero me voy a enfocar en una manera simple. Primero, <a href="http://linuxdesobrevivencia.blogspot.com/2015/12/cat-leer-y-crear-archivos-de-texto-de.html">te voy a recordar el uso del comando <i><b>cat</b></i></a>.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>$ cat /proc/cpuinfo </b></div>
<div style="text-align: justify;">
muestra información relacionada a tu procesador: </div>
<div style="text-align: justify;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/ceXVFq2Y8j8t4e93DUefzf_mKFC9P1PAXiIrZ1V2IKjThtyW4ivVyzNl4YT8cHhColSyGKGzQ4OcprJDCtG7W9AUlo_2Vf-KskpTmuaD_y5TTfpb2wPz-LegzXNdFFKBwlf-W0D1r9NWuCFN9-dWWaqj0F6a4xUHZ_saTgKkmEeQ8fU4tVQVIi21UYG4aefdzF4ErkHX2VtpeynFZk_eXi8R6OX6p8jJdHUdqtjUp0s3mzEy_GjPbiAbwrMSkGe3n8BA5bY8s9H6g3h65_opOO25BvTIFfL9dG8dMw5bf-NW3RNnl6XIUxo2Nafw3FaGQ08NLOnvDzRFOIBSuLAT1jkvDewdLfzACahV6hCQbF4tg99gkywCHXJTgLYsfxkQmq0qt59Fc--MyAohLgfWJ3Mc938NarmhqWcjRUnD3jG1qbMe3Giq3Jvu9u_Sm3PoH_MuP51TcQ0XxAJ2wi6gE8P5VbJ1ihvcXM1oJboF4zdX3omenjvBAtqY23nd0ssCOVk_XpDWZIHRcUeH5JbPmb2sf9ngthGY9GblHcm7iNjc5XZWi9iqA1l4C41m5LHDOYEMKw=w523-h461-no" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="352" src="https://1.bp.blogspot.com/ceXVFq2Y8j8t4e93DUefzf_mKFC9P1PAXiIrZ1V2IKjThtyW4ivVyzNl4YT8cHhColSyGKGzQ4OcprJDCtG7W9AUlo_2Vf-KskpTmuaD_y5TTfpb2wPz-LegzXNdFFKBwlf-W0D1r9NWuCFN9-dWWaqj0F6a4xUHZ_saTgKkmEeQ8fU4tVQVIi21UYG4aefdzF4ErkHX2VtpeynFZk_eXi8R6OX6p8jJdHUdqtjUp0s3mzEy_GjPbiAbwrMSkGe3n8BA5bY8s9H6g3h65_opOO25BvTIFfL9dG8dMw5bf-NW3RNnl6XIUxo2Nafw3FaGQ08NLOnvDzRFOIBSuLAT1jkvDewdLfzACahV6hCQbF4tg99gkywCHXJTgLYsfxkQmq0qt59Fc--MyAohLgfWJ3Mc938NarmhqWcjRUnD3jG1qbMe3Giq3Jvu9u_Sm3PoH_MuP51TcQ0XxAJ2wi6gE8P5VbJ1ihvcXM1oJboF4zdX3omenjvBAtqY23nd0ssCOVk_XpDWZIHRcUeH5JbPmb2sf9ngthGY9GblHcm7iNjc5XZWi9iqA1l4C41m5LHDOYEMKw=w523-h461-no" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Según el número de núcleos detectados por tu sistema, esta muestra aparecerá una o más veces con diferente # en el primer campo (processor); en el caso de un Intel móvil, aparece cuatro veces, enumerados del 0 al 3 (este i5 es dual core, pero Intel hace uso de su Hyper Threading, duplicando el número de hilos como si fueran el doble de núcleos).</td></tr>
</tbody></table>
<div style="text-align: justify;">
Y esto es útil, pero hay dos cosas:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
• Sólo me muestra la velocidad base (donde está el modelo del cpu) y la velocidad en MHz al momento de ejecutar este comando (2670.281 MHz, o sea, 2.67GHz)</div>
<div style="text-align: justify;">
• Me llena la Terminal de información totalmente inútil/que no me importa de momento. Sólo quiero saber los cambios de velocidad en tiempo real o intervalos, no todas las tech specs del cpu.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Aquí es donde <i>watch</i> es útil: <br />
<br />
<h2>
Aplicando Pipelines: </h2>
<br />
Para mostrarte lo que quiero decir, usaremos adicionalmente el comando (que no vamos a ver con detalle, porque su uso es extenso y flexible)<b><i> grep</i></b>, que sirve para buscar patrones específicos de texto en un documento/archivo. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
vamos primero a usar una pipeline para unir a ambos comandos: </div>
<h4 style="text-align: justify;">
cat | grep </h4>
<div style="text-align: justify;">
Esto se leería algo así: </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
mostrar info (para el caso, del procesador); y usar una tubería (el " | " es una "pipe" o tubería) para que el resultado de cat, sea procesado por grep, quien se encargará de filtrar la info innecesaria y <b>sólo de mostrar la sección específica</b> que queremos. Las pipelines toman el resultado (output) de un comando y lo usan como info de entrada (input) de otro comando para que este haga una tarea con ella y la procese de forma que dé, otro resultado (otro output).</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Vamos entonces con cualquiera de estos: </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>$ cat /proc/cpuinfo | grep MHz</b></div>
<div style="text-align: justify;">
<b>$ cat /proc/cpuinfo | grep -i mhz</b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Ambos van a lo mismo, la opción " <b><i>-i</i></b> " dice a grep que sea indiferente a la capitalzación (en buen salvadoreño: que le valga verga si hay mayúsculas o no, que igual muestre resultados si los encuentra). Entonces esto nos arroja lo siguiente:</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/mAY9PA3XutP7aM8b4tZ2YOJ5pUkGI1Agv07gi94SngXsTwTyxq623uUijbnwPm7NsTQ1214k9V_Z3u66c0blKSADaSjeBVNNVc9_RiIGBnIXGq-p9eNRoRgeXv_2Jsjcs4LNLK-uFSRSPnvmRFMhOTOvsFVrehAyjB8EQO5B-yyBm6bg8On_d2S7pZP7ONsL5kfhLi_oI1VtaiDwJ1tXVlALdz7BQgCOl6mpGyyn22AlOPrioY7O4YboQcEDV2WdtlwPPW3xD3d-qKmOky2TrJohK4NAl7cDNNrNAyR67pDWdH7PRDE0Bjy7SiRHKLk3DCqVYzuK1z5_DnqXAC9xYbJygbih5HG-9SBF3l_mcKqgQk2n095nn5KyiQQ55qglHEzB8GwPKFDY7MBMeh8NVcnAWI5L58mnpKOULNsAbni8rE5wa1DcVnct-meMZYivMX4K1U0aUnqWgIAtsim3ErffYiVWDyrtt56r6CfB_JyhcvVGxTMcsO3RWwv_TpMXzJ9KhXVjUl_ab0Y8nZMtDgFFCYAAnIzQ4kB7Ut53PWbiS2diNRfeCMnXml5BzoyjfoTj3A=w514-h110-no" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="136" src="https://2.bp.blogspot.com/mAY9PA3XutP7aM8b4tZ2YOJ5pUkGI1Agv07gi94SngXsTwTyxq623uUijbnwPm7NsTQ1214k9V_Z3u66c0blKSADaSjeBVNNVc9_RiIGBnIXGq-p9eNRoRgeXv_2Jsjcs4LNLK-uFSRSPnvmRFMhOTOvsFVrehAyjB8EQO5B-yyBm6bg8On_d2S7pZP7ONsL5kfhLi_oI1VtaiDwJ1tXVlALdz7BQgCOl6mpGyyn22AlOPrioY7O4YboQcEDV2WdtlwPPW3xD3d-qKmOky2TrJohK4NAl7cDNNrNAyR67pDWdH7PRDE0Bjy7SiRHKLk3DCqVYzuK1z5_DnqXAC9xYbJygbih5HG-9SBF3l_mcKqgQk2n095nn5KyiQQ55qglHEzB8GwPKFDY7MBMeh8NVcnAWI5L58mnpKOULNsAbni8rE5wa1DcVnct-meMZYivMX4K1U0aUnqWgIAtsim3ErffYiVWDyrtt56r6CfB_JyhcvVGxTMcsO3RWwv_TpMXzJ9KhXVjUl_ab0Y8nZMtDgFFCYAAnIzQ4kB7Ut53PWbiS2diNRfeCMnXml5BzoyjfoTj3A=w514-h110-no" width="640" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Hasta ahí todo bien. PEEEEEEROOOOOooooOOOOooo... muestrala velocidad grabada al momento de ejecución; no en tiempo real. Aquí hacemos uso de watch: </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>$ watch -n2 " cat /proc/cpuinfo | grep -i mhz "</b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Y este es el resultado: </div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/HKEZtitYvUbJ-BvVn69i40YO8RDf111MQOkL2vs12dzyPENO6g9lmQzqntgWi1gzT2pmFQCiPCqRbJJnyWNY-IRu2jYCYTK1Uuqmx7n9uJtE6uR1Ukeej157MykRp7XXVclCyvhmumkgWpwqzKFOwW2wSinBGlLTx5h8CYgzGkl6jWP1IBY8pR9WWnBTxW06JPpf0QnokE9oivpihLV-IC2ucpWvs75UzduAEnrB5G6zCrFriyLpMaeU7bHNUGfUq2Jc7xOnUbjLvXW4Wlc-s_gKapTF0hrk7cmfG8UJQbQh-e3fWdlF1tstadMbZWckyLY6UuBfcbJohFY8_SA4Ae_xrNkrjOhiPC4XlQ2Po3R5RLLzDzIpSuoqWQTI2xuF97UGIJy1PKUWaWlsaX4Bcfa4waL2VMioen4fcAqvnmPMJWBI6XgaU_v0c_II8ZB-3Wbcbbbs1BRFGum5aLeE936YGHqQe4x2fVysRSH3VSgtFWRCdDOEmgOtFl7gjEtzq5y--zm2YlqYDq_NdnJaUanfPVMzfSBRtKoWBpLp5WE5H1mp07j6dzelNgBcqKxejKAZPg=w376-h144-no" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="152" src="https://2.bp.blogspot.com/HKEZtitYvUbJ-BvVn69i40YO8RDf111MQOkL2vs12dzyPENO6g9lmQzqntgWi1gzT2pmFQCiPCqRbJJnyWNY-IRu2jYCYTK1Uuqmx7n9uJtE6uR1Ukeej157MykRp7XXVclCyvhmumkgWpwqzKFOwW2wSinBGlLTx5h8CYgzGkl6jWP1IBY8pR9WWnBTxW06JPpf0QnokE9oivpihLV-IC2ucpWvs75UzduAEnrB5G6zCrFriyLpMaeU7bHNUGfUq2Jc7xOnUbjLvXW4Wlc-s_gKapTF0hrk7cmfG8UJQbQh-e3fWdlF1tstadMbZWckyLY6UuBfcbJohFY8_SA4Ae_xrNkrjOhiPC4XlQ2Po3R5RLLzDzIpSuoqWQTI2xuF97UGIJy1PKUWaWlsaX4Bcfa4waL2VMioen4fcAqvnmPMJWBI6XgaU_v0c_II8ZB-3Wbcbbbs1BRFGum5aLeE936YGHqQe4x2fVysRSH3VSgtFWRCdDOEmgOtFl7gjEtzq5y--zm2YlqYDq_NdnJaUanfPVMzfSBRtKoWBpLp5WE5H1mp07j6dzelNgBcqKxejKAZPg=w376-h144-no" width="400" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
"<i>Every 2.0s:</i>" ... con -n2 establecí que <i>watch</i> ejecute <i>cat | grep</i> cada dos segundos. Y los cambios son reportados puntuales: </div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
-<a href="http://1.bp.blogspot.com/ZJfo6ju38_nhFXrRyWEpqe7xWdfeVr36x2qPYHWQmzWX3OnE434C_klJ4zX7hmdgZXOioyGZeCe4r6QY56oYh6ESt6lXtE5vLu7j9AAVv8XVmshFj9RIcbMokti7qDIbl_lB2d9fFKLJVA8D1CHJfdai_WNeqvnQukw3IcUsxDxRCv8AQJA9wDeqVujYgTNwN3yYC2YqP2mUySp5eCZnY550Xazq8hW-A_opa9yfUKQCj5Vx4fTSRN6Rm-pIxiYVCBWaS8GXobdYe6mZVRyu5bgFcdW-eBkDc2TAUwpafeH4wLPlPoaPfpb5RM4Mp9HqIQ5AhDxTrJgM6JAxo6Bml_NI8aDXFcnDHwkOeCZiDvyi-bEUhBfBGfVoM-lgIow2BjmL4TBK1GTwdjRlLXxLmZOdfY2n7qF1mh-_ucs3wgr9Bf6BgcuCZvFVhpmhL98eZfe4qSQAm3IFfljUrH50S8x9T8TflkfJfmBOa2QzFX3-mzCwC53keJRNKXg7WVOnKp9F80fHftxWMxiPc6qL1yZmhHjSoJ-bVRCpiYXk7S3Vu-eA5a1zpwp716WM7vlpDwbN9g=w378-h115-no" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="121" src="https://1.bp.blogspot.com/ZJfo6ju38_nhFXrRyWEpqe7xWdfeVr36x2qPYHWQmzWX3OnE434C_klJ4zX7hmdgZXOioyGZeCe4r6QY56oYh6ESt6lXtE5vLu7j9AAVv8XVmshFj9RIcbMokti7qDIbl_lB2d9fFKLJVA8D1CHJfdai_WNeqvnQukw3IcUsxDxRCv8AQJA9wDeqVujYgTNwN3yYC2YqP2mUySp5eCZnY550Xazq8hW-A_opa9yfUKQCj5Vx4fTSRN6Rm-pIxiYVCBWaS8GXobdYe6mZVRyu5bgFcdW-eBkDc2TAUwpafeH4wLPlPoaPfpb5RM4Mp9HqIQ5AhDxTrJgM6JAxo6Bml_NI8aDXFcnDHwkOeCZiDvyi-bEUhBfBGfVoM-lgIow2BjmL4TBK1GTwdjRlLXxLmZOdfY2n7qF1mh-_ucs3wgr9Bf6BgcuCZvFVhpmhL98eZfe4qSQAm3IFfljUrH50S8x9T8TflkfJfmBOa2QzFX3-mzCwC53keJRNKXg7WVOnKp9F80fHftxWMxiPc6qL1yZmhHjSoJ-bVRCpiYXk7S3Vu-eA5a1zpwp716WM7vlpDwbN9g=w378-h115-no" width="400" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Y listo.</div>
<h3 style="text-align: justify;">
En resumen: </h3>
<div style="text-align: justify;">
• watch nos sirve para ejecutar otros comandos (o sea, otros programas) a intervalos definidos por el usuario/administrador. Así podemos monitorear en tiempo real, procesos y tareas que estamos ejecutando.</div>
<div style="text-align: justify;">
• las pipelines ( cuando veás este símbolo en un comando o combinación de ellos " | ", seguramente estás frente a una pipeline) nos sirven para ejecturar comandos consecutivamente, y que el resultado de uno, sea manipulado y procesado por otro.<br />
<br />
Ambos ejemplos son relativamente rústicos para las herramientas con las que contamos actualmente; el propósito de estos artículos es 1) familiarizarte con tu Terminal y la CLI, 2) prescindir de bloatware (software innecesario) que desperdicie espacio en tu disco, y de GUIs que utilizan recursos extra para llegar a lo mismo, 3) mostrarte la flexibilidad y potencial de las herramientas de Terminal, valoradas especialmente por SysAdmins veteranos y expertos del FOSS. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Espero que te haya gustado y sido útil esta nota. Compartila, comentá y avisanos si te gustaría que hablemos de otros temas en particular. Saludos :) </div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-32593709620950619892015-12-27T11:54:00.000-08:002015-12-27T11:54:58.718-08:00cat: leer y crear archivos de texto de forma simple<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>$ whatis cat </b></div>
<div>
<div style="text-align: justify;">
cat (1) - concatenate files and print on the standard output</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Cat, comando de usuario - concatená archivos e imprimilos en salida estándar (en texto, pues).</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b><i>$ cat /etc/fstab</i></b> </div>
<div style="text-align: justify;">
muestra las unidades que son montadas automáticamente al arranque del sistema operativo.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b><i>$ cat archivo.txt</i></b></div>
<div style="text-align: justify;">
muestra el contenido del archivo de texto que has indicado. Ahora, recordá que en sistemas UNIX, un documento puede o no tener extensión. Un .png pudiera no terminar en ello, así como un .txt pudiera incluso terminar en .gif. Es el sistema quién escanea el archivo y determina su tipo de extensión. Puse el .txt para ejemplificar; y lo puse usando una <a href="http://linuxdesobrevivencia.blogspot.com/2015/09/pathnames-o-rutas.html">ruta relativa</a>: el directorio presente. O sea, no importa dónde estés en el filesystem, vos podrás visualizar un archivo usando cat, siempre que incluyás la ruta correcta, relativa o absoluta, dependiendo del caso:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b><i>$ cat ../home/chepito/documentos/folder1/archivo20</i></b></div>
<div style="text-align: justify;">
y si ya estás en el folder1, sólo tendrías que hacer:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b><i>$ cat archivo20</i></b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Cat también puede servir para crear un archivo de texto nuevo, usando redirección de salida de corriente (output stream redirection). No vamos a hablar mucho de esto, sólo te digo que podés usar cat para crear un archivo nuevo de texto, así:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b><i>$ cat > archivo_de_texto_nuevo</i></b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
y cat entrará en "modo interactivo"; en lugar del PS1 (el nombre de tu cursor en Terminal), vas a ver el " <b>></b> " :</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b><i>$ cat > archivo_de_texto</i></b></div>
<div style="text-align: justify;">
<b>></b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Y aquí podrás escribir texto, apretando enter para crear una nueva línea:</div>
<div style="text-align: justify;">
<br /></div>
<div>
<div style="text-align: justify;">
<b><i>$ cat > archivo_de_texto</i></b></div>
<div style="text-align: justify;">
<i>> primera línea para probar cat en modo interactivo</i></div>
</div>
<div style="text-align: justify;">
<i>> segunda línea de prueba</i></div>
<div style="text-align: justify;">
<i>> tercera línea, blah blah blah... </i></div>
<div style="text-align: justify;">
<i>> </i>[ para finalizar, das enter, y luego "Ctrl D" ]</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Y cuando hayás terminado, das enter una vez más, y en la línea en blanco apretás Ctrl + D. Esto sale del modo interactivo y guarda cambios. Ahora, mirá los cambios que lograste: </div>
<div style="text-align: justify;">
<br /></div>
<div>
<div>
<div style="text-align: justify;">
<b><i>$ cat archivo_de_texto</i></b></div>
<div style="text-align: justify;">
<i> primera línea para probar cat en modo interactivo</i></div>
</div>
<div style="text-align: justify;">
<i> segunda línea de prueba</i></div>
<div style="text-align: justify;">
<i> tercera línea, blah blah blah... </i></div>
<div style="text-align: justify;">
<b><i>$</i></b></div>
</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Digamos que querés agregar otra línea; entonces vas a usar</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b><i>$ cat >> archivo_de_texto</i></b></div>
<div style="text-align: justify;">
<i>> esta línea será agregada al final del documento.</i></div>
<div style="text-align: justify;">
> [ Ctrl D ] </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Uso Ctrl + D para salir y ahora:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b><i>$ cat archivo_de_texto</i></b></div>
<div>
<div>
<div style="text-align: justify;">
<i> primera línea para probar cat en modo interactivo</i></div>
</div>
<div style="text-align: justify;">
<i> segunda línea de prueba</i></div>
<div style="text-align: justify;">
<i> tercera línea, blah blah blah... </i></div>
</div>
<div style="text-align: justify;">
<i> esta línea será agregada al final del documento.</i></div>
<div style="text-align: justify;">
<b><i>$</i></b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Recordá: </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>$ cat > archivo</b></div>
<div style="text-align: justify;">
te permite crear y agregar líneas de texto a un archivo, sin tener que accesar a un editor. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>$ cat >> arhchivo </b></div>
<div style="text-align: justify;">
añadirá nuevas líneas a un archivo ya existente, así haya sido creado por cat o por otro editor (gedit, leafpad, vim, nano...). Si por error hacés " <b>> </b>" en lugar de " <b>>></b> " a un archivo, vas a sobrescribir en lugar de agregar... o sea, vas a mandar a la mierda lo que había antes. Si necesitás editar una línea en particular, mejor usá un editor de GUI o de CLI (gedit, leafpad, nano, scratch editor, vim, emacs, etc.) para navegar hacia la línea deseada.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Resumen: </div>
<div style="text-align: justify;">
¿Para qué me sirve cat? para mostrar el contenido de un archivo de texto en terminal, sin tener que usar herramientas externas, gráficas ni tener que salir de terminal. Esto significa: ahorro de recursos de procesamiento, y tu tiempo. Es usado a menudo para leer rápidamente archivos de configuraciones del filesystem, cuando son cortos. ¿Funciona con largos? Sí, pero no es tan cómodo a menos que tu Terminal tenga soporte de navegación vertical (para scrollear hacia arriba); o a menos que lo usés con una <i>pipe</i> y <i>less</i>; pero eso es otro asunto que no tocaré hoy y no tiene sentido. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
¿Tengo que usarlo? No. Pero existe y podrías beneficiarte de él; sin embargo, a veces podrás preferir un editor completo (así sea de CLI o GUI) como cuando estás leyendo scripts de programación, porque los editores dedicados tienen "resaltador de sintaxis", colorizan palabras claves, strings, booleanos, etc. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br />
</div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-68578198712735923772015-12-24T22:27:00.001-08:002015-12-24T22:27:05.362-08:00Extender tu partición / (root) sin herramientas gráficas; parte III.<div>
<div style="text-align: justify;">
Una vez me conecté, hice lo siguiente:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
# df -h</div>
<div style="text-align: justify;">
Filesystem Size Used Avail Use% Mounted on</div>
<div style="text-align: justify;">
dev 3.7G 0 3.7G 0% /dev</div>
<div style="text-align: justify;">
run 3.7G 508K 3.7G 1% /run</div>
<div style="text-align: justify;">
<b>/dev/sda1 15G 3.4G 11G 25% /</b></div>
<div style="text-align: justify;">
tmpfs 3.7G 0 3.7G 0% /dev/shm</div>
<div style="text-align: justify;">
tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup</div>
<div style="text-align: justify;">
tmpfs 3.7G 0 3.7G 0% /tmp</div>
<div style="text-align: justify;">
tmpfs 742M 0 742M 0% /run/user/0</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Mi directorio root sigue mostrándose como de 11GB. Eso es porque df -h muestra el directorio donde está montada la partición, no la partición como tal. Por eso, volvemos a usar fdisk -l para mostrar las particiones:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
# fdisk -l</div>
<div style="text-align: justify;">
<b>Disk /dev/sda: 111.8 GiB</b>, 120034123776 bytes, 234441648 sectors</div>
<div style="text-align: justify;">
Units: sectors of 1 * 512 = 512 bytes</div>
<div style="text-align: justify;">
Sector size (logical/physical): 512 bytes / 512 bytes</div>
<div style="text-align: justify;">
I/O size (minimum/optimal): 512 bytes / 512 bytes</div>
<div style="text-align: justify;">
Disklabel type: dos</div>
<div style="text-align: justify;">
Disk identifier: 0x000bcc1a</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Device Boot Start End Sectors Size Id Type</div>
<div style="text-align: justify;">
<b>/dev/sda1 2048 62916607 62914560 30G 83 Linux</b><br />
<b><br /></b></div>
<div style="text-align: justify;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img aria-label="Photo - Landscape - Dec 24, 2015" class="SzDcob" height="333" jsname="uLHQEd" src="https://lh3.googleusercontent.com/twk9qBPtnN3QxUxx47bR8pujGAyDyrbhdNK9Pjxei15lDvxhwM6RjrK3_tBaLq1oCpBnDTPzUAfbGyGgPB--sQjmg67pvIcceuDZxT0QslO9WhHwGTVBkr2FgoHVVqmFydF3c_ZBN3ZFALqlX_yfMZlvDKOb5Ot2K8_rh9QvwSWo2Et3GOHZirITJJ6UqlEHpgE4k8WuYi7l4M7C44G2hUxMOPdDmfTczCIRtTKNGfRQxOY8ZnhQlvKiC8jI5ZgJ_Jd53MPAeguyBPgurJjh3L0kf25wLZznf9a8nGjhhsGeZ_AQ-GLLF9JudGwX6wp7P6WSvv3mj2NMKqURm7zAXwXkmyusKGQF_UXz5OloenV1Phhv6x5FGgGAuLMbUlAKxhNhhniYKt3pIeLE4vBHS8dqmR3dyDcso4Gj_3Er7pV5f7hdWL7gNmqx5jd2ifwJ24-7q5OiV516lTnEoyC6Hr97rXq19RD3pL5MK2awyyNioxcUlkO3TG3R-23pdNRwUt3s8N1W-Yix7AHyNGhb2DZCe46xhfBxENJCrkSbWLDTwL4wdpoeB-5Ms810eh7wGfqTDQ=w559-h333-no" style="margin-left: auto; margin-right: auto; transform: translate3d(0px, 0px, 0px) rotate(0deg);" width="559" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Cómo podés ver, los cambios sí tuvieron efecto en la partición, pero el tamaño del directorio (filesystem) sigue siendo de 15GB; hace falta redimensionar el filesystem. </td></tr>
</tbody></table>
</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Como podés ver, mi unidad de almacenamiento mide 111.8 (un SSD de 110GB), y la partición ya reporta mis 30GB... pero mi filesystem de root (o sea, el sistema de directorio de root) sigue siendo de 15GB. Debo de extender el tamaño del filesystem; lo hago con esta herramienta: <a href="http://linuxdesobrevivencia.blogspot.com/2015/12/recomendacion-antes-de-correr-un-comando.html">resize2fs</a>.<br />
<br />
NOTA: resize2fs redimensiona los filesystems en formato ext2, ext3, ext4. Puede encoger o extender el filesystem si se accede desde fuera del sistema operativo (como una <a href="http://linuxdesobrevivencia.blogspot.com/2014/05/esenciales-como-consigo-una-distro-y.html">imagen en vivo</a>, por ejemplo, o si tenés el disco duro conectado como "slave" o secundario/adicional en otro equipo); pero si estás corriendo desde el sistema operativo, sólo vas a poder extender el filesystem en cuestión, no encogerlo. A esto se le llama "online resizing", entre otras. Encontré resize2fs en Elementary y Arch; no tuve que instalar nada adicional para usarle.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Vamos entonces a hacer la expansión del filesystem de root, en la partición correspondiente (df -h te dice cuál es la partición correspondiente, recordalo); en mi caso:<br />
<br /></div>
<div style="text-align: justify;">
<b># resize2fs /dev/sda1</b></div>
<div style="text-align: justify;">
resize2fs 1.42.13 (17-May-2015)</div>
<div style="text-align: justify;">
Filesystem at /dev/sda1 is mounted on /; on-line resizing required</div>
<div style="text-align: justify;">
old_desc_blocks = 1, new_desc_blocks = 2</div>
<div style="text-align: justify;">
<b>The filesystem on /dev/sda1 is now 7864320 (4k) blocks long. </b>(mensaje de la felicidad :D )</div>
<div style="text-align: justify;">
<br />
Y confirmo cambios en el tamaño del directorio:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
# df -h</div>
<div style="text-align: justify;">
Filesystem Size Used Avail Use% Mounted on</div>
<div style="text-align: justify;">
dev 3.7G 0 3.7G 0% /dev</div>
<div style="text-align: justify;">
run 3.7G 508K 3.7G 1% /run</div>
<div style="text-align: justify;">
<b>/dev/sda1 30G 3.4G 25G 12% /</b></div>
<div style="text-align: justify;">
tmpfs 3.7G 0 3.7G 0% /dev/shm</div>
<div style="text-align: justify;">
tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup</div>
<div style="text-align: justify;">
tmpfs 3.7G 0 3.7G 0% /tmp</div>
<div style="text-align: justify;">
tmpfs 742M 0 742M 0% /run/user/0<br />
<br /></div>
</div>
<div style="text-align: justify;">
<img aria-label="Photo - Landscape - Dec 24, 2015" class="SzDcob" height="271" jsname="uLHQEd" src="https://lh3.googleusercontent.com/J__pmWgwNf7QLJpeKz4bGcXdSJ10KbJ009mkeYJDvQInNT3v6KqF8iLfdpMYcTEvgb7Vtvp_sjFa5QfLKRaacjQWqfqt770HOmk4uIcVP-lHjGf4zYqpj-pXyyf3yD5ehBskWkjYYAnY3wZfbb6eBUw0MLmzI9L0UHz5X-tGb3jHPBSIKvoX07cltDDLvi7J-uKTzUD5T1o0RXgc4I0-K6i9SEVAtDvveGKoPqqj0OfGeKvw_CzJ1bvLniA2zN2i2ahMYsJ-VayrQjJ7S0gCP5EHT4NDs-vvkJg4LogRxFnFuWvyAasDq7Z7q-mb8ZxjlPq_ErzeO01HGBTS5LDE2sxtk7k4NyaT4BZWy7EyyHH7fRPda0KJW22y8d-A5tXu879fzSXZLF8u8SgA9uEpw_MBOeRAsu99Mpg0T6l_892IDjnc1ahtAXwkWa0MRRvZWUMd9z0TP2vVc4BZZhr_gEDjPD0dPylyFmnpgnF7Kujb79TOTg0kyfQZO1hZk2wVyTtPFBP4QBrz3zSgKfIOZO2Xb6tLeh0B3d65v9hL24sxjmB_YNoa9uty13CJpDNzDIS6OQ=w560-h271-no" style="transform: translate3d(0px, 0px, 0px) rotate(0deg);" width="560" /></div>
<div style="text-align: justify;">
<br />
<br />
¡LISTO! ya tenés más espacio en el directorio y partición de root :D :D :D Ya podés seguir descargando porno y tonterías en tu partición. </div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-37176675359742907042015-12-24T22:12:00.001-08:002015-12-24T22:12:26.266-08:00Extender tu partición / (root) sin herramientas gráficas; parte II.<div style="text-align: justify;">
Entonces, ya determinaste cuánto espacio más podés/querés adicionar a tu partición de root. Ahora hay que agregarlo. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
¿Cómo lo hago? fácil; <b>para agregar más espacio a la partición de root, borrás la partición de root</b>. ¿Ah? La borrás y luego la recreás con el nuevo espacio total. Si comenzaba en 7GB y querés que sea de 25GB entonces la recreás con 25GB en total. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
¿Estás seguro? ¿no me voy a cagar en todo? Sí, estoy seguro; y no, no te vas a cagar en todo; todo va a estar bien <b>SI y sólo SI el primer sector de la nueva partición coincide con el primer sector de la nueva partición</b>. </div>
<blockquote class="tr_bq" style="text-align: justify;">
<i>Ahora, asumo que vos sos un ser humano responsable y que sabés cómo usar el papel higiénico de forma apropiada y de la misma forma sabés cómo respaldar tus datos... pero como no lo sé con certeza y no me interesa, dejo este disclaimer amigable: yo no soy responsable de cualquier cagada que le hagás a tu equipo. Respaldá tu info primero.</i></blockquote>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Procedemos: </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b><i># fdisk /dev/sda</i></b></div>
<div style="text-align: justify;">
<b><br /></b></div>
<div style="text-align: justify;">
<i><span style="color: #ffd966;">Welcome to fdisk (util-linux 2.27.1).</span></i></div>
<div style="text-align: justify;">
<i>Changes will remain in memory only, until you decide to write them.</i></div>
<div style="text-align: justify;">
<i>Be careful before using the write command.</i></div>
<div style="text-align: justify;">
<i><br /></i></div>
<div style="text-align: justify;">
<i><br /></i></div>
<div style="text-align: justify;">
<i>Command (m for help): <b>d (esto borra la partición)</b></i></div>
<div style="text-align: justify;">
<i>Selected partition <b>1</b></i></div>
<div style="text-align: justify;">
<i>Partition 1 has been deleted.</i></div>
<div style="text-align: justify;">
<i><br /></i></div>
<div style="text-align: justify;">
<i>Command (m for help): <b>n (hacemos la nueva partición)</b></i></div>
<div style="text-align: justify;">
<i>Partition type</i></div>
<div style="text-align: justify;">
<i> p primary (0 primary, 0 extended, 4 free)</i></div>
<div style="text-align: justify;">
<i> e extended (container for logical partitions)</i></div>
<div style="text-align: justify;">
<i>Select (default p): <b>p (por supuesto que primaria)</b></i></div>
<div style="text-align: justify;">
<i>Partition number (1-4, default 1): <b>(la tecla "enter" acepta el valor default)</b></i></div>
<div style="text-align: justify;">
<i>First sector (2048-234441647, default 2048): </i><i><b>(la tecla "enter" acepta el valor default)</b></i></div>
<div style="text-align: justify;">
<i>Last sector, +sectors or +size{K,M,G,T,P} (2048-234441647, default 234441647): <b>+30G (el nuevo espacio que quiero; el tuyo puede ser distinto. Si lo querés en megas, usá M y la cantidad apropiada; probablemente tendrás que usar unidades/decenas/centenas de millares)</b></i></div>
<div style="text-align: justify;">
<i><br /></i></div>
<div style="text-align: justify;">
<i>Created a new partition 1 of type 'Linux' and of size 30 GiB.</i></div>
<div style="text-align: justify;">
<i><br /></i></div>
<div style="text-align: justify;">
<i>Command (m for help): <b>w (escribe y guarda cambios)</b></i></div>
<div style="text-align: justify;">
<i>The partition table has been altered.</i></div>
<div style="text-align: justify;">
<i>Calling ioctl() to re-read partition table.</i></div>
<div style="text-align: justify;">
<i><span style="color: #cc0000;">Re-reading the partition table failed.: Device or resource busy</span></i></div>
<div style="text-align: justify;">
<b>(no te asustés, el de arriba es una advertencia lógica y normal)</b></div>
<div style="text-align: justify;">
<i>The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).</i></div>
<div style="text-align: justify;">
<i><br /></i></div>
<div style="text-align: justify;">
<i><b># reboot 0 </b></i></div>
<div style="text-align: justify;">
<i>(es un número cero, significa: reiniciá ya, saltate la cuenta del minuto y medio)</i></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img aria-label="Photo - Landscape - Dec 24, 2015" class="SzDcob" height="528" jsname="uLHQEd" src="https://lh3.googleusercontent.com/UvGrprEunv7THHD4yukgmy8izmOcaHhqczl10uFl01pXiCsyvAnj-i47-dJyQn3Svi8MYUHORDJmPttqRprC32f_C_IdaGOkp1myClX6RsmWWOnrUXRe6fmw_cLGV5AJbV717kg4s_ZjQtcelM5bEQEa5jwPYZBDLuSvmvw_Be3YPWVG7SKzUSwgdCtMZoPmkpKiAZR8WcnP9NuWMAjUrARANRnnxqfoyp4RRTen3T5eUu8hzkF_cCiaBChi3FeQjIn9BIXT39xvKARoA92tfzfYLNRkNe5z4lmczxR7iuKvYiPO8F8gswq9Vgn8h9DghXKFQhifJW1t1sN-wHjbItK-nI2C2lJEayY8C2gMnUB6VkqbmhyFBRLrlGqNZAYPd2fdgbUnr4lYeI22qsMsX0r5sHXPI0tE15dS7m5f2X9ccAH2fcrOB4vaZZEHqQQxhV-_2I8lAi18QilrjkF0Ds9WhpIJP6-Gpl1V5udxFmxW43q9UPwksaAuIsDrW_aqm-z19IhNRKGbJqTi_yOOTuuzgxcFSrCoo2aXtp6EwBHWtaK4XgNJy2vX49jYMXVhodb4oA=w702-h528-no" style="margin-left: auto; margin-right: auto; transform: translate3d(0px, 0px, 0px) rotate(0deg);" width="702" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Esto fue lo que hice hace un par de horas. </td></tr>
</tbody></table>
<div style="text-align: justify;">
Podría explicarte cada línea, pero es extendernos y además, estoy seguro que si te interesa, vas a traducirlas por tu cuenta o usar un traductor. Ya en la otra parte explico cómo concluir esto. </div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-33068825619778412502015-12-24T21:14:00.000-08:002015-12-25T10:35:23.024-08:00Extender tu partición / (root) sin herramientas gráficas; parte I.<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
PARA ENTENDER este artículo, te sugerimos aprender los conceptos de filesystem, directorio, particiones y documentación adicional sobre fdisk.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Si te atreviste a configurar manualmente tus particiones cuando instalaste tu distro, probablemente te preguntaste ¿cuánto espacio necesito para mi partición root? ¿cuántas particiones necesito? ¿cuánto espacio asigno a una partición swap? </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Todas estas preguntas ya tienen respuesta en las wikis y documentos oficiales de cada distro. Para usuarios expertos, determinar cuánto espacio debe de ser asignado a qué, es fácil. Para los n00bs totales, también porque dejan que los instaladores lo hagan todo por ellos. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Pero para los que estamos aprendiendo en el ruedo, puede que esas respuestas no nos ayuden totalmente y necesitemos un poco de flexibilidad; tal vez por error o por desconocimiento, asignamos manualmente espacio suficiente para instalar el sistema base y conforme instalamos más paquetes, vemos que nos quedamos sin espacio adicional en la partición, aun teniendo espacio extra en nuestro disco. Si ese sos vos, te explicamos cómo agrandar/estirar/alargar tu partición root vía Terminal, mientras tu sistema operativo está corriendo. A esto se le conoce como LIVE/ONLINE ROOT PARTITION RESIZING o "redimensionamiento de la partición root en vivo/en línea".<br />
<br />
<span style="color: #e06666;">PREGUNTA IMPORTANTE ¿por qué habría de usar este método cuando existe Gparted o cuando puedo usar una imagen en vivo desde un CD/USB? Porque tal vez estás aprendiendo de admiministración de sistemas o corriendo un servidor como en mi caso, o tal vez ya sos un administrador y tenés un servidor de producción al que forzosamente necesitás extenderle el root; o puede que no dispongás de otro sistema o imagen, o simplemente porque sos jarcor (hardcore) y querés aprender a hacerlo sin usar interfaces gráficas (GUIs). Si este es tu caso, seguí leyendo. De otra forma, buscá en línea cómo usar Gparted, que es más fácil y apropiado para usuarios que no se sienten cómodos trabajando en Terminal porque no tienen el conocimiento y/o no desean aprender a usarla.</span><br />
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
</div>
<a name='more'></a><br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
• En primer lugar, deberás de preguntarte ¿necesito más espacio en mi partición / ? La respuesta es simple, pero no fácil: depende. Ojo: Conky no muestra el espacio real usado por todo tu sistema, sino el espacio en disco usado por un usuario regular. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Para saber cuánto espacio hemos usado de nuestra directorio root (y en qué partición está instalado el root), usamos</div>
<blockquote class="tr_bq" style="text-align: justify;">
<i><b>$ df -h </b></i>y listo. <a href="http://linuxdesobrevivencia.blogspot.com/2015/12/recomendacion-antes-de-correr-un-comando.html">Te recomiendo leer esto, si no estás seguro de qué es df -h</a>.</blockquote>
<br />
<br />
<div style="text-align: justify;">
Considerá si los GB son aceptables y el porcentaje de espacio usado por " <b>/</b> " es suficiente. Si lo es, seguí con tu vida cómo va y buscá porno en internet en lugar de leer estas cosas aburridas. Si no lo es, seguí leyendo, que esto te convertirá en un individuo pleno.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
•• Ahora tenemos que determinar cuántas particiones y cuánto espacio extra tenemos en disco. </div>
<blockquote class="tr_bq" style="text-align: justify;">
<i><b>$ sudo fdisk -l </b></i><b><i></i></b></blockquote>
<br />
<blockquote class="tr_bq" style="text-align: justify;">
<b><i> #fdisk -l</i></b>(<a href="http://linuxdesobrevivencia.blogspot.com/2014/05/root.html">si no recordás la diferencia entre ambos comandos, leé esto</a>).</blockquote>
<div style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://lh3.googleusercontent.com/twk9qBPtnN3QxUxx47bR8pujGAyDyrbhdNK9Pjxei15lDvxhwM6RjrK3_tBaLq1oCpBnDTPzUAfbGyGgPB--sQjmg67pvIcceuDZxT0QslO9WhHwGTVBkr2FgoHVVqmFydF3c_ZBN3ZFALqlX_yfMZlvDKOb5Ot2K8_rh9QvwSWo2Et3GOHZirITJJ6UqlEHpgE4k8WuYi7l4M7C44G2hUxMOPdDmfTczCIRtTKNGfRQxOY8ZnhQlvKiC8jI5ZgJ_Jd53MPAeguyBPgurJjh3L0kf25wLZznf9a8nGjhhsGeZ_AQ-GLLF9JudGwX6wp7P6WSvv3mj2NMKqURm7zAXwXkmyusKGQF_UXz5OloenV1Phhv6x5FGgGAuLMbUlAKxhNhhniYKt3pIeLE4vBHS8dqmR3dyDcso4Gj_3Er7pV5f7hdWL7gNmqx5jd2ifwJ24-7q5OiV516lTnEoyC6Hr97rXq19RD3pL5MK2awyyNioxcUlkO3TG3R-23pdNRwUt3s8N1W-Yix7AHyNGhb2DZCe46xhfBxENJCrkSbWLDTwL4wdpoeB-5Ms810eh7wGfqTDQ=w559-h333-no" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://lh3.googleusercontent.com/twk9qBPtnN3QxUxx47bR8pujGAyDyrbhdNK9Pjxei15lDvxhwM6RjrK3_tBaLq1oCpBnDTPzUAfbGyGgPB--sQjmg67pvIcceuDZxT0QslO9WhHwGTVBkr2FgoHVVqmFydF3c_ZBN3ZFALqlX_yfMZlvDKOb5Ot2K8_rh9QvwSWo2Et3GOHZirITJJ6UqlEHpgE4k8WuYi7l4M7C44G2hUxMOPdDmfTczCIRtTKNGfRQxOY8ZnhQlvKiC8jI5ZgJ_Jd53MPAeguyBPgurJjh3L0kf25wLZznf9a8nGjhhsGeZ_AQ-GLLF9JudGwX6wp7P6WSvv3mj2NMKqURm7zAXwXkmyusKGQF_UXz5OloenV1Phhv6x5FGgGAuLMbUlAKxhNhhniYKt3pIeLE4vBHS8dqmR3dyDcso4Gj_3Er7pV5f7hdWL7gNmqx5jd2ifwJ24-7q5OiV516lTnEoyC6Hr97rXq19RD3pL5MK2awyyNioxcUlkO3TG3R-23pdNRwUt3s8N1W-Yix7AHyNGhb2DZCe46xhfBxENJCrkSbWLDTwL4wdpoeB-5Ms810eh7wGfqTDQ=w559-h333-no" style="-webkit-user-select: none;" /></a></div>
<br />
<br />
Compará ahora, el espacio total de tu disco, según fdisk, y el total de espacio usado en tu partición root, según df. Si necesitás espacio adicional, y tenés espacio adicional, entonces seguí leyendo. Si no, considerá ver porno, o conseguir un disco adicional y mover tu /home y otros directorios a él. No vamos a tocar ese tema hoy. Ya tenemos dos requisitos. El siguiente es más complejo; ponele coco:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
••• Tenemos que asegurarnos de que haya espacio libre disponible, a la par de la partición root. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Si la tabla que fdisk te da, puede ser representada así (según las particiones que fdisk reporta, hago las siguientes ilustraciones abstractas-patéticas): </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
[<b>root</b>] [ home ] [ <i>posibles</i> particiones adicionales ] [<b>espacio disponible</b>]</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
entonces no vas a poder extender tu root; vas a tener que encoger [ home ] de sus sectores iniciales para liberar espacio contiguo a los sectores finales de [ root ] . Si este es el caso, esta guía puede ser darte una pauta general, más no específica de cómo resolverlo. Asumiendo que no es ese el caso o que ya lo resolviste, tus particiones pueden ser dibujadas así: </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
[<b>root</b>] [<b>espacio disponible</b>] [home] [ posibles particiones adicionales ] [ espacio disponible extra ]</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
entonces sí vas a poder extender tu root.<br />
<br />
<br /></div>
<div style="text-align: justify;">
Seguimos con esto en otra parte. Hasta luego :D</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-36688508721142740922015-12-24T20:41:00.002-08:002015-12-24T20:41:21.161-08:00RECOMENDACIÓN ANTES DE CORRER UN COMANDOUsá<br />
<br />
<i>$ whatis nombre_del_comando</i><br />
<i>$ man nombre_del_comando</i><br />
<i>$ nombre_del_comando --help</i><br />
<i>$ nombre_del_comando -h</i><br />
<br />
por seguridad y para conocer un poco de ese comando antes de ejecutarlo.<br />
<br />
De nada. Felices fiestas :DUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-49278079156724567812015-12-24T20:25:00.000-08:002015-12-24T20:25:57.166-08:00Nuevo equipo, jugando con microservidores.<div style="text-align: justify;">
Ratos de no escribirles.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Esta actualización podría ser un poco "avanzada" puesto que habla de hardware y un poco de soluciones de almacenaje.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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.).</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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 <i>escalabilidad</i>).</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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!). </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Leyendo de administradores y desarrolladores angloparlantes, aprendí ciertos trucos a implementar en mi servidor, pero... la cagué al configurar la instalación;</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
... apenas y le asigné 15GB de espacio a la partición root. El sistema base de Arch pesa menos de 3.5GB ( <b><i># df -h</i></b> 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. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Así que en la próxima entrada, te compartiré cómo hice para extender la partición root.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Y eso. Felices fiestas :) </div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-74618394036795450842015-11-10T21:18:00.000-08:002015-11-10T21:18:10.275-08:00VIM: cambiar colores.<div style="text-align: justify;">
Abrí terminal y creá</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<i><b>$ mkdir ~/.vim</b></i></div>
<div style="text-align: justify;">
<i><b>$ git clone https://github.com/flazz/vim-colorschemes.git ~/.vim</b></i></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
(si todavía no has configurado instalado git localmente, te aconsejamos esperar hasta que publiquemos una entrada al respecto -no será pronto, este artículo está dedicado a usuarios más avanzados y que probablemente ya hicieron eso- o buscar documentación en línea al respecto) Para ver la lista de temas/combinaciones de color:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<i><b>$ ls ~/.vim/colors</b></i></div>
<div style="text-align: justify;">
Y verás algo como esto: </div>
<div style="text-align: justify;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/dnBkzmXr_FTB0k0W5BKgvOdQGF_EIC6ANeUJlA041W1ZZliWZSTsTACfIEUrn65wRvn52Gcn8S07SHBq70j1QZw1fcHLhbHP4Kb42wvtd-3cuRw1f0Pp0mHodr5t9uEKK0U6cT7M7UGDQMfq6f_7emECcr_vsRTwxh1DQ_GLh_EYr2oBQYShOYIbqqdSSxs1_F51BUkpxecRW8PlcZtFwLHgjckJzsdmW3AAVJ73gpMjgv3tCr135BX2nuW6psNU85nKXgWyaxlav2vqTehnj7EkQoCouwx3vNjN9Q87KGSgRFUica59W2UAsrmY-rWeB8piia_cvcADmb14N-iPvlLNK9FFMWBMQwI6TpctOZXyEbyxQY2E67jqk_nI5UIX9EQ28fxx2IEU47KjGyx-nAxI7woKprIP8TUWyYnxkaL5xG1sa0C8LTHSOBEk_auOmF05eKLhUdmBbma1r5lvurg0l5CQjWZ9Tu0hiYSw7LWUGODbnB7vuh8O3d6lnGW7bMN8zQPqOriSCT3-L44DU7YgtUfTHuD9gKwxWhYSyNKs=w1156-h650-no" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="https://1.bp.blogspot.com/dnBkzmXr_FTB0k0W5BKgvOdQGF_EIC6ANeUJlA041W1ZZliWZSTsTACfIEUrn65wRvn52Gcn8S07SHBq70j1QZw1fcHLhbHP4Kb42wvtd-3cuRw1f0Pp0mHodr5t9uEKK0U6cT7M7UGDQMfq6f_7emECcr_vsRTwxh1DQ_GLh_EYr2oBQYShOYIbqqdSSxs1_F51BUkpxecRW8PlcZtFwLHgjckJzsdmW3AAVJ73gpMjgv3tCr135BX2nuW6psNU85nKXgWyaxlav2vqTehnj7EkQoCouwx3vNjN9Q87KGSgRFUica59W2UAsrmY-rWeB8piia_cvcADmb14N-iPvlLNK9FFMWBMQwI6TpctOZXyEbyxQY2E67jqk_nI5UIX9EQ28fxx2IEU47KjGyx-nAxI7woKprIP8TUWyYnxkaL5xG1sa0C8LTHSOBEk_auOmF05eKLhUdmBbma1r5lvurg0l5CQjWZ9Tu0hiYSw7LWUGODbnB7vuh8O3d6lnGW7bMN8zQPqOriSCT3-L44DU7YgtUfTHuD9gKwxWhYSyNKs=w1156-h650-no" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Esta imagen tiene los temas de Vim en extensión .vim. Básicamente son archivos de texto que dicen "tal tipo de texto tendrá este color; los booleanos este otro, enteros tal color, palabras reservadas este otro y así". La imagen no está alineada al resto del blog puesto que se muestra en el mejor tamaño posible y Blogger es tonto y no hace ajustes según eso.</td></tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Abrí otra pestaña dentro de tu Terminal (dentro de Freya, Ctrl + Shift + T ) y ejecutá:</div>
<div style="text-align: justify;">
<b><i>$ vim</i></b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Dentro de vim, escribís:</div>
<br />
<div style="text-align: justify;">
<i><b>:colors</b></i> (nombre del color según la lista de colores que ves en ~/.vim/colors, sin la extensión *.vim)</div>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
por ejemplo:</div>
<div style="text-align: justify;">
<i><b>:colors enzyme </b></i></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
podés escoger muchos más:</div>
<div style="text-align: justify;">
<i><b>:colors flatcolor</b></i></div>
<div style="text-align: justify;">
<i><b>:colors bluedrake</b></i></div>
<div style="text-align: justify;">
<i><b>:colors cloudy</b></i></div>
<div style="text-align: justify;">
<i><b>:colors basic</b></i></div>
<div style="text-align: justify;">
<i><b>:colors coffee</b></i></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Tema "turbo":</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/dbBZ7uvSkcmSDJT1KRpVLLRizxrJqod1v_jKksUjZwCxWnskxXXYQwreieXmcPkDprkCEdpyiRyet2o-oM15-9Nt0al2ZpMoUQ01P_hULSJ2iQSebJ7DR3JYlvpRHJZUj5HI1jDEwTcgUsHsh66kao0RGgSMAxj_u2NqIs9UAf1o0I7N3jcxCQXivYb2YVEtH2nsh_8OtK0gC3Go8ZjCmO8n-vyqeZcvvir9-_8xt1Qyx1ac5rjpwff61sNsh4GvAplcwSZ8TmywALH8xvhknhB6QnpSbRuZBXN-4gkHXvlddtOHk_veL39usJ64efhaDxhJ0a4yjRHb-UDe9AEWKyx3tatwHHB0ruezPv7E1mvXQmvt1_m9iU5O0Mi04NmOZHYVosFx9BU-sBYXY723kXUMlml6O0OiqSAcU6w5xiPkCFjxhBPperZc2TjXYxzx3tiv094lL8vQhiVRlJIYmAaar6XQKzDcyyB6J0Aa8nUdbwymtMw04QF1NVGot_LYccQ3A9CF_0HJ7QjkNMV_bJgxzoM8w_TtFqZomx5StjRq=w736-h561-no" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="486" src="https://2.bp.blogspot.com/dbBZ7uvSkcmSDJT1KRpVLLRizxrJqod1v_jKksUjZwCxWnskxXXYQwreieXmcPkDprkCEdpyiRyet2o-oM15-9Nt0al2ZpMoUQ01P_hULSJ2iQSebJ7DR3JYlvpRHJZUj5HI1jDEwTcgUsHsh66kao0RGgSMAxj_u2NqIs9UAf1o0I7N3jcxCQXivYb2YVEtH2nsh_8OtK0gC3Go8ZjCmO8n-vyqeZcvvir9-_8xt1Qyx1ac5rjpwff61sNsh4GvAplcwSZ8TmywALH8xvhknhB6QnpSbRuZBXN-4gkHXvlddtOHk_veL39usJ64efhaDxhJ0a4yjRHb-UDe9AEWKyx3tatwHHB0ruezPv7E1mvXQmvt1_m9iU5O0Mi04NmOZHYVosFx9BU-sBYXY723kXUMlml6O0OiqSAcU6w5xiPkCFjxhBPperZc2TjXYxzx3tiv094lL8vQhiVRlJIYmAaar6XQKzDcyyB6J0Aa8nUdbwymtMw04QF1NVGot_LYccQ3A9CF_0HJ7QjkNMV_bJgxzoM8w_TtFqZomx5StjRq=w736-h561-no" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Así se vería un script de Python usando el tema "turbo" en VIM.</td></tr>
</tbody></table>
<div style="text-align: justify;">
Segú veo, cuando se abre una pestaña de terminal nueva, esta inicia con el Default de Vim: </div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/VIO-95j13es4aTjbSSK8-kJcgmNPqGDcMSWZ0khIXSqKgibCK7-R6p1yF8KCdGLIAjoADZIxzt8L00UpA7xg0lwPMBpibvuGDETHDNTkBBID5EFvWv33afvjAa88lGFzH9aJ-7pQh3Y0yjb_MHFolico1yS5fCCx0cTXY2Nb7NjkoG37vazS66t3_sKM9a2A4Jlv63vLtlsBXhxXBtXAzn8uXBda5xBp-bJjzufKgGkw2YNoHc4vcmYQdOVcpIVy59ijOkvgWj7tEqY0EWkG07u4CVrjv0iZLW_ryBJFAcXzyqk-DVNsJXTjxOsjGaBAJ7JR3_31tKAprIfgpPpT9vJvDtAoCGa-gna1jH7c6PclJ-S8HJzy_TjNfdkTJzFDgiJ6MiAzNuSwMAHh4f6gAIECzMXfM7BavXBo-ypMuxEI57G2PJnx5j1z7o9guwHMkCMSnX9mRU7_Vr9xYYHbpMoq7mwMzmaFjOTacWBwQsQmQaR7MYcbu-sYRxpr6ch7Gwf5egZd-iVF7bDUANv_UKvnVBfA-nrONz-H4-7pElci=w736-h561-no" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="303" src="https://4.bp.blogspot.com/VIO-95j13es4aTjbSSK8-kJcgmNPqGDcMSWZ0khIXSqKgibCK7-R6p1yF8KCdGLIAjoADZIxzt8L00UpA7xg0lwPMBpibvuGDETHDNTkBBID5EFvWv33afvjAa88lGFzH9aJ-7pQh3Y0yjb_MHFolico1yS5fCCx0cTXY2Nb7NjkoG37vazS66t3_sKM9a2A4Jlv63vLtlsBXhxXBtXAzn8uXBda5xBp-bJjzufKgGkw2YNoHc4vcmYQdOVcpIVy59ijOkvgWj7tEqY0EWkG07u4CVrjv0iZLW_ryBJFAcXzyqk-DVNsJXTjxOsjGaBAJ7JR3_31tKAprIfgpPpT9vJvDtAoCGa-gna1jH7c6PclJ-S8HJzy_TjNfdkTJzFDgiJ6MiAzNuSwMAHh4f6gAIECzMXfM7BavXBo-ypMuxEI57G2PJnx5j1z7o9guwHMkCMSnX9mRU7_Vr9xYYHbpMoq7mwMzmaFjOTacWBwQsQmQaR7MYcbu-sYRxpr6ch7Gwf5egZd-iVF7bDUANv_UKvnVBfA-nrONz-H4-7pElci=w736-h561-no" width="400" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
pero de nuevo,</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<i><b>:colors turbo</b></i></div>
<div style="text-align: justify;">
resulta en:</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/aMXh99wIEFaOilIIcuOgris3wE_Dc72OjhMk-VepLNyLX2pF7vC72HPkjyJWulm697nJvgpsQOVONQcs_AcvMQg9Qo9iRPU3ONBcWSSzMRSc-Lyd6NOBbUypJjMRRH8SK2WyRmzPEMwzm5e5IjB2yPrtqZSn4D9f9bYUKV8dKNUYzjBjQQSdHLjtl0xe44DYYjvU_h5ZEJ2HHKA_E56OXr-3f1bZ_WD3fNdW8FI_ve5KvkJgat2N4nA3Otk7X9mLgmGkH7X9OmXtms8-K-1hAXztStQ3d0lUpDx9YUnmIneAlqOMZxW28xvB3FHt762RytmmqP6bgtih8tXzEX7ovpOEY7gvXd5tc3T2fKsTcWu-QnYOBykJHzQ1QlsLJDyGsh3exY_USxRfuWqGsihXIBrdSTViTCXdH4vkF6UD6K3fDdzNVZoNSGD5CchJgeLoH10myxFKrbbPQVJy9MDaXZcZDyvdEYgwRee01H6UlK9l9DZha18Mvt_P0fk4ETJmIf2yn9M0FwsLFyBpCwws7JRK-HwpCE9a_P67ShdFS8BE=w736-h561-no" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="304" src="https://1.bp.blogspot.com/aMXh99wIEFaOilIIcuOgris3wE_Dc72OjhMk-VepLNyLX2pF7vC72HPkjyJWulm697nJvgpsQOVONQcs_AcvMQg9Qo9iRPU3ONBcWSSzMRSc-Lyd6NOBbUypJjMRRH8SK2WyRmzPEMwzm5e5IjB2yPrtqZSn4D9f9bYUKV8dKNUYzjBjQQSdHLjtl0xe44DYYjvU_h5ZEJ2HHKA_E56OXr-3f1bZ_WD3fNdW8FI_ve5KvkJgat2N4nA3Otk7X9mLgmGkH7X9OmXtms8-K-1hAXztStQ3d0lUpDx9YUnmIneAlqOMZxW28xvB3FHt762RytmmqP6bgtih8tXzEX7ovpOEY7gvXd5tc3T2fKsTcWu-QnYOBykJHzQ1QlsLJDyGsh3exY_USxRfuWqGsihXIBrdSTViTCXdH4vkF6UD6K3fDdzNVZoNSGD5CchJgeLoH10myxFKrbbPQVJy9MDaXZcZDyvdEYgwRee01H6UlK9l9DZha18Mvt_P0fk4ETJmIf2yn9M0FwsLFyBpCwws7JRK-HwpCE9a_P67ShdFS8BE=w736-h561-no" width="400" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b><i>:colors torte</i></b></div>
<div style="text-align: justify;">
se mira así:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/ERC_hVLmbMeTDQtCHnaeVwFrBgTZ4pTK71PWSopGT6_uvEcBDJ9v6Le_H3e-C7ZiVyKyUAQrhUsas49GLQWS-3NXCpbQiOGE76DmScKxDXc_56Fd4dHUBgWisfzWhvkvDjQeGnq2M9bLv-nXG3-WJz7Um4tEgB9kd_SuBelF-DXB5cTtn8-xQajh5VRI36TWE2aOB_XaV_cANRb8eKFcHSoLY-c4WEy0mC0u3r_yjJjT54Vo7ARKF8GInwc5u1J6eA4TD-MrZtFbNohs5nL7kXY_r5RBDcY_bk54DxpO9gXGDpUJeSTQDd3TGDHWcUHs9ORtyEGVts0HYS9cyTKvY1seV6vU8kcpBES8eEBMzktalXIFVDOfLA2XQJi1i6RhTnujvKSAdJUZ98UgVxKhEJpC_eSEOs9dnAMEaHruJ9sUv39Ibgdaaw-8A5tDFrf3Ve7mmitCHxsOsqzjvCsIwe-x10Yals-0wSY7goYPgkGHLCZjb3J2x-T8BSttMSp8pRmopS7dSkXxECsebvy-nMXaMxYEbvU_qEUit9GioEQj=w736-h561-no" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="303" src="https://3.bp.blogspot.com/ERC_hVLmbMeTDQtCHnaeVwFrBgTZ4pTK71PWSopGT6_uvEcBDJ9v6Le_H3e-C7ZiVyKyUAQrhUsas49GLQWS-3NXCpbQiOGE76DmScKxDXc_56Fd4dHUBgWisfzWhvkvDjQeGnq2M9bLv-nXG3-WJz7Um4tEgB9kd_SuBelF-DXB5cTtn8-xQajh5VRI36TWE2aOB_XaV_cANRb8eKFcHSoLY-c4WEy0mC0u3r_yjJjT54Vo7ARKF8GInwc5u1J6eA4TD-MrZtFbNohs5nL7kXY_r5RBDcY_bk54DxpO9gXGDpUJeSTQDd3TGDHWcUHs9ORtyEGVts0HYS9cyTKvY1seV6vU8kcpBES8eEBMzktalXIFVDOfLA2XQJi1i6RhTnujvKSAdJUZ98UgVxKhEJpC_eSEOs9dnAMEaHruJ9sUv39Ibgdaaw-8A5tDFrf3Ve7mmitCHxsOsqzjvCsIwe-x10Yals-0wSY7goYPgkGHLCZjb3J2x-T8BSttMSp8pRmopS7dSkXxECsebvy-nMXaMxYEbvU_qEUit9GioEQj=w736-h561-no" width="400" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
y así... ¡<a href="https://github.com/flazz/vim-colorschemes">hay 569 temas distintos para escoger en el archivo de Flazz</a>!</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Nota: La terminal (pantheon-terminal) en Elementary es transparente; por esa razón la transparencia permanece. Pero encontré temas dentro del archivo de Flazz, que contienen colores sólidos. Tendrás que buscar y probarlos a ver cuál te gusta más. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Saludos :) </div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-40276289369435646832015-09-22T11:42:00.003-07:002015-09-22T11:46:12.410-07:00mkdir<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<b>mkdir</b> se lee "<b>m</b>a<b>k</b>e <b>dir</b>ectory" (se pronuncia algo así: <i>méik diréc-ttri</i>) y sirve para hacer directorios (carpetas o ficheros) en el Sistema de Ficheros de Linux. Su uso es muy simple. Desde tu Terminal: </div>
<div style="text-align: justify;">
<br /></div>
<ol style="text-align: justify;">
<li><i><b>$ pwd</b></i></li>
<li><i><b>$ mkdir testfolder</b></i></li>
<li><i><b>$ ls</b></i></li>
<li><i><b>$ mkdir testfolder/otrotestfolder</b></i></li>
<li><i><b>$ ls</b></i></li>
<li><i><b>$ ls testfolder/</b></i></li>
<li><i><b>$ mkdir testfolder/otrotestfolder/foldercito</b></i></li>
<li><i><b>$ ls</b></i></li>
<li><i><b>$ ls testfolder</b></i></li>
<li><i><b>$ ls testfolder/otrotestfolder</b></i></li>
<li><i><b>$ mkdir testfolder/otrotestfoldermas</b></i></li>
<li><i><b>$ ls testfolder </b></i></li>
<li><i><b>mkdir /mini-root</b></i></li>
<li><i><b>mkdir /mini-root/root-junior </b></i></li>
<li><i><b>ls / /home</b></i></li>
</ol>
<div style="text-align: justify;">
<i><b><br /></b></i></div>
<div style="text-align: justify;">
Recordá que si vas a crear un subdirectorio (un directorio adentro de otro directorio), <a href="http://linuxdesobrevivencia.blogspot.com/2015/09/pathnames-o-rutas.html">debés de definir la ruta relativa</a>, como mostramos en los pasos 7, 11 y 14 del ejemplo anterior. Como podés ver en los pasos 13 y 14, podés crear un directorio(s) desde otra locación distinta, siempre y <a href="http://linuxdesobrevivencia.blogspot.com/2015/09/pathnames-o-rutas.html">cuando usés una ruta absoluta</a>.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
En el paso 15 sólo estamos listando dos directorios distintos. Te invito a que pensés en cinco directorios y que los listés todos de forma simultánea. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Hemos usado mkdir usamos una vez ya, <a href="http://linuxdesobrevivencia.blogspot.com/2015/09/screenfetch-informacion-de-tu-pc-distro.html">en este artículo para crear un folder donde descargar Screenfetch</a>. Es importante para realizar tareas administrativas vía CLI y también para organizar tus archivos sin recurrir a la GUI. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Eso es todo por ahora :) </div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-16859863268378360422015-09-22T09:47:00.000-07:002015-09-22T11:26:08.073-07:00La importancia de los PPAs en Ubuntu y derivados: el caso Screenfetch. <div style="text-align: justify;">
Hace uno o dos años instalé Screefetch en Luna <a href="http://linuxdesobrevivencia.blogspot.com/2015/09/screenfetch-informacion-de-tu-pc-distro.html">siguiendo las indicaciones del artículo anterior</a>:<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/VANuX0cHeWsO_fjeTGJS1rGHxuEjcSqoGXzk_Fehlu3EiWxbHfP7YSPdyhdFHaFsQzdYKL3bySwGQncZ1RLBMnQRRfQhEz_IMe8kAFklgbx44W7ZoNPFsrPYr5UxUKUkwDoKiMfgLbHmp4Nhvo1hxd85auS9550JzD6EZQ6EzFDfYRv_5539WDZbyl-5Z0J7gJVB1ZtnMiS908iuLPDOUtlXhFthDlE_DC9y2Z2kr8_BMCAtRcFpoTMMv6mN073-WrvKpFWXf_TMK-pM47QMaINqO_v3q_Ra5y5TJ1OC0GdDBTLjY3WNubtYqOGiheAcxyOn0EB-um1kWLwsuDO5jhv1meXh9t3jqCh35C82v4Syjiyd7pPt8jVTk3vQkczVkfggsge8GxmJ-YA8hoOPSVgnmmK75Pzps8PAkU7wAsUO-HkD1Nv7q5dKBLfBLHsR7yYflHXPSR1yHZWwlfEOfHXiV3Afp-uPNkiCG3KUOYeRQnJF1UcuGGW6feQ6q_WaPzbiEC7WPiEGxW65Jz3Q8rzqlLN3NQyNoxayJFRMX6jV=w852-h527-no" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="394" src="https://4.bp.blogspot.com/VANuX0cHeWsO_fjeTGJS1rGHxuEjcSqoGXzk_Fehlu3EiWxbHfP7YSPdyhdFHaFsQzdYKL3bySwGQncZ1RLBMnQRRfQhEz_IMe8kAFklgbx44W7ZoNPFsrPYr5UxUKUkwDoKiMfgLbHmp4Nhvo1hxd85auS9550JzD6EZQ6EzFDfYRv_5539WDZbyl-5Z0J7gJVB1ZtnMiS908iuLPDOUtlXhFthDlE_DC9y2Z2kr8_BMCAtRcFpoTMMv6mN073-WrvKpFWXf_TMK-pM47QMaINqO_v3q_Ra5y5TJ1OC0GdDBTLjY3WNubtYqOGiheAcxyOn0EB-um1kWLwsuDO5jhv1meXh9t3jqCh35C82v4Syjiyd7pPt8jVTk3vQkczVkfggsge8GxmJ-YA8hoOPSVgnmmK75Pzps8PAkU7wAsUO-HkD1Nv7q5dKBLfBLHsR7yYflHXPSR1yHZWwlfEOfHXiV3Afp-uPNkiCG3KUOYeRQnJF1UcuGGW6feQ6q_WaPzbiEC7WPiEGxW65Jz3Q8rzqlLN3NQyNoxayJFRMX6jV=w852-h527-no" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">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.</td></tr>
</tbody></table>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
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. <br />
<br />
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 <b>son a veces muy
escuetas y muy poco intuitivas</b> (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". </div>
<div style="text-align: justify;">
<br />
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:<br />
<br />
<h3 style="text-align: center;">
Screenfetch para Ubuntu y derivados.</h3>
</div>
<div style="text-align: justify;">
En fin, <a href="https://github.com/KittyKatt/screenFetch">al leer las instrucciones con detalle</a>, veo que Brett hace referencia al LaunchPad, que es un repo para <a href="http://linuxdesobrevivencia.blogspot.com/2015/07/que-son-los-ppas-y-que-es-un-repositorio.html">PPAs de Ubuntu y derivados. Este es un tema que ya cubrimos en julio, así que será fácil que sigás con estas instrucciones:</a></div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/xjwuzXT_Zsg16fZID6fHySDIhB6Z185H2x2pyZmtwWf6Ln34lS-D2DuKPA0diOLJ11BEpcZPSbILfD0TBFAT8B2L43D6QWtP-EmKJtLnijuROxQ85mZv__4WIbVEgxZfR7XdkAkfe8g7xmuWHXzJn_NHHWtJIPNNwjK6ywda37ngMqfaUDGIEqqUu1ZUc-uOPd00A04Usc8djxbKwcw0kzcpofmnGc-muYtp_7Q2IbWJiel0ZBNlrbkthsrLsCOjx6dzu95mYqYZu9ZAES59lsIMxqXiQeoMW0Ps9y6tqDucVrZZWLVztyHE7Axz33P4pCaMemu_K-TDu0VkPo77gKk5ki6PmBuuYrvAhrKLOSoOvm5pSaMHO9OEMG6_6Qvt0amUsYjBJNBP6TZ0Z6nnpeRQLZysj1xmgTzQZHg8YjStKcZj-WfjiucQ3CoDmLj0lwfOrmzWAh7VDonb0tmUg5jp-0U3Vrzoy6Ud--305Vu9tVJajcGI5fjh3IRgEA01vudQjN9wFH77ELhECcE3N8lkwXSIw6H7cFXkeJgIlFSz=w817-h227-no" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="88" src="https://4.bp.blogspot.com/xjwuzXT_Zsg16fZID6fHySDIhB6Z185H2x2pyZmtwWf6Ln34lS-D2DuKPA0diOLJ11BEpcZPSbILfD0TBFAT8B2L43D6QWtP-EmKJtLnijuROxQ85mZv__4WIbVEgxZfR7XdkAkfe8g7xmuWHXzJn_NHHWtJIPNNwjK6ywda37ngMqfaUDGIEqqUu1ZUc-uOPd00A04Usc8djxbKwcw0kzcpofmnGc-muYtp_7Q2IbWJiel0ZBNlrbkthsrLsCOjx6dzu95mYqYZu9ZAES59lsIMxqXiQeoMW0Ps9y6tqDucVrZZWLVztyHE7Axz33P4pCaMemu_K-TDu0VkPo77gKk5ki6PmBuuYrvAhrKLOSoOvm5pSaMHO9OEMG6_6Qvt0amUsYjBJNBP6TZ0Z6nnpeRQLZysj1xmgTzQZHg8YjStKcZj-WfjiucQ3CoDmLj0lwfOrmzWAh7VDonb0tmUg5jp-0U3Vrzoy6Ud--305Vu9tVJajcGI5fjh3IRgEA01vudQjN9wFH77ELhECcE3N8lkwXSIw6H7cFXkeJgIlFSz=w817-h227-no" width="320" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/pITO0Yei61RCVCFPnm8iQrnOd7suRuEdkTMYyU4bCKE3g3BRLNDLCFfjemvUo7WfkgiZ11PoUKj-qWPvoZEBnrE0YLOEdIHir_7-tmeVOXHV4qOd3PbnKmTwTZMMWxLv1QUQTj-nXw5ftn5hdIdxawNJAiC6PKszgzmLZ4yNpAHqfydY0suyVEs8GxmrNKB0IIIhTMKlSm_11KR-yTHqhcdBY0Q7mbtABSFgZRLHA3uD1micaXyn3texwafUcM4XJps_hCBl-i7xIYk39PrAbOaLQpZOIQhWaZdmaEMEsioU-CDEPuQTHKMpJRJrr9yDNd8eVSJrHvoY1KUnoHgNxY33xNMAmY4B7YWuntCzrECSjrbXghr6QX7qIET2DtZq1RlIYSwcp0YVTFJGwlaYASAqzFhxkXrZb7_2Xy1DHbDk6nlqbvcbY_5Ly69Fl-2CkOkwPVNgal1IkvsTG0T0SpgZiNGsVbyx3OsC2IKGFM6rLATu6E2yXFcY8UdXybY1w4q15OFtfDQQ6ZXcPykmh1mH225b4sM8fvPLvLMpl2pI=w765-h270-no" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="112" src="https://4.bp.blogspot.com/pITO0Yei61RCVCFPnm8iQrnOd7suRuEdkTMYyU4bCKE3g3BRLNDLCFfjemvUo7WfkgiZ11PoUKj-qWPvoZEBnrE0YLOEdIHir_7-tmeVOXHV4qOd3PbnKmTwTZMMWxLv1QUQTj-nXw5ftn5hdIdxawNJAiC6PKszgzmLZ4yNpAHqfydY0suyVEs8GxmrNKB0IIIhTMKlSm_11KR-yTHqhcdBY0Q7mbtABSFgZRLHA3uD1micaXyn3texwafUcM4XJps_hCBl-i7xIYk39PrAbOaLQpZOIQhWaZdmaEMEsioU-CDEPuQTHKMpJRJrr9yDNd8eVSJrHvoY1KUnoHgNxY33xNMAmY4B7YWuntCzrECSjrbXghr6QX7qIET2DtZq1RlIYSwcp0YVTFJGwlaYASAqzFhxkXrZb7_2Xy1DHbDk6nlqbvcbY_5Ly69Fl-2CkOkwPVNgal1IkvsTG0T0SpgZiNGsVbyx3OsC2IKGFM6rLATu6E2yXFcY8UdXybY1w4q15OFtfDQQ6ZXcPykmh1mH225b4sM8fvPLvLMpl2pI=w765-h270-no" width="320" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b><i>$ sudo add-apt-repository ppa:djcj/screenfetch</i></b></div>
<div style="text-align: justify;">
<b><i>$ sudo apt install screenfetch</i></b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
En ambos casos se te va a preguntar si querés agregar y permitir instalar. Aceptás y ya. Corrés </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b><i>$ screenfetch</i></b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
y listo. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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;<a href="http://linuxdesobrevivencia.blogspot.com/2015/09/screenfetch-informacion-de-tu-pc-distro.html"> lo logré con el otro método que te mostré antes</a>; pero repliqué este otro y también funcionó. <br />
<br />
Eso es todo por hoy. Compartinos tus Screenshots :)</div>
<div style="text-align: justify;">
<br /></div>
<span id="goog_810649674"></span><br />
<div class="separator" style="clear: both; text-align: center;">
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-42485241775789023982015-09-22T09:46:00.000-07:002015-09-22T15:06:01.711-07:00Screenfetch: información de tu PC, Distro y su logo, en Terminal.<div style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center;">
</div>
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:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/GmlXyQ4D5Yroddog6-Mk5nucMaa-RMt9h2cQaxvf5kBvia4p9AZvh0UT5fluBEOPSaxAuNr2yjPpvwtmPQMRyWjCTA5RIXlrHFhb2KINLDhFRUqi5UyUxErX8p20ooy5E3k1mWl3akZY-qk2aBmDdR7SfwOhmzNh9MCBkodAlltYWxu_NoMvHqsdYxwzNyuXkpzrTXWazlwAp3X4ybwfhEBPWB5jWB1XZOcx7FsdUYOrLCKF80OMbDAo-1OpHRbuXpVM_WEJoFelfYn1deHqfoqn_5fsEa-3gWYTLq2aCpPh3iCoESaep6OsBRoZhQP0vz4uzr15jJunPSVzdRMxfECT-OYAQ159QXrpdpIiPtPINNMrNI5hEQgZKDtCrcqAdsT1XIYgbg7AkfcO4znXCH5ShXVnwf8eNpOrSpP7-L_eP5GfwvmhnkpPwvp3ROzCcwybK6bSvd-ZwpVHcUUUTvAooBOUj5DKi3ltQVieUZ5ljxsxGe-2K2uAVJSPsnpDHLvOrkXtAr44qVE2DHFHJB-SG91Qd9Kp3Ih7O9_bALG7=w683-h506-no" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="474" src="https://4.bp.blogspot.com/GmlXyQ4D5Yroddog6-Mk5nucMaa-RMt9h2cQaxvf5kBvia4p9AZvh0UT5fluBEOPSaxAuNr2yjPpvwtmPQMRyWjCTA5RIXlrHFhb2KINLDhFRUqi5UyUxErX8p20ooy5E3k1mWl3akZY-qk2aBmDdR7SfwOhmzNh9MCBkodAlltYWxu_NoMvHqsdYxwzNyuXkpzrTXWazlwAp3X4ybwfhEBPWB5jWB1XZOcx7FsdUYOrLCKF80OMbDAo-1OpHRbuXpVM_WEJoFelfYn1deHqfoqn_5fsEa-3gWYTLq2aCpPh3iCoESaep6OsBRoZhQP0vz4uzr15jJunPSVzdRMxfECT-OYAQ159QXrpdpIiPtPINNMrNI5hEQgZKDtCrcqAdsT1XIYgbg7AkfcO4znXCH5ShXVnwf8eNpOrSpP7-L_eP5GfwvmhnkpPwvp3ROzCcwybK6bSvd-ZwpVHcUUUTvAooBOUj5DKi3ltQVieUZ5ljxsxGe-2K2uAVJSPsnpDHLvOrkXtAr44qVE2DHFHJB-SG91Qd9Kp3Ih7O9_bALG7=w683-h506-no" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">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.</td></tr>
</tbody></table>
<span id="goog_667913104"></span><a href="https://draft.blogger.com/"></a><span id="goog_667913105"></span><br />
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 <b>ScreenFetch</b> (sedice scriinfetch").<br />
<br />
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].<br />
<br />
<h2 style="text-align: center;">
Screenfetch: instalación general.</h2>
<h2 style="text-align: center;">
</h2>
Las siguientes instrucciones me funcionaron en los siguientes entornos:<br />
<ul>
<li> ElementaryOS Freya en mi laptop.</li>
<li> Arch Linux corriendo en VirtualBox adentro de mi laptop con Freya</li>
<li> Raspbian en el Banana Pro por medio de sesión remota vía terminal desde mi laptop.</li>
</ul>
<br />
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 :)<br />
<br />
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).<br />
<br />
<h3>
1) Instalar Git</h3>
</div>
<div style="text-align: justify;">
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.<br />
<blockquote class="tr_bq">
para Ubuntu y afines:<br />
<div style="text-align: center;">
<i><b>$ sudo apt install git</b></i></div>
<br />
<br />
para Arch y derivados:<br />
<div style="text-align: center;">
<i><b>$ sudo pacman -Syu git</b></i></div>
</blockquote>
A partir de acá, podemos instalar de dos formas:<br />
<br />
<h3>
2) Creando un directorio dentro de /home y clonar Screenfetch desde Github:</h3>
<div style="text-align: justify;">
Hacemos un directorio adentro de "home" (recordá que " <b>~</b> <i><b> </b></i>" es el home directory)<i><b><br /></b></i></div>
<div style="text-align: center;">
<i><b>mkdir ~/screenfetch</b></i><br />
<i><b>cd ~/screenfetch</b></i></div>
<br />
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í: <br />
<div style="text-align: center;">
<br />
<i><b>$ git clone git://github.com/KittyKatt/screenFetch.git screenfetch</b></i></div>
<br />
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<br />
<blockquote class="tr_bq">
<div style="text-align: center;">
<b><i><i>$ sudo screenfetch/screenfetch-dev</i> </i></b></div>
</blockquote>
<br />
<h3>
2-A) Navegando hacia /temp y clonar Screenfetch desde Github:</h3>
En lugar de hacer un nuevo directorio, navegamos hacia el directorio temporal conocido como "/tmp" y proseguir de la misma forma:<br />
<br />
<i><b>$ cd /tmp </b></i><i><b>$ git clone git://github.com/KittyKatt/screenFetch.git screenfetch</b></i><br />
<b><i>$ sudo /tmp/screenfetch/screenfetch-dev</i></b><br />
<b><i> </i></b><br />
<br />
<h3>
¿Cuál es la diferencia entre ambos métodos? </h3>
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. <br />
<br />
<h3>
3) Ejecutar Screenshot desde su locación: </h3>
</div>
<div style="text-align: justify;">
Dependiendo del lugar donde lo instalaste, vas a tener que escribir </div>
<div style="text-align: justify;">
<i><b> </b></i></div>
<div style="text-align: center;">
<i><b>$ sudo /tmp/screenfetch/screenfetch-dv</b></i></div>
<div style="text-align: center;">
<i><b>$ sudo ~/screenfetch. </b></i></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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:
<br />
<br />
<div style="text-align: center;">
<i>$ cp ruta/origen ruta/destino</i></div>
<br />
<h3>
4) Copiar el programa, a /usr/bin. </h3>
<div style="text-align: center;">
<i><b>$ sudo cp screenfetch/screenfetch-dev /usr/bin/screenfetch </b></i><br />
<i><b>$ sudo cp /tmp/screenfetch/screenfetch-dev /usr/bin/screenfetch</b></i></div>
<br />
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.<br />
</div>
<div style="text-align: justify;">
<h3>
5) Cambiar permisos:</h3>
<div style="text-align: center;">
<i><b>$ sudo chmod 755 /usr/bin/screenfetch</b></i></div>
<br />
chmod es "<b>ch</b>ange <b>mod</b>e", cambiar modo. Asigna permisos especiales a objetos y elementos en el Filesystem de Unix. y listo. Ahora corré<br />
<br />
<h3>
6) Ejecutar y aplaudir como morsa.</h3>
<div style="text-align: center;">
<i><b>$ screenfetch</b></i></div>
Y vas a tener un resultado similar a este:<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/QRRGdqYQRU1es5sKVQggxPLmZQybFUhwHiOb9oM2o7s0BbQDmjveVDtcJIeTx6XUz5RNCV0ozrXipE-IgJUUEu6yya61E4iexzfcR4WslukeUDBdjFCpD42ISJE0sa42CIoTlzF17I0wrheZAGzM2ufBi8Nrfk8xfxtusxpmke_-_DzGKyp9v9kJScCUe-fPbJ-eUFK0BZHD7bbCCreELY7gn-G1MPD6CaXNfzqL20ykFhBojgA1LpMbZGEBKQH7o27NPeBGxJtYM7Dk6gdLxpdy_UnBZZUIj0vh3zpNcIEYteN5AFBDcYbBVnxy_mL2-_X-2YegQUNHYh72D19zyxgUgMSdT3TKK_OrpFmOs4RBA7jR9R4UPXsan5WDh2qlHUA4gXRhLnCREDq23zZ3fV-OfaUtUWsSwWCsdtbYpbw7ugGFZnOKdTfyRpl3u47BMsqO6K-K7TFtOYR1Kw_-JYfAG9Dezk7Tmu06vhz8v0AS6Tmm-JAdBNLbR8j5YX8gtCUvXcRSbz2_2ZX6jjCq9-9sprGjmqBcAj0Vl4oR75iF=w743-h595-no" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="512" src="https://3.bp.blogspot.com/QRRGdqYQRU1es5sKVQggxPLmZQybFUhwHiOb9oM2o7s0BbQDmjveVDtcJIeTx6XUz5RNCV0ozrXipE-IgJUUEu6yya61E4iexzfcR4WslukeUDBdjFCpD42ISJE0sa42CIoTlzF17I0wrheZAGzM2ufBi8Nrfk8xfxtusxpmke_-_DzGKyp9v9kJScCUe-fPbJ-eUFK0BZHD7bbCCreELY7gn-G1MPD6CaXNfzqL20ykFhBojgA1LpMbZGEBKQH7o27NPeBGxJtYM7Dk6gdLxpdy_UnBZZUIj0vh3zpNcIEYteN5AFBDcYbBVnxy_mL2-_X-2YegQUNHYh72D19zyxgUgMSdT3TKK_OrpFmOs4RBA7jR9R4UPXsan5WDh2qlHUA4gXRhLnCREDq23zZ3fV-OfaUtUWsSwWCsdtbYpbw7ugGFZnOKdTfyRpl3u47BMsqO6K-K7TFtOYR1Kw_-JYfAG9Dezk7Tmu06vhz8v0AS6Tmm-JAdBNLbR8j5YX8gtCUvXcRSbz2_2ZX6jjCq9-9sprGjmqBcAj0Vl4oR75iF=w743-h595-no" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">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.</td></tr>
</tbody></table>
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/HVU40yA_QvKS63DZUCBZVyihG8gHnxRFiW5oFLCBpTN_USjt1mKpnJyYBMYV1xXJfVF-sMaPRhZyNHFEIjQBeVWaC_D-_ZA-BiLOKEDC2OHNISdaMDOamE79_WejrjTyip-Z5YeczXDdyPG-aRFEt2vdc4fZLpd120RdTTjs8DS3_aRQJMs5XaNDINU79X3UgqqDP5pmZVrju4OdPSqmkMW9n-hPoLJ83K5XScsf5k_PEbZcPBLlZcaHxHF1lkD-VmouKU54PI-BGN34-k61xw7wCHZD7Qyt4N3zUxy-cGlu_QgNWjn-EXJIcEKwEnQ806LXztvVX8rlkcBTUC5v2dvG8toH4hVjM1owGk8UVbwOTDt6oQ1MbgZg8hi6fDUsTuDW4HqfoRzlV5HAO6yDjOJg-1U64ao1Lgy0bLx7oa62M9PxEdbFZQAsKuNzA1UJeSrlYr8LIKFWnUp6rX4M7j8TukNlCN2YvhJiehbaYmn9Tw7F4a3IDAfJLpT7_JT3mckPsbX5AvS4wXARf1wjkM6-Uenf1r4Kv0VzXc2FM56b=w930-h653-no" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="448" src="https://1.bp.blogspot.com/HVU40yA_QvKS63DZUCBZVyihG8gHnxRFiW5oFLCBpTN_USjt1mKpnJyYBMYV1xXJfVF-sMaPRhZyNHFEIjQBeVWaC_D-_ZA-BiLOKEDC2OHNISdaMDOamE79_WejrjTyip-Z5YeczXDdyPG-aRFEt2vdc4fZLpd120RdTTjs8DS3_aRQJMs5XaNDINU79X3UgqqDP5pmZVrju4OdPSqmkMW9n-hPoLJ83K5XScsf5k_PEbZcPBLlZcaHxHF1lkD-VmouKU54PI-BGN34-k61xw7wCHZD7Qyt4N3zUxy-cGlu_QgNWjn-EXJIcEKwEnQ806LXztvVX8rlkcBTUC5v2dvG8toH4hVjM1owGk8UVbwOTDt6oQ1MbgZg8hi6fDUsTuDW4HqfoRzlV5HAO6yDjOJg-1U64ao1Lgy0bLx7oa62M9PxEdbFZQAsKuNzA1UJeSrlYr8LIKFWnUp6rX4M7j8TukNlCN2YvhJiehbaYmn9Tw7F4a3IDAfJLpT7_JT3mckPsbX5AvS4wXARf1wjkM6-Uenf1r4Kv0VzXc2FM56b=w930-h653-no" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Screenfetch de Arch Linux (vía VirtualBox en Freya) desde un entorno de escritorio que estoy probando</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/OfFRQe4TGLVdlbs_hW81yBXYRaA0LKarI3uTNCQFKIZTQUb0wQ3R5KCQMCHznCn79b4WDnfcIcZewrbHFRK_aZ1lf-Fy2XB98N1BkbS0xB5xdU0O2JV1mcQslE__FSCclByMGurI1f4-hFaXeF38M7axm6yQSMxoPy2agQM7mCKKmJx-ZZIu7eJaPnY2nYW_OwtOw_LiPU6uKeD_mMM6OTAdgPJRrNy5jLoC__1k7GA-Pgaw2JxcAxJfNSyS0688G9HyupMzr9prjH-VCFlXPe9t0Jp4TEwqlen2mMLI7FVGMEinx7pAkS72atTzXZWFjOEdAqTyxGX6bpIfYTlU_HHRqmUWJ02Bavz-X1Af3-BZlUzXPiYJp21K-3pKq1AZE5ykrlXx4EXLFxiXU48oPPKoXwTdHbf1p4eSQUBHlOymSwwvtzRAGGBWsw802aKIPEeNqE0lIn50KnvSmpCafJW13fMXIiNkMzc7oPEy_m61AK7IJAqkUnQnJaWhoXY6WPe6uQvVmphxvk6uxsBqG8EBcm4nFvotLa8ZwoZF7AaD=w675-h561-no" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="530" src="https://4.bp.blogspot.com/OfFRQe4TGLVdlbs_hW81yBXYRaA0LKarI3uTNCQFKIZTQUb0wQ3R5KCQMCHznCn79b4WDnfcIcZewrbHFRK_aZ1lf-Fy2XB98N1BkbS0xB5xdU0O2JV1mcQslE__FSCclByMGurI1f4-hFaXeF38M7axm6yQSMxoPy2agQM7mCKKmJx-ZZIu7eJaPnY2nYW_OwtOw_LiPU6uKeD_mMM6OTAdgPJRrNy5jLoC__1k7GA-Pgaw2JxcAxJfNSyS0688G9HyupMzr9prjH-VCFlXPe9t0Jp4TEwqlen2mMLI7FVGMEinx7pAkS72atTzXZWFjOEdAqTyxGX6bpIfYTlU_HHRqmUWJ02Bavz-X1Af3-BZlUzXPiYJp21K-3pKq1AZE5ykrlXx4EXLFxiXU48oPPKoXwTdHbf1p4eSQUBHlOymSwwvtzRAGGBWsw802aKIPEeNqE0lIn50KnvSmpCafJW13fMXIiNkMzc7oPEy_m61AK7IJAqkUnQnJaWhoXY6WPe6uQvVmphxvk6uxsBqG8EBcm4nFvotLa8ZwoZF7AaD=w675-h561-no" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">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.</td></tr>
</tbody></table>
<br />
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. <a href="http://linuxdesobrevivencia.blogspot.com/2015/09/la-importancia-de-los-ppas-en-ubuntu-y.html">En la siguiente nota dedico un artículo para usuarios de Ubuntu/derivados.</a></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7559136936161218251.post-43747224756419626602015-09-17T15:39:00.001-07:002015-09-17T15:56:55.344-07:00Pathnames o Rutas.<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="font-size: x-small;"><a href="https://es.wikipedia.org/wiki/Ruta_%28inform%C3%A1tica%29">Definición de Ruta acá</a>. En inglés, path (<a href="https://www.youtube.com/watch?v=LkvteaCK1FY">se pronuncia pæz</a>, con la "zeta" ibérica).</span></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Hay mucho que hablar respecto al Filesystem (sistema de ficheros, carpetas o archivos, en español); tanto que condensar toda la información disponible en una sola nota sería poco amigable; así que hemos descompuesto lo que hemos aprendido en partes más asimilables. Esta es una de ellas. Esperamos que a los amigos principiantes nos sirva mucho. </div>
<div style="text-align: justify;">
<br /></div>
<h3 style="text-align: justify;">
Hay dos tipos de rutas (o pathnames) que podés identificar: absolutas y relativas.</h3>
<h4 style="text-align: justify;">
</h4>
<ul style="text-align: justify;">
<li>El absolute pathname o ruta absoluta <b>SIEMPRE </b>inicia en el directorio root " <b>/</b> " y continua rama por rama hasta que alcanza el directorio deseado. Para los principiantes, recomiendo mucho usar rutas absolutas a la hora de navegar en la Terminal, para familiarizarnos con ella y para conocer de mejor forma el Filesystem (sistema de archivos/ficheros):</li>
</ul>
<div style="text-align: justify;">
<blockquote class="tr_bq">
<blockquote class="tr_bq">
/home/jose/fotos/fap_folder/oldies</blockquote>
</blockquote>
<blockquote class="tr_bq">
<blockquote class="tr_bq">
/usr/src/linux/README</blockquote>
</blockquote>
<blockquote class="tr_bq">
<blockquote class="tr_bq">
/var/log </blockquote>
</blockquote>
</div>
<div style="text-align: justify;">
</div>
<ul style="text-align: justify;">
<li>Una Relative pathname o ruta relativa inicia en el directorio donde te encontrás en un momento determinado; es decir, <b>NUNCA</b> inicia con " <b>/</b> ". Asumiendo que el usuario está en el directorio /home/jose el directorio /usr y el directorio /var respectivamente (precisamente por eso son relativas, porque se usan respecto a la posición del usuario en un momento determinado), las rutas realtivas serán:</li>
</ul>
<div style="text-align: justify;">
<blockquote class="tr_bq">
<blockquote class="tr_bq">
fotos/fap_folder/oldies</blockquote>
</blockquote>
<blockquote class="tr_bq">
<blockquote class="tr_bq">
src/linux/README</blockquote>
</blockquote>
<blockquote class="tr_bq">
<blockquote class="tr_bq">
log </blockquote>
</blockquote>
¿La diferencia? Pues que es útil usar rutas absolutas y relativas según la situación. Por ejemplo, si vas a operar dentro de un subdirectorio, usar una ruta relativa te ahorra escribir tooooda la ruta. Por ejemplo, si estás en:<br />
<blockquote class="tr_bq">
<blockquote class="tr_bq">
<i> /home/jose/fotos/fap_folder/oldies/monroe</i></blockquote>
</blockquote>
y querés navegar hacia:<br />
<blockquote class="tr_bq">
<blockquote class="tr_bq">
<i>/home/jose/fotos/fap_folder/oldies/greta_garbo</i></blockquote>
</blockquote>
en lugar de escribir:<br />
<blockquote class="tr_bq">
<blockquote class="tr_bq">
<i> $ cd /home/jose/fotos/fap_folder/oldies/greta_garbo</i></blockquote>
</blockquote>
simplemente hacés: <br />
<blockquote>
<blockquote class="tr_bq">
<i>$ cd <b>../</b>greta_garbo</i></blockquote>
</blockquote>
<br />
Recordá que los dos puntos representan al directorio o "rama anterior". Pero a veces usar una ruta absoluta es mucho más conveniente, como cuando estás en:<br />
<blockquote>
<blockquote class="tr_bq">
<i>/home/jose/fotos/fap_folder/oldies/greta_garbo</i></blockquote>
</blockquote>
y querés moverte a:<br />
<blockquote class="tr_bq">
<blockquote class="tr_bq">
<i>/usr/tmp </i></blockquote>
</blockquote>
Si usás las rutas relativas tendrías que hacer:<br />
<blockquote class="tr_bq">
<blockquote class="tr_bq">
<i>$ cd ../../../../../usr/tmp</i> </blockquote>
</blockquote>
lo que implica escribir más. En su lugar es mejor escribir directamente:<br />
<blockquote class="tr_bq">
<blockquote class="tr_bq">
<i>$ cd /usr/tmp</i></blockquote>
</blockquote>
<br />
<br />
Y eso es todo por ahora. Saludos :)</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
Unknownnoreply@blogger.com0San Salvador, El Salvador13.6929403 -89.21819110000001313.5695208 -89.379552600000011 13.8163598 -89.056829600000015tag:blogger.com,1999:blog-7559136936161218251.post-45327913241045100202015-09-10T18:53:00.001-07:002015-09-10T18:53:31.737-07:00Banana Pro: Resumen de actividades.<div style="text-align: justify;">
Hola a todos.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Los saludo desde el Banana Pro. Durante los días posteriores a su adquisición, me di a la tarea de personalizar Raspbian un poco. Hasta inicios de agosto, logramos hacer lo siguiente:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
• Añadimos soporte para idioma español en el teclado.</div>
<div style="text-align: justify;">
• Cambiamos el idioma a español en todo el sistema operativo (ojo mis novatos, los comandos siguen escribiéndose en inglés pero las respuestas de Terminal se leen en español. Luego de eso regresé a inglés por cuestión de costumbre).</div>
<div style="text-align: justify;">
• Después de un garrafal error de Novato (estaba usando la contraseña equivocada y me salían las canas verdes creyendo que mi Banana vino arruinado), pude conectarme a mi router por medio del adaptador WiFi integrado en el Banana :)</div>
<div style="text-align: justify;">
•Personalizamos el LXDE para que tuviera una apariencia menos noventera. </div>
<div style="text-align: justify;">
• Hice que la terminal quedara embedida o "integrada" en el escritorio y también que arranque junto con el escritorio (sin comando alguno, sólo con el prompt).</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Con estos cambios, se ve así:</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: 0px; margin-right: 0px; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/OYbBMJHrdM1t0t24UtK5LLmFDl6GgjOmDlFusPXY9bV6Lv24hqO6aWCf4OmHyUXjhlbmW08ERLXvRNrA_CsAp0plfFM9ZCj0qNmvvdegMdmzl54a0MlE1961niG7XERnmJeIqzxpdxG6l86pF5AljIkkqnOBJjoFiKc6sYX30EbUUSe4Ghj65NCWcZD4AdsI4gZHCzwTen8b75Hs_QQ0y-a0StjQd0uczecdMU8f5JRBG9dtUm6KKhkWEyY5IKbPUkprOeKOPiVdAeVPIfgRsoLBA_gkh8RLCMAW7VWMZCdWwbvAmJxnw0cJRbgBGDMjqEM4xtQgrSZZTRRQrwekNg7lzE9Nvt9bCX_vqN_JVgLgXTKzl_lK57TtkMGWwKKZayee9blCpVkW7LZY_25G84afBbJtRlsiY933l1WojL7yqywLg-DRg8TVqkOV4W48BrZLe2hMjk_FfYONYAjIPEmsIPSHOJZp6W4bktVa3p98sVzqufJ5pH9Mdb0mzYGubBqgMMLmRmTVvUSXoJm7FI8UFs6rLGFu9wQL6vMetRDh=w1080-h1920" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="360" src="https://1.bp.blogspot.com/OYbBMJHrdM1t0t24UtK5LLmFDl6GgjOmDlFusPXY9bV6Lv24hqO6aWCf4OmHyUXjhlbmW08ERLXvRNrA_CsAp0plfFM9ZCj0qNmvvdegMdmzl54a0MlE1961niG7XERnmJeIqzxpdxG6l86pF5AljIkkqnOBJjoFiKc6sYX30EbUUSe4Ghj65NCWcZD4AdsI4gZHCzwTen8b75Hs_QQ0y-a0StjQd0uczecdMU8f5JRBG9dtUm6KKhkWEyY5IKbPUkprOeKOPiVdAeVPIfgRsoLBA_gkh8RLCMAW7VWMZCdWwbvAmJxnw0cJRbgBGDMjqEM4xtQgrSZZTRRQrwekNg7lzE9Nvt9bCX_vqN_JVgLgXTKzl_lK57TtkMGWwKKZayee9blCpVkW7LZY_25G84afBbJtRlsiY933l1WojL7yqywLg-DRg8TVqkOV4W48BrZLe2hMjk_FfYONYAjIPEmsIPSHOJZp6W4bktVa3p98sVzqufJ5pH9Mdb0mzYGubBqgMMLmRmTVvUSXoJm7FI8UFs6rLGFu9wQL6vMetRDh=w1080-h1920" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Terminal embebida en el Escritorio y automáticamente abierta al inicio de Sesión. Simula ser transparente pero en realidad sólo está renderizando el background dentro de la Terminal; LXDE no tiene soporte nativo par transparencias. Como pueden ver con htop, corriendo IceWeasel y Terminal de Root (en una ventana aparte), se consume poca RAM).</td></tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
• Instalamos Chromium (quien al igual que Chrome, gasta RAM como un chupacabras) y también hicimos que corriera desde el arranque del escritorio. Justo hoy lo cambiamos por Iceweasel, una variante de Firefox que está instalado de fábrica en muchas Distros de Linux. </div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
• Configuramos el /etc/fstab para que el sistema monte automáticamente una USB de 32GB al arrancar. Esto se realiza cuando querés agregar nuevas unidades "fijas" de almacenaje que no querés montar manualmente. Esta la he usado para cuando descargo archivos de internet —vea el siguiente punto.</div>
<div style="text-align: justify;">
• También instalamos Deluge Console para descargar torrentes desde la terminal (sea trabajando directamente en el Banana, o desde otro equipo haciendo acceso remoto vía SSH). En pocas palabras: configuramos nuestro propio servidor local de torrents.</div>
<div style="text-align: justify;">
• Exploramos un par de aplicaciones educativas que Raspbian incluye: SonicPi (programa basado en Python para aprender a programar mientras se crea música), aproveché el bajo consumo de energía para darle seguimiento a mis cursos de programación autodidacta mientras no adquiría mi laptop.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
En pocas palabras, me he divertido con el Banana Pro. Hay muchísimos más proyectos que hacer en él; por ejemplo, conectar un disco duro al puerto SATA para tener una unidad de almacenamiento muchísimo mayor (traté esto una vez compré mi laptop nueva: traté quitándole el disco duro de 1TB que trae y lo conecté al Banana Pro, pero el puerto de poder SATA no parece proveer suficiente energía para encenderle y mantenerlo operativo... no fue reconocido. Intentaré con discos duros de menor capacidad -que podrían tener menos "plates" y por lo tanto, consumir menos amperios- pero me tomará un tiempo el conseguir uno), o hacer sistemas de teatro en casa usando software libre. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Como prometí, los mantendré actualizados y añadiré tutoriales para configurar SBCs como el Banana Pro y Raspberry Pi. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Por cierto, uno de mis amigos se llevó mis dos Rasbperry Pi a su casa, descargó su propia imagen de Raspbian en su tarjeta MicroSD y... ¡funcionaron! Al parecer mi imagen de instalación está corrompida... (cosa que hubiera jurado haber revisado y descargado dos veces... pero la memoria me falla, como con la contraseña del WiFi).</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Por ahora me despido, pero seguiré trabajando en los tutoriales y demás artículos. Ayudá a tus amigos Unixeros novatos y compartiles nuestras guías. ¡Hasta pronto!</div>
Unknownnoreply@blogger.com0