Archivo

Archivo del autor

Servidor de arranque en red PXE

jueves, 15 de agosto de 2019 2 comentarios

Resulta bastante útil tener disponible diversas distribuciones de Linux, herramientas e incluso un instalador de Windows con sólo conectar un equipo a la red. Hoy en día prácticamente cualquier equipo puede arrancar mediante PXE y la única pega es que pueden utilizar un sistema basado en UEFI o en BIOS de toda la vida. Este hecho nos limita las versiones y software que podemos utilizar a la hora de desplegar un servidor que cubra nuestras necesidades.

Syslinux

El primer intento que hice fue utilizando un servidor basado en Dnsmasq + Syslinux y funcionaba muy bien para los equipos con arranque en BIOS, pero para que los que tuviesen UEFI pudieran también arrancar tuve que dar con la versión de syslinux-6.04. Con esta versión podía arrancar los equipos con UEFI.

La configuración del servidor Dnsmasq que convivía con el propio servidor DHCP del router era la siguiente:

# Deshabilita el servidor DNS
port=0

# Se indica el servidor TFTP

dhcp-option=66,»192.168.1.200″

# Habilita la depuración
log-dhcp

# Responderá a las peticiones PXE y actuará de proxy para el otro servidor DHCP
dhcp-range=192.168.1.0,proxy

# Dependiendo de la arquitectura activamos una etiqueta
dhcp-match=x86PC, option:client-arch, 0 #BIOS x86
dhcp-match=BC_EFI, option:client-arch, 7 #EFI x86-64

# Dependiendo de la arquitectura del cliente se carga una imagen diferente
pxe-service=tag:x86PC,X86PC, «Install Linux on x86 legacy BIOS», bios/pxelinux.0
pxe-service=tag:BC_EFI,BC_EFI, «Install Linux on x86-64 UEFI», efi/syslinux.efi,192.168.1.200

# Dependiendo de la etiqueta se da una imagen u otra de arranque
dhcp-boot=tag:x86PC,bios/pxelinux.0 # for Legacy BIOS detected by dhcp-match above
dhcp-boot=tag:BC_EFI,efi/syslinux.efi,192.168.1.200 # for UEFI arch detected by dhcp-match above

# Se habilitar el servidor TFTP incorporado y el directorio donde se almacena todo
enable-tftp
tftp-root=/var/lib/tftpboot

Esto al principio funcionaba para BIOS y UEFI. Parecía que funcionaba bien pero no era así, el soporte de este último en syslinux está todavía poco pulido y no existe alternativa viable para usar Memdisk, una utilidad que nos permite cargar en memoria una ISO para que el equipo en red sea capaz de arrancar con ella. Por lo que el instalador de Windows se nos hacía imposible entre otras cosas.

iPXE

Tras muchas vueltas acabé cambiando el sistema para utilizar Dnsmasq+iPXE que parecía tener mejor proyección. Tuve que leer mucha documentación, muchos foros y realizar muchas pruebas que, debido a la poca posibilidad de depuración de Dnsmasq, se hace tortuoso. Finalmente di con esta configuración que adapté a mi gusto y entorno:

# Deshabilitar servidor DNS
port=0
dhcp-option=66,»192.168.1.204″

# Habilitar depuración de DHCP
log-dhcp

# Habilitar el modo proxy de DHCP
dhcp-range=192.168.1.0,proxy

# Para los equipos que arranquen como iPXE y manda la opción 175
dhcp-match=set:ipxe,175

# Para cada arquitectura se asigna una etiqueta concreta
dhcp-vendorclass=set:bios,PXEClient:Arch:00000
dhcp-vendorclass=set:efi32,PXEClient:Arch:00002
dhcp-vendorclass=set:efi32,PXEClient:Arch:00006
dhcp-vendorclass=set:efi64,PXEClient:Arch:00007
dhcp-vendorclass=set:efi64,PXEClient:Arch:00008
dhcp-vendorclass=set:efi64,PXEClient:Arch:00009

# Para romper el bucle, aquello que llevan la etiqueta ipxe tienen un arranque diferente
tag-if=set:loadbios,tag:!ipxe,tag:bios
tag-if=set:loadefi32,tag:!ipxe,tag:efi32
tag-if=set:loadefi64,tag:!ipxe,tag:efi64

