Linux

  • 08:02:16 up 1460 days

    Por favor ejecutar este comando desde la línea de comandos de un sistema corriendo GNU/Linux:

    echo -ne "F\x65$(ls -d /lib) \x34 " | sed -e "s/\///" | sed -e "s/b/ces/"; echo -ne "\x61\x62\x72\x69\x6c\x65\x73 "; echo $(uname -s)ito\!
    

    Que lo disfruten ;)

  • ¿Cuál fue tu primer Linux?

    Ayer comencé la inciativa en Twitter y Google Plus para recopilar anécdotas y recordar cuál fue nuestra primera instalación de GNU/Linux, bajo el hashtag #miprimerlinux.

  • ¿Cuáles son las principales diferencias entre los sistemas GNU/Linux y OpenBSD?

    Mientras que OpenBSD es un sistema operativo Unix muy tradicional y resulta muy familiar a aquellos que hayan utilizado otros sistemas operativos de la familia Unix, existen diferencias importantes. Si el único conocimiento de los sistemas Unix se limita a una experiencia con una variante de Linux, seguramente OpenBSD resultará "extraño". Del mismo modo en que Linux resulta extraño a cualquier usuario proveniente de OpenBSD. Si en cambio uno conoce la filosofía Unix y ha extendido su conocimiento más allá de una plataforma en particular, encontrará a OpenBSD muy familiar y un auténtico Unix. Por el contrario, si uno ha aprendido Unix usando la metodología "tipea ésto para hacer aquello" o a través de libros como "Aprende Ubuntu 16.04 en 31.4 horas", y cree que así "sabe" Unix, encontrará a OpenBSD muy diferente.

  • ¿El año de Linux en el escritorio? Nunca

    El día de ayer publiqué un resumen del año 2019 en números. Entre los datos estadísticos que compartí relacionados a tecnologías, se encuentra el uso de sistemas operativos de los usuarios del sitio. A raíz de un comentario de un usuario en Twitter respecto al gran porcentaje de visitas desde sistemas operativos Windows, y ya que el mes que viene cumplo 8 años en esto del blogging (en realidad son más si cuento mi época de colaborador en ITFreekZone), se me ocurrió analizar la evolución del uso de sistemas operativos a lo largo de los años por parte de los usuarios de este sitio. Por mera curiosidad. Pero resulta que me encontré con una sorpresa desagradable aunque a la vez predecible: el año de Linux en el escritorio va a ser NUNCA.

    Considerando que en la actualidad Linuxito cuenta con más de seiscientos mil usuarios (una cifra para nada despreciable), se puede decir que este número conforma una buena muestra para analizar el uso de las tecnologías. Los resultados los sorprenderán.

    Pasen y vean...

  • ¿Por qué Linux Mint es la distribución GNU/Linux más popular?

    De acuerdo al ranking de DistroWatch, desde hace ya más de dos años Linux Mint se mantiene como la distribución GNU/Linux más popular, por encima de gigantes como Ubuntu, Fedora, Debian y openSUSE (entre otras).

    DistroWatch es un sitio Web (creado en el año 2001) que se encarga de realizar el seguimiento de distribuciones GNU/Linux y paquetes, recopilar noticias sobre lanzamientos, y elaborar un ranking de visitas para determinar la popularidad de las diferentes distribuciones. Las estadísticas de page hit ranking elaboradas por DistroWatch han ganado renombre sobre los años. Estas estadísticas son una forma tentativa para determinar la popularidad de las distribuciones GNU/Linux y otros sistemas operativos libres de acuerdo a la cantidad de visitas en sus sitios Web. Por supuesto no se corresponden con la cantidad de instalaciones, sino que simplemente determinan qué sitio es el más visitado. Aunque es un indicio de qué distribución es la más popular. Para sumar las visitas DistroWatch cuenta un hit por dirección IP.

  • ¿Qué distribución le recomendarías a un novato que quiere iniciarse en GNU/Linux?

    Ninguna, todas las distribuciones GNU/Linux que se jactan de ser "fáciles de instalar y mantener" o "para principiantes" tienen defectos, son inestables, o no tienen un enfoque adecuado para usuarios acostumbrados al escritorio tradicional de Windows de toda la vida. Muchos dirán "Linux Mint" como la mejor distribución para principiantes. Pero para mí no sirve, por dos razones: hasta ahora sólo posee 9 meses de soporte (ya lo sé, a futuro van a salir versiones LTS); y es inestable porque liberan las versiones con poco o nulo testeo (tiene muchos problemas con ACPI en las portátiles). Por otro lado Ubuntu con su escritorio Unity (o GNOME 3) es espantoso. Si se lo recomiendo a un usuario que quiere abandonar su Windows XP o 7 y ve esa interfaz horrible, ese pseudo escritorio, me mata. Es como la interfaz de Windows 8.

    Por eso a veces pienso que GNU/Linux no es adecuado para el pariente que no sabe absolutamente nada de computadoras, para la PC de tu abuelita, o para la vecina (instalá Windows y dejate de joder). Las distribuciones fáciles de usar son malas. En vez de preocuparse tanto porque el sistema inicie rápido, por SystemD y todo su linaje, ¿por qué no se preocupan por hacer un sistema realmente amigable para el usuario común, como OS X o Windows? Me quedo con mi Slackware. Pero lamentablemente no se lo puedo recomendar a gente que no tiene conocimientos básicos de sistemas o que no le gusta la tecnología, porque su mantenimiento no es sencillo. Ni siquiera se lo puedo recomendar a muchos de mis colegas de sistemas, porque la realidad es que la mayoría no quiere ponerse a compilar (por más sencillo que sea) cada vez que necesita instalar una aplicación nueva. Quiere todo ya, siguiente, siguiente, siguiente...

    Mi percepción en general sobre GNU/Linux en sistemas de escritorio es que las distribuciones que funcionan realmente muy bien, son las que requieren mayor intervención del usuario. Y las que son amigables y fáciles de usar tienen fallos, son inestables, y la mayoría no ofrece un escritorio tradicional limpio y simple (en este sentido pienso que Cinnamon es el mejor entorno de escritorio que he probado, pero Mint es inestable y tiene unos cuantos problemas). Entonces cuando alguien me dice "así que vos usás Linux, lo tengo que probar algún día, ¿qué distribución instalo?" no sé que responder, y eso es grave. Empiezo a tirar nombres por el aire: "y... un Ubuntu o Mint, qué se yo, yo uso Slackware, Fedora no porque es una cagada...". Pero la realidad es que Ubuntu no es lo que era antes, Mint es inestable y viene con fallos que sobreviven release tras release, Fedora apesta, y Slackware no es adecuado para un novicio.

    Linux está lejos de triunfar en los sistemas de escritorio. Linus se expresó al respecto y creo que tiene razón.

  • ¿Qué es el overcommit?

    En la salida de atop de un servidor Linux me encontré con esta situación extraña:

    Si queda memoria principal disponible y el uso de swap es cero, ¿por qué la fila SWP figura en color rojo (uso crítico)?

  • ¿Qué hay bajo el capó de tu máquina?

    En este artículo voy a presentar diferentes técnicas y herramientas para obtener información detallada acerca del procesador o CPU de un sistema, como siempre desde GNU/Linux.

  • ¿Quién es init?

    Tradicionalmente en los sistemas Unix, init es el primer proceso que se ejecuta durante el inicio del sistema en modo usuario (userland), luego de la carga del kernel. El proceso init es un demonio que continua su ejecución hasta que el sistema se apaga. Es el padre de todos los procesos (de forma directa o indirecta) y es quien adopta automáticamente los procesos huérfanos. Es iniciado por el kernel utilizando un nombre de archivo hard-coded, y si el kernel no es capaz de iniciarlo, el resultado es un kernel panic. Típicamente tiene el ID de proceso (PID) 1.

  • "ps aux" explicado

    Cuantas veces necesitamos obtener información sobre procesos y utilizamos la instrucción:

    ps aux

    Sin saber bien ¿qué hace?

  • 286 comandos para dominar la consola en Linux

    Quisiera compartir una lista de 286 comandos esenciales para dominar la terminal o consola en un sistema Debian GNU/Linux, ordenados alfabéticamente y con ejemplos de uso. Una lista de comandos y herramientas básicas que debería conocer todo SysAdmin. 286 comandos ordenados de la 'A' a la 'Z' para dominar la terminal en Linux.

    Este artículo me llevó 7 meses prepararlo (empecé en julio de 2019). ¿Por qué? Porque en lugar de describir en un renglón qué hace cada comando (tal como lo hacen en la mayoría de los artículos de este estilo), quise escribir un artículo completo para cada uno. Lógicamente ya tenía artículos para muchos de los comandos más utilizados, pero me llevó a escribir unas cuantas decenas de artículos desde que surgió la idea.

    Como resultado este artículo no posee información alguna, sólo enlaces a otros artículos, y sirve más como guía para conocer o familiarizarse con los comandos que aquí se presentan. Incluso puede ser un buen ejercicio leer los artículos relacionados a los comandos con los que uno se encuentra familiarizado, para descubrir opciones tal vez desconocidas para el lector.

  • 4 formas de obtener el nombre de usuario de la sesión actual en Linux

    Veamos 4 formas diferentes de mostrar el nombre de usuario asociado a la sesión actual desde línea de comandos en Linux y sus diferencias.

  • Actualización de un servidor ownCloud

    Recientemente me tocó actualizar mi viejo servidor ownCloud, el cual se encontraba en fase de desarrollo y finalmente pasó a producción. El problema fue que durante ese lapso, ownCloud liberó dos major releases (versiones que no son meramente revisiones, o correcciones de bugs y vulnerabilidades, sino que incorporan cambios substanciales), y lamentablente ownCloud no permite saltearse major releases al momento de actualizar. Por ende se debe actualizar una a una todas las major releases hasta llegar a la versión estable actual.

  • Ajustar el ancho de un texto desde línea de comandos con fold

    La herramienta de línea de comandos fold permite cortar las líneas de un archivo de texto o entrada estándar para que se ajusten a un ancho específico.

  • Análisis forense de inodos con istat

    Para tratar de comprobar qué hace efectivamente con los inodos de un sistema de archivos ext2 un kernel Linux 4.9 al momento de borrar un archivo, descubrí la herramienta istat parte del paquete sleuthkit. Este artículo demuestra cómo volcar el contenido de un inodo de un sistema de archivos ext2/ext3/ext4 por pantalla en Linux.

  • Apagar o reiniciar el sistema desde línea de comandos en Linux

    En los sistemas operativos de la familia Unix, el comando shutdown se encarga de apagar el sistema de forma segura. Todos los usuarios logueados son notificados y se deshabilita el login. Es posible apagar el sistema inmediatamente o luego de cierto período de tiempo. Todos los procesos son notificados a través de una señal SIGTERM, lo cual da tiempo a aplicaciones como vi o cualquier editor a cerrar y guardar los cambios sobre el archivo siendo editado. También da la posibilidad a todos los servicios a detenerse de forma limpia.

    Este artículo explica cómo apagar y reiniciar un sistema de forma segura o de forzada desde línea de comandos en Linux.

  • Así es la vida en GNU/Linux

    Como algunos de mis seguidores en Google Plus saben, me gusta el Rock, es mi genero musical favorito. Aunque más que simplemente "favorito", amo el rock, es una de mis pasiones. ¿Qué tiene que ver esto con GNU/Linux? Aparentemente nada, pero se me antoja escribir este artículo, y como el blog es mío, hago lo que quiero.

    Aquellos lectores a quienes no les guste el rock por favor sigan leyendo, porque más allá de esta introducción este artículo no tiene nada que ver con el Rock, y sí tiene mucho que ver con GNU/Linux.

  • Borrado seguro de archivos con shred en Linux

    En este episodio veremos cómo eliminar de forma segura un archivo. Es decir, cómo eliminarlo ocultando su contenido previo, sin que sea posible recuperarlo desde el disco. Así sea utilizando costosas herramientas de hardware forense de análisis de discos (herramientas de hardware que analizan los valores magnéticos de los sectores de disco y logran recuperar los datos alojados previamente).

    Hace ya algunos años demostré cómo recuperar imágenes desde una tarjeta de memoria utilizando photorec. Esta herramienta, que se incluye en el paquete testdisk, está diseñada para recuperar datos de videos, documentos y archivos perdidos desde discos rígidos y CDROM; y fotos perdidas (Photo Recovery) desde tarjetas de memoria. PhotoRec ignora el filesystem y accede directamente a los datos crudos, por lo tanto funciona incluso si el sistema de archivos ha sido severamente dañado o formateado.

    La cuestión es que a veces, por cuestiones de seguridad y/o privacidad, es necesario eliminar completamente los datos de un archivo sin dejar rastro alguno. Es decir, borrar uno o varios archivos sin que sea posible recuperarlos utilizando tanto herramientas de software como de hardware.

  • Borrar el buffer de pantalla en la terminal con clear y reset

    Cuando se trabaja desde la terminal o línea de comandos a veces es deseable borrar la pantalla junto con todo su historial (típicamente conocido como scrollback buffer). Ya sea por seguridad, es decir, borrar información sensible que pueda haber quedado en pantalla (como por ejemplo credenciales), o simplemente como "limpieza". Este artículo presenta el uso de las herramientas clear y reset en diferentes tipos de consolas.

  • Borrar líneas de salida estándar en Bash

    Cuando se trabaja con la salida estándar (la pantalla o archivo donde se envía la información o flujo de salida de los comandos ejecutados) en Bash, puede ser útil o necesario borrar contenido (caracteres) luego de que ya ha sido enviado a la misma. Para ello, en sistemas GNU/Linux, se puede recurrir a la herramienta tput. He aquí algunos ejemplos de su uso.