You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

8.6 KiB

Recetas variadas

Añadir las claves GPG de un repo

Este método está obsoleto y no se recomienda

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys  F7E06F06199EF2F2

Hasta ahora añadíamos las claves usando el programa apt-key como se describe arriba. El programa añade las claves en el "llavero" /etc/apt/trusted.gpg. El gestor de paquetes apt confía ciegamente en las claves de este llavero. Eso permite que cualquier clave presente en el "llavero" sirva para instalar cualquier programa. No hay una relación unívoca entre claves y programas.

Para evitar el warning podríamos almacenar las claves en /etc/apt/trusted.d, cada clave en si fichero separado. Pero eso dejaría el verdadero problema de establecer una relación entre clave y repo sin solucionar.

Si seguimos las recomendaciones de Debian, deberíamos tener un directorio solo accesible por root. Por ejemplo /usr/local/share/keyring y deberíamos almacenar las claves con nombres de la forma: <keyword>-archive-keyring.gpg.

Una vez que tengamos la clave disponible debemos especificar para cada origen de software que clave le aplica para la autenticación de paquetes.

En resumen:

  • Las claves gpg de los repo se quedarán almacenadas en /usr/local/share/keyring, estarán en formato dearmored y con los nombres en la forma canónica <keyword>-archive-keyring.gpg
  • Las especificaciones de los orígenes de software harán referencia explícita a la clave que hay que usar para comprobarlas, es decir, tendrán la forma: deb [signed-by=/usr/share/keyrings/<myrepository>-archive-keyring.gpg] <https://repository.example.com/debian/ stable main>

Si la clave ya estaba en trusted.gpg

sudo apt-key list

# Obtendremos un lista de claves e identificamos la conflictiva:
#
# pub   rsa1024 2009-01-22 [SC]
#       E1DD 2702 88B4 E603 0699  E45F A171 5D88 E1DF 1F24
# uid           [ unknown] Launchpad PPA for Ubuntu Git Maintainers
#


# Exportamos la clave al "llavero":
sudo apt-key export E1DF1F24 |sudo gpg --dearmour -o /usr/local/share/gitMaintainers-archive-keyring.gpg

# Editamos el fichero de orígenes del sw y probamos a actualizar
sudo apt update

# si todo va bien podemos borrar la clave del trusted.gpg
sudo apt-key del E1DF1F24

Descargando una clave con wget

wget -O- <https://example.com/key/repo-key.gpg> | \
gpg --dearmor -o /usr/local/share/keyrings/<myrepository>-archive-keyring.gpg

Importando claves directamente de un keyserver

** REVISAR, ESTO FALLA **

sudo gpg --no-default-keyring --keyring /usr/local/share/keyrings/<myrepository>-archive-keyring.gpg \
--keyserver <hkp://keyserver.ubuntu.com:80> --recv-keys <fingerprint>

Solucionar problemas de menús duplicados usando menulibre


Nota: Ya no uso MenuLibre

En el directorio ~/.config/menus/applications-merged borramos todos los ficheros que haya.

Mapear un servidor webdav en nuestro sistema de ficheros

sudo apt install davfs2

sudo mount -t davfs <server-url + path> <mount point> -o uid=<user login>

Si en algún momento queremos reconfigurar el paquete podemos ejecutar dpkg-reconfigure davfs2

Finalmente para mi usuario:

# añadimos el usuario al grupo davfs2
sudo gpasswd -a <userlogin> davfs2

Añadimos al fichero /etc/fstab la linea del servidor webdav:

<server-url + path>  <mount point>  davfs  rw,user,uid=salvari,noauto  0  0

Añadimos las credenciales al fichero ~/.davfs2/secrets que sería una linea con <mount point> <webdav-user> <webdav-passwd>

Con eso ya podremos montar el webdav con nuestro usuario sin mas que ejecutar mount <mount point>

Solucionar el problema de "paquetes mantenidos" (The following packages have been kept back)

Cuando hacemos sudo apt upgrade si alguno de los paquetes que se va a actualizar tiene nuevas dependencias no se actualizará y nos dará el error del título. La solución pasa por ejecutar:

sudo apt install --only-upgrade <paquete>

Formatear memoria usb

