martes, 29 de mayo de 2018

Solución: package-query: error while loading shared libraries: libalpm.so.10

Esta es una entrada rápida y sencilla para solucionar este inconveniente que se me presento hoy al intentar actualizar mi sistema. Específicamente este es el error: package-query: error while loading shared libraries: libalpm.so.10: cannot open shared object file: No such file or directory. Abajo esta el error completo que me tira al intentar actualizar.

package-query: error while loading shared libraries: libalpm.so.10: cannot open shared object file: No such file or directory
:: Sincronizando las bases de datos de los paquetes...
 core está actualizado
 extra está actualizado
 community está actualizado
 archlinuxfr está actualizado
package-query: error while loading shared libraries: libalpm.so.10: cannot open shared object file: No such file or directory

package-query: error while loading shared libraries: libalpm.so.10: cannot open shared object file: No such file or directory
La base de datos no parece tener errores.

Bien, indagando un poco, reinstale package-query pero aún así seguía sin funcionar y me arrojaba el mismo error. Como buen usuario de arch, acudí a la web oficial a ver si había información pero nada, entonces busque el paquete en aur y ¡ooh sorpresa!, mi paquete era package-query-1.9-1 y en aur estaba la versión package-query 1.9-3, bien, quizá y este sea el error me dije. Así que me dispuse a limpiar package-query con todo y dependencias.

  sudo pacman -Rnsc package-query

Ahora, instale la versión actualizada de aur usando git y makepkg.

  git clone https://aur.archlinux.org/package-query.git

  cd package-query/

  makepkg -si

Bien, anteriormente se desinstaló yaourt de forma recursiva, así que volví a instalarlo.

  sudo pacman -Sy yaourt

Y me dispuse a probar, yo para actualizar por completo mi sistema utilizo el alias update pero la orden es esta.

  yaourt -Syua --aur

Buen, en esta ocasión sólo me pide actualizar firefox-bin, y ya no me arroja el error. Así que problema resuelto.

lunes, 28 de mayo de 2018

Instalar Plasma en Arch

Tenia dudas si publicar o no estas mini guías donde veríamos como instalar los diferentes escritorios, al final decidí hacerlo. Bien, Como dice el título, en esta entrada veremos como instalar el escritorio plasma.

Para instalar el escritorio plasma tenemos dos opciones, utilizar el grupo o el meta paquete, bien, lo recomendado es instalar el meta paquete y de paso instalamos sddm. Para esto, utilizamos pacman.

  sudo pacman -S plasma-meta sddm

Esperamos a que termine y tendremos instalado el escritorio.

Ahora vamos por las aplicaciones, aquí también tenemos la opción de utilizar un grupo o meta paquete. Recomiendo utilizar el grupo kdebase para instalar sólo las aplicaciones mínimas de nuestro escritorio y no llenar nuestro sistema de programas que quizá no utilizaremos.
Pon atención al momento de instalar kdebase pues konqueror y kwrite forman parte de él y claramente dolphin y kate hacen la misma función respectivamente, así que podemos prescindir de ellos.

  sudo pacman -S kdebase ark sweeper gwenview

Si quieres todas las aplicaciones de kde instala el meta paquete kde-applications-meta".

Bien, hasta aquí ya tenemos una instalación mínima de plasma. Ahora vamos a iniciar nuestro nuevo escritorio. El gestor de inicio utilizado en plasma es sddm y se habilita automáticamente, al menos, recuerdo que así sucedió cuando instalé plasma. Intentemos iniciar sddm para logearnos e iniciar nuestro escritorio.

  sudo systemctl start sddm

Si nos manda error, posiblemente sea que no esta habilitado el servicio, lo habilitamos de esta forma.

  sudo systemctl enable sddm

Y lo iniciamos con la orden anterior y ahora sí debe funcionar.

De esta forma es como tenemos una instalación mínima de plasma pero funcional, ya sólo falta que le agregues los programas que necesitas y le des unos toques mágicos para dejarlo guapo.


N O T A:
Básicamente la diferencia entre el grupo y el meta paquete es que el grupo te deja elegir entre instalar todas las aplicaciones o solo unas cuantas que lo conforman, y el meta paquete no te deja elegir y se instala todo.


sábado, 5 de mayo de 2018

Sincronización automática del horario en Arch

Como dice el título, en este pequeño post vamos a ver como sincronizar la hora en Arch. Esto es especialmente útil cuando la bateria de nuestra compotadora se agoto y ya no guarda la hora.
No entraré en detalles de la configuración regional, pues estoy suponiendo que al instalar arch configurastes los archivos correctamente. Bien, empecemos.