# Para los equipos que siendo de tipo BIOS arrancan con su propio iPXE pero queremos que cojan el nuestro
tag-if=set:loadCombo,tag:ipxe,tag:bios

# Se administra una imagen de arranque particular para cada arquitectura
pxe-service=tag:loadbios,x86PC,»iPXE Network boot (BIOS)»,ipxe/bios/undionly.kpxe
pxe-service=tag:loadCombo,x86PC,»iPXE Network boot (BIOS)»,ipxe/bios/undionly.kpxe
pxe-service=tag:loadefi32,IA32_EFI,»iPXE Network boot (EFI32)»,ipxe/efi/ipxe.efi
pxe-service=tag:loadefi32,BC_EFI,»iPXE Network boot (EFI32)»,ipxe/efi/ipxe.efi
pxe-service=tag:loadefi64,X86-64_EFI,»iPXE Network boot (EFI)»,ipxe/efi/ipxe.efi
pxe-service=tag:loadefi64,IA64_EFI,»iPXE Network boot (EFI)»,ipxe/efi/ipxe.efi

# Para los que ya arrancan en iPXE se les pasa el menú
# Para el loadCombo no hace falta porque la imagen undionly lo lleva compilado dentro
dhcp-boot=tag:ipxe,tag:!loadCombo,http://192.168.1.204/bootMenu.ipxe

# Habilitamos servidor TFTP e indicamos su ruta
enable-tftp
tftp-root=/var/lib/tftpboot

Pero para poder hacer funcionar esta configuración en equipos BIOS con su propio iPXE, debemos compilar una versión propia del cargador de arranque «undionly.kpxe», pues no queda más remedio que incrustar el menú de arranque, aunque también nos deja la puerta abierta para añadir ciertas personalizaciones. Para ello debemos bajarnos el fuente:

  • git clone git://git.ipxe.org/ipxe.git

Y creamos un fichero «ipxe/src/chain.ipxe» con el siguiente contenido:

#!ipxe

dhcp
chain http://192.168.1.200/bootMenu.ipxe

Procedemos a su compilación:

  • make bin/undionly.kpxe EMBED=chain.ipxe

Y copiamos el fichero generado («bin/undionly.kpxe») a su sitio correspondiente dentro del árbol de nuestro servidor TFTP.

A todo esto deberemos tener un servidor web Apache (o similar) que nos pueda ir entregando ciertos fichero como el del «bootMenu.ipxe» que yo he utilizado para cargar un Windows PE:

#!ipxe

kernel wimboot
initrd win10/files/bcd bcd
initrd win10/files/boot.sdi boot.sdi
initrd win10/files/boot.wim boot.wim
boot

La estructura por tanto queda de la siguiente forma dentro de «/var/lib/tftpboot»:

  • /apache2
    • bootMenu.ipxe
    • index.html
    • wimboot
    • /win10
      • /files
        • bcd
        • boot.sdi
        • boot.wim
  • /ipxe
    • /bios
      • undionly.kpxe
    • /efi
      • ipxe.efi

Instalación de Pi-Hole en Proxmox

miércoles, 14 de agosto de 2019 1 comentario

Pi-Hole es un servidor intermediario de DNS que filtra las petición de aquellas URL’s que contienen publicidad, haciendo la navegación más limpia y rápida. Ideal para aquellos dispositivos donde no tenemos acceso de administración como en un teléfono móvil Android o iPhone, porque no tenemos que instalar nada más adicional en estos terminales.

Su instalación se puede hacer en una simple Raspberry Pi o, como es mi caso, un contenedor LXC en Proxmox. Después de desplegar una imagen básica de Debian desde Turnkey, descargaremos el instalador de Pi-Hole:

  • wget -O basic-install.sh https://install.pi-hole.net

Tendremos que realizar una pequeña modificación porque el instalador busca el fichero «/etc/apt/sources.list», cuando nuestro sistema lo tiene en «/etc/apt/sources.list.d/sources.list». Abriremos con «nano basic-install.sh» el instalador, buscaremos (CTRL+W)  el término «APT_SOURCES» y modificaremos su valor para que quede de la siguiente forma:

  • APT_SOURCES=»/etc/apt/sources.list.d/sources.list»