"The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes."

Este comando borró todas las particiones de la memoria:

sudo dd if=/dev/zero of=/dev/sdd bs=2048 count=32 && sync

I'm assuming your using gparted.

First delete whatever partitions you can...just keep pressing ignore.

There will be one with a black outline...you will have to unmount it...just right click on it and unmount.

Again you will have to click your way through ignore..if fix is an option choose it also.

Once all this is done... you can select the device menu and choose new partition table.

Select MSdos

Apply and choose ignore again.

Once it's done it show it's real size.

Next you can format the drive to whichever file system you like.

It's a pain in the behind this way, but it's the only way I get it done..I put live iso's on sticks all the time and have to remove them. I get stuck going through this process every time.

Copiar la clave pública ssh en un servidor remoto

cat /home/tim/.ssh/id_rsa.pub | ssh tim@just.some.other.server 'cat >> .ssh/authorized_keys'

O también:

ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote.server

ssh access from termux

https://linuxconfig.org/ssh-into-linux-your-computer-from-android-with-termux

SDR instalaciones varias

Vamos a trastear con un dispositivo RTL-SDR.com.

Tenemos un montón de información en el blog de SDR Galicia y tienen incluso una guia de instalación muy completa, pero yo voy a seguir una guía un poco menos ambiciosa, por lo menos hasta que pueda hacer el curso que imparten ellos mismos (SDR Galicia)

La guía en cuestión la podemos encontrar aquí

Seguimos los pasos de instalación:

  • La instalación de git, cmake y build-essential ya la tengo hecha.
sudo apt-get install libusb-1.0-0-dev

Posible problema con modemmanager y micros programables

Programando el Circuit Playground Express con el Arduino IDE tenía problemas continuos para hacer los uploads, al parecer el servicio ModemManager es el culpable, se pasa todo el tiempo capturando los nuevos puertos serie por que considera que todo es un modem.

Una prueba rápida para comprobarlo: sudo systemctl stop ModemManager

Con esto funciona todo bien, pero en el siguiente arranque volvera a cargarse.

Para dar una solución definitiva se puede programar una regla para impedir que el ModemManager capture el puerto con un dispositivo

Creamos un fichero con permisos de root en el directorio /etc/udev/rules.d que llamaremos: 99-arduino.rules

Dentro de ese fichero especificamos los codigos VID/PID que se deben ignorar:

# for arduino brand, stop ModemManager grabbing port
ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1"
# for sparkfun brand, stop ModemManager grabbing port
ATTRS{idVendor}=="1b4f", ENV{ID_MM_DEVICE_IGNORE}="1"

Ojo que si tienes SystemV no va a funcionar.

https://starter-kit.nettigo.eu/2015/serial-port-busy-for-avrdude-on-ubuntu-with-arduino-leonardo-eth/

https://www.codeproject.com/Tips/349002/Select-a-USB-Serial-Device-via-its-VID-PID

Programar los nanos con chip ch340 o ch341

Linux mapea el chip correctamente en un puerto /dev/ttyUSB0 y con eso basta, que no te lien con el cuento de "drivers para linux"

Todo lo que hace falta es configurar correctamente el Arduino IDE, hay que escoger:

Board: "Arduino Nano"
Processor: "ATmega168"
Port: "/dev/ttyUSB0"

Y ya funciona todo.

Linux Mint 20 es python agnostic

En principio no podemos invocar a python por que no se ha escogido una versión por defecto.

Tenemos dos opciones:

apt install python-is-python2
apt install python-is-python3

Instalar chromium sin snapdrop

Este rodeo ya no es necesario en las versiones modernas de Linux Mint

sudo apt install keepassxc gnucash deluge rsync grsync rar unrar \
zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar \
most mc tree neofetch fasd silversearcher-ag ack mate-tweak filezilla \
rofi

Especificar como debe abrir los enlaces "magnet" el navegador mozilla

  • Vamos al url about:config
  • Añadimos la opción network.protocol-handler.external.magnet con valor True
  • En Settings buscamos Applications y nos aseguramos de que no tenga marcado por defecto Save sino Ask
  • La próxima vez que queramos descargar un enlace magnet nos preguntará que aplicación queremos usar.