Void Linux Tips
151 subscribers
3 photos
4 videos
16 links
Este canal tratará de tener el mayor número de consejos o soluciones a las dudas más frecuentes de los usuarios de Void Linux
Download Telegram
#Digital #Signature #ca-certificates
Recientemente a partir del 30 de septiembre del 2021 algunos tuvieron problemas para actualizar el sistema y otros más también tuvieron problemas al intentar realizar una instalación nueva debido a la caducidad del certificado Let's Encrypt. La solución más rápida y sencilla es escribir lo siguiente en una terminal con el fin de actualizar los certificados de seguridad:

SSL_NO_VERIFY_PEER=true xbps-install -Su

Esta es una solución temporal en la que se omite la verificación del certificado únicamente para la ejecución en curso, por lo que no se recomienda dejarla como permanente
#xbps #intall #temporal
Hoy me encontraba haciendo unas pruebas en las que necesitaba instalar temporalmente algunos paquetes para probar o hacer pruebas de depuración. Posiblemente algunos hayan hecho algo similar y después no recuerden qué paquetes instalaron y terminan teniendo paquetes que quizá ya no utilizarán después. Si dichos paquetes los instalan con xbps-install foo sucede que nunca serán eliminados porque fueron instalados explícitamente por el usuario, en esos casos, si instalarán paquetes temporales entonces podrían hacerlo con xbps-install -A foo para marcarlos como instalados automáticamente, de este modo cuando ejecuten xbps-remove -O (para la versión 20.1 de XBPS) o xbps-remove -o (para la versión 0.59.1) serán eliminados al no ser considerados como dependencias de otro paquetes
👍10🤩4
Os dejo una guía express para BTRFS en Void Linux del amigo Visione, gracias !

#### Btrfs config básica

Partimos de una partición /dev/boot y otra /dev/root, se pueden usar todas las particiones que se quieran, no limita en nada.

1.- Particionamos al gusto

2.- Creamos fs para $boot

3.- Creamos fs para $root (y en caso de haber, para el resto de particiones a usar) mksf.btrfs --csum xxhash $root

4.- Opciones de montaje
- Parto de que se esta instalando arch o alguna otra distro sin instalador grafico. Sino, las opciones de montaje se pueden editar después en el fstab
- BTRFS_OPTS="rw,noatime,ssd,compress-force=zstd,space_cache=v2,commit=120"
- La opción de compresión tiene diferentes opciones, zstd es ma que mas ratio de compresión tiene y mas rapidez da.
- Si no se usa ssd, eliminar esa opción y usar space_cache

5.- Montando discos
- montamos raíz mount -o $BTRFS_OPTS /dev/$root /mnt

6.- Creando los su volúmenes
- Una explicación fácil seria que son como particiones dentro de una misma partición, así evitamos que los snapshots se creen con directorios que no necesitamos.
- Creamos subvolumen @ -- es el subvolumen principal, como la partición /root
btrfs subvolume create /mnt/@
- Creamos subvolumen @home
btrfs subvolume create /mnt/@home
- Creamos subvolumen snapshots // asi evitamos que en los snapshots también se guarde este directorio
btrfs subvolume create /mnt/@snapshots
- Estos serian los básicos, pero al igual que las particiones se pueden crear los que uno necesite.

7.- Se desmonta / para montar los subvolúmenes en sus correspondientes directorios
umount /mnt

8.- Se montan los subvolúmenes
- mount -o $BTRFS_OPTS,subvol=@ /dev/$root /mnt
- mkdir -p /mnt/{.snapshots,home,var/cache,boot/efi}
- mount /dev/$boot /mnt/boot/efi
- mount -o $BTRFS_OPTS,subvol=@snapshots /dev/$root /mnt/.snapshots
- mount -o $BTRFS_OPTS,subvol=@home /dev/$root /mnt/home
- Si se usan diferentes particiones eidtar los dispositivos según el particionado

9.- Se crean subvolumenes para evitar el nesteo de directorios en los snapshots. Estos son los que uso en void-linux, para arch serian otros directorios pero es fácil de entender. Temporales, cache del pkg-manager y srv.
- btrfs subvolume create /mnt/var/cache/xbps
- btrfs subvolume create /mnt/var/tmp
- btrfs subvolume create /mnt/srv

