viernes, 1 de septiembre de 2023

Comparando la Latencia del Servidor DNS: ¿Cómo afecta Pi-hole a la Velocidad de Respuesta?

Introducción:

En el vasto e interconectado mundo de internet, la velocidad es esencial. La rapidez con la que se resuelven las solicitudes DNS (Sistema de Nombres de Dominio) juega un papel crucial en nuestra experiencia en línea. En este artículo, exploraremos cómo la introducción de Pi-hole, una herramienta de filtrado de DNS, puede afectar la latencia en la respuesta del servidor DNS. ¿Pi-hole mejora la privacidad en línea, pero a costa de una respuesta más lenta? Descubrámoslo.


La Latencia DNS y su Importancia:

La latencia DNS se refiere al tiempo que tarda un servidor DNS en resolver una solicitud de nombre de dominio. Cuanto más rápido sea este proceso, más ágil será su experiencia en línea. 

Los servidores DNS habituales, como el proporcionado por su proveedor de servicios de Internet (ISP) o servicios como Google DNS, se esfuerzan por ser rápidos y eficientes. Pero, ¿qué ocurre cuando interponemos un filtro como Pi-hole en el camino?


Pi-hole: Privacidad vs. Latencia:

Pi-hole es una herramienta que bloquea anuncios y rastreadores en línea al filtrar solicitudes DNS. Aunque su enfoque principal es mejorar la privacidad y la seguridad en línea, surge una pregunta: ¿afecta la velocidad de respuesta del servidor DNS al interponer Pi-hole en el proceso?


Metodología:

Para responder a esta pregunta, llevamos a cabo un experimento utilizando dnsperf, una herramienta de prueba de rendimiento DNS. Configuramos dos escenarios diferentes:

Sin Pi-hole: En este escenario, medimos la latencia de respuesta del servidor DNS habitual, utilizando Google DNS como referencia. Evaluamos el tiempo que lleva resolver una lista de destinos de prueba.


Repetimos la medicion:



Mi lista de destinos contiene 7 destinos:



Con Pi-hole: Luego, interponemos Pi-hole entre nuestro ordenador y el servidor DNS. Medimos la latencia nuevamente al resolver la misma lista de destinos a través de Pi-hole y Google DNS como servidor de referencia. Esto nos permitirá comparar la velocidad de respuesta en ambos casos.



Repetimos la medicion:



Resultados esperados:

Es importante destacar que, si bien Pi-hole puede introducir una ligera latencia adicional debido al proceso de filtrado, la diferencia puede no ser significativa para la mayoría de los usuarios. Además, la privacidad y la seguridad en línea que proporciona Pi-hole pueden superar con creces cualquier aumento mínimo en la latencia.


Conclusión:

En un mundo donde la privacidad en línea es esencial, Pi-hole ofrece una solución valiosa. Aunque puede introducir una ligera latencia en la respuesta del servidor DNS, los beneficios en términos de privacidad y seguridad pueden superar con creces este pequeño inconveniente. 

Los resultados de nuestro experimento ayudan a comprender mejor cómo afecta Pi-hole a la velocidad de respuesta del servidor DNS y si esta diferencia es lo suficientemente significativa como para considerarla al tomar una decisión sobre su uso.


Esta entrada en el blog ha sido generada por IA.

Para saber más, este artículo me ha servido de referencia.

domingo, 13 de octubre de 2019

Actualizando PyCharm Community en Fedora 30

PyCharm está instalado con flatpak. Se ejecuta desde el entorno del usuario.

Cuando hay una actualización no se puede actualizar porque el usuario no tiene acceso al directorio donde está instalado.

El comando para lanzar PyCharm desde el entorno del usuario es:
/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=pycharm-desktop com.jetbrains.PyCharm-Community

PyCharm se puede actualizar directamente desde la aplicación pero necesita que lo ejecutemos como root.

Para poder lanzar PyCharm como root, he añadido mi usuario al group wheel y editado con visudo el archivo /etc/sudoers para quitar el comentario a la línea:
%wheel ALL=(ALL) ALL

Después se incluye el usario en el grupo wheel y reiniciamos:
#usermod -a -G wheel usuario
#reboot
Tras reiniciar, hay que ejecutar PyCharm como root usando el comando sudo:

sudo ~/.local/share/flatpak/app/com.jetbrains.PyCharm-Community/x86_64/stable/84cb7490ad1a6235db4d377e9bd37beba690788c5cc1bbe34721082299cba1e2/files/pycharm/bin/pycharm.sh

Para actualizar, ir al menú Help, y seleccionar la opción Check for Updates...

domingo, 8 de septiembre de 2019

Creando particiones en un disco de 4TB con parted

Se van a crear dos particiones, una de 512GB y otra usando el resto de espacio disponible.

# parted /dev/sde
GNU Parted 3.2
Using /dev/sde
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
Model: ATA WDC WD40EFRX-68W (scsi)
Disk /dev/sde: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: loop
Disk Flags: 

Number  Start  End     Size    File system  Flags
 1      0.00B  4001GB  4001GB  xfs

(parted) mklabel gpt                                                  
Warning: The existing disk label on /dev/sde will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes                                                               
(parted) unit TB                                                          
(parted) mkpart primary 0.0GB 512.0GB
(parted) print                                                            
Model: ATA WDC WD40EFRX-68W (scsi)
Disk /dev/sde: 4.00TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      0.00TB  0.51TB  0.51TB               primary

