Gestión del tiempo con timedatectl

Otro post sobre el tiempo! ayer veíamos como no pasar la hora del host a una máquina virtual con virtualbox. Ahora vamos a ver como cambiar la hora del sistema host cuando date -s no te hace ni puto caso porque la fecha se está actualizando por otro lado, en éste caso timedatectl

Desactivar el cliente NTP

# timedatectl set-ntp 0

Cambiar la fecha

# timedatectl set-time "2018-09-03 12:20:00 CEST"

Volver a activar el cliente NTP

# timedatectl set-ntp 1

Virtualbox: desactivar sincronización horaria con el host

Tenemos una maquina virtual con virtualbox en la que necesitamos que trabaje con una fecha distinta que la del host.

Lo primero será desactivar el cliente NTP de nuestro sistema operativo.

A continuación instalamos las guest additions (si queremos).

Y finalmente, desde el host, con el usuario que está corriendo el virtualbox (atención si lo ejecutas como “laura” por ejemplo, no hacerlo con root, ya que root no ve las maquinas virtuales de laura), ejecutamos lo siguiente

vboxmanage setextradata vmname "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "1"

Siendo vmname el nombre de la maquina virtual, usamos lo siguiente para listar las máquinas existentes en nuestro sistema

laura@melatonina:~$ vboxmanage list vms
"capa8" {a1333e64-1b9c-4414-9411-973adf55xxx}
"Resolume" {f175a4dc-c3ea-42ec-b74b-83e496a6xxxx}
"windows7" {fe860ff5-bbae-478c-a026-378df134xxxx}
"Windows UE" {972ee722-2f0b-480d-8cc4-2ab993f7xxxx}
"kali" {6cea5b78-88bb-4888-a73e-5f3533f0xxxx}
"forense" {c009e747-d086-4f76-b407-d5f6a26xxxx}

Las virtualboxguest additions no intervienen en dicha configuración, ésto es cosa del virtualbox.…

Freeswitch 1.9 (continuación): mod fs_curl, usuarios almacenados en BBDD

Pues ya volvemos a estar aquí un mes después… hehe, si, tuve freeswitch aparcado unos días, pero han sido días muy provechosos! ya iré contando :)

Pues éste post sería la continuación de éste otro que publiqué hace un mes.

En el anterior manual instalábamos freeswitch con soporte de postgresql y veíamos como con la base de datos creada pero vacía, al arrancar creaba las tablas necesarias para trabajar. Pero las tablas que estaban no te permitían gestionar los usuarios de la centralita directamente desde la base de datos y estabas obligado a usar los ficheros de configuración y recargar la configuración. Pues en éste manual llegaremos a éste objetivo, para poder atacar desde otro programa a la base de datos y realizar cambios en caliente!

Vamos a ello pues… lo primero será parar freeswitch y borrar la base de datos y volver a crearla para que quede vacía.

root@freeswitch-capa8:~# /etc/init.d/freeswitch.sh stop
root@freeswitch-capa8:~# su - postgres
postgres@freeswitch-capa8:~$ dropdb freeswitch_db
postgres@freeswitch-capa8:~$ createdb -O freeswitch_user freeswitch_db
postgres@freeswitch-capa8:~$ psql 
psql (9.6.7)
Type "help" for help.

postgres=# \dt
No relations found.

NetHogs: Monitorizar el tráfico de red que generan los procesos del sistema

Estaba un rato jugando con la red de casa y quería buscar alguna herramienta nueva para monitorear la red y me he encontrado con NetHogs, que sería como una especie de top pero para monitorear el tráfico que genera cada uno de los procesos que se están ejecutando en nuestro sistema.

Ya hace tiempo que dejé de usar top en pro a glances que te da mucha mas información y de forma mas organizada. Así que creo que voy a añadir NetHogs a mi navaja suiza.

# apt-get install nethogs