10.- Chroot en un btrfs
- Se tienen que usar las opciones de montaje de los subvolúmenes para entrar al chroot.
BTRFS_OPTS=$BTRFS_OPTS chroot /mnt/ /bin/bash

11.- Fstab
- Este seria el formato del fstab con un systma btrfs
UUID=$ROOT_UUID / btrfs $BTRFS_OPTS,subvol=@ 0 1
UUID=$UEFI_UUID /efi vfat noatime 0 2
UUID=$ROOT_UUID /home btrfs $BTRFS_OPTS,subvol=@home 0 2
UUID=$ROOT_UUID /.snapshots btrfs $BTRFS_OPTS,subvol=@snapshots 0 2

12.- Instalar btrfs-progs grub-btrfs durante la instalación. El segundo añade al grub los snapshots que tengas creados de / para poder arrancar desde ellos

13.- Crear snapshots ----- Esta parte es donde toca leer, como siempre la wiki de arch o la wiki de btrfs son de ayuda.

14.- Aquí teméis un scripts para crear snapshots fácilmente
https://visone-wiki.000webhostapp.com/pages/visnapper.html
👍5
INSTALACIÓN EXPRESS VOID LINUX

Sistema de archivos
# mkfs.vfat /dev/sda1
# mkfs.ext4 /dev/sda2 | mkfs.xfs /dev/sda2
---
# mount /dev/sda2 /mnt/
# mount /dev/sda1 /mnt/boot/

Instalación método XBPS
=> Variables
XBPS_ARCH=x86_64
XBPS_ARCH=x86_64-musl
—-
xf86-video-amdgpu
xf86-video-ati
xf86-video-intel
xf86-video-nouveau
—-
# export XBPS_ARCH=x86_64 && xbps-install -S -R https://alpha.de.repo.voidlinux.org/current -r /mnt base-minimal alsa-utils bash bc bgs dejavu-fonts-ttf dhcpcd dmenu dracut dwm ethtool eudev ffmpeg file firefox gcc git grub herbe iproute2 iputils kbd kmod less libreoffice man-pages mesa-vaapi mksh mpv ngetty nnn opendoas pciutils scrot setxkbmap slock slstatus st sxiv tabbed telegram-desktop traceroute trash-cli unzip usbutils vim xclip xdotool xf86-video-ati xfsprogs xorg-minimal xrandr xtools xz zathura-pdf-poppler

Chroot
# for i in sys dev proc; do $(mount --rbind /$i /mnt/$i && mount --make-rslave /mnt/$i); done && cp /etc/resolv.conf /mnt/etc && PS1='(chroot) # ' chroot /mnt /bin/bash

/etc/fstab

# <fs> <dir> <type> <options> <dump> <pass>
/dev/sda1 / xfs defaults,noatime 0 1
tmpfs /tmp tmpfs defaults,nosuid,nodev 0 0
tmpfs /home/luis/Git/void-packages/masterdir/builddir tmpfs defaults,noatime,size=16G 0 0

/etc/fstab (EFI)

# <fs> <dir> <type> <options> <dump> <pass>
/dev/sda1  /boot  vfat  defaults,noatime   0     2
/dev/sda2 / xfs defaults,noatime 0 1
tmpfs /tmp tmpfs defaults,nosuid,nodev 0 0
tmpfs /home/luis/Git/void-packages/masterdir/builddir tmpfs defaults,noatime,size=16G 0 0

/etc/rc.local
# Default rc.local for void; add your custom commands here.
#
# This is run by runit in stage 2 before the services are executed
# (see /etc/runit/2).
ip link set wlp2s0 up
ip a add 192.168.1.7/24 dev wlp2s0
ip route add default via 192.168.1.1 dev wlp2s0
wpa_supplicant -B -D nl80211,wext -i wlp2s0 -c /etc/wpa_supplicant/wpa_supplicant.conf