(parted) quit                                                             
Information: You may need to update /etc/fstab.
# parted /dev/sde
GNU Parted 3.2
Using /dev/sde
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
Model: ATA WDC WD40EFRX-68W (scsi)
Disk /dev/sde: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size   File system  Name        Flags
 1      1049kB  512GB  512GB               WDred4TBn1
# parted --align optimal /dev/sde
GNU Parted 3.2
Using /dev/sde
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: ATA WDC WD40EFRX-68W (scsi)
Disk /dev/sde: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size   File system  Name        Flags
 1      1049kB  512GB  512GB               WDred4TBn1

(parted) align-check opt 1
1 aligned
(parted) unit tb
(parted) mkpart primary 512.0GB
End? 4.0TB                                                                
(parted) print                                                            
Model: ATA WDC WD40EFRX-68W (scsi)
Disk /dev/sde: 4.00TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name        Flags
 1      0.00TB  0.51TB  0.51TB               WDred4TBn1
 2      0.51TB  4.00TB  3.49TB               primary

(parted) name 2 WDred4TBn2                                                
(parted) print                                                            
Model: ATA WDC WD40EFRX-68W (scsi)
Disk /dev/sde: 4.00TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name        Flags
 1      0.00TB  0.51TB  0.51TB               WDred4TBn1
 2      0.51TB  4.00TB  3.49TB               WDred4TBn2

(parted) align-check                                                      
alignment type(min/opt)  [optimal]/minimal? opt                           
Partition number? 2                                                       
2 aligned
(parted) align-check opt 1
1 aligned
(parted) quit

lunes, 3 de junio de 2019

Velocidad de la conexion a Internet

He recibido un correo avisando de que le proveedor de Internet (UnityMedia) va a realizar trabajos supuestamente para mejoras en la red.

El día 3 de Junio, las pruebas de velocidad obtienen el siguiente resultado:

El resultado desde la linea de comandos no devuelve un resultado significativamente mejor, se repite la medida cinco veces:
$ speedtest-cli
Retrieving speedtest.net configuration...
Testing from Unitymedia (**.***.***.***)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by 23media GmbH (********) [2.33 km]: 30.901 ms
Testing download speed................................................................................
Download: 17.86 Mbit/s
Testing upload speed....................................................................................................
Upload: 2.60 Mbit/s

$ speedtest-cli
Retrieving speedtest.net configuration...
Testing from Unitymedia (**.***.***.***)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by 23media GmbH (********) [2.33 km]: 31.848 ms
Testing download speed................................................................................
Download: 14.88 Mbit/s
Testing upload speed....................................................................................................
Upload: 2.45 Mbit/s

$ speedtest-cli
Retrieving speedtest.net configuration...
Testing from Unitymedia (**.***.***.***)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Vodafone Kabel Deutschland (********) [2.33 km]: 32.165 ms
Testing download speed................................................................................
Download: 22.19 Mbit/s
Testing upload speed....................................................................................................
Upload: 5.91 Mbit/s

$ speedtest-cli
Retrieving speedtest.net configuration...
Testing from Unitymedia (**.***.***.***)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by MK Netzdienste (********) [2.33 km]: 31.193 ms
Testing download speed................................................................................
Download: 24.35 Mbit/s
Testing upload speed....................................................................................................
Upload: 2.49 Mbit/s

$ speedtest-cli
Retrieving speedtest.net configuration...
Testing from Unitymedia (62.143.152.133)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Vodafone Kabel Deutschland (Frankfurt) [2.33 km]: 34.471 ms
Testing download speed................................................................................
Download: 19.58 Mbit/s
Testing upload speed....................................................................................................
Upload: 5.99 Mbit/s


Actualizado a fecha 31 Jul 2019:
No parece que hayan mejorado respecto a la velocidad:
$ speedtest-cli
Retrieving speedtest.net configuration...
Testing from Unitymedia (62.143.152.133)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Vodafone DE (Frankfurt) [1.52 km]: 35.338 ms
Testing download speed................................................................................
Download: 14.53 Mbit/s
Testing upload speed......................................................................................................
Upload: 5.92 Mbit/s

$ speedtest-cli
Retrieving speedtest.net configuration...
Testing from Unitymedia (62.143.152.133)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by fdcservers.net (Frankfurt) [1.52 km]: 33.2 ms
Testing download speed................................................................................
Download: 17.24 Mbit/s
Testing upload speed......................................................................................................
Upload: 6.29 Mbit/s

domingo, 2 de junio de 2019

Cambiando la ubicación del archivo journal

He cambiado la ubicación de journal porque al intentar acceder al log de algún arranque anterior al actual aparece el siguiente error:
journalctl -b -1
Specifying boot ID or boot offset has no effect, no persistent journal was found.

mkdir -p /var/log/journal
systemd-tmpfiles --create --prefix /var/log/journal
[/usr/lib/tmpfiles.d/mdadm.conf:1] Line references path below legacy directory /var/run/, updating /var/run/mdadm → /run/mdadm; please update the tmpfiles.d/ drop-in file accordingly.
[/usr/lib/tmpfiles.d/pptp.conf:1] Line references path below legacy directory /var/run/, updating /var/run/pptp → /run/pptp; please update the tmpfiles.d/ drop-in file accordingly.
systemctl restart systemd-journald