Con eso debería bastar pero, en mi caso, al intentar instalar las dependencias el instalador se me cortó y tuve que instalar una de ellas a mano con el siguiente comando:

  • apt install php-sqlite3

Una vez instalado, sólo tendremos que cambiar las DNS de nuestros dispositivos a la IP de esta instancia.

GPU passthrough en Proxmox

lunes, 12 de agosto de 2019 2 comentarios

Después de haber instalado Proxmox en un HP Gen8, mi intención era la de virtualizar LibreElenc para utilizarlo como centro multimedia y un Windows 10 para poder hacer uso de mi biblioteca de Steam. Tras un poco de modding en la pequeña torre e incorporar una GTX 1050Ti (concretamente la Gigabyte GV-N105TOC-4GL) me quedaba por delante configurar Proxmox para permitir dejar paso directo de la tarjeta gráfica a los sistemas virtualizados.

Configuración de la máquina virtual

Para ello la máquina virtual debía incorporar en su fichero de configuración («/etc/pve/qemu-server/100.conf») las siguientes opciones:

  • machine: q35
  • hostpci0: 07:00,pcie=1,x-vga=on

La segunda opción depende de cada equipo y es el resultado de haber obtenido lo siguiente tras lanzar el comando «lspci»:

07:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1)
07:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)

Error al arrancar la máquina virtual

Cuando intentemos arrancar la máquina virtual, lo más probable es que nos indique lo siguiente:

vfio: failed to set iommu for container: Operation not permitted

Lo que parece en principio un problema de permisos tiene un trasfondo más complejo que afecta al kernel y que podemos comprobar con el comando «dmesg | grep -e DMAR -e IOMMU» que nos devolverá lo siguiente:

vfio-pci 0000:07:00.1: Device is ineligible for IOMMU domain attach due to platform RMRR requirement. Contact your platform vendor.

Recompilación del kernel

La forma de solucionar el problema es recompilando el kernel tras haber incorporado un pequeño parche al mismo.

Actualizaremos el sistema e instalaremos los paquetes que vamos a necesitar:

  • apt-get update
  • apt-get install git nano screen patch fakeroot build-essential devscripts libncurses5 libncurses5-dev libssl-dev bc flex bison libelf-dev libaudit-dev libgtk2.0-dev libperl-dev libperl-dev asciidoc xmlto gnupg gnupg2 rsync lintian debhelper libibery-dev libdw-dev libnuma-dev libsplang2-dev libiberty-dev libslang2-dev debhelper sphinxdoc-common
  • apt-get install lz4 (si utilizamos los fuentes de Ubuntu EOAN de la versión 5.4 del kernel de Proxmox)
  • apt-get install pve-headers-5.4.24-1-pve (la versión dependerá del kernel que estemos tratando de compilar)

Descargaremos el código fuente del kernel que vamos a recompilar y de aquel de donde sacaremos el parche:

  • cd /usr/src/
  • git clone git://git.proxmox.com/git/pve-kernel.git
  • git clone git://git.proxmox.com/git/mirror_ubuntu-disco-kernel.git
  • mv mirror_ubuntu-disco-kernel ubuntu-disco

Hacemos una copia del parche que necesitamos y lo editamos con nano:

  • cp ubuntu-disco/drivers/iommu/intel-iommu.c ubuntu-disco/drivers/iommu/intel-iommu_new.c
  • nano ubuntu-disco/drivers/iommu/intel-iommu_new.c

En el editor de nano buscaremos con el comando «CTRL+W» el siguiente tecto:

if (device_is_rmrr_locked(dev)) {
dev_warn(dev, «Device is ineligible for IOMMU domain attach due to platform RMRR requirement. Contact your platform vendor.\n»);
return -EPERM;
}

Y lo cambiaremos a lo siguiente (se elimina el «return» y se añade al texto algo que nos haga saber más tarde que se está aplicando nuestro parche) :

if (device_is_rmrr_locked(dev)) {
dev_warn(dev, «Device was ineligible for IOMMU domain attach due to platform RMRR requirement. Parcheado.\n»);
}