Utilizando el programa ntp


Vamos a sincronizar la hora instalado el programa ntp para utilizar NTP. El Network Time Protocol (NTP) es un protocolo utilizado para sincronizar el reloj del sistema automáticamente a través de la red.
Instalamos el programa usando el terminal.

sudo pacman -Sy ntp


Habilitamos el servicio.

sudo systemctl enable ntpd


Lo iniciamos.

sudo systemctl start ntpd


Ahora sólo basta esperar a que la hora de nuestra computadora se actualice automáticamente mediante NTP. También podemos utilizar la orden ntpdate para sincronizar la hora al instante. Sólo escribimos en terminal:

sudo ntpdate pool.ntp.org


El archivo de configuración lo encontramos en /etc/ntp.conf y practicamente no tenemos que hacerle nada, pero si queremos cambiar los servidores podemos encontrar una lista en en este link.

Utilizando el servicio systemd-timesyncd


Este es otro método que en general hace lo mismo ya que utiliza NTP para sincronizar la hora, pero la diferencia es que este servicio viene con systemd.
Primero vamos a configurar lo servidores NTP que vamos a utilizar. Abrimos un terminal y escribimos:

sudo nano /etc/systemd/timesyncd.conf

Descomentaremos NTP y FallbackNTP. Agregamos los servidores que utilizaremos. Yo utilizaré north-america.pool.ntp.org como los servidores principales ya que son los recomendados para mi país, y los de arch para el fallback. Los servidores se separan con un espacio. Mi archivo timesyncd.conf quedó así.


Los servidores NTP de arch son los siguientes.
  • 0.arch.pool.ntp.org
  • 1.arch.pool.ntp.org
  • 2.arch.pool.ntp.org
  • 3.arch.pool.ntp.org

Bien, una vez colocados nuestros servidores y guardado los cambios, tenemos que activar el servicio. Escribimos en terminal:

timedatectl set-ntp true


Para verificar que funciona escribimos:

timedatectl status

Si todo salio bien, debemos ver estas lineas:
  • System clock synchronized: yes
  • systemd-timesyncd.service active: yes
La ventaja de este método es que cada ves que se sincroniza la hora, ésta se guarda, de esta forma cada que encendemos nuestro equipo la hora se actualiza a la última sincronización, así no se atrasa demasiado. En lo personal, este es el método que yo utilizo.

sábado, 28 de abril de 2018

Instalar Compton en Arch

Compton es un compositor ligero fork de xcompmgr-dana, utilizado a menudo cuando estamos armando un entorno liviano, ya sea usándolo junto a openbox o como yo que lo utilizo como compositor para xfce4, de hecho lo utilice hasta en Plasma en alguna ocasión. Esta pequeña guía la escribo utilizando xfce4 pero sirve para cualquier escritorio, sólo bastará con adaptarla un poco.


Lo primero es instalar compton y wget.

pacman -Sy compton


Siguiendo con la terminal, copiamos el archivo de configuración de ejemplo de compton que es el que utilizaremos para esta guía.

cp /etc/xdg/compton.conf.example ~/.config/compton.conf


Vamos a poner una pequeña sombra azul descomentando la linea shadow-blue, yo le puse 0.3 pero pueden ponerle otro número, lo importante es experimentar para que quede a nuestro gusto.

El archivo de configuración por default utiliza XRENDER como backend, así que vamos a dejarlo así por ahora. En la wiki de compton no dicen que en general el backend GLX es más rápido que XRENDER y utiliza menos CPU pero es altamente dependiente de los controladores, y XRENDER funciona en casi cualquier entorno. Link a la información. Sabiendo esto dejaremos XRENDER como viene por defecto. Más delante configuraremos GLX.

Correcto, hasta aquí será todo lo que le moveremos a la configuración, la verdad es que probar y modificar cada configuración lleva tiempo y esta es solo una pequeña guía de referencia. Les dejo el link a la wiki de compton para los que quieran profundizar en el tema.
Ahora vamos a desactivar el compositor que trae por defecto nuestro escritorio para poder activar compton. En xfce4 vamos a Menú > Configuración > Ajustes del gestor de ventanas, pestaña Compositor y desactivamos Activar composición de visualización. Con esto ya abemos desactivado el compositor de xfce, si utilizas otro escritorio busca la opción para que desactives el compositor.


¡Bien! ya estamos listos para activar compton. Hagamos una primera prueba, abrimos un terminal y escribimos.

