Determina la cantidad máxima de RAM que admite tu ordenador

Dmidecode es un programa que nos reporta información sobre el hardware del sistema, algo bastante útil cuando desconocemos las especificaciones técnicas de nuestra computadora y no tenemos acceso a la descripción que provee el fabricante.

Una de las funciones más útiles es determinar cual es el máximo de memoria RAM que es capaz de soportar nuestro equipo y determinar el número de slots (ranuras de expansión) disponibles, por si queremos ampliar la memoria de un portátil, servidor, etc…sin necesidad de tener que abrirlo.

Dmidecode se ejecuta en Linux desde la terminal como root, y en este caso la síntesis del comando es muy sencilla:

sudo dmidecode -t 16

Que nos produce una salida en la consola similar a esta:

# dmidecode 2.12
SMBIOS 2.5 present.
 
Handle 0x000E, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 8 GB
Error Information Handle: Not Provided
Number Of Devices: 2

Ahí vemos que la capacidad máxima en mi PC es de 8 GB, mientras el número máximo de slots admitidos (number of devices) son dos.

Si queremos determinar la cantidad de RAM de la que disponemos actualmente (es decir la instalada) utilizaremos el comando:

sudo dmidecode -t 17

Que en mi caso produce este resultado:

# dmidecode 2.12
SMBIOS 2.5 present.
 
Handle 0x000F, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x000E
Error Information Handle: No Error
Total Width: 8 bits
Data Width: 64 bits
Size: 4096 MB
Form Factor: DIMM
Set: 1
Locator: DIMM 1
Bank Locator: Bank 0, 1
Type: DDR2
Type Detail: Synchronous
Speed: 800 MHz
Manufacturer: Not Specified
Serial Number: 63617CCA
Asset Tag: Not Specified
Part Number: Not Specified
 
Handle 0x0010, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x000E
Error Information Handle: No Error
Total Width: 8 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: 1
Locator: DIMM 2
Bank Locator: Bank 2, 3
Type: DDR2
Type Detail: Synchronous
Speed: 800 MHz
Manufacturer: Not Specified
Serial Number: 532126E6
Asset Tag: Not Specified
Part Number: Not Specified

¿Les parece demasiado largo el desenlace del comando anterior? lo podemos abreviar utilizando este otro:

dmidecode | grep Size

Que nos da un resultado similar a este en cuanto a la RAM instalada:

Runtime Size: 111808 bytes
ROM Size: 2048 kB
Installed Size: 64 kB
Maximum Size: 64 kB
Installed Size: 3072 kB
Maximum Size: 3072 kB
Size: 4096 MB
Size: 2048 MB
Range Size: 6 GB
Range Size: 4 GB
Range Size: 2 GB

Un software tan versátil como Dmidecode, es habitual que esté presente en los repositorios de la mayoría distros GNU/Linux, así que vamos a ver como instalarlo en algunas de ellas, en el caso de que no os venga por defecto:

  • Debian y derivadas como Ubuntu, Mint o ElementaryOS:
sudo apt-get install dmidecode
  • openSUSE:
su
 
zypper in dmidecode

  • Fedora:
su -c
 
yum install dmidecode

  • Arch Linux y derivadas como Manjaro, Antergos o ArchBang:
sudo pacman -S dmidecode

Vía | Unixmen

Protegiendo el sistema contra ping

Mediante el protocolo ICMP, o sea, el tan popular comando ping podemos saber si determinado ordenador está vivo en la red, si tenemos rutas, camino hacia él sin problemas.

Hasta aquí parece beneficioso y lo es, no obstante como muchas buenas herramientas o aplicaciones, puede ser usado con fines perjudiciales, por ejemplo un DDoS con ping, lo cual se puede traducir en 100.000 peticiones con ping por minuto o por segundo, lo cual podría colapsar la compu final o nuestra red.

Sea como fuere, en determinadas ocasiones nosotros deseamos que nuestro ordenador no responda a las solicitudes de ping por parte de otros en la red, o sea, que aparente no estar conectado, para ello debemos deshabilitar la respuesta del protocolo ICMP en nuestro sistema.