De los dos ficheros generaremos un diff:

  • diff -u /usr/src/ubuntu-disco/drivers/iommu/intel-iommu.c /usr/src/ubuntu-disco/drivers/iommu/intel-iommu_new.c > remove_rmrr_check.patch

Habrá que adaptar la cabecera de ese diff generado, quedando de forma similar a este (se cambian las rutas de los ficheros y sus nombres):

— a/drivers/iommu/intel-iommu.c 2019-07-17 15:44:26.908520624 +0200
+++ b/drivers/iommu/intel-iommu.c 2019-07-17 15:48:09.380083344 +0200

Moveremos el diff al lugar donde la recompilación lo buscará:

  • cd /usr/src/pve-kernel/
  • mv ../remove_rmrr_check.patch ./patches/kernel/

Modificaremos un script que busca ficheros con nombres problemáticos:

  • nano debian/scripts/find-firmware.pl

Y comentaremos una de las primeras líneas para que quede más o menos de esta forma:

#die «strange directory name» if $dir !~ m|^(.*/)?(5.0.\d+\-\d+\-pve)(/+)?$|;

Configuraremos el Makefile:

  • nano /usr/src/pve-kernel/Makefile

En él buscaremos «EXTRAVERSION» y lo dejaremos de la siguiente forma:

  • EXTRAVERSION=-${KREL}-pve-removermrr

Y finalmente lanzaremos el make:

  • make

Si todo ha ido bien, nos habrá generado una serie de ficheros «.deb» que instalaremos de la siguiente forma:

  • dpkg -i *.deb

Si nos ha fallado por algún motivo y tenemos que relanzar de nuevo el «make» es posible que no nos deje y tengamos que añadir al fichero «Makefile» la opción «-d» quedando de esta forma:

${LINUX_TOOLS_DEB} ${HDR_DEB}: ${DST_DEB}
${DST_DEB}: ${BUILD_DIR}.prepared
cd ${BUILD_DIR}; dpkg-buildpackage –jobs=auto -b -uc -us -d
lintian ${DST_DEB}
#lintian ${HDR_DEB}
lintian ${LINUX_TOOLS_DEB}

Comprobación de la instalación

Una vez que tengamos el nuevo kernel instaldo mediante los «.deb» anteriores, reiniciaremos la máquina y cuando lancemos nuestra máquina virtual, mediante el comando «dmesg | grep -e DMAR -e IOMMU» obtendremos el mensaje:

vfio-pci 0000:07:00.1: Device is ineligible for IOMMU domain attach due to platform RMRR requirement. Parcheado.

Fuente

Las pautas han sido sacadas de lo que ahora es un pequeño tutorial pero en su día fue un verdadero quebradero de cabeza.

Portátil Dell G7 7790 en Linux

lunes, 12 de agosto de 2019 Sin comentarios

El Dell G7 7790 que he podido configurar incorpora la siguiente configuración hardware:

  • 17″ IPS 144Hz Full HD.
  • i7 8750H.
  • 16 GB de RAM DDR4 ampliado a 32GB.
  • Nvidia GTX 2070 Max-Q.
  • SSD M.2 NVMe de 512MB cambiado por un SSD M.2 NVMe de 2TB de Intel 660P.
  • Batería de 90Wh.

Cambio de RAID a AHCI

Para poder realizar la instalación de alguna distribución Gnu/Linux hay que cambiar, desde la BIOS, las opciones de dispositivos de almacenamiento para que la controladora se comporte como AHCI en vez de como RAID, de lo contrario nuestra distribución no será capaz de detectar los discos duros. Pero si realizamos el cambio sin más y queríamos conservar la partición con Windows 10, este no arrancará. Por lo que tendremos que seguir estos pasos antes:

  1. Abrir un cmd como derechos de administrador.
  2. Ejecutar el siguiente comando: «bcdedit /set {current} safeboot minimal» o de forma alternativa: «bcdedit /set safeboot minimal».
  3. Reiniciar el portátil y entrar en la BIOS.
  4. Cambiar el comportamiento de la controladora de dispositivos de almacenamiento de RAID a AHCI.
  5. Windows arrancará en modo seguro reconociendo los cambios sobre el hardware.
  6. Abrir un cmd como derechos de administrador.
  7. Ejecutar el siguiente comando para deshacer lo anteriormente hecho: «bcdedit /deletevalue {current} safeboot» o de forma alternativa: «bcdedit /deletevalue safeboot «.
  8. Reiniciar el equipo nuevamente y Windows 10 arrancará como normalmente lo hace.