Locales (Glibc)
# sed -i "s/#es_ES.UTF-8 UTF-8/es_ES.UTF-8 UTF-8/g" /etc/default/libc-locales && xbps-reconfigure -f glibc-locales

Root
# passwd
# chown root:root / && chmod 755 /

Kernel
=>linux-firmware subpackages
linux-firmware-amd
linux-firmware-intel
linux-firmware-nvdia
linux-firmware-network
linux-firmware-broadcom (dependencia de linux-firmware-network)
linux-firmware-qualcom (target armv7*|aarch64*)
linux-firmware-dvb

# xbps-install linuxX.XX dracut linux-firmware

Grub
# xbps-install -y grub && grub-install --target=i386-pc /dev/sdX

Grub EFI
# xbps-install -y grub-x86_64-efi && grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id="Void"

Reconfigurar el sistema
# xbps-reconfigure -fa

Usuario
# useradd -m -s /bin/bash -U -G wheel,disk,lp,audio,video,optical,storage,scanner,network,plugdev,xbuilder USUARIO
# passwd USUARIO

Doas
# touch /etc/doas.conf && echo "permit nopass keepenv :wheel" > /etc/doas.conf

Ngetty
# rm -f /var/service/{agetty-tty3,agetty-tty4,agetty-tty5,agetty-tty6} && ln -s /etc/sv/ngetty /var/service

Salir
# exit
# umount -R /mnt
# shutdown -r now
—-
Referencias:
Guía instalación mínima Void Linux
Guía postinstall Void Linux

Enlaces de interés:
BTRFS configuración básica
Principales bases de sistema (minimal, voidstrap, system)
Reemplazar agetty por ngetty (Si habéis seguido este tip, omitir pasos 1, 2 y 4)
👍71
PRINCIPALES BASES DE SISTEMA PARA VOID LINUX

base-minimal
base-files coreutils findutils diffutils dash grep gzip sed gawk util-linux which tar shadow procps-ng iana-etc xbps nvi tzdata runit-void removed-packages

base-voidstrap
base-files ncurses coreutils findutils diffutils dash bash grep gzip file sed gawk less util-linux which tar man-pages  mdocml>=1.13.3 shadow e2fsprogs btrfs-progs xfsprogs f2fs-tools dosfstools kbd  procps-ng tzdata pciutils iana-etc eudev runit-void openssh dhcpcd  iproute2 iputils iw xbps nvi sudo traceroute kmod removed-packages

base-system
base-files>=0.77 ncurses coreutils findutils diffutils libgcc dash bash grep gzip file sed gawk less util-linux which tar man-pages mdocml>=1.13.3 shadow e2fsprogs btrfs-progs xfsprogs f2fs-tools dosfstools procps-ng tzdata pciutils usbutils iana-etc openssh dhcpcd kbd iproute2 iputils iw wpa_supplicant xbps nvi sudo wifi-firmware void-artwork traceroute ethtool kmod acpid eudev runit-void removed-packages
👍6
Pasos para reemplazar agetty por ngetty:

1. Partimos de un entorno ideal con 2 agetty-tty, en caso de tener las 6 activas, las podemos eliminar:
# rm -f  /var/service/{agetty-tty3,agetty-tty4,agetty-tty5,agetty-tty6}

2. Instalar el paquete:
# xbps-install -S ngetty

3. Cambiar a una tty distinta a la que se utiliza para levantar X11 y que exceda +1 del número de agetty, por ejemplo la tty 3 ya sería de ngetty, lo mejor sería no estar con sesión activa en ninguna, dejo los atajos :
Si estamos en tty => Alt + F3
Si estamos en X => Ctrl + Alt + F3

4. Activar el servicio de ngetty:
# ln -s /etc/sv/ngetty /var/service

5. Verificamos que el servicio está activo y funcionando:
# sv status /var/service/*
run: /var/service/ngetty: (pid 314) 5363s

6. Desactivar los servicios de agetty:
# rm -fv /var/service/agetty*
👍7
Autor: @Visone_Selektah

*El modelo exacto de tu gpu puedes averiguarlo usando lscpi o inxi, es una aplicación que procura información sobre el sistema

# Nvidia Drivers Guía