Existe en nuestro sistema un archivo que nos permite definir de forma extremadamente simple, si tenemos habilitado la respuesta al ping o no, es: /proc/sys/net/ipv4/icmp_echo_ignore_all

Si ese archivo contiene un 0 (cero), entonces todo aquel que nos haga un ping obtendrá una respuesta siempre que nuestra computadora esté online, no obstante, si le ponemos un 1 (uno) entonces no importa si nuestra PC está conectada o no, aparentará no estarlo.

O sea, con el siguiente comando editaremos ese archivo:

sudo nano /proc/sys/net/ipv4/icmp_echo_ignore_all

Cambiamos el 0 por un 1 y presionamos [Ctrl] + [O] para guardar, y luego [Ctrl] + [X] para salir.

Listo, ya nuestro ordenador NO responde a los ping de otros.

Otra alternativa es evidentemente usando un firewall, mediante iptables se puede hacer también sin muchos líos:

sudo iptables -A INPUT -p icmp -j DROP

Luego recuerden, las reglas de iptables se limpian cuando se reinicia la computadora, debemos mediante algún método guardar los cambios, bien mediante iptables-save e iptables-restore, como haciendo nosotros mismos un script.

Y esto ha sido todo.

Freshplayerplugin, la mejor alternativa linuxera a Flash Plugin en Firefox (Flash is dead)

Se pueden encontrar alternativas pero hace poco ha aparecido una muy interesante; Freshplayerplugin, quien nos permite usar pepper-flash (PAPPI) sin ningún problema en Firefox.

Hay dos formas de hacerlo, una sería implementando la interfaz PPAPI por complemento en Firefox y la otra, implementar alguna adaptación que se vea como navegador para PPAPI plugin haciendo que parezca NPAPI plugin. Se puede instalar de la siguiente manera a través de la terminal:

En Arch Linux, Manjaro y derivados

yaourt -S freshplayerplugin-git

Si el plugin no es detectado o si se utiliza otras distribuciones, es recomendable crear con el editor favorito un archivo de configuración con la ruta “libpepflashplayer.so”

Con el editor Gedit por ejemplo sería:

gedit ~/.config/freshwrapper.conf

Y se agrega la siguiente línea en la que se reemplazará “ruta” y se guardan los cambios:

pepperflash_path = “/RUTA/PepperFlash/libpepflashplayer.so”

Cabe destacar que en algunas distribuciones como puede ser Fedora, es necesario desinstalar antes el flash-plugin para que no se generen conflictos.

Redshift: ajusta automáticamente el color de la pantalla y protege tu vista

RedShift es un software que nos hace más agradable el trabajar con nuestra computadora al ajustar automáticamente la temperatura de color de la pantalla en función de la luz solar disponible.

 El programa nos protege de todas esas horas que nos pasamos sentados frente a la pantalla, especialmente si somos aves nocturnas y hacemos uso de la luz artificial en vez de la solar.

Algunos equipos disponen de sensores de luminosidad y son capaces de ajustar el brillo de forma automática pero lo que no hacen es corregir la temperatura de color de la pantalla.

Algo que según algunos estudios inhibiría la producción de melatonina modificando los ritmos circadianos (algo así como nuestro reloj biológico), alterando de paso la tensión ocular y haciendo más difícil conciliar el sueño al pensar nuestro cerebro que todavía es de día.

Lo que Redshift básicamente hace es desplazar eses colores brillantes y blancos hacía tonos rojizos o salmón volviendo la temperatura más cálida en horario nocturnos 3000K-4000K (por defecto 3700K)., mientras de día la hace coincidir con el exterior  5500K-6500K (por defecto 5500K).

Esa fluctuación de valores, especialmente de noche se debe al tipo de iluminación artificial que utilicemos por lo que en muchos casos es aconsejable un ajuste manual de los mismos, algo que veremos un poco más adelante.

El uso básico de Redshift es con el parámetro -l seguido de nuestras coordenadas separando la latitud y longitud con el simbolo “:”

Por ejemplo suponiendo que viviera en Sídney sería algo así:

redshift -l -33.8675:151.2070

Por cierto esta web es bastante útil si quieren localizar nuestras coordenadas.