Ahora el journal se crean en una nueva ubicación:
ll /var/log/journal/
total 0
drwxr-sr-x+ 2 root systemd-journal 28 Jun  2 19:09 9a85483ca35740a8a3e7537687fe062a

Después de reiniciar, al listar los arranques almacenados aparecen mas de uno:
journalctl --list-boots
-1 ee4accf1fe6c408e94ad96fe8988080a Sun 2019-06-02 18:57:40 CEST—Sun 2019-06-02 19:19:24 CEST
 0 976f76e67e6244ab83eeb18dbd77ed62 Sun 2019-06-02 19:30:27 CEST—Sun 2019-06-02 19:36:14 CEST

Esta solución se aplica según lo indicado aquí.

sábado, 13 de abril de 2019

Lanzar nautilus como root en Fedora 29

Es muy fácil, como usuario simplemente usar el comando:
xhost +local:
sudo nautilus
Password:

domingo, 7 de octubre de 2018

PackageKit cache consume casi todo el espacio disponible

El directorio /var/cache/PackageKit/28 esta consumiendo casi 2.9 GB y consecuentemente deja poco espacio libre en /
Este cache lo crea PackageKit cuando va actualizando la versión Fedora instalada.
Para limpiar la cache he usado el comando:

su -
pkcon refresh force

Esto limpia la cache. Ha pasado de casi 2.9 GB a tan solo 206 MB.

Se puede evitar que se cree cache actualizando con dnf update

Si se quiere que PackageKit no cree cache, se puede editar el archivo de configuracion de PackageKit en /etc/PackageKit/PackageKit.conf y eliminar el comentario de la linea #KeepCache=false

martes, 7 de agosto de 2018

Demasiado tiempo en el arranque gráfico de Fedora 28

Tarda demasiado tiempo en arrancar el entorno gráfico GNOME 3. Desde que aparece el menú de opciones de Grub2 hasta que aparece el login screen pasan más de dos minutos. Para comprobar cuánto tiempo consume el proceso de arranque utilizamos el comando:

# systemd-analyze

que devuelve el resultado:

Startup finished in 1.461s (kernel) + 1.592s (initrd) + 2min 10.568s (userspace) = 2min 13.622s
graphical.target reached after 2min 5.083s in userspace

Para saber que proceso es responsable del arranque lento, se puede ejecutar:

# systemd-analyze blame

y muestra el resultado siguiente:

        2min 1.010s lvm2-monitor.service
   2min 493ms systemd-udev-settle.service
       6.875s NetworkManager-wait-online.service
       1.551s dmraid-activation.service
       1.374s plymouth-quit-wait.service
        793ms udisks2.service
        735ms fwupd.service
        654ms dkms.service
        650ms initrd-switch-root.service
        631ms firewalld.service
        508ms dev-md126p1.device
        455ms dracut-pre-pivot.service
        451ms upower.service
        350ms dnf-makecache.service
        340ms systemd-logind.service
        228ms libvirtd.service
        181ms accounts-daemon.service
        149ms dracut-initqueue.service
        134ms dracut-pre-trigger.service
        117ms user@1000.service
        115ms systemd-udev-trigger.service
        114ms sysroot.mount
        108ms polkit.service
        106ms user@42.service
       96ms home.mount
        96ms geoclue.service

Parece que la mayor parte del retraso proviene del proceso lvm2-monitor.service. Este proceso se encarga de monitorizar el uso del LVM.

Si no utilizas LVM se puede deshabilitar sin problemas. Para identificar que el servicio lvm2-monitor está habilitado y en uso puedes usar el comando:

 
# systemctl status lvm2-monitor

Este comando devuelve la siguiente información si el servicio está activado:

● lvm2-monitor.service - Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling
Loaded: loaded (/usr/lib/systemd/system/lvm2-monitor.service; enabled; vendor preset: enabled)
Active: active (exited)  since Mon 2018-08-06 22:12:47 CEST; 41min ago

Process: 710 ExecStart=/usr/sbin/lvm vgchange --monitor y --ignoreskippedcluster (code=exited, status=0/SUCCESS)
Main PID: 710 (code=exited, status=0/SUCCESS)

En mi caso, el servicio systemd-udev-settle también causa buena parte del retraso en el arranque. Para comprobar su estado ejecuto:
 
# systemctl status systemd-udev-settle.service

y devuelve la siguiente información:

 
● systemd-udev-settle.service - udev Wait for Complete Device Initialization
   Loaded: loaded (/usr/lib/systemd/system/systemd-udev-settle.service; static; vendor preset: disabled)
   Active: failed (Result: exit-code) since Mon 2018-08-06 22:12:46 CEST; 41min ago
  Docs: man:udev(7)
        man:systemd-udevd.service(8)
  Process: 759 ExecStart=/usr/bin/udevadm settle (code=exited, status=1/FAILURE)
  Main PID: 759 (code=exited, status=1/FAILURE)
Aug 06 22:10:46 systemd[1]: Starting udev Wait for Complete Device Initialization...
Aug 06 22:12:46 systemd[1]: systemd-udev-settle.service: Main process exited, code=exited, status=1/FAILURE
Aug 06 22:12:46 systemd[1]: systemd-udev-settle.service: Failed with result 'exit-code'.
Aug 06 22:12:46 systemd[1]: Failed to start udev Wait for Complete Device Initialization.


Desactivo ambos servicios con los comandos:

# systemctl mask systemd-udev-settle.service
Created symlink /etc/systemd/system/systemd-udev-settle.service → /dev/null.
systemctl mask lvm2-activation-net.service