compton -b

Parpadeará la pantalla y se activara compton. Si no has desactivado el compositor de tu escritorio compton te lo dirá.

Si no tenemos ningún problema, vamos a agregar compton para que se inicie con el sistema. en xfce vamos a Menú > Configuración > Sesión e inicio pestaña Autoarranque de aplicaciones y botón Añadir. En el campo Nombre podremos compton, en Descripción pueden ponerlo lo que deseen o dejarlo vacío, y en Orden tenemos que poner compton. Nos quedará algo así como en la imagen.


Continuando en la misma ventana de Sesión e inicio, nos movemos a la pestaña Sesión y pulsamos en Limpiar las sesiones guardadas. Ya podemos cerrar la ventana. Ya sólo nos resta cerrar a sesión y volver a entrar para ver que compton funcione sin problemas. En xfce tenemos que des seccionar la opción Guardar sesión para futuros inicio de sesión. al momento de cerrar la sesión, como se muestra en la imagen.

Ahora nuestro compositor por defecto es compton y en lo personal les diré que es el compositor que generalmente utilizo.

Problema al activar compton con GLX

Posiblemente te puede ocurrir que al activar compton utilizando GLX como backend, este se sonroje, sí, liste bien, puede que se ponga rojio como en la siguiente imagen.

En este hilo comentan este error y dan algunas posibles soluciones. Y de este hilo he utilizado una solución que proponen y a mi me funcionó y pude cargar compton utilizando el backend GLX. Veamos la soución que me funciono y les comparto. Abriremos el archivo /etc/drirc utilizando nano

sudo nano /etc/drirc

Básicamente agregaremos estas lineas a la sección .
<application name="compton" executable="compton">
    <option name="allow_rgb10_configs" value="false"/>
</application>

Nos debe quedar como la siguiente imagen. ¡Atención! con la identación del archivo.

Ahora sí ya podemos utilizar GLX como backend para compton, abriremos el archivo de configuración de compton y editamos la linea del backend, debe quedar así:

backend = "glx"

Sólo queda cerrar la sesión y volver a iniciarla para que funcione.

lunes, 23 de abril de 2018

Instalar dnscrypt-proxy 2 en Arch

Actualización junio/2018



Esta guía esta escrita usando mi configuración de dnscrypt



Primero instalemos las herramientas necesarias. Ya sabemos como instalarlas.
  pacman -Sy dnscrypt-proxy bind-tools

Vamos a la acción. Primero vamos a elegir un servidor de los que dnscrypt tienes disponibles en su web dnscrypt.info. Necesitaremos el nombre del server que esta en la columna name, yo utilizaré cloudflare y securedns para propósito de esta guía pero podemos utilizar otros si así lo deseamos.


N O T A : Se recomienda elegir servidores sin log y que soporten DNSSEC.
Primero vamos al archivo de configuración de dnscrypt.

  sudo mousepad /etc/dnscrypt-proxy/dnscrypt-proxy.toml

Vamos a descomentar server_namers y escribiremos el nombre de los servidores que elegimos anterior mente. Yo había elegido cloudflare y securedns

  server_names = ['securedns', 'securedns-ipv6', 'cloudflare', 'cloudflare-ipv6']

En listen_addresses dejamos como está por defecto. Se vería así.

  listen_addresses = ['127.0.0.1:53', '[::1]:53']

Bajamos hasta donde dice #Server must support DNS security extensions (DNSSEC). Ahí cambiaremos a true ya que los servidores que elegimos soportan DNSSEC.

Seguimos con la configiración. Ahora bajamos hasta la parte de logs donde dice # Log level. Ahí decomentaremos las siguientes líneas como en la imagen. Puede cambiar el nivel del log pero en lo personal lo uso en 2 como esta por defecto, y la ruta del log es recomendable también dejarla así por default.

Seguimos hasta la parte de ephemeral_keys yo activo esta opción para aumenta un poco la privacidad pero ustedes pueden usarla o no usarla. Lee la info que viene pues indica que aumenta el uso de cpu

Bajamos un poco más hasta la sección de ## DoH: Disable TLS session tickets - increases privacy but also latency. Mi configuración es la de la imagen. La info nos dice que si tenemos problemas con tls_cipher_suite al buscar fuentes debemos dejarlo vacío, así "tls_cipher_suite = []", en lo personal yo no he tenido problemas.

Seguimos, en los ## Fallback resolver, dejaremos Quad9 que son los que vienen por defecto, o si lo prefieren pueden cambiarlos por los de google: 8.8.8.8