Puede ser que los valores por defecto que comentábamos antes no nos convenzan demasiado, en ese caso los podéis modificar usando el parámetro -t.

Lo vemos en este ejemplo:

redshift -l -33.8675:151.2070 -t 3000:6000

Si queremos consultar todas las opciones de configuración lo podemos hacer con

redshift -h

Al principio puede que cueste un poco acostumbrarse a estos cambios pero en la mayoría de los casos suele tener un efecto bastante reparador.

Una vez probado y si vemos que nos convence, lo más cómodo para no tener que andarlo lanzando continuamente en cada sesión es establecerlo como programa de inicio.

En GNOME lo podemos hacer desde la herramienta de retoques en el apartado Aplicaciones al inicio, en KDE desde las preferencias del sistema en la sección de arranque y apagado (o mediante el Redshift Plasmoid), y si utilizáis algún otro tipo de escritorio lo podéis configurar también en esta ruta home/nombre_usuario/.config/autostart

Ahora que estamos a vueltas con los entornos es interesante recordar que contamos con una extensión de GNOME y un completo plasmoide de KDE .

También disponemos de una útil interfaz GTK denominada redshift-gtk con la que podemos cambiar a modo día/noche, establecerlo como programa de inicio o suspender el programa durante un tiempo determinado (30 minutos, 1 hora, 2 horas).

Para lanzarlo utilizaremos los mismos argumentos que con redshift.

Instalación

Tanto redshift como redshift-gtk están disponibles en la mayoría de distros GNU/Linux.

Si utilizáis KDE como entorno os recomiendo que instaléis el plasmoid-redshift.

  • Arch Linux y derivadas como Manjaro, Antergos o ArchBang
sudo pacman -S redshift 

Para mas información como siempre la ArchWiki sera de gran utilidad.

Breve guía para cifrar archivos desde la terminal

Cifrar

Para cifrar un archivo:

gpg -c archivo.*

También es posible cifrar directorios

Pedirá una contraseña (frase) para cifrarlo (si pierdes la frase o contraseña ya no vas a poder recupear tu información).

El comando anterior generará un archivo binario gpg. Si prefieres que se cifre en modo texto y no en un binario:

gpg -ca archivo

Esto nos generara un archivo sac que vas a poder abrir con cualquier editor de texto, pero sólo se verán un montón de caracteres sin sentido aparente.

Si quieres que el archivo cifrado tenga otro nombre:

gpg -o archivo_cifrado.gpg -c archivo_a_cifrar

Si quiren proteger una carpeta que contiene muchos archivos y subcarpetas, lo ideal es comprimir todo en un .TAR.GZ y luego proteger ese archivo con GPG.

Desencriptar

Para desencriptarlo bastaría con:

gpg -d archivo.gpg

Pedirá la contraseña (frase) especificada al cifrarlo

GPG suele venir instalado por defecto en casi todas las distros populares. Caso contrario, es más que seguro que estará disponible en sus repositorios.

Instalar DNSCrypt Proxy en Arch Linux

Instalación

En Arch tenemos la ventaja de que DNSCrypt Proxy se encuentra en los repositorios oficiales, por lo que para instalarlo basta con usar Pacman:

sudo pacman -S dnscrypt-proxy

Habilitamos el servicio:

sudo systemctl enable dnscrypt-proxy

Y lo iniciamos:

sudo systemctl start dnscrypt-proxy

Ahora vamos a sacar un respaldo del archivo con los DNS actuales:

sudo cp /etc/resolv.conf /etc/resolv.conf.backup

Y reemplazar su contenido para que use al localhost como nameserver:

sudo sh -c "echo 'nameserver 127.0.0.1' > /etc/resolv.conf"

Lo protegemos para evitar que se modifique con cada reinicio:

sudo chattr +i /etc/resolv.conf

Y ya solo queda reiniciar el gestor de redes. En caso de usar Network Manager hacemos esto:

sudo systemctl restart NetworkManager

Y se acabó, ya está DNSCrypt Proxy debidamente instalado y configurado. Para comprobarlo podemos dar clic aquí y ver si nos aparece el mensaje de bienvenida de OpenDNS.