#systemctl mask lvm2-activation-net.service
Unit lvm2-activation-net.service does not exist, proceeding anyway.
Created symlink /etc/systemd/system/lvm2-activation-net.service → /dev/null.

Y ahora reiniciamos el sistema y comprobamos nuevamente los tiempos de arranque.

# systemd-analyze
Startup finished in 1.465s (kernel) + 1.602s (initrd) + 10.034s (userspace) = 13.102s
graphical.target reached after 4.211s in userspace

Y para determinar el proceso que más tarda en responder hacemos:

# systemd-analyze blame

Y ahora devuelve el siguiente resultado:

         21.856s dnf-makecache.service
          6.830s NetworkManager-wait-online.service
          1.160s udisks2.service
           996ms plymouth-quit-wait.service
           741ms fwupd.service
           652ms initrd-switch-root.service
           564ms dkms.service
           560ms firewalld.service
           536ms dev-md126p1.device
           442ms dracut-pre-pivot.service
           390ms home.mount
           376ms systemd-logind.service
           306ms upower.service
           264ms systemd-fsck@dev-disk-by\x2duuid-1576514b\x2d25a2\x2d446e\x2d867f\x2de15bef848cff.service
           171ms accounts-daemon.service
           163ms dracut-initqueue.service
           155ms libvirtd.service
           138ms dracut-pre-trigger.service
           137ms auditd.service
           119ms user@1000.service
           117ms systemd-journal-flush.service

Aquí hay una buena explicación de porqué se puede deshabilitar el servicio udev-settle sin que el sistema lo note.

domingo, 8 de julio de 2018

Ajustes en los parámetros del Kernel después de instalar Fedora 28 y los drivers propietarios de NVIDIA

Aquí algunos ajustes en los parámetros del Kernel después de instalar los drivers propietarios de NVIDIA y también para evitar que se muestre el error ACPI durante el inicio:


#grubby --args="libata.noacpi=1" --update-kernel /boot/vmlinuz-4.17.3-200.fc28.x86_64
#grubby --remove-args="quiet" --update-kernel /boot/vmlinuz-4.17.3-200.fc28.x86_64
#grubby --args="rd.driver.blacklist=nouveau" --update-kernel /boot/vmlinuz-4.17.3-200.fc28.x86_64
#grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.17.3-200.fc28.x86_64
Found initrd image: /boot/initramfs-4.17.3-200.fc28.x86_64.img
Found linux image: /boot/vmlinuz-4.16.3-301.fc28.x86_64
Found initrd image: /boot/initramfs-4.16.3-301.fc28.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-9249b31f315348a99e8a52d56af472c2
Found initrd image: /boot/initramfs-0-rescue-9249b31f315348a99e8a52d56af472c2.img
done
#mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
#dracut /boot/initramfs-$(uname -r).img $(uname -r) --force




He encontrado muy útiles los siguientes artículos para hacer estos ajustes en los parámetros del Kernel:


ACPI Error: Una tontería de GNU/Linux que me ha vuelto loco
Fedora 28/27/26 nVidia Drivers Install Guide
Tutorial : Install NVIDIA 396.24 in Fedora 28 with Kernel 4.16.x

Al modificar los parámetros del kernel con grubby y después hacer grub2-mkconfig las modificaciones desaparecen y los parámetros introducidos no aparecen ni tampoco se elimina "quiet" tras hacer grubby --remove.

Sin motivo aparente, al hacer grub2-mkconfig, la llamada al kernel vmlinuz y sus parámetros se restablecen a su valor por defecto, es decir, con los parámetros rhgb y quiet unicamente:

#grubby --info=ALL
index=0
kernel=/boot/vmlinuz-4.17.3-200.fc28.x86_64
args="ro resume=UUID=9f37d638-7127-43cf-ae0a-6c0a4ba4d2f0 rd.md.uuid=dc00ef36:c7b058c3:a6598f75:06f6e016 rd.md.uuid=0125bb79:4caae511:15023fbb:4006b23c rhgb quiet "
root=UUID=e3300789-4bcf-4b78-9548-4ed4a0ee9475
initrd=/boot/initramfs-4.17.3-200.fc28.x86_64.img
title=Fedora (4.17.3-200.fc28.x86_64) 28 (Workstation Edition)
index=1
kernel=/boot/vmlinuz-4.16.3-301.fc28.x86_64
args="ro resume=UUID=9f37d638-7127-43cf-ae0a-6c0a4ba4d2f0 rd.md.uuid=dc00ef36:c7b058c3:a6598f75:06f6e016 rd.md.uuid=0125bb79:4caae511:15023fbb:4006b23c rhgb quiet "
root=UUID=e3300789-4bcf-4b78-9548-4ed4a0ee9475
initrd=/boot/initramfs-4.16.3-301.fc28.x86_64.img
title=Fedora (4.16.3-301.fc28.x86_64) 28 (Workstation Edition)
index=2
kernel=/boot/vmlinuz-0-rescue-9249b31f315348a99e8a52d56af472c2
args="ro resume=UUID=9f37d638-7127-43cf-ae0a-6c0a4ba4d2f0 rd.md.uuid=dc00ef36:c7b058c3:a6598f75:06f6e016 rd.md.uuid=0125bb79:4caae511:15023fbb:4006b23c rhgb quiet "
root=UUID=e3300789-4bcf-4b78-9548-4ed4a0ee9475
initrd=/boot/initramfs-0-rescue-9249b31f315348a99e8a52d56af472c2.img
title=Fedora (0-rescue-9249b31f315348a99e8a52d56af472c2) 28 (Workstation Edition)
index=3
non linux entry 