Bajamos aun más en el archivo de configuración dejando como esta por defecto hasta llegar a [blacklist].
En general la blacklist es un archivo que bloquea ads, banners, trackers, web de minado, etc. Para usar blacklist debemos descomentar las lineas correspondientes como en la siguiente imagen, a mi me gusta descomentar para que se genere el log de los bloqueos pero tu puedes dejarlo comentado si no necesitas el log.


Descargaremos un archivo blacklist con la siguiente orden.

  curl -o blacklist.txt https://download.dnscrypt.info/blacklists/domains/mybase.txt

Si no quieres usar curl, entra aquí para descargar el blacklist usando el navegador.
Ahora lo movemos hasta /etc/dnscrypt-proxy/

  sudo mv -f blacklist.txt /etc/dnscrypt-proxy/

¡Listo!. Guardamos la configuración, ahora comprobaremos si hay errores en la configuración, así que habilitamos e iniciamos el servicio.

  sudo systemctl enable dnscrypt-proxy

  sudo systemctl start dnscrypt-proxy

Comprobemos el estado

  systemctl status dnscrypt-proxy

Deberíamos ver algo como en la imagen. Podemos observar que el blacklist se cargo correctamente, así que tendremos una navegación más fluida, segura y sin publicidad gracias a dnscrypt-proxy.
¡Bien, casi terminamos!. Seguimos con resolv.conf. Hagamos un backup del archivo.

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

Para abrir este archivo usaremos nano.

  sudo nano /etc/resolv.conf

Eliminamos o comentamos su contenido, y escribimos como se muestra abajo. La configuración tomará efecto en cuanto guardemos el archivo, así que es muy importante que el servicio de dnscrypt no contenga errores ya que nos quedaríamos sin conexión al instante.

  nameserver 127.0.0.1
  options edns0 single-request-reopen


N O T A:
Si al guardar resolv.conf nos quedamos sin internet estando funcinando correctamete dnscrypt, prueba a eliminar single-request-reopen, ya que me han reportado algunas personas que se quedan sin internet después de guardar. Si aún así continuas sin internet elimina toda la linea options edns0 single-request-reopen.

Tenemos que proteger nuestro resolv.conf ya que networkmanager reescribe este archivo cuando se inicia. agreguemos el atributo inmutable

  sudo chattr +i /etc/resolv.conf

Hagamos una primera prueba para ver si funciona dnscrypt-proxy.

  dnscrypt-proxy -resolve archlinux.org

Deberíamos ver algo como la siguiente imagen.
Si el resultado no tiene información del dominio que consultamos, quiere decir que algo salio mal. Bien, vamos a la web de dnsleaktest y hagamos un Extended test para ver si todo esta correcto y nuestros servidores DNS son los que indicamos. Les dejo la imagen de mi resultado.
¡Perfecto!, dnscrypt está funcionando. Veamos ahora la cache, por defecto viene activada en el archivo de configuración así que comprobemos si funciona.
Usaremos la orden dig para consultar archlinux.org, si la cache está funcionando debemos ver una disminución en los tiempos de consulta.

  dig archlinux.org | grep "Query time"

Yo realice tres consultas, les dejo mis resultados en la siguiente imagen.
Podemos concluir que la cache está funcionando.
Para configurar este parámetro debemos ir al archivo de configuración dnscrypt-proxy.toml hasta el apartado DNS cache, bien, la configuración por de defecto es la recomendada para la mayoría de los usuarios y en lo personal, no le veo necesario cambiarla a menos que tengas necesidades específicas como que estés corriendo en un servidor muy concurrido.
Entender la configuración es muy sencillo:
Es la cantidad máxima de entradas en la cache

  cache_size = 512

El valor TTL (Time To Live) se mide en segundos, así es que el tiempo mínimo que durará en cache una respuesta positiva será de 600 segundos, que es igual a 10 minutos.

  cache_min_ttl = 600

El tiempo máximo que durará en cache una entrada positiva será de un 86400 que es un día completo.

  cache_max_ttl = 86400

Las respuestas negativas durará sólo 60 segundos, que es un minuto.

  cache_neg_ttl = 60

Como podemos ver, ya no es necesario utilizar dnsmasq como cache pues dnscrypt ya trae cache incorporada.
Con esto hemos terminado esta pequeña guía, les dejo el link del proyecto donde pueden encontrar más información.
https://github.com/jedisct1/dnscrypt-proxy