Aquí tenéis una captura de pantalla de la interfaz de las IPs pública y global.

Cosas que podemos hacer:

Pulsando m: cambiamos las unidades de medida a KB/s, KB, B y MB
Pulsando s: ordenamos por la cantidad de datos enviados
Pulsando r: ordenamos por la cantidad de datos recibidos
Pulsando q: salimos del programa

-t : salida en modo traza
-d : tiempo de refresco
-p : esnifar en modo promiscuo (no recomendado <- ésto pone la documentación…)

Y yastá, no tiene mucho mas, mirad el man por otras opciones recurrentes…

Freeswitch 1.9 (master) en debian 8 (y debian 9) con soporte postgresql

Venga, éste post espero que si sea el definitivo, voy a probar que tal con debian 9 mas tarde y si conviene hago otro post.

ACTUALIZACIÓN
Éste manual también es válido para debian 9! :) mirad al final del artículo las anotaciones

Empezamos con una debian 8 recién instalada.

Vamos a instalar primero de todo todas las dependencias necesarias

root@freeswitch-capa8:~# apt-get install git libpq-dev postgresql postgresql-client build-essential dialog autoconf libtool-bin yasm
root@freeswitch-capa8:~# apt-get install zlib1g-dev libjpeg-dev pkg-config libsqlite3-dev libcurl4-gnutls-dev libpcre3-dev libogg-dev libspeex-dev libspeexdsp-dev libldns-dev libedit-dev libtiff5-dev libopus-dev libsndfile-dev liblua5.2-dev

Freeswitch en debian 9 sobre pgsql (fallido)

Venga, otra vez estamos aquí. Tras la infructuosa instalación de freeswitch 1.8 ésta mañana sobre debian 9, volvemos a intentarlo. Ahora la diferencia, son evidentemente la versión de debian, que compilaremos freeswitch en lugar de instalarlos desde los repositorios que petan por no estar usando una clave gpg compatible y que vamos a conectarlo a un postgree (pgsql).

De nuevo, partimos de una instalación nueva.

Empezaremos instalando todas las dependencias necesarias

root@freeswitch8-capa8:~# apt-get install git libpq-dev postgresql postgresql-client build-essential

Instalación freeswitch en debian 8

Iba a mostrar la instalación para debian 9, pero debido a cambios con apt en debian 9, que se ha desactivado el soporte de SHA-1 para la firma de los repositorios y que freeswitch requiere la firma con éste cifrado, no hay otra opción que usar debian 8 de momento.

Partimos de una debian 8 recién instalada.

Configuramos el repositorio

root@freeswitch-capa8:~# wget -O - https://files.freeswitch.org/repo/deb/debian/freeswitch_archive_g0.pub | apt-key add -
root@freeswitch-capa8:~# echo "deb http://files.freeswitch.org/repo/deb/freeswitch-1.6/ jessie main" /etc/apt/sources.list.d/freeswitch.list
root@freeswitch-capa8:~# apt-get update
root@freeswitch-capa8:~# apt-get install -y --force-yes freeswitch-meta-all

Mis andanzas y conocimientos: uno no aprende del día a la mañana

Nunca me he considerado una buena programadora, pero hoy tenía las ganas de avanzar un poco con mi nivel de programación… Realmente, siempre he sido una muy mala programadora, porque no era capaz de entender los conceptos que estaba leyendo o me estaban enseñando. Es simplemente que el enfoque era simplemente incorrecto. Es por ésto que muchas veces me atasco con tonterías…

Aprendí a programar y realmente hacer algo útil con lo aprendido en 2001 (lo de antes con el html en 1998 eran garabatos), cuando tuve la oportunidad de crear un programa para gestionar una imprenta en la que curraba en Cornellà. Además ahí ya estaba empezando a aburrirme, estaba jugando ya con un servidor en gnu/linux, y estaba jugando en hacer pequeños programillas chorras, como descargar los frames del radar de lluvias de la web de metereología y ponerlos en un gif para poderlo visualizar en el applet del tiempo de gnome2. Con ésto pillé curiosidad y sin darme cuenta ya estaba programando y cuando llegó la propuesta (que un poco fue mía porque estaba entusiasmada con lo que estaba haciendo… ¡estaba creando!) pues estaba preparada para ir más allá, con un objetivo, una meta.…