Estos pasos aplican para una instalación básica de DNSCrypt Proxy en un Arch Linux sencillo con Network Manager, pero como yo sé que seguramente tengan todo tipo de configuraciones raras en sus sistemas o les interese explotar más las posibilidades de este programa, los invito a consultar el artículo de DNSCrypt en la wiki de Arch Linux.

Acelerar la compilación con Pacman

Esta vez les traigo un pequeño tip (que probablemente muchos ya conozcan), pero que varias personas que suelen usar distros basadas en Pacman probablemente no lo sepan, y que para peor: estén usando un solo núcleo para compilar.

Conocer nuestro número de procesadores

Primero vamos a ver cuantos procesadores tenemos disponibles (los mas expertos no se asusten, hay diferencias obviamente entre threads y procesadores físicos, pero el makepkg usa como parámetro los hilos de ejecución), para eso ejecutamos:

lscpu | grep '^CPU(s):'

En mi caso devuelve:

[cynico@archlinux ~]$ lscpu | grep '^CPU(s):'
 CPU(s): 8
[cynico@archlinux ~]$

Esto es porque en el caso de los procesadores Intel con HiperThreading muestra también los hilos de ejecución.

Editar el Archivo /etc/makepkg.conf

Editamos el archivo /etc/makepkg.conf para indicarle al makepkg que use todos los procesadores disponibles; en cuanto a esto, según la wiki de Gentoo, la cantidad de “trabajos” a realizar sale de la siguiente cuenta:

Número de procesadores + HT (HiperThreading en caso de Intel compatible) + 1

Editamos:

sudo nano /etc/makepkg.conf