Después de varios intentos se soluciona elminando el archivo vmlinuz de la versión actual del kernel que está ubicado en /boot y reinstalo el kernel:

#mv /boot/vmlinuz-4.17.3-200.fc28.x86_64 /root/
#dnf reinstall kernel-core-4.17.3-200.fc28.x86_64
#grubby --args="rd.driver.blacklist=nouveau" --update-kernel /boot/vmlinuz-4.17.3-200.fc28.x86_64
#grubby --info=ALL
#grubby --remove-args="quiet" --update-kernel /boot/vmlinuz-4.16.3-301.fc28.x86_64
#grubby --args="libata.noacpi=1" --update-kernel /boot/vmlinuz-4.17.3-200.fc28.x86_64
#grubby --info=ALL
#grub2-mkconfig
#grubby --info=ALL
index=0
kernel=/boot/vmlinuz-4.17.3-200.fc28.x86_64
args="ro resume=UUID=9f37d638-7127-43cf-ae0a-6c0a4ba4d2f0 rd.md.uuid=dc00ef36:c7b058c3:a6598f75:06f6e016 rd.md.uuid=0125bb79:4caae511:15023fbb:4006b23c rhgb quiet LANG=en_GB.UTF-8 rd.driver.blacklist=nouveau libata.noacpi=1"
root=UUID=e3300789-4bcf-4b78-9548-4ed4a0ee9475
initrd=/boot/initramfs-4.17.3-200.fc28.x86_64.img
title=Fedora (4.17.3-200.fc28.x86_64) 28 (Workstation Edition)
index=1
kernel=/boot/vmlinuz-4.16.3-301.fc28.x86_64
args="ro resume=UUID=9f37d638-7127-43cf-ae0a-6c0a4ba4d2f0 rd.md.uuid=dc00ef36:c7b058c3:a6598f75:06f6e016 rd.md.uuid=0125bb79:4caae511:15023fbb:4006b23c rhgb"
root=UUID=e3300789-4bcf-4b78-9548-4ed4a0ee9475
initrd=/boot/initramfs-4.16.3-301.fc28.x86_64.img
title=Fedora (4.16.3-301.fc28.x86_64) 28 (Workstation Edition)
index=2
kernel=/boot/vmlinuz-0-rescue-9249b31f315348a99e8a52d56af472c2
args="ro resume=UUID=9f37d638-7127-43cf-ae0a-6c0a4ba4d2f0 rd.md.uuid=dc00ef36:c7b058c3:a6598f75:06f6e016 rd.md.uuid=0125bb79:4caae511:15023fbb:4006b23c rhgb quiet"
root=UUID=e3300789-4bcf-4b78-9548-4ed4a0ee9475
initrd=/boot/initramfs-0-rescue-9249b31f315348a99e8a52d56af472c2.img
title=Fedora (0-rescue-9249b31f315348a99e8a52d56af472c2) 28 (Workstation Edition)
index=3
non linux entry





vmlinuz dañado en Fedora 28 - invalid signature

Al intentar modificar los parámetros del Kernel con grubby, por error ejecuté el comando grub2-mkconfig con el parámetro de salida equivocado:

ejecute:

grubby --args="libata.noacpi=1" --update-kernel /boot/vmlinuz-4.17.3-200.fc28.x86_64
grubby --remove-args="quiet" --update-kernel /boot/vmlinuz-4.17.3-200.fc28.x86_64
grub2-mkconfig -o /boot/vmlinuz-4.17.3-200.fc28.x86_64

en lugar de esto:

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Como consecuencia reescribí el kernel de linux y el sistema no puede arrancar sino que muestra el error:

error: /live/vmlinuz has invalid signature. error: you need to load the kernel first.

Para solucionarlo reinicié el sistema en la versión anterior del Kernel que aún funcionaba y restauré el archivo dañado de la copia que existía en /lib/modules con:

cp /lib/modules/4.17.3-200.fc28.x86_64/vmlinuz /boot/vmlinuz-4.17.3-200.fc28.x86_64

Después de reiniciar el sistema funciona perfectamente en la correcta versión del Kernel

domingo, 29 de mayo de 2016

vino-server consume 100% de la CPU

Cuando inicio Fedora 20, el proceso vino-server consume el 100% de la CPU. Para solucionarlo, edito la configuración de Vino en settings de gnome con dconf Editor y modifico la clave:

org.gnome.desktop.remote-access.use-upnp

y la selecciono como habilitada.


El proceso /usr/libexec/vino-server se seguirá ejecutando pero el consumo de CPU baja.


domingo, 20 de marzo de 2016

Sin sonido ni dispositivos ni controles de sonido en Fedora 20

Los dispositivos de audio (devices) de salida y de entrada no aparecen en el panel de sonido en los ajustes del sistema en Fedora 20. Tampoco hay sonido ni aparece un control de volumen en la barra de menú.

En /var/log/messages aparece el siguiente error:

