...

Actualizar automáticamente Powerlevel10k (como oh-my-zsh)

Quienes usan el excelente framework para la shell zsh Oh-my-zsh, saben que éste se actualiza automáticamente en el período determinado en su archivo de configuración. En mi caso, cada 7 días export UPDATE_ZSH_DAYS=7.

 

Captura de imagen de oh my zsh usando powerlevel10k

Oh my zsh con el tema powerlevel10k

 

El problema es que el tema que utilizo –Powerlevel10K– no se actualiza automáticamente. Para solucionar este inconveniente, agregué un pequeño código que puede servirles también a ustedes. Al final del archivo de configuración ~/.zshrc inserté el siguiente snippet:

 

# Updates p10k automatically
n=$(date '+%j');
if [ expr $n % $UPDATE_ZSH_DAYS -eq 0 ]
then
        git -C ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k pull
fi

 

Permitir comunicación entre una máquina virtual y el hipervisor con KVM

Entre las distintas opciones de virtualización para un entorno de desarrollo, como Docker, VirtualBox, etc. podemos elegir KVM. Esta excelente herramienta nos permite tener servidores completos corriendo como máquina virtual, emulando completamente un servidor de producción, lo que permite tener un escenario casi idéntico al que tendremos en el momento del deployment.

El problema es que dependiendo la configuración, es posible que no tengamos acceso de red a las VMs (máquinas virtuales) desde el hipervisor, lo que hace las máquinas virtuales totalmente inútiles como entorno de desarrollo . Esto me ha implicado horas de googleo, lectura de documentación y foros y experimentación infructuosa hasta que dí con la solución.

Lo primero que hay que hacer es crear una red aislada con libvirt, a través de un archivo XML con la configuración de la red, como en el siguiente ejemplo.

1.- Crear un archivo /tmp/isolated.xml con el contenido:

<network>
  <name>isolated</name>
  <ip address='192.168.254.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.254.2' end='192.168.254.254' />
    </dhcp>
  </ip>
</network>

Si ya estás usando la red 192.168.254.0/24, podés usar otra.

2.- Definir la red con el comando virsh net-define /tmp/isolated.xml.

3.- Establecer el inicio automático de la red en virsh usando virsh net-autostart isolated.

4.- Iniciar la red virsh net-start isolated.

5.- Editar la configuración de cada VM que use macvtap para su conexión de red y agregar una nueva <interface> en la sección <devices>, parecido a lo siguiente:

<interface type='network'>
  <source network='isolated'/>
  <model type='virtio'/>
</interface>

6.- Apagar y prender las VMs.

Ahora ya se puede “ver” la VM desde el hipervisor sin problemas.

vm-hypervisor-screenshot

 

Fuente: RedHat documentation

Instalar o actualizar ImageMagick en CentOS 7 (remi repo)

En las últimas versiones WordPress presenta una nueva funcionalidad llamada Salud del sitio la cual realiza un chequeo general del sitio, generando un informe con consejos y advertencias para poder mejorar el rendimiento, la escalabilidad y la seguridad del sitio y el servidor. En uno de los sitios el informe aconsejaba instalar el módulo de php imagick (ImageMagick). El servidor de alojamiento de este sitio usa CentOS 7 con php 7.3 para el cual instalé el repositorio de Remi Collet.

Para instalar el paquete php-pecl-imagick para php73 es necesario actualizar también el paquete de ImageMagick ya que el que viene con CentOS es antiguo e incompatible con php 7.3.

(más…)

Sincronizar fecha y hora en manjaro

Reloj de arena

Hace unos días venía viendo que el reloj de mi computadora tenía unos minutos de diferencia con los relojes de los servidores que mantengo, por lo que me imaginé que mi PC no estaba sincronizando la hora con un servidor NTP.

Hoy me acordé de hacerlo y resultó ser una pavada. Solo tuve que verificar en la terminal si realmente la sincronización estaba desactivada:

> timedatectl
Local time: lun 2019-08-19 18:11:19 -03
Universal time: lun 2019-08-19 21:11:19 UTC
RTC time: lun 2019-08-19 21:11:19
Time zone: America/Montevideo (-03, -0300)
System clock synchronized: no
NTP service: no
RTC in local TZ: no

Aquí se ve que el servicio NTP está desactivado, por lo que hay que hacer

> sudo timedatectl set-ntp true

Luego de esto si hacemos nuevamente timedatectlobtendremos:

Local time: lun 2019-08-19 20:43:43 -03
Universal time: lun 2019-08-19 23:43:43 UTC
RTC time: lun 2019-08-19 23:43:43
Time zone: America/Montevideo (-03, -0300)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no

¡Listo! Reloj sincronizado.

Seraphinite AcceleratorOptimized by Seraphinite Accelerator
Turns on site high speed to be attractive for people and search engines.