Instalación de OpenSuse

Para lanzar la instalación de OpenSuse Leap es posible que tengamos que incorporar el parámetro «nomodeset» al kernel, de lo contrario la pantalla simplemente aparecerá en negro.

La instalación la podremos realizar sin ninguna pega. Cabe recordar que habrá que definir la partición EFI sobre la ya existente y no formatearla para que puedan convivir tanto Windows como OpenSuse.

Teclas Fn para el control del brillo

Una vez arranque OpenSuse, probablemente no funcionarán las teclas de brillo. Para solucionarlo sólo tendremos que editar el fichero «/usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf» y añadir lo siguiente:

Section «Device»

Identifier «Device0»

Driver «nvidia»

VendorName «NVIDIA Corporation»

BoardName «GTX 2070»

Option «RegistryDwords» «EnableBrightnessControl=1»

EndSection

Podremos reiniciar y comprobar que ya funcionan las teclas de control de brillo. Cierto es que si nada más iniciar la sesión, hacemos uso de dichas teclas puede que no funcionen y nos toque cerrar sesión y volverla abrir, pero no es algo habitual.

Hibernación al cerrar la tapa

Para hacer funcionar la hibernación cuando cerramos la tapa, tendremos que colocar los siguientes parámetros para el kernel:

splash=silent nomodeset resume=/dev/disk/by-id/nvme-INTEL_SSDREKT8_BTN-part7 quiet nouveau.blacklist=1 acpi_rev_override=1 acpi_osi=Linux nouveau.modeset=0 pcie_aspm=force drm.vblankoffdelay=1 scsi_mod.use_blk_mq=1 nouveau.runpm=0 mem_sleep_default=deep

En OpenSuse lo podemos hacer desde Yast -> Boot Loader -> Parámetros del núcleo en la casilla que pone «Parámetro opcional de la línea de comandos del kernel». Hay que tener en cuenta que el dato «/dev/disk/by-id/nvme-INTEL_SSDREKT8_BTN-part7» es diferente en cada equipo y define la partición donde se aloja la swap.

Undervolt y gestión de rendimiento

Sabido es para este tipo de procesadores que un pequeño «undervolt» mejora con creces la temperatura del mismo y evita que se llegue al throttling. Para conseguirlo hago referencia a una entrada que publiqué no hace mucho.

Y para poder gestionar la actuación de los ventiladores y la frecuencia de la CPU publiqué otra entrada muy interesante para este tipo de portátiles.

Huawei Watch 2 con ROM personalizada, Magisk y EdXposed

miércoles, 15 de mayo de 2019 Sin comentarios

El Huawei Watch 2 es un reloj inteligente que incorpora la versión Oreo de Android Wear. Si queremos dotarlo de una versión optimizada y «rooteada» del sistema hay que seguir algunos pasos:

  1. Cargar el recovery de TWRP. No lo instalaremos porque me ha dado problemas al desvincularlo del teléfono.
  2. Instalar la ROM personalizada desde TWRP.
  3. Instalar Magisk desde TWRP.
  4. Instalar Riru-Core v19 desde Magisk.
  5. Instalar el módulo EdXposed para Magisk.
  6. Instalar el administrador de EdXposed.

Precaución

Estos pasos pueden dejar tu reloj inservible (bricked) y borrar todo su contenido, así que procede bajo tu propia responsabilidad.