Mar 20 19:57:52 miordenador gnome-session: 20/03/2016 19:57:52 rfbCheckFds: accept: Invalid argument
Mar 20 19:57:52 miordenador pulseaudio[20457]: [pulseaudio] socket-server.c: bind(): Address already in use
Mar 20 19:57:52 miordenador pulseaudio[20457]: [pulseaudio] module.c: Failed to load module "module-esound-protocol-unix" (argument: ""): initialization failed.
Mar 20 19:57:52 miordenador pulseaudio[20457]: [pulseaudio] main.c: Module load failed.
Mar 20 19:57:52 miordenador pulseaudio[20457]: [pulseaudio] main.c: Failed to initialize daemon.
Mar 20 19:57:52 miordenador gnome-session: 20/03/2016 19:57:52 rfbCheckFds: accept: Invalid argument

Para solucionarlo, elimino el archivo /tmp/.esd-{uid}/socket, en mi caso, con mi uid 1000, el comando es:

rm -rf /tmp/.esd-1000/socket

y edito el archivo /etc/pulse/default.pa y comento la línea dónde se carga el módulo module-esound-protocol-unix.

Reinicio pulseaudio con:

killall pulseaudio

Así hay sonido en las aplicaciones y la fanfarria al iniciar Skype pero no hay sonido en llamada de prueba. Elimino los módulos que tenía instalados:

dnf remove pavucontrol
dnf remove sox

Quito el comentario dónde se carga el módulo module-esound-protocol-unix y ahora al hacer

killall pulseaudio

Pulseaudio se recarga sin que aparezca el error: Failed to load module

Ahora elimino ldaspa y ladspa-devel que también eliminan pulseaudio-equalizer

Además del error anterior, en /var/log/messages también aparece el error:

Mar 20 19:57:52 miordenador pulseaudio[20464]: [pulseaudio] main.c: Daemon startup failed.
Mar 20 19:57:52 miordenador gnome-session: 20/03/2016 19:57:52 rfbCheckFds: accept: Invalid argument
Mar 20 19:57:52 miordenador pulseaudio[20494]: [pulseaudio] authkey.c: Failed to open cookie file '/home/{miusuario}/.config/pulse/cookie': No such file or directory
Mar 20 19:57:52 miordenador pulseaudio[20494]: [pulseaudio] authkey.c: Failed to load authorization key '/home/{miusuario}/.config/pulse/cookie': No such file or directory

Este error se produce porque al cambiar la versión de pulseaudio a 5.0 el path donde se guarda el archivo cookie ha cambiado por lo que hay que mover allí los archivos que antes estaban en:
/home/{miusuario}/.pulse

Ahora están en:

/home/{miusuario}/.conf/pulse con:

cd /home/{miusuario}
mkdir .config/pulse
mv -R /home/{miusuario}/.pulse /home/{miusuario}/.config/pulse/
mv -R /home/{miusuario}/.pulse-cookie /home/{miusuario}/.config/pulse/cookie

El error authkey.c desaparece al reiniciar pulseaudio pero Skype sigue sin tener sonido cuando se hace una llamada.


Al abrir Pulseaudio VolumeControl aparece un error indicando que no se puede establecer la conexión con pulseaudio y al abrir el control de volumen de Gnome no aparece ningún dispositivo de reproducción. Sin embargo, al hacer:

[root@{miordenador}tmp]# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
[root@{miordenador} tmp]# ls -l /dev/snd/
total 0
drwxr-xr-x  2 root root       60 Apr  6 19:51 by-id
drwxr-xr-x  2 root root      100 Apr  6 19:51 by-path
crw-rw----+ 1 root audio 116,  2 Apr  6 19:51 controlC0
crw-rw----+ 1 root audio 116,  8 Apr  6 19:51 controlC1
crw-rw----+ 1 root audio 116, 13 Apr  6 19:51 controlC2
crw-rw----+ 1 root audio 116,  7 Apr  6 19:51 hwC0D0
crw-rw----+ 1 root audio 116, 12 Apr  6 19:51 hwC1D0
crw-rw----+ 1 root audio 116,  4 Apr 10 14:25 pcmC0D0c
crw-rw----+ 1 root audio 116,  3 Apr 10 14:25 pcmC0D0p
crw-rw----+ 1 root audio 116,  5 Apr 10 14:25 pcmC0D1p
crw-rw----+ 1 root audio 116,  6 Apr  6 19:51 pcmC0D2c
crw-rw----+ 1 root audio 116,  9 Apr 10 14:25 pcmC1D3p
crw-rw----+ 1 root audio 116, 10 Apr 10 14:25 pcmC1D7p
crw-rw----+ 1 root audio 116, 11 Apr 10 14:25 pcmC1D8p
crw-rw----+ 1 root audio 116, 14 Apr 10 14:25 pcmC2D0c
crw-rw----+ 1 root audio 116,  1 Apr  6 19:51 seq
crw-rw----+ 1 root audio 116, 33 Apr  6 19:51 timer


Finalmente se soluciona al cerrar otra sesión con el mismo nombre de usuario que estaba abierta desde VNC:

[{miusuario}@{miordenador} ~]$ ps axu | grep Xvnc
{miusuario}     2167  0.1  1.0 390116 168432 ?       Sl   Apr06   9:04 /usr/bin/Xvnc :1 -desktop {miordenador}:1 ({miusuario}) -auth /home/{miusuario}/.Xauthority -geometry 480x320 -rfbwait 30000 -rfbauth
/home/{miusuario}/.vnc/passwd -rfbport 5901 -fp catalogue:/etc/X11/fontpath.d -pn
{miusuario}     9737  0.0  0.0 112680  2240 pts/1    S+   14:35   0:00 grep --color=auto Xvnc