1.- Después de los recientes cambios en los drivers nvidia y la división de drivers según el modelo de tu gpu, y el abandono de los drivers legacy, se puede hacer esta clasificación según la serie de tu gpu.

1.1. - Para modelos desde la serie GTX 800 tienen que usar los drivers 510, en Manjaro corresponden al driver Nvidia

1.2. - Existen 3 modelos de la serie 7xx que todavía siguen teniendo soporte con los últimos drivers, 510, estos modelos son:
* GTX 750 ti
* GTX 750
* GTX 445

1.3. - El resto de modelos de la serie 7xx usaran los drivers 470 que en Manjaro corresponden al driver nvidia470xx

1.4. - Para modelos anteriores o modelos que usen el driver legacy se usara nvidia390

2.- Instalación de drivers recomendados Nvidia en Manjaro:
doas xbps-install -S nvidia Para los drivers privativos
doas xbps-install -S xf86-video-nouveau mesa-nouveau-dri Para los drivers libres (nouveau)

3.- Dual GPU

3.1- Existen varias formas de manejar dual-gpu dependiendo de las marcas/modelos del combo

3.2- Bumblebee

3.2.1- Comprobar funcionamiento bumblebee
   optirun glxgears -info 

3.2.2- Lanzar aplicaciones con GPU Nvidia
   optirun [opciones] aplicación [parámetros-de-la-aplicación] 

3.2.3- Utilizar nvidia-settings
   optirun nvidia-settings -c:8 

3.2.4- Ejemplos
   optirun wine app/win.exe 

   optirun blender 

3.2.5- Archivo de configuración
  /etc/bumblebee/bumblebee.conf 


3.2.6- Mas información
https://wiki.archlinux.org/index.php/Bumblebee
https://forum.manjaro.org/

3.3- Prime

3.3.1- Lanzar aplicaciones con GPU Nvidia
      prime-run aplicación 

3.3.2- Editar aplicaciones especificas para que usen GPU Nvidia
- Busca en el menú la aplicación, clicka con el botón derecho, elige preferencias y añade en "comando" prime-run al principio.

3.3.3 Mas información
https://wiki.archlinux.org/index.php/NVIDIA_Optimus#Use_switchable_graphics

3.4.- PRIME con Nouveau

3.4.1.- Por defecto los drivers libres en Linux son compatibles con PRIME.
Con la variable de entorno DRI_PRIME podemos elegir con que gpu usar para aplicaciones especificas.
Por defecto las gpu integradas son las que se utilizan por defecto y tienen asignado en valor 0, las gpu dedicadas el 1.
Así para lanzar una aplicación con la gpu dedicada se utilizara:
$DRI_PRIME=1 aplicación

Por Ejemplo para lanzar google-chrome con la gpu dedicada se utilizara:
      $DRI_PRIME=1 google-chrome

3.4.2.- Este método es valido tanto para los drivers nouveau,amdgpu, video-ati, video-intel

3.4.3.- Para comprobar la lista de gpu's disponibles se utiliza:
      xrandr --listprovidersa

3.4.4.- Podemos verificar la información de cada una de las GPU con:

3.4.4.1.- GPU Integrada
DRI_PRIME=0 glxinfo

3.4.4.2.- GPU Dedicada
DRI_PRIME=1 glxinfo

3.5- Optimus switch

3.5.1- Esta opción solo permite usar una gpu a la vez, no como las opciones anteriores.
Tu eliges que gpu usar en cada momento.

3.5.2- Combo Intel/Nvidia

3.5.2.1- Usuarios con LightDM
https://github.com/dglt1/optimus-switch

3.5.2.2- Usuarios con GMD
https://github.com/dglt1/optimus-switch-gdm

3.5.2.3- Usuarios con SDDM
https://github.com/dglt1/optimus-switch-sddm

3.5.3- Combo AMD/Nvidia

3.5.3.1- Usuarios con LighDM
https://github.com/dglt1/optimus-switch-amd

3.5.3.2- Usuarios con GDM
https://github.com/dglt1/optimus-switch-amd-gdm