Arrancar una iso desde grub

Tengo un servidor que tiene instalado debian, pero quiero instalar el sistema operativo en uno de los RAID que he creado en la controladora, para tener el sistema operativo ahí en lugar del disco duro IDE.
El servidor no me arranca ni los pinchos usb ni tampoco un cd con una lectora de CDs externa y no puedo instalar el sistema operativo directamente a los discos que están en el RAID, así que sólo me queda arrancar el cd de instalación desde grub.

Para ello vamos a editar el fichero /etc/grub/40_custom

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "debian" {
set isofile="/home/blackhold/firmware-9.2.1-amd64-i386-netinst.iso"
loopback loop (hd0,1)$isofile
echo "Starting $isofile..."
linux (loop)/install.386/vmlinuz
initrd (loop)/install.386/initrd.gz
}

La iso de instalación la tengo almacenada en /home/blackhold. Para mas información de como configurar el grub para otras distribuciones de linux seguid éste link y éste otro.

Y cargamos la configuración a grub

# update-grub

Reiniciamos y nos aparece la opción debian, entramos en ella y ya tendremos nuestra instalación :) para continuar con ella, deberemos tener la lectora de CDs conectada.

En ésta última captura voy a instalar en el RAID el sistema operativo nuevo y voy a dejar el otro indicandole no hacer nada con esta partición, de esta forma siempre voy a tener disponible un sistema …

Instalar software controladora 3ware serie 9000

Cuando queremos configurar el RAID de un servidor normalmente lo hacemos al arrancar el sistema, pero esto no nos permite saber remotamente si el RAID está correcto o no desde el propio sistema operativo, para ello, es posible instalar un software que se comunique con la controladora y permita realizar acciones con la misma desde terminal.

En mi caso tengo un servidor con dos controladoras raid 3ware serie 9000

# lspci |grep 3ware
00:01.0 RAID bus controller: 3ware Inc 9xxx-series SATA-RAID
00:03.0 RAID bus controller: 3ware Inc 9xxx-series SATA-RAID

El paquete que tendremos que instalar se llama tw-cli, y tendremos que añadir repositorios adicionales para poder instalarlo. hwraid contiene otro software de otras controladoras RAID

# vi /etc/apt/sources.list
# software controladora raid
deb http://hwraid.le-vert.net/debian stretch main

# wget -O - https://hwraid.le-vert.net/debian/hwraid.le-vert.net.gpg.key | apt-key add -
# apt-get update
# apt-get install tw-cli

En ésta página web encontramos información addicional y de funcionamiento sobre tw-cli

Algunos de los comandos básicos son:

Ver las controladoras disponibles

# tw-cli info

Ctl   Model        (V)Ports  Drives   Units   NotOpt  RRate   VRate  BBU
------------------------------------------------------------------------
c0    9500S-8      8         8        1       0       1       1      -        
c1    9500S-8      8         7        1       0       1       1      -  

Listar los discos disponibles en una controladora

# tw-cli /c1 show

Unit  UnitType  Status         %RCmpl  %V/I/M  Stripe  Size(GB)  Cache  AVrfy
------------------------------------------------------------------------------
u0    RAID-5    OK             -       -       64K     11175.8   ON     OFF    

Port   Status           Unit   Size        Blocks        Serial
---------------------------------------------------------------
p0     OK               u0     1.82 TB     3907029168    9WM7VLRJ            
p1     OK               u0     1.82 TB     3907029168    9WM69H87            
p2     OK               u0     1.82