Recovery de TWRP

  1. En el reloj vamos a «Ajustes->Sistema->Información» y pulsamos sobre «Número de compilación» 7 veces. Eso nos habilitará las opciones de desarrollador.
  2. Vamos a «Ajustes->Opciones para desarrolladores» y activamos «Depuración ADB».
  3. Conectar el reloj al ordenador y abrir un terminal para poner lo siguiente:
    • «adb devices» (nos mostrará nuestro reloj).
    • «adb reboot bootloader» (reiniciará el reloj en un modo que nos permitirá realizar los siguientes pasos).
    • «fastboot devices» (muestra nuestro reloj).
    • «fastboot oem unlock» (desbloquea el arranque del reloj, motivo por el cual, a partir de ahora, cada vez que encendamos el reloj nos saldrá un aviso de tal hecho pero que no afecta al funcionamiento del reloj).
    • Habrá que mantener pulsado el botón según nos lo pida en pantalla para aceptar el desbloqueo del reloj.
    • «fastboot reboot» (reiniciamos).
  4. Procedemos a lanzar el recovery poniendo lo siguiente en un terminal:
    • «adb reboot bootloader» (reiniciará el reloj en un modo que nos permitirá realizar los siguientes pasos).
    • «fastboot boot oreo-recovery.img» (carga el TWRP que podemos descargar desde aquí).
    • Hacemos copia de seguridad de system, boot, etc.
    • «fastboot flash recovery oreo-recovery.img» (en caso de que lo queramos dejar instalado, pero no lo recomiendo).

Nota: si queremos arrancar en «bootloader» manualmente, solo tenemos que apagar el reloj, mantener pulsado el botón de encendido y, cuando vibre, soltamos y volvemos a pulsar una vez más el botón.

Instalar ROM

  1. Habiendo arrancado el TWRP del paso anterior, podemos copiar la ROM correspondiente al reloj que habremos descargado para la versión LTE/4G o la versión BT/Classic y también Magisk.
  2. Desde el menú de TWRP hacemos un «Wipe data» y «Factory reset».
  3. Pulsaremos sobre «Install», buscaremos el fichero .zip que hemos copiado y que contiene la ROM y esperaremos a que finalice el proceso.
  4. Tras lo anterior reiniciaremos de nuevo en TWRP desde las opciones de reinicio que nos ofrece él mismo.
  5. Iremos a la opción «Install» y seleccionaremos el .zip de Magisk.
  6. Reiniciamos el sistema y dejamos que el reloj arranque para realizar la configuración inicial y emparejamiento con el móvil.

Instalar Riru-Core

  1. Desde el reloj abrimos la aplicación de Magisk y desde el menú superior izquierdo podemos acceder a «Descargas».
  2. Arriba a la derecha podremos pulsar sobre la lupa y buscar «Riru».
  3. Instalaremos «Riru – Core» y «Riru – EdXposed (YAHFA o SandHook)». Este último se podría instalar mediante TWRP.
  4. Reiniciamos el reloj.

Instalar EdXposed

  1. En el reloj vamos a «Ajustes->Sistema->Información» y pulsamos sobre «Número de compilación» 7 veces. Eso nos habilitará las opciones de desarrollador.
  2. Vamos a «Ajustes->Opciones para desarrolladores» y activamos «Depuración ADB».
  3. Conectar el reloj al ordenador y abrir un terminal para poner lo siguiente:
    • «adb install EdXposedInstaller_v2.2.5-release.apk» (esto instalará la aplicación para administrar EdXposed y que habremos descargado desde aquí).
  4. Abriremos la aplicación de EdXposed y ya podremos instalar módulos como Xposed Edge.

Es posible que me haya dejado algo, pero básicamente está todo sacado de los enlaces que he puesto arriba de XDA.

Categories: Android Wear Tags: , , , , ,

Sobrescritura con cp sin preguntas

sábado, 4 de mayo de 2019 Sin comentarios

Cuando realizamos copias de ficheros como root en nuestro sistema, dependiendo de la distribución en la que nos encontremos, puede ser que nos veamos saturados de preguntas de confirmación de sobrescritura de ficheros ya existentes y que, por más opciones que busquemos, no nos podemos deshacer de ellas.

Este comportamiento se debe a la configuración incluida en «.bashrc» o «.profile» que incorpora un alias de «cp» como «cp -i». Si ejecutamos «unalias cp», para la sesión vigente podremos hacer uso de «cp» sin la opción «-i» y librarnos de las preguntas de confirmación.

Otra solución hubiese sido hacer uso de la ruta completa del comando: «/bin/cp».

Categories: GNU/Linux Tags: , , , ,

Nohup para procesos ya iniciados

viernes, 3 de mayo de 2019 Sin comentarios