3.5.3.3- Usuarios con SDDM
https://github.com/dglt1/optimus-switch-amd-sddm
👍7
Media is too big
VIEW IN TELEGRAM
#xbps-src #kernel #custom #nueva #version

Os dejo este vídeo dónde se explica como instalar una nueva versión de kernel que aún no está publicada en los repos oficiales, partiendo de una versión anterior.
👍117
#xbps #xlocate #files #view

Si por alguna razón llegan a eliminar la configuración predeterminada de un archivo del sistema y quieren recuperar el contenido, pueden recurrir a xbps-query:

$ xbps-query -R --cat /path foo

Ejemplo:

$ xbps-query -R --cat /etc/rc.conf runit-void

Nota: si no saben qué paquete contiene el archivo que buscan utilicen xlocate para averiguarlo. Ejemplo:

$ xlocate /etc/rc.conf
👌13🔥3👏2
Media is too big
VIEW IN TELEGRAM
#shell #korn #ksh93 #caracteristicas

A través de este video quiero mostrarles funcionalidades interesantes de este shell, funcionalidades que pocos se han atrevido a usar y que podrían ayudar a mejorar la productividad
🔥12👏1
This media is not supported in your browser
VIEW IN TELEGRAM
#script #cache #pkg #packages #void #posix
Les comparto un script que hice cuya función es mostrar los paquetes que se encuentran en la caché y que ya no están en uso, es decir, versiones de paquetes que ya fueron eliminados.
xbps-install por lo general siempre guarda una versión de los paquetes por si el usuario requiere realizar un downgrade. Este script se encarga de eliminar esos paquetes.
Les dejo un pequeño video para que vean cómo funciona.
https://git.disroot.org/tuxliban/scripts/raw/branch/master/varios/purge_pkgs.sh
🔥10👍31👌1
#tip #xbps #query

Cuántas veces no les ha pasado que cuando quieren buscar un paquete en los repositorio de Void lo primero que hacen es algo similar a esto:

xbps-query -Rs <patrón>

Sin embargo, hacer una búsqueda así terminará mostrando las coincidencias de aquellos paquetes cuyos nombres seas similares al patrón de búsqueda, pero también mostrará coincidencias en la descripción de los paquetes.
Ante esta situación si lo que deseamos es que nos muestre solo coincidencias en el nombre de los paquetes hay que hacer lo siguiente:

xbps-query --regex -p pkgver -Rs '^<patrón>' | cut -d ":" -f1

De este modo podrán tener un enfoque de búsqueda más preciso.

Por ejemplo, supongan que buscan un programa llamado at. Sí solo se usa xbps-query -Rs at, lo único que tendremos será una extensa lista que podría ser abrumadora, en cambio al usar:

xbps-query --regex -p pkgver -Rs '^at-' | cut -d ":" -f1

La búsqueda será más precisa.

Si por el contrario buscan un programa que no logran encontrar por nombre en el repositorio entonces pueden aplicar algo similar, pero para buscar el patrón en la descripción de los paquetes. Por ejemplo:

xbps-query -R --regex -s 'simple screen recorder'

Esto nos devolverá el nombre con el cual el binario fue empaquetado que, para nuestro ejemplo, el paquete se llama ssr
🔥18👏4👍3
#find #template #restricted
El siguiente comando les servirá para mostrar aquellos paquetes que se consideran como "restringidos" y que no se encuentran disponibles en los repositorios oficiales de Void, sin embargo, es posible construirlos a través de xbps-src.

find /path/void-packages/srcpkgs/ -name "template" | xargs grep "^restricted=" | cut -d/ -f2 | column

Adicionalmente, pueden modificar el comando anterior reemplazando la coincidencia en grep para buscar otro patrón en el contenido de las plantillas y, si añaden el flag -i, la búsqueda no será sensible entre mayúsculas y minúsculas.


Enjoy 😎
🔥15👍5👏4🤯1
#xbps #query

Si por alguna razón necesitan revisar el registro de actualización de paquetes, pueden consultarlo a través del siguiente comando:

xbps-query -p install-date -s '' | sort -k2

Esto mostrará una lista ordenada por fecha y hora sobre sobre qué y cuándo se instaló
👍9🔥7