lunes, 9 de julio de 2018

Slackware post-instalación

Luego de la instalación quizá no nos guste Slackware desde consola. Vamos a realizar algunos cambios que mejorarán el uso de Slackware después de la instalación.

1. Arranque rápido

Al terminar la instalación e iniciar Slackware por primera vez el Lilo toma 2 minutos de espera. Vamos a disminuir este tiempo a 3 segundos. Para esto debemos editar el archivo /etc/lilo.conf
#nano /etc/lilo.conf
Buscamos la sección
timeout = 1200
y la cambiamos por
timeout = 30

Guardamos el archivo (Ctrl+O) y salimos (Ctrl+X)

luego ejecutamos el programa
#lilo
Con esto se carga la nueva configuración, y en el siguiente reinicio tendremos la carga rápida.

2. Crear un usuario 

Es critico para la seguridad usar el usuario root por los permisos que tiene, así que es recomendable tener un usuario no administrador, que se encargue de usar el sistema como un usuario de escritorio. Para esto vamos a crear un usuario llamado "warhammer" (pueden darle otro nombre)
#adduser warhammer
Llenamos los datos que nos piden
Con esto ya debemos de tener creado el usuario

Vamos a darle permisos en sudoers para poder realizar actividades de administrador usando el comando sudo.
#nano /etc/sudoers
en la sección "User privilege specification" añadiremos a nuestro usuario
warhammer ALL=(ALL) ALL
Guardamos y salimos (Ctrl+O Ctrl+X)

3. Iniciar con interface gráfica XFCE 

Para hacer amigable el inicio con una interface gráfica modificaremos el archivo /etc/inittab
#nano /etc/inittab
Buscamos la sección
id:3:initdefault:
Cambiaremos el valor 3 por 4
id:4:initdefault:

Guardamos y salimos (Ctrl+O Ctrl+X)

4. Reiniciamos para cargar la nueva configuración
#shutdown -r 0

Ahora a disfrutar de Slackware con una interface gráfica y un usuario de escritorio. 

instalar Slackware 14.2

Hoy vamos a realizar una instalación básica de Slackware.

Como entorno para la instalación tenemos un PC con las siguientes caracteristicas
- Procesador Core 2 Duo
- 1GB de Ram
- 1HD de 64GB
- Teclado español latinoamericano

0. Preparativos previos:

Descargamos la ISO de slackware de
https://mirrors.slackware.com/slackware/slackware-iso/slackware64-14.2-iso/slackware64-14.2-install-dvd.iso
esta ISO pesa 2.6GB la quemamos en un DVD

1. Inicio

Para iniciar debemos de configurar nuestro BIOS para que cargue desde la unidad DVD e iniciar el booteo con el DVD.

Tendremos una pantalla sencilla y muy agradable:
En esta parte podemos indicar como iniciaremos el instalador, quizá necesitemos algunas características especiales para soportar dispositivos, o solo haremos un testeo de memoria. En otro post explicaremos como usar esto a mayor detalle. 

Por ahora daremos [ENTER]

2. Teclado

Tendremos una pantalla para la selección del teclado, para seleccionar el teclado es necesario poner el valor 1 [ENTER] en : 

Luego debemos seleccionar la opción correspondiente a nuestro teclado de la lista:

Al seleccionar la correcta configuración del teclado, puedes probar el mismo en el cuadro de texto que aparece a continuación. Si todo esta bien presionas [ENTER] 1 [ENTER], si todavía no es el teclado que te corresponde regresas a la pantalla de selección escribiendo [ENTER] 2 [ENTER]. 

En mi caso seleccione qwerty/la-latin1.map

3. Particionar el disco

En esta parte, primero nos pedirá loguearnos con usuario root (sin clave) y tendremos a linea de consola a nuestra disposición. 