Elimino la sessión abierta:

[{miusuario}@{miordenador} ~]$ vncserver -kill :1
Killing Xvnc process ID 2167


[{miusuario}@{miordenador} ~]$ ps axu | grep Xvnc
{miusuario}    10473  0.0  0.0 112676  2180 pts/1    S+   14:35   0:00 grep --color=auto Xvnc


Cada vez que se inicia el ordenador vuelve a ejecutarse Xvnc y por tanto, deja de haber sonido. El síntoma principal es que el gnome-mixer no muetra ningún dispositivo de reproducción ni de grabación. Al matar el proceso, los dispositivos vuelven a aparecer en el gnome-mixer.

Para analizar otros problemas de sonido es aconsejable seguir los pasos descritos aquí.

El mezclador en modo consola, desde la línea de comandos se puede ejecutar con:

alsamixer -c0


lunes, 2 de noviembre de 2015

Editor de documentos PDF

Un estupendo editor de documentos PDF, instalado en Fedora 20 con excelentes resultados:

Free Master PDF Editor for Linux

Partiendo de un documento PDF (form.pdf) en forma de formulario para rellenar que no permite guardarse, rellenamos los campos e imprimimos a archivo como PS (form.ps).

El documento PS puede convertirse de nuevo a PDF mediante ps2pdf con lo que tenemos el documento con los campos rellenados en PDF de nuevo

ps2pdf form.ps form-completo.pdf

y luego podemos editarlo para incorporar imágenes con Free Master PDF Editor.



domingo, 18 de octubre de 2015

Enrutar paquetes desde un interface de red privada hacia Internet

Queremos habilitar el acceso a internet desde un equipo conectado a un interface de otro equipo que tiene dos interfaces. Es decir, el equipo conectado a Internet, tiene dos interfaces de red, uno conectado a Internet y otro conectado a una red interna formada por un solo equipo. El equipo conectado a Internet hará de router para otro equipo conectado a su otro interfaz.

El equipo que hará de router tiene Fedora 22 y debe enrutar los paquetes que le llegan desde un interface conectado a una red interna hacia Internet.

En el equipo Fedora 22, el interface conectado a Internet es em1 y el interface conectado a la red interna es p2p1.

Lo primero es configurar el interfaz de red (egiga0) del equipo al que queremos proporcionar acceso a Internet:



Y su tabla de rutas:


Para añadir la ruta por defecto:

route add -net 0.0.0.0 gw 192.168.249.5 dev egiga0

El gateway de la ruta por defecto (0.0.0.0) se corresponde con la IP del interfaz del equipo Fedora: 192.168.249.5. Con el comando

ifconfig -a

vemos la configuración de los interfaces en el equipo Fedora que nos va a hacer de router:


El router estándar doméstico conectado a Internet ha asignado la IP dinámica 192.168.20.5 al interface em1 que tiene acceso a Internet.

La tabla de rutas del equipo Fedora que hará de router se muestra con el comando:

route -n

o también con:

ip route show


Vemos que la red privada 192.168.249.0 está asignada al interfaz p2p1. La configuración de este interface está en el archivo:

cat /etc/sysconfig/network-scripts/ifcfg-p2p1


Ahora que los interfaces están configurados en los dos equipos, creamos la reglas para el enrutamiento en el equipo Fedora 22 que hará de router:

iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE
iptables -A FORWARD -i em1 -o p2p1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i p2p1 -o em1 -j ACCEPT

Falta habilitar el enrutamiento en el equipo Fedora con:

echo 1 > /proc/sys/net/ipv4/ip_forward

Esto configura el enrutamiento de forma temporal, es decir, al reiniciar el equipo que hace de router, habrá que habilitarlo nuevamente.

Para habilitarlo de forma permanente es necesario editar /etc/sysctl.conf

sábado, 26 de septiembre de 2015

Desinstalar dropbox en Fedora 22

Cómo desinstalo Dropbox de la cuenta de root únicamente:

Primero detengo la ejecución de Dropbox con:

su -

dropbox stop

elimino todos los archivos del directorio

rm -rf /root/Dropbox

los archivos ocultos también:

rm -rf /root/.dropbox*
rm /root/.dropbox-dist/

y también me aseguro de que no está configurado en el autostart. Si lo está, lo eliminamos

ls -lisa /root/.config/autostart

sábado, 19 de septiembre de 2015

PulseAudio Multiband Equalizer

Para instalar el control de volumen pavucontrol:

sudo dnf install pavucontrol

también tengo instalado ladspa con idea de modificar mi voz en vivo mientras hablo por Skype.

El ecualizador multibanda de pulseaudio se instala en Fedora con:

sudo dnf install pulseaudio-equalizer

Al instalarlo también se instala ladspa-swh-plugins

Los plugins se han instalado en /usr/lib64/ladspa

Por defecto el ecualizador aparece deshabilitado. Es necesario habilitarlo con:

pulseaudio-equalizer enable-config

y se reinicia pulseaudio con:

pulseaudio -k

Para ver la configuración de pulseaudio se usa:

pulseaudio --dump-conf

Cuando se cambia la configuración preset o se cambia los valores de las frecuencias y pulsamos en apply settings, la reproducción del sonido se interrumpe y para reanudarla hay que ir al Volume Control. El sonido se silencia automáticamente de manera inexplicable.