Cuando queremos lanzar un proceso a través del terminal de linux y no queremos que al cerrar la sesión éste se detenga, basta con hacer lo siguiente:

nohup nombreProceso &

Esto hará que nuestro proceso acabe colgando de init y se desvincule de nuestro terminal.

El problema surge cuando queremos hacer eso mismo pero sobre un proceso ya en marcha. Para ello tendremos que abrir otro terminal y escribir lo siguiente:

kill -SIGSTOP pidDeNuestroProceso
kill -SIGCONT pidDeNuestroProceso

El primer comando suspende el proceso y el siguiente lo reanuda pero sin mostrarnos nada en el terminal. Es ahí cuando, en el terminal donde se estaba ejecutando la aplicación en un primer momento, para desvincular el proceso del terminal y así poderlo cerrar sin preocupaciones, ejecutamos lo siguiente:

disown %1

Categories: GNU/Linux Tags: ,

Control de Intel P-state y CPUFreq en KDE

jueves, 2 de mayo de 2019 Sin comentarios

A la hora de gestionar el rendimiento y las capacidades de refrigeración en un portátil, a veces un buen widget para gestionarlo de forma rápida viene bien. Este es el caso del proyecto de Plasma-pstate.

Su instalación es sencilla:

git clone https://github.com/jsalatas/plasma-pstate
cd plasma-pstate
sudo ./install.sh

De lo único que tenemos que asegurarnos es de estar en el sudoers y, en caso de OpenSuse, utilizar la herramienta propia de configuración de sudo por medio de Yast para agregar tu propio usuario para ejecutar como root sin necesidad de contraseña el siguiente script:

/usr/share/plasma/plasmoids/gr.ictpro.jsalatas.plasma.pstate/contents/code/set_prefs.sh

De lo contrario acabaremos con un panel que se despliega de color gris sin nada en su interior.

Controlar el voltaje de la CPU en Linux

sábado, 27 de abril de 2019 Sin comentarios

Sobretodo en portátiles se suele hacer uso de herramientas que limitan el voltaje que le llega a la CPU para así reducir el consumo y sobretodo la temperatura («undervolting», lo que ayuda a evitar el llamado «thermal throttling«.

Para Windows es muy común utilizar ThrottleStop. Para Linux, en cambio, se puede utilizar Undervolt.

Se instala sencillamente con el siguiente comando:

pip install undervolt

Para consultar los parámetros actuales de nuestro sistema:

undervolt –read

temperature target: -0 (100C)
core: 0.0 mV
gpu: 0.0 mV
cache: 0.0 mV
uncore: 0.0 mV
analogio: 0.0 mV

Para modificar el voltaje de un procesador como un i7 8750H podríamos aplicar el siguiente comando:

undervolt –core -125 –cache -125

Cabe resaltar que hay que realizar los cambios con cuidado, porque una excesiva reducción del voltaje puede provocar inestabilidad en el sistema.

Mejorando la privacidad de navegación a nivel de DNS

viernes, 5 de abril de 2019 Sin comentarios

Aún cuando podamos estar navegando a través de una VPN las peticiones que se realizan en tu equipo a los servidores DNS pueden dejar al descubierto las páginas web que visitas. Para tratar de evitarlo o minimizarlo podemos configurar nuestro equipo y navegador de la siguiente forma:

  • Configurar el equipo para utilizar DNS seguras como 1.1.1.1, las cuales funciona bajo cifrado TLS.
  • Configurar la última versión de Firefox desde el enlace «about:config» para que el parámetro «network.trr.mode» tenga el valor «1» para que Firefox decida el método más rápido. El valor «2» es para hacer la resolución de DNS bajo HTTPS y cuando falle hacerlo normal;  el valor «3» para usar el método TRR exclusivamente y el valor de «5» para apagarlo explícitamente.
  • Configurar el parámetro «network.trr.uri» con alguno de estos: https://mozilla.cloudflare-dns.com/dns-query , https://dns.google.com/experimental
  • Configurar el parámetro «network.security.esni.enabled» a «true».

Para comprobar si está correctamente configurado podemos acudir a la web de Encrypted SNI de Cloudflare para realizar el test que allí albergan.

Categories: Seguridad Tags: , ,