Para particionar usaremos la herramienta cfdisk, pero si tienes mas experiencia utiliza fdisk (no hay problema
# cfdisk

- La primera parte indica el tipo de LABEL que pondremos al disco, pongamos por defecto DOS[ENTER], tendremos una pantalla como la siguiente:

Bueno ahora crearemos una estructura para nuestros disco duro, calculamos los tamaños de las unidades a crear de acuerdo a nuestra necesidad.
- Por defecto separa el tamaño de 2 x RAM para una memoria de intercambio SWAP
- Por defecto separamos 10GB para los archivos base de sistema. Slackware corre en 7GB con todos los paquetes instalados. 
- Si utilizaremos el disco para oficina, el resto de espacio debemos usarlo para la unidad que apunte a  /home (archivos de los usuarios), también aplica si usaras la máquina par servidor FTP
- Si usaremos el disco para un servidor de base de datos, webserver , la carpeta /var debe ser la de mayor tamaño.
Nosotros la usaremos para escritorio por tanto el particionado será de la siguiente manera:
- root: 10GB
- SWAP: 2GB  
- home: 52GB o restante, hay un espacio que ocupa la tabla de particiones y lo restante puede ser menor. 

Partición root:
new [ENTER] -> partition size: 10G [ENTER]-> primary [ENTER] 
type: 83 LINUX [ENTER] 
Bootable [ENTER]


Partición swap
FreeSpace
new [ENTER] -> partition size: 2G [ENTER] -> primary [ENTER]
type: 82 LINUX SWAP[ENTER]

Partición home
FreeSpace
new [ENTER] -> partition size: 52G [ENTER] -> primary [ENTER]
type: 83 LINUX [ENTER]

Tendremos al finalizar la siguiente estructura:


Luego escribiremos el disco con los cambios, con la opción write [ENTER] yes [ENTER], Si todo va bien tendremos el mensaje:
the partition table has been altered.

Luego de esto saldremos de cfdisk con quit[ENTER]

4. Formateo y distribución de unidades


Regresando a  línea de comandos con el usuario root y teniendo los requisitos listos debemos de iniciar la instalación con :
# setup[ENTER]

Vamos a iniciar con la opción 3 ADD SWAP [ENTER]

El instalador debe mostrar por defecto la unidad marcada como SWAP. Nos permite verificar si debemos ejecutar mkswap en la unidad, en este caso pondremos YES[ENTER]

Listo tenemos nuestra SWAP. Presionamos OK[ENTER]
Ahora debemos de seleccionar nuestra unidad root (raiz o /), como recordamos en el inicio indicamos que sería el de 10G (adicionalmente cuando lo particionamos lo marcamos como booteable). Presionamos SELECT[ENTER]
Recomiendo formatear con la segunda opcion (CHECK), sobre todo con los discos que ya tienen un tiempo de vida medio, así verificamos los bloques dañados. Si es un disco nuevo podremos dar la primera opción. 

Presionamos OK [ENTER]
Nos toca seleccionar el sistema de archivos, por defecto tenemos seleccionado la ultima versión estable de ext4. Presionamos [OK]

El instalador de slackware detectara la otra partición y nos preguntara para que la usaremos:
Presionamos SELECT[ENTER], luego nos indicara para formatear la unidad. Por defecto la formateamos y nos indicará a que carpeta lo vamos a apuntar
En esta sección pondremos /home  OK[ENTER]
Luego nos dará un resumen de los cambios que se van a realizar, solo los aceptamos [OK]

5. Instalación

En esta parte vamos a instalar los paquetes en nuestro sistema. Primero debemos seleccionar la unidad desde donde instalaremos:
Como lo  estamos instalando desde DVD, seleccionamos la primera opción y presionamos OK[ENTER]
Nos indicará si deseamos hacer una revisión del disco, lo ponemos por defecto la primera opción y presionamos OK[ENTER]

En esta parte tendremos que escoger los paquetes a instalar, podemos dejarlo por defecto, pero como tengo una PC con pocos recursos, voy excluir o desmarcar lo siguiente:
- KDE
- Games

Listo, presionamos OK[ENTER]
Podemos tener mayor control de lo que vamos a instalar en esta ventana. Por ahora seleccionaremos la primera opcion FULL -> OK [ENTER]

Y arrancan... comienza la instalación. Podemos dejar esto corriendo hasta que termine. 

6. Configurar el Arranque

Luego de terminada la instalación de paquetes nos preguntara si deseamos crear un usb booteable, por el momento nos saltamos este paso Skip OK[ENTER]


Luego tendremos que seleccionar la configuración del lanzador de Linux (lilo) dejamos la configuración por defecto 

simple OK[ENTER]

De igual forma en la selección de la interface que nos mostrara al iniciar el linux, seleccionamos standard OK[ENTER]

En el siguiente paso nos preguntará si queremos añadir parámetros adicionales al kernel, lo dejamos vacío y continuamos. 

Luego tendremos que activar el UTF-8 para las consolas, en la pantalla siguiente ponemos Yes[ENTER]

También tendremos que indicar donde instalar el arrancador, lo dejamos por defecto con MBR OK[ENTER]


Ahora debemos de seleccionar como esta conectado el mouse, en mi caso USB


OK[ENTER] y para configurar la linea que carga el mouse YES[ENTER]

7. Red y servicios

En esta parte vamos a configurar la red y los servicios:


Nos pedirá llenar algunos valores como:
hostname: mipc.com
domain: mipc.com

Luego podremos activar algunos servicios o demonios que queremos cargar al iniciar la PC. La dejamos por defecto. 

Luego nos preguntara sobre "Console font configuration" lo dejamos por defecto NO OK[ENTER]

Al seleccionar el tipo de configuración del reloj, lo dejamos por defecto. 

Luego debemos de escoger la zona horaria, en mi caso America/Lima OK[ENTER]


8. Escritorio de trabajo 

Vamos a configurar el escritorio de trabajo en el siguiente paso. Por ahora usaremos xinitrc.xfce OK[ENTER]

Finalmente asignaremos el password al usuario root 
el usuario root sera nuestro administrador, asi que no olvidemos el password. YES[ENTER]
Ingresamos y reingresamos el password y tendríamos terminada la instalación. OK[ENTER]


Listo , hemos regresado al menú de pasos y aquí debemos escoger EXIT OK[ENTER] y extraer el DVD de instalación. 
A la pregunta de reboot, reiniciamos el sistema. 


No debemos esperar el tiempo que dice abajo, presionamos enter y ya debe iniciar el arranque de Slackware. 



lunes, 25 de junio de 2018

Emacs: Encriptar archivos

Si necesitas seguridad adicional en tus archivos texto o código fuente, puedes usar Emacs como una herramienta de encriptado de archivos de manera muy fácil, para esto tenemos 2 caminos:

- Usando org-mode, lo archivos .org se pueden encriptar fácilmente añadiendo la extensión .gpg y luego una clave cuando emacs nos solicite la clave.

- Sin org-mode, al archivo que quieres encriptar debes añadirle en su primera linea los siguiente:
# -*- mode:org; epa-file-encrypt-to: ("me@mydomain.com") -*-

Luego al guardarlo le añadimos la extensión .gpg . Luego de esto el sistema lo procesara como un archivo org-mode encriptado y pedirá la clave.

PD: me@mydomain.com: debe ser el propietario de la encriptación, pongan allí su correo.


Emacs: Hacer consultas a base de datos en org-mode

El modo Org-mode de emacs es una herramienta de productividad increíble. Bajo esta interface es posible realizar consultas a base de datos, el resultado de estas pueden mostrarse inline en el mismo archivo .org. Para esto debemos de configurar algunas cosas pequeñas en Emacs.

1. Vamos a modificar nuestro archivo .emacs y añadir los lenguajes soportados
(org-babel-do-load-languages
'org-babel-load-languages
'((sql . t)))
;; add additional languages with '((language . t)))

(org-babel-do-load-languages
'org-babel-load-languages
'(
(emacs-lisp . t)
(org . t)
(sh . t)
(C . t)
(python . t)
(gnuplot . t)
(octave . t)
(R . t)
(dot . t)
(awk . t)
(sql . t)
))

2. Para poder conectarnos a una BD nuestro archivo .org tendremos que añadir algunos tags:
#+name: result-list
#+header: :engine mysql
#+header: :dbhost localhost
#+header: :dbuser mydbuser
#+header: :dbpassword mydbpass
#+header: :database mydatabase
#+begin_src sql :exports results
select * from table1 order by 1 desc;
#+end_src

#+RESULTS: result-list

Como observamos debemos de cambiar los valores :
engine: el motor de base de datos, en nuestro caso usamos mysql
dbhost: el host de la base de datos, en nuestro caso localhost o 127.0.0.1
dbuser: el usuario de base de datos
dbpass: la clave del usuario de base de datos
database: la base de datos a la que nos conectamos
name: indica el nombre del bloque de consulta, si observan en RESULT hay uno con el mismo nombre, quiere decir que el resultado de ejecutar el SQL se verá en el bloque RESULT
begin_src: esta es la consulta SQL que ejecutaremos

Para ejecutar la consulta nos ubicamos dentro del bloque del código y presionamos Ctrl+c Ctrl+c.

Mayor detalle en : https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-sql.html

Linux: Comparar 2 archivos binarios

En esta ocasión vamos a verificar que un archivo es igual a otro, pero vamos a compara archivos binarios.

En mi caso he copiado un archivo ISO de un disco duro extorno a la PC y quiero verificar si se ha copiado correctamente. Para esto usamos diff <archivo1> <archivo2>

# diff /media/usb/archivo.iso ./archivo.iso

Si diff no envía mensaje de diferencia el archivo es idéntico, en caso contrario son distintos.


Linux: Crear un USB booteable

En esta ocasión vamos a crear un USB booteable partiendo de una ISO, esto sobre nuestro querido GNU/Linux.

1. Primero vamos a detectar el USB, para esto insertamos el USB en la PC y en consola ejecutamos
# sudo fdisk -l 
Nos aparecerá la unidad añadida, en mi caso es una unidad de 8G y formato FAT32


Como observamos nuestro dispositivo es /dev/sdb1, ahora desmontamos el dispositivo para poder iniciar el copiado.
# umount /dev/sdb1

2. Comenzamos a realizar la copia de la imagen ISO usando el comando dd, uno de los parámetros principales serán if (archivo de entrada o ISO) y of (archivo de salida o unidad USB)
# sudo dd bs=4M if=TuArchivo.iso of=/dev/sdb
Si observan el valor de of no esta completo /dev/sdb , le falta el valor 1 (/dev/sdb1) esto indica que estamos apuntando a toda la unidad y no a una partición de esta.

Ahora debemos esperar un poco hasta que se termine el copiado del archivo.

PD. Para crear un USB booteable con Windows 10 es necesario usar WoeUSB.

Configure Grafana and Slack

To configure Grafana to send alerts to Slack, you need to set up a notification channel in Grafana and configure it to use the Slack integra...