Para comprobar los plugins y ver la configuración se usa:

analyseplugin /usr/lib64/ladspa/pitch_scale_1193.so

Cargo algunos filtros para hacer la voz durante una conferencia con Skype más nítida. Los pasos se indican aquí.


Se podría utilizar para modificar la voz mientras se habla por Skype usando el TAP pitch Shifter plugin.


domingo, 30 de agosto de 2015

Openwrt Kamikaze resetar router WRT54GL

Si olvidas la contraseña de root, la única opciøn es resetear el router.

Para hacerlo, con un punzón o la punta de un bolígrafo haces presión en el botón de reset de la parte posterior mientras conectas el cable de alimentación.

La luz de PWR parpadea, manten pulsado el botón hasta que se ilumine la luz de DMZ. Ahora parpedearán las dos al mismo tiempo.

Puedes acceder al router usando Telnet a la dirección 192.168.1.1 desde cualquiera de los puertos LAN y también el WAN.

Para restablecer el acceso SSH, primero hay que configurar un nueva contraseña. Usamos el comando passwd en un terminal conectado mediante Telnet.

root@openwrt:~$ passwd
Changing password for root
New password:
Retype password:
Password for root changed by root
root@openwrt:~$
En mi caso, a pesar de establecer la contraseña con passwd, no pude conectar con SSH. Cualquier intento de conexión con putty responde con Connection refused.

Intento reiniciar el firewall en el router desde Telnet con:
/etc/init.d/firewall restart
Sin embargo, al ejecutarlo devuelve una lista de errores:

iptables table 'filter': Table does not exist (do you need to insmod?)
iptables table 'nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded

Ejecuto el comando lsmod, algunos módulos están cargados pero faltan 'filter' y 'nat'

Cargo los siguientes módulos:
insmod ip_tables
insmod ip_conntrack
insmod iptable_filter
insmod ipt_state
reinicio el firewall y ahora al intentar conectar usando Putty no aparece Connection refused pero tampoco se conecta.

Reinicio el router desenchufándolo y volviéndolo a enchufar.

Ahora se puede acceder usando SSH y Telnet. Para deshabilitar el acceso por Telnet  vuelvo a establecer la contraseña con el comando passwd. Esto deshabilita Telnet y habilita el acceso mediante SSH.

Esta es la lista de módulos cargados con Luci en ejecución:


Para volver a habilitar Telnet, ejecutamos el comando:

telnetd

Para deshabilitarlo y que no vuelva a ejecutarse después de reiniciar el router, usamos:

/etc/init.d/telnet stop
/etc/init.d/telnet disable

Desde un equipo conectado a un puerto LAN se puede escanear los puertos del router para saber si Telnet está habilitado o no.


El puerto 23 no aparece, Telnet no se está ejecutando.



martes, 18 de agosto de 2015

Mi configuración para conseguir conky transparente

Copio mi configuración para conseguir que conky se muestre transparente:

own_window yes
own_window_class Conky
own_window_argb_visual yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_argb_value 0

domingo, 26 de julio de 2015

Interfaz de red: mismo UUID para diferentes interfaces

Con una tarjeta dual ethernet 82571B Gigabit Ethernet Controller el archivo de configuración de los interfaces aparecen con idéntico UUID y MAC para los dos interfaces de la tarjeta.

/etc/sysconfig/network-scripts/ifcfg-p2p1 y /etc/sysconfig/network-scripts/ifcfg-p2p2 tienen el mismo UUID y MAC.

Para averiguar la MAC exacta de cada uno de los interfaces, ejecutamos el comando:

lshw -class network


Deshabilitamos el interface con:

cd /etc/sysconfig/network-scripts
su -
./ifdown-eth ifcfg-p2p1

Editamos la configuración y cambiamos la MAC y el UUID. Para generar un nuevo UUID se puede usar el comando:

uuidgen p2p1

Guardamos los cambios y habilitamos el interface:

/ifup-eth ifcfg-p2p1

con  ifconfig se puede comprobar si el interface tiene la correcta configuración MAC y UUID.


domingo, 7 de junio de 2015

Extender el tamaño de un disco vmdk

Para extender el tamano de un disco vmdk de VirtualBox se usa el comando VBoxManage. Este comando se usa para extender discos vdi entonces es necesarios convertir primero el disco a vdi para extenderlo y despues volverlo a convertir a vmdk:
vboxmanage modifyhd wsWin7.vmdk --resize 40960
este comando devuelve el error:
VBoxManage: error: Could not find file for the medium '/home/nicas/Downloads/wsWin7.vmdk' (VERR_FILE_NOT_FOUND)
VBoxManage: error: Details: code VBOX_E_FILE_ERROR (0x80bb0004), component Medium, interface IMedium, calleensISupports
VBoxManage: error: Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 178 of file VBoxManageDisk.cpp
Para crear un clon con transformando de vmdk a vdi se usa:
vboxmanage clonehd wsWin7.vmdk wsWin7.vdi --format vdi
Una vez clonado es posible extender el tamaño a 40GB =  40 x 1024 = 40960
vboxmanage modifyhd wsWin7.vdi --resize 40960
Después podemos conectar el disco vdi directamente a la VM y sustituirlo por el vmdk o volverlo a convertir a vmdk con vboxmanage.
Una vez extendido el tamaño con vboxmanage es necesario extender la partición del disco en el sistema operativo huésped.