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
ybuild-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://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 valorTrue
- 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.