y modificamos la linea MAKEFLAGS (descomentando<quitando el “#”>) con el valor correspondiente, en mi caso quedaría así:

MAKEFLAGS="-j9"

Guardamos los cambios y listo, ya podemos hacer la compilación de nuestros paquetes usando varios núcleos dentro de cualquiera de nuestras distros basadas en Pacman

Recuperar GRUB 2

Ahora que algunas distribuciones Linux han comenzado a utilizar GRUB 2 como gestor de arranque, nuestro fantabuloso tutorial sobre cómo recuperar GRUB empieza a quedarse obsoleto. Por eso en este tutorial veremos cómo recuperar GRUB 2, que puede ser de utilidad, por ejemplo, cuando se sobre escribe el MBR al instalar Windows.

Necesitaremos un live CD, como el disco de instalación de Antergos. Una vez arrancada la distribución Live CD abriremos la consola e introduciremos el siguiente comando para ver las particiones disponibles en el disco:

sudo fdisk -l

Debemos buscar la partición en la que se encuentra instalada nuestra distro (/dev/sda2 en mi caso) y montarla

sudo mount /dev/sda2 /mnt

En el caso de que crearas una partición independiente para /boot durante la instalación de la distro, también tendrás que montarla, en /mnt/boot.

Una vez montada la partición, podremos instalar GRUB 2 usando la instalación anterior. Ejecuta el siguiente comando sustituyendo /dev/sda por el disco en el que quieres instalar el cargador (OJO, el disco, no la partición, es decir, será algo del tipo /dev/sda, no /dev/sdaX

sudo grub-install --root-directory=/mnt/ /dev/sda

Si todo funcionó correctamente debería decir algo como

Installation finished. No error reported.
This is the contents of the device map /mnt/boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install’.

(hd0) /dev/sda

Reiniciamos, y ahora deberíamos ver nuestro antiguo menú de GRUB 2. Como es posible que alguna entrada haya quedado huérfana, una vez iniciada nuestra distro Linux ejecutaremos el comando

sudo update-grub

Y eso es todo. Sólo necesitamos estos pocos comandos para recuperar GRUB 2

Recuperar GRUB manualmente

Para esto podemos hacerlo utilizando un live cd como puede ser el disco de instalación de Antergos Linux.

Abrimos una terminal y tecleamos:

sudo grub

Una vez en esta consola tenemos que averiguar en qué partición están instalados los archivos de GRUB. Para ello usamos el comando find (buscar) que no hace más que buscar el archivo especificado en todas las particiones que pueden ser montadas:

find /boot/grub/stage1

Mediante el comando anterior indicamos a GRUB que estamos buscando las particiones en las que se encuentre stage1, un pequeño programa que se carga al iniciar GRUB y que carga a su vez el programa stage1.5 o stage2, que es el encargado de leer el archivo menu.lst y mostrar el menú de inicio de GRUB.

Este comando nos mostrará la partición (o particiones) en la que está instalado Linux, partición que tendremos que utilizar en el siguiente paso y que en mi caso es (hd0,5)

Una vez sabemos la partición en la que está instalado Linux usaremos el comando root para indicar a GRUB que la utilice como partición raíz. GRUB procederá entonces a montar esta partición y a determinar su tamaño, su tipo y otros datos necesarios.

root (hd0,5)

Por último instalamos GRUB en el sector de arranque del disco duro usando el comando setup.

setup (hd0)

Si todo ha salido bien veran algo parecido al siguiente texto, en el que GRUB nos informa de que se ha encontrado stage1, stage2 y e2fs_stage1_5 y que la instalación ha sido un éxito.

Checking if “/boot/grub/stage1″ exists… yes
Checking if “/boot/grub/stage2″ exists… yes
Checking if “/boot/grub/e2fs_stage1_5″ exists… yes
Running “embed /boot/grub/e2fs_stage1_5 (hd0)”… 16 sectors are embedded.
Succeeded
Running “install /boot/grub/stage1 (hd0) (hd0)1+16 p (hd0,5)/boot/grub/stage2
/boot/grub/menu.lst”… succeeded
Done.

Chequen en que hemos utilizado (hd0) en lugar de (hd0,5). Esto es debido a que queremos instalar GRUB en el disco duro hd0, y no en la 5ª partición del disco 0, que es lo que indica (hd0,5).

Solo nos resta salir de la consola de grub con el comando quit y reiniciar el PC para admirar nuestro menú de GRUB.

Protege y cifra la información de tu ordenador con Tomb

Tomb es un software libre de cifrado desarrollado por el hacker italiano Jaromil (a algunos les sonará por su distro dyne:bolic y más recientemente por ser uno de los desarrolladores principales de Devuan) que últimamente está llamando bastante la atención como alternativa a Truecrypt, a la hora de cifrar archivos y proteger nuestros datos.

Tomb es un script que se ejecuta en linea de comandos (Z shell) que cifra la información con el algoritmo AES-256, utilizando herramientas de cifrado muy contrastadas en Linux como son cryptsetup, GnuPG y LUKS, para crear un volumen (o “tumba”) donde podemos guardar nuestros datos más confidenciales bajo contraseña y que una vez montado se comporta igual que el resto de carpetas o directorios de nuestro sistema

El programa incluye además de la función de cifrado otras opciones interesantes, como puede ser la de esteganografía, que podéis consultar en el manual de la aplicación:

man tomb

En esta ocasión simplemente vamos a fijarnos en como crear una tumba (tomb), a la que llamaremos “confidential” de unos 20 MB, desde la linea de comandos:

tomb dig -s 20 confidential.tomb
tomb forge -k confidential.tomb.key -f
tomb lock -k confidential.tomb.key confidential.key -f

Mediante los comandos anteriores además de crear un volumen cifrado, generamos una llave (*.key) que deberemos guardar en un lugar seguro (otra tumba quizás) e introducimos la contraseña que nos permitirá acceder en un futuro a dicho volumen.

El parámetro -f es opcional, pero nos va a evitar problemas de compatibilidad con las particiones, especialmente con el espacio de intercambio (swap), que tomb considera un riesgo para la seguridad.

Ahora para abrirla ejecutaremos:

tomb open -k confidential.tomb.key confidential.tomb -f

Y para cerrarla es tan fácil como escribir:

tomb close

Y si la cosa se pone complicada porque están a punto de echar la puerta abajo, se pueden cerrar todas las tombs abiertas junto a las aplicaciones que las están usando mediante:

tomb slam all

Y bueno para instalar en nuestro Archlinux les recomiendo que sigan la guia en la ArchWiki para mejores resultados