diff --git a/README.md b/README.md index 12aca62..7ae5845 100644 --- a/README.md +++ b/README.md @@ -487,13 +487,13 @@ Instalamos *gparted* para poder formatear memorias usb # Internet -# Rclone +## Rclone Instalamos desde la página web, siempre que te fies obviamente. curl https://rclone.org/install.sh | sudo bash -## Recetas rclone +### Recetas rclone Copiar directorio local en la nube: @@ -508,7 +508,7 @@ Sincronizar una carpeta remota en local: rclone sync hubic:directorio_remoto /home/salvari/directorio_local -vv -## Referencias +### Referencias - [Como usar rclone (blogdelazaro)](https://elblogdelazaro.gitlab.io//articles/rclone-sincroniza-ficheros-en-la-nube/) @@ -516,6 +516,19 @@ Sincronizar una carpeta remota en local: (blogdelazaro)](https://elblogdelazaro.gitlab.io//articles/rclone-cifrado-de-ficheros-en-la-nube/) - [Documentación](https://rclone.org/docs/) +# time-tracking + +## Activity Watcher + +Instalado desde la web + +## go for it + +``` {bash} +sudo add-apt-repository ppa:go-for-it-team/go-for-it-daily && sudo apt-get update +sudo apt-get install go-for-it +``` + # Documentación ## Vanilla LaTeX @@ -2051,6 +2064,16 @@ Instalados desde los repos oficiales: sudo apt update sudo apt install vokoscreen kazam +### OBS + +Añadimos el repositorio + +``` {bash} +sudo add-apt-repository ppa:obsproject/obs-studio +sudo apt update +sudo apt install obs-studio +``` + ## Grabación de podcast ### Mumble @@ -2097,4 +2120,443 @@ Se instala la última versión de Darktable (3.0.2) Instalado desde la [página web](https://www.digikam.org/) de la aplicación con appimage. +# Seguridad + +## Autenticación en servidores por clave pública + +Generar contraseñas para conexión servidores remotos: + + cd ~ + ssh-keygen -b 4096 [-t dsa | ecdsa | ed25519 | rsa | rsa1] + cat .ssh/ + +Solo resta añadir nuestra clave pública en el fichero `authorized_keys` +del servidor remoto. + + cat ~/.ssh/id_xxx.pub | ssh user@hostname 'cat >> .ssh/authorized_keys' + +[¿Cómo funciona +esto?](https://www.digitalocean.com/community/tutorials/understanding-the-ssh-encryption-and-connection-process) + +## Claves gpg + +`gpg --gen-key` Para generar nuestra clave. + + - **Siempre** hay que ponerle una fecha de expiración, la puedes + cambiar más tarde. + - **Siempre** hay que escoger la máxima longitud posible + +## Seahorse + +Para manejar todas nuestras claves con comodidad: + +`sudo apt install seahorse` + +## Conexión a github con claves ssh + +Usando este método podemos conectarnos a github sin tener que teclear la +contraseña en cada conexión. + +### Claves ssh + +Podemos echar un ojo a nuestras claves desde `seahorse` la aplicación de +gestión de claves que hemos instalado. También podemos ver las claves +que tenemos generadas: + + ls -al ~/.ssh + +En las claves listadas nuestras claves públicas aparecerán con extensión +`.pub` + +También podemos comprobar que claves hemos añadido ya a nuestro agente +ssh con: + + ssh-add -l + +Para generar una nueva pareja de claves ssh: + + ssh-keygen -t rsa -b 4096 -C "your_email@example.com" + +Podremos dar un nombre distintivo a los ficheros de claves generados y +poner una contraseña adecuada a la clave. Si algún dia queremos cambiar +la contraseña: + + ssh-keygen -p + +Ahora tenemos que añadir nuestra clave ssh en nuestra cuenta de github, +para ello editamos con nuestro editor de texto favorito el fichero +`~/.ssh/id_rsa.pub` y copiamos el contenido integro. Después pegamos ese +contenido en el cuadro de texto de la web de github. + +Para comprobar que las claves instaladas en github funcionan +correctamente: + + ssh -T git@github.com + Hi salvari! You've successfully authenticated, but GitHub does not provide shell access. + +Este mensaje indica que todo ha ido bien. + +Ahora en los repos donde queramos usar ssh debemos cambiar el remote: + + git remote set-url origin git@github.com:$USER/$REPONAME.git + +## Signal + +El procedimiento recomendado en la página oficial: + + curl -s https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add - + echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list + sudo apt update && sudo apt install signal-desktop + +----- + +**NOTA**: Parece que no funciona. Lo he instalado via *flatpack* + +----- + +## Lector DNI electrónico + +Instalamos: + + sudo apt-get install pcscd pcsc-tools libccid + +Como root ejecutamos pcsc\_scan: + + root@rasalhague:~# pcsc_scan + PC/SC device scanner + V 1.4.23 (c) 2001-2011, Ludovic Rousseau + Compiled with PC/SC lite version: 1.8.11 + Using reader plug'n play mechanism + Scanning present readers... + Waiting for the first reader... + +Si insertamos el lector veremos algo como esto: + + root@rasalhague:~# pcsc_scan + PC/SC device scanner + V 1.4.23 (c) 2001-2011, Ludovic Rousseau + Compiled with PC/SC lite version: 1.8.11 + Using reader plug'n play mechanism + Scanning present readers... + Waiting for the first reader...found one + Scanning present readers... + 0: C3PO LTC31 v2 (11061005) 00 00 + + Wed Jan 25 01:17:20 2017 + Reader 0: C3PO LTC31 v2 (11061005) 00 00 + Card state: Card removed, + +Si insertamos un DNI veremos que se lee la información de la tarjeta +insertada: + + Reader 0: C3PO LTC31 v2 (11061005) 00 00 + Card state: Card inserted, + +y mas rollo + +Instalamos ahora el modulo criptográfico desde [este +enlace](https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_1112) + +Y además: + + aptitude install pinentry-gtk2 opensc + +# Virtualizaciones y contenedores + +## Instalación de *virtualBox* + +Lo hacemos con los origenes de software oficiales (alternativamente, +podríamos hacerlo manualmente): + + # Importamos la clave gpg + wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - + + # Añadimos el nuevo origen de software + sudo add-apt-repository "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian $(. /etc/os-release; echo "$UBUNTU_CODENAME") contrib" + + # Actualizamos la base de datos de paquetes + sudo apt update + +Ahora podemos comprobar que además del paquete *virtualbox* tenemos +varios paquetes con número de versión (p.ej. \_virtualbox.6.1), estos +últimos son los que hemos añadido (compruebalo con `apt-cache policy +[nombrepaquete]`) + +Instalamos el que nos interesa: + +``` {bash} +sudo apt install virtualbox-6.1 +``` + +Descargamos también el [VirtualBox Extension +Pack](https://www.virtualbox.org/wiki/Downloads), este paquete lo +instalaremos desde el propio interfaz de usuario del *VirtualBox*. Y lo +instalamos con el comando: + + sudo VBoxManage extpack install ./Oracle_VM_VirtualBox_Extension_Pack-6.1.2.vbox-extpack + +Sólo nos queda añadir nuestro usuario al grupo `vboxusers`, con el +comando `sudo gpasswd -a username vboxusers`, y tendremos que cerrar la +sesión para refrescar nuestros grupos. + +## qemu + +Instalamos desde el repo oficial: + + sudo apt install qemu-kvm qemu virt-manager virt-viewer libvirt-bin + +## Docker + +Tenemos que añadir el repositorio correspondiente a nuestra +distribución: + + # Be safe + sudo apt remove docker docker-engine docker.io + sudo apt autoremove + sudo apt update + + # Install pre-requisites + sudo apt install ca-certificates curl + + # Import the GPG key + + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - + + # Next, point the package manager to the official Docker repository + + sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo "$UBUNTU_CODENAME") stable" + + # Update the package database + + sudo apt update + # + + apt-cache policy docker-ce + + sudo apt install docker-ce + + sudo gpasswd -a salvari docker + +Esto dejará el servicio *docker* funcionando y habilitado (arrancará en +cada reinicio del ordenador) + +La forma de pararlo es: + +``` {bash} +sudo systemctl stop docker +sudo systemctl disable docker +systemctl status docker +``` + +Añadimos el *bundle* **docker** en nuestro fichero `~/.zshrc` para tener +autocompletado en comandos de docker. + +Para usar *docker* tendremos que arrancarlo, con los alias de nuestro +sistema para *systemd* ejecutamos: + +``` {bash} +scst docker # para arrancar el servicio + +scsp docker # para parar el servicio +``` + +### docker-compose + + - Nos bajamos la última versión disponible de [las releases de + github](https://github.com/docker/compose/releases) + - Movemos el fichero que hemos descargado a + `/usr/local/bin/docker-compose` + - Y le damos permisos de ejecución `sudo chmod +x + /usr/local/bin/docker-compose` + +# Utilidades para mapas y cartografía + +## josm + +Descargamos y añadimos la clave gpg: + + wget -q https://josm.openstreetmap.de/josm-apt.key -O- | sudo apt-key add - + +Añadimos el origen de software: + + sudo add-apt-repository "deb [arch=amd64] https://josm.openstreetmap.de/apt $(. /etc/os-release; echo "$UBUNTU_CODENAME") universe" + +Y ahora procedemos a la instalación: + + sudo apt update + sudo apt install openjfx josm + +Alternativamente también podemos instalar la versión “nightly” con el +siguienete comando, pero tendréis actualizaciones diarias: + + sudo apt josm-latest + +Ya estamos listos para editar Open Street Map offline. + +## MOBAC + +Bajamos el paquete desde [la página web](http://mobac.sourceforge.net/) +y descomprimimos en `~/apps/mobac` como de costumbre nos creamos una +entrada de menú con *MenuLibre*. + +Conviene bajarse wms adicionales para MOBAC y leerse [la +wiki](http://mobac.sourceforge.net/wiki/index.php/Custom_XML_Map_Sources) + +### Referencias + +\*\[Cartografía digital\] +(https://digimapas.blogspot.com.es/2015/01/oruxmaps-vii-mapas-de-mobac.html) + +## QGIS + +Añadimos la clave gpg: + + wget -q https://qgis.org/downloads/qgis-2017.gpg.key -O- | sudo apt-key add - + +Ejecutamos: + + sudo add-apt-repository "deb [arch=amd64] https://qgis.org/debian $(. /etc/os-release; echo "$UBUNTU_CODENAME") main" + +E instalamos como siempre + + sudo apt update + sudo apt install qgis + +### Referencias + + - [Conectar WMS con + QGIS](https://mappinggis.com/2015/09/como-conectar-con-servicios-wms-y-wfs-con-arcgis-qgis-y-gvsig/) + - [Importar OSM en + QGIS](https://www.altergeosistemas.com/blog/2014/03/28/importando-datos-de-osm-en-qgis-2/) + - [Learn OSM](http://learnosm.org/es/osm-data/osm-in-qgis/) + - [QGIS + Tutorials](http://www.qgistutorials.com/es/docs/downloading_osm_data.html) + +# Recetas variadas + +## 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. + +## 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 + + + +## SDR instalaciones varias + +Vamos a trastear con un dispositivo +[RTL-SDR.com](https://www.rtl-sdr.com/). + +Tenemos un montón de información en el blog de [SDR +Galicia](https://sdrgal.wordpress.com/) 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í](https://ranous.wordpress.com/rtl-sdr4linux/) + +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. + 1. ya no incluye gksu pero tampoco es imprescindible diff --git a/out/LinuxMintUlyana.dw b/out/LinuxMintUlyana.dw index a5a28c4..59d199c 100644 --- a/out/LinuxMintUlyana.dw +++ b/out/LinuxMintUlyana.dw @@ -429,14 +429,14 @@ sudo apt install wkhtmltopdf ====== Internet ====== -====== Rclone ====== +===== Rclone ===== Instalamos desde la página web, siempre que te fies obviamente. curl https://rclone.org/install.sh | sudo bash -===== Recetas rclone ===== +==== Recetas rclone ==== Copiar directorio local en la nube: @@ -453,12 +453,24 @@ Sincronizar una carpeta remota en local: rclone sync hubic:directorio_remoto /home/salvari/directorio_local -vv -===== Referencias ===== +==== Referencias ==== * [[https://elblogdelazaro.gitlab.io//articles/rclone-sincroniza-ficheros-en-la-nube/|Como usar rclone (blogdelazaro)]] * [[https://elblogdelazaro.gitlab.io//articles/rclone-cifrado-de-ficheros-en-la-nube/|y con cifrado (blogdelazaro)]] * [[https://rclone.org/docs/|Documentación]] +====== time-tracking ====== + +===== Activity Watcher ===== + +Instalado desde la web + +===== go for it ===== + + +sudo add-apt-repository ppa:go-for-it-team/go-for-it-daily && sudo apt-get update +sudo apt-get install go-for-it + ====== Documentación ====== ===== Vanilla LaTeX ===== @@ -1844,6 +1856,15 @@ Instalados desde los repos oficiales: sudo apt update sudo apt install vokoscreen kazam +==== OBS ==== + +Añadimos el repositorio + + +sudo add-apt-repository ppa:obsproject/obs-studio +sudo apt update +sudo apt install obs-studio + ===== Grabación de podcast ===== ==== Mumble ==== @@ -1885,3 +1906,401 @@ Se instala la última versión de Darktable (3.0.2) ===== Digikam ===== Instalado desde la [[https://www.digikam.org/|página web]] de la aplicación con appimage. + +====== Seguridad ====== + +===== Autenticación en servidores por clave pública ===== + +Generar contraseñas para conexión servidores remotos: + + +cd ~ +ssh-keygen -b 4096 [-t dsa | ecdsa | ed25519 | rsa | rsa1] +cat .ssh/ + +Solo resta añadir nuestra clave pública en el fichero ''%%authorized_keys%%'' del servidor remoto. + + +cat ~/.ssh/id_xxx.pub | ssh user@hostname 'cat >> .ssh/authorized_keys' + +[[https://www.digitalocean.com/community/tutorials/understanding-the-ssh-encryption-and-connection-process|¿Cómo funciona esto?]] + +===== Claves gpg ===== + +''%%gpg --gen-key%%'' Para generar nuestra clave. + + * **Siempre** hay que ponerle una fecha de expiración, la puedes cambiar más tarde. + * **Siempre** hay que escoger la máxima longitud posible + +===== Seahorse ===== + +Para manejar todas nuestras claves con comodidad: + +''%%sudo apt install seahorse%%'' + +===== Conexión a github con claves ssh ===== + +Usando este método podemos conectarnos a github sin tener que teclear la contraseña en cada conexión. + +==== Claves ssh ==== + +Podemos echar un ojo a nuestras claves desde ''%%seahorse%%'' la aplicación de gestión de claves que hemos instalado. También podemos ver las claves que tenemos generadas: + + +ls -al ~/.ssh + +En las claves listadas nuestras claves públicas aparecerán con extensión ''%%.pub%%'' + +También podemos comprobar que claves hemos añadido ya a nuestro agente ssh con: + + +ssh-add -l + +Para generar una nueva pareja de claves ssh: + + +ssh-keygen -t rsa -b 4096 -C "your_email@example.com" + +Podremos dar un nombre distintivo a los ficheros de claves generados y poner una contraseña adecuada a la clave. Si algún dia queremos cambiar la contraseña: + + +ssh-keygen -p + +Ahora tenemos que añadir nuestra clave ssh en nuestra cuenta de github, para ello editamos con nuestro editor de texto favorito el fichero ''%%~/.ssh/id_rsa.pub%%'' y copiamos el contenido integro. Después pegamos ese contenido en el cuadro de texto de la web de github. + +Para comprobar que las claves instaladas en github funcionan correctamente: + + +ssh -T git@github.com +Hi salvari! You've successfully authenticated, but GitHub does not provide shell access. + +Este mensaje indica que todo ha ido bien. + +Ahora en los repos donde queramos usar ssh debemos cambiar el remote: + + +git remote set-url origin git@github.com:$USER/$REPONAME.git + +===== Signal ===== + +El procedimiento recomendado en la página oficial: + + +curl -s https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add - +echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list +sudo apt update && sudo apt install signal-desktop + + +---- + +**NOTA**: Parece que no funciona. Lo he instalado via //flatpack// + + +---- + +===== Lector DNI electrónico ===== + +Instalamos: + + +sudo apt-get install pcscd pcsc-tools libccid + +Como root ejecutamos pcsc_scan: + + +root@rasalhague:~# pcsc_scan +PC/SC device scanner +V 1.4.23 (c) 2001-2011, Ludovic Rousseau +Compiled with PC/SC lite version: 1.8.11 +Using reader plug'n play mechanism +Scanning present readers... +Waiting for the first reader... + +Si insertamos el lector veremos algo como esto: + + +root@rasalhague:~# pcsc_scan +PC/SC device scanner +V 1.4.23 (c) 2001-2011, Ludovic Rousseau +Compiled with PC/SC lite version: 1.8.11 +Using reader plug'n play mechanism +Scanning present readers... +Waiting for the first reader...found one +Scanning present readers... +0: C3PO LTC31 v2 (11061005) 00 00 + +Wed Jan 25 01:17:20 2017 +Reader 0: C3PO LTC31 v2 (11061005) 00 00 + Card state: Card removed, + +Si insertamos un DNI veremos que se lee la información de la tarjeta insertada: + + +Reader 0: C3PO LTC31 v2 (11061005) 00 00 + Card state: Card inserted, + +y mas rollo + +Instalamos ahora el modulo criptográfico desde [[https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_1112|este enlace]] + +Y además: + + +aptitude install pinentry-gtk2 opensc + +====== Virtualizaciones y contenedores ====== + +===== Instalación de virtualBox ===== + +Lo hacemos con los origenes de software oficiales (alternativamente, podríamos hacerlo manualmente): + + +# Importamos la clave gpg +wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - + +# Añadimos el nuevo origen de software +sudo add-apt-repository "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian $(. /etc/os-release; echo "$UBUNTU_CODENAME") contrib" + +# Actualizamos la base de datos de paquetes +sudo apt update + +Ahora podemos comprobar que además del paquete //virtualbox// tenemos varios paquetes con número de versión (p.ej. _virtualbox.6.1), estos últimos son los que hemos añadido (compruebalo con ''%%apt-cache policy [nombrepaquete]%%'') + +Instalamos el que nos interesa: + + +sudo apt install virtualbox-6.1 + +Descargamos también el [[https://www.virtualbox.org/wiki/Downloads|VirtualBox Extension Pack]], este paquete lo instalaremos desde el propio interfaz de usuario del //VirtualBox//. Y lo instalamos con el comando: + + +sudo VBoxManage extpack install ./Oracle_VM_VirtualBox_Extension_Pack-6.1.2.vbox-extpack + +Sólo nos queda añadir nuestro usuario al grupo ''%%vboxusers%%'', con el comando ''%%sudo gpasswd -a username vboxusers%%'', y tendremos que cerrar la sesión para refrescar nuestros grupos. + +===== qemu ===== + +Instalamos desde el repo oficial: + + +sudo apt install qemu-kvm qemu virt-manager virt-viewer libvirt-bin + +===== Docker ===== + +Tenemos que añadir el repositorio correspondiente a nuestra distribución: + + +# Be safe +sudo apt remove docker docker-engine docker.io +sudo apt autoremove +sudo apt update + +# Install pre-requisites +sudo apt install ca-certificates curl + +# Import the GPG key + +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - + +# Next, point the package manager to the official Docker repository + +sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo "$UBUNTU_CODENAME") stable" + +# Update the package database + +sudo apt update +# + +apt-cache policy docker-ce + +sudo apt install docker-ce + +sudo gpasswd -a salvari docker + +Esto dejará el servicio //docker// funcionando y habilitado (arrancará en cada reinicio del ordenador) + +La forma de pararlo es: + + +sudo systemctl stop docker +sudo systemctl disable docker +systemctl status docker + +Añadimos el //bundle// **docker** en nuestro fichero ''%%~/.zshrc%%'' para tener autocompletado en comandos de docker. + +Para usar //docker// tendremos que arrancarlo, con los alias de nuestro sistema para //systemd// ejecutamos: + + +scst docker # para arrancar el servicio + +scsp docker # para parar el servicio + +==== docker-compose ==== + + * Nos bajamos la última versión disponible de [[https://github.com/docker/compose/releases|las releases de github]] + * Movemos el fichero que hemos descargado a ''%%/usr/local/bin/docker-compose%%'' + * Y le damos permisos de ejecución ''%%sudo chmod +x /usr/local/bin/docker-compose%%'' + +====== Utilidades para mapas y cartografía ====== + +===== josm ===== + +Descargamos y añadimos la clave gpg: + + +wget -q https://josm.openstreetmap.de/josm-apt.key -O- | sudo apt-key add - + +Añadimos el origen de software: + + +sudo add-apt-repository "deb [arch=amd64] https://josm.openstreetmap.de/apt $(. /etc/os-release; echo "$UBUNTU_CODENAME") universe" + +Y ahora procedemos a la instalación: + + +sudo apt update +sudo apt install openjfx josm + +Alternativamente también podemos instalar la versión “nightly” con el siguienete comando, pero tendréis actualizaciones diarias: + + +sudo apt josm-latest + +Ya estamos listos para editar Open Street Map offline. + +===== MOBAC ===== + +Bajamos el paquete desde [[http://mobac.sourceforge.net/|la página web]] y descomprimimos en ''%%~/apps/mobac%%'' como de costumbre nos creamos una entrada de menú con //MenuLibre//. + +Conviene bajarse wms adicionales para MOBAC y leerse [[http://mobac.sourceforge.net/wiki/index.php/Custom_XML_Map_Sources|la wiki]] + +==== Referencias ==== + +*[Cartografía digital] (https:%%//%%digimapas.blogspot.com.es/2015/01/oruxmaps-vii-mapas-de-mobac.html) + +===== QGIS ===== + +Añadimos la clave gpg: + + +wget -q https://qgis.org/downloads/qgis-2017.gpg.key -O- | sudo apt-key add - + +Ejecutamos: + + +sudo add-apt-repository "deb [arch=amd64] https://qgis.org/debian $(. /etc/os-release; echo "$UBUNTU_CODENAME") main" + +E instalamos como siempre + + +sudo apt update +sudo apt install qgis + +==== Referencias ==== + + * [[https://mappinggis.com/2015/09/como-conectar-con-servicios-wms-y-wfs-con-arcgis-qgis-y-gvsig/|Conectar WMS con QGIS]] + * [[https://www.altergeosistemas.com/blog/2014/03/28/importando-datos-de-osm-en-qgis-2/|Importar OSM en QGIS]] + * [[http://learnosm.org/es/osm-data/osm-in-qgis/|Learn OSM]] + * [[http://www.qgistutorials.com/es/docs/downloading_osm_data.html|QGIS Tutorials]] + +====== Recetas variadas ====== + +===== 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. + +===== 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 [[https://www.rtl-sdr.com/|RTL-SDR.com]]. + +Tenemos un montón de información en el blog de [[https://sdrgal.wordpress.com/|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 [[https://ranous.wordpress.com/rtl-sdr4linux/|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. diff --git a/out/LinuxMintUlyana.epub b/out/LinuxMintUlyana.epub index d9f0e5d..7a34145 100644 Binary files a/out/LinuxMintUlyana.epub and b/out/LinuxMintUlyana.epub differ diff --git a/out/LinuxMintUlyana.mw b/out/LinuxMintUlyana.mw index a82c925..5e55e5c 100644 --- a/out/LinuxMintUlyana.mw +++ b/out/LinuxMintUlyana.mw @@ -386,12 +386,12 @@ Instalamos ''gparted'' para poder formatear memorias usb
sudo apt install wkhtmltopdf
= Internet = -= Rclone = +== Rclone == Instalamos desde la página web, siempre que te fies obviamente.
curl https://rclone.org/install.sh | sudo bash
-== Recetas rclone == +=== Recetas rclone === Copiar directorio local en la nube: @@ -402,12 +402,22 @@ Si queremos ver el directorio en la web de Hubic tenemos que copiarlo en ''defau Sincronizar una carpeta remota en local:
rclone sync hubic:directorio_remoto /home/salvari/directorio_local -vv
-== Referencias == +=== Referencias === * [https://elblogdelazaro.gitlab.io//articles/rclone-sincroniza-ficheros-en-la-nube/ Como usar rclone (blogdelazaro)] * [https://elblogdelazaro.gitlab.io//articles/rclone-cifrado-de-ficheros-en-la-nube/ y con cifrado (blogdelazaro)] * [https://rclone.org/docs/ Documentación] += time-tracking = + +== Activity Watcher == + +Instalado desde la web + +== go for it == + +
sudo add-apt-repository ppa:go-for-it-team/go-for-it-daily && sudo apt-get update
+sudo apt-get install go-for-it
= Documentación = == Vanilla LaTeX == @@ -1592,6 +1602,13 @@ Instalados desde los repos oficiales:
sudo apt update
 sudo apt install vokoscreen kazam
+=== OBS === + +Añadimos el repositorio + +
sudo add-apt-repository ppa:obsproject/obs-studio
+sudo apt update
+sudo apt install obs-studio
== Grabación de podcast == === Mumble === @@ -1628,4 +1645,342 @@ Se instala la última versión de Darktable (3.0.2) Instalado desde la [https://www.digikam.org/ página web] de la aplicación con appimage. += Seguridad = + +== Autenticación en servidores por clave pública == + +Generar contraseñas para conexión servidores remotos: + +
cd ~
+ssh-keygen -b 4096 [-t dsa | ecdsa | ed25519 | rsa | rsa1]
+cat .ssh/
+Solo resta añadir nuestra clave pública en el fichero authorized_keys del servidor remoto. + +
cat ~/.ssh/id_xxx.pub | ssh user@hostname 'cat >> .ssh/authorized_keys'
+[https://www.digitalocean.com/community/tutorials/understanding-the-ssh-encryption-and-connection-process ¿Cómo funciona esto?] + +== Claves gpg == + +gpg --gen-key Para generar nuestra clave. + +* '''Siempre''' hay que ponerle una fecha de expiración, la puedes cambiar más tarde. +* '''Siempre''' hay que escoger la máxima longitud posible + +== Seahorse == + +Para manejar todas nuestras claves con comodidad: + +sudo apt install seahorse + +== Conexión a github con claves ssh == + +Usando este método podemos conectarnos a github sin tener que teclear la contraseña en cada conexión. + +=== Claves ssh === + +Podemos echar un ojo a nuestras claves desde seahorse la aplicación de gestión de claves que hemos instalado. También podemos ver las claves que tenemos generadas: + +
ls -al ~/.ssh
+En las claves listadas nuestras claves públicas aparecerán con extensión .pub + +También podemos comprobar que claves hemos añadido ya a nuestro agente ssh con: + +
ssh-add -l
+Para generar una nueva pareja de claves ssh: + +
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
+Podremos dar un nombre distintivo a los ficheros de claves generados y poner una contraseña adecuada a la clave. Si algún dia queremos cambiar la contraseña: + +
ssh-keygen -p
+Ahora tenemos que añadir nuestra clave ssh en nuestra cuenta de github, para ello editamos con nuestro editor de texto favorito el fichero ~/.ssh/id_rsa.pub y copiamos el contenido integro. Después pegamos ese contenido en el cuadro de texto de la web de github. + +Para comprobar que las claves instaladas en github funcionan correctamente: + +
ssh -T git@github.com
+Hi salvari! You've successfully authenticated, but GitHub does not provide shell access.
+Este mensaje indica que todo ha ido bien. + +Ahora en los repos donde queramos usar ssh debemos cambiar el remote: + +
git remote set-url origin git@github.com:$USER/$REPONAME.git
+== Signal == + +El procedimiento recomendado en la página oficial: + +
curl -s https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add -
+echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list
+sudo apt update && sudo apt install signal-desktop
+ +----- + +'''NOTA''': Parece que no funciona. Lo he instalado via ''flatpack'' + + +----- + +== Lector DNI electrónico == + +Instalamos: + +
sudo apt-get install pcscd pcsc-tools libccid
+Como root ejecutamos pcsc_scan: + +
root@rasalhague:~# pcsc_scan 
+PC/SC device scanner
+V 1.4.23 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
+Compiled with PC/SC lite version: 1.8.11
+Using reader plug'n play mechanism
+Scanning present readers...
+Waiting for the first reader...
+Si insertamos el lector veremos algo como esto: + +
root@rasalhague:~# pcsc_scan 
+PC/SC device scanner
+V 1.4.23 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
+Compiled with PC/SC lite version: 1.8.11
+Using reader plug'n play mechanism
+Scanning present readers...
+Waiting for the first reader...found one
+Scanning present readers...
+0: C3PO LTC31 v2 (11061005) 00 00
+
+Wed Jan 25 01:17:20 2017
+Reader 0: C3PO LTC31 v2 (11061005) 00 00
+  Card state: Card removed,
+Si insertamos un DNI veremos que se lee la información de la tarjeta insertada: + +
Reader 0: C3PO LTC31 v2 (11061005) 00 00
+  Card state: Card inserted, 
+y mas rollo + +Instalamos ahora el modulo criptográfico desde [https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_1112 este enlace] + +Y además: + +
aptitude install pinentry-gtk2 opensc
+= Virtualizaciones y contenedores = + +== Instalación de ''virtualBox'' == + +Lo hacemos con los origenes de software oficiales (alternativamente, podríamos hacerlo manualmente): + +
# Importamos la clave gpg
+wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
+
+# Añadimos el nuevo origen de software
+sudo add-apt-repository "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian $(. /etc/os-release; echo "$UBUNTU_CODENAME") contrib"
+
+# Actualizamos la base de datos de paquetes
+sudo apt update
+Ahora podemos comprobar que además del paquete ''virtualbox'' tenemos varios paquetes con número de versión (p.ej. _virtualbox.6.1), estos últimos son los que hemos añadido (compruebalo con apt-cache policy [nombrepaquete]) + +Instalamos el que nos interesa: + +
sudo apt install virtualbox-6.1
+Descargamos también el [https://www.virtualbox.org/wiki/Downloads VirtualBox Extension Pack], este paquete lo instalaremos desde el propio interfaz de usuario del ''VirtualBox''. Y lo instalamos con el comando: + +
sudo VBoxManage extpack install ./Oracle_VM_VirtualBox_Extension_Pack-6.1.2.vbox-extpack 
+Sólo nos queda añadir nuestro usuario al grupo vboxusers, con el comando sudo gpasswd -a username vboxusers, y tendremos que cerrar la sesión para refrescar nuestros grupos. + +== qemu == + +Instalamos desde el repo oficial: + +
sudo apt install qemu-kvm qemu virt-manager virt-viewer libvirt-bin
+== Docker == + +Tenemos que añadir el repositorio correspondiente a nuestra distribución: + +
# Be safe
+sudo apt remove docker docker-engine docker.io
+sudo apt autoremove
+sudo apt update
+
+# Install pre-requisites
+sudo apt install ca-certificates curl
+
+# Import the GPG key
+
+curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
+
+# Next, point the package manager to the official Docker repository
+
+sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo "$UBUNTU_CODENAME") stable"
+
+# Update the package database
+
+sudo apt update
+#
+
+apt-cache policy docker-ce
+
+sudo apt install docker-ce
+
+sudo gpasswd -a salvari docker
+Esto dejará el servicio ''docker'' funcionando y habilitado (arrancará en cada reinicio del ordenador) + +La forma de pararlo es: + +
sudo systemctl stop docker
+sudo systemctl disable docker
+systemctl status docker
+Añadimos el ''bundle'' '''docker''' en nuestro fichero ~/.zshrc para tener autocompletado en comandos de docker. + +Para usar ''docker'' tendremos que arrancarlo, con los alias de nuestro sistema para ''systemd'' ejecutamos: + +
scst docker  # para arrancar el servicio
+
+scsp docker  # para parar el servicio
+=== docker-compose === + +* Nos bajamos la última versión disponible de [https://github.com/docker/compose/releases las releases de github] +* Movemos el fichero que hemos descargado a /usr/local/bin/docker-compose +* Y le damos permisos de ejecución sudo chmod +x /usr/local/bin/docker-compose + += Utilidades para mapas y cartografía = + +== josm == + +Descargamos y añadimos la clave gpg: + +
wget -q https://josm.openstreetmap.de/josm-apt.key -O- | sudo apt-key add -
+Añadimos el origen de software: + +
sudo add-apt-repository "deb [arch=amd64] https://josm.openstreetmap.de/apt $(. /etc/os-release; echo "$UBUNTU_CODENAME") universe"
+Y ahora procedemos a la instalación: + +
sudo apt update
+sudo apt install openjfx josm 
+Alternativamente también podemos instalar la versión “nightly” con el siguienete comando, pero tendréis actualizaciones diarias: + +
sudo apt josm-latest
+Ya estamos listos para editar Open Street Map offline. + +== MOBAC == + +Bajamos el paquete desde [http://mobac.sourceforge.net/ la página web] y descomprimimos en ~/apps/mobac como de costumbre nos creamos una entrada de menú con ''MenuLibre''. + +Conviene bajarse wms adicionales para MOBAC y leerse [http://mobac.sourceforge.net/wiki/index.php/Custom_XML_Map_Sources la wiki] + +=== Referencias === + +*[Cartografía digital] (https://digimapas.blogspot.com.es/2015/01/oruxmaps-vii-mapas-de-mobac.html) + +== QGIS == + +Añadimos la clave gpg: + +
wget -q  https://qgis.org/downloads/qgis-2017.gpg.key -O- | sudo apt-key add -
+Ejecutamos: + +
sudo add-apt-repository "deb [arch=amd64] https://qgis.org/debian $(. /etc/os-release; echo "$UBUNTU_CODENAME") main"
+E instalamos como siempre + +
sudo apt update
+sudo apt install qgis
+=== Referencias === + +* [https://mappinggis.com/2015/09/como-conectar-con-servicios-wms-y-wfs-con-arcgis-qgis-y-gvsig/ Conectar WMS con QGIS] +* [https://www.altergeosistemas.com/blog/2014/03/28/importando-datos-de-osm-en-qgis-2/ Importar OSM en QGIS] +* [http://learnosm.org/es/osm-data/osm-in-qgis/ Learn OSM] +* [http://www.qgistutorials.com/es/docs/downloading_osm_data.html QGIS Tutorials] + += Recetas variadas = + +== 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. + +== 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 [https://www.rtl-sdr.com/ RTL-SDR.com]. + +Tenemos un montón de información en el blog de [https://sdrgal.wordpress.com/ 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 [https://ranous.wordpress.com/rtl-sdr4linux/ 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. + diff --git a/out/LinuxMintUlyana.odt b/out/LinuxMintUlyana.odt index 3151094..56b554c 100644 Binary files a/out/LinuxMintUlyana.odt and b/out/LinuxMintUlyana.odt differ diff --git a/out/LinuxMintUlyana.pdf b/out/LinuxMintUlyana.pdf index 943cefe..7ede52b 100644 Binary files a/out/LinuxMintUlyana.pdf and b/out/LinuxMintUlyana.pdf differ diff --git a/out/LinuxMintUlyana.tex b/out/LinuxMintUlyana.tex index 698f0f5..91e77c1 100644 --- a/out/LinuxMintUlyana.tex +++ b/out/LinuxMintUlyana.tex @@ -707,7 +707,7 @@ sudo apt install wkhtmltopdf \section{Internet}\label{internet}} \hypertarget{rclone}{% -\section{Rclone}\label{rclone}} +\subsection{Rclone}\label{rclone}} Instalamos desde la página web, siempre que te fies obviamente. @@ -716,7 +716,7 @@ curl https://rclone.org/install.sh | sudo bash \end{verbatim} \hypertarget{recetas-rclone}{% -\subsection{Recetas rclone}\label{recetas-rclone}} +\subsubsection{Recetas rclone}\label{recetas-rclone}} Copiar directorio local en la nube: @@ -738,7 +738,7 @@ rclone sync hubic:directorio_remoto /home/salvari/directorio_local -vv \end{verbatim} \hypertarget{referencias}{% -\subsection{Referencias}\label{referencias}} +\subsubsection{Referencias}\label{referencias}} \begin{itemize} \tightlist @@ -752,6 +752,22 @@ rclone sync hubic:directorio_remoto /home/salvari/directorio_local -vv \href{https://rclone.org/docs/}{Documentación} \end{itemize} +\hypertarget{time-tracking}{% +\section{time-tracking}\label{time-tracking}} + +\hypertarget{activity-watcher}{% +\subsection{Activity Watcher}\label{activity-watcher}} + +Instalado desde la web + +\hypertarget{go-for-it}{% +\subsection{go for it}\label{go-for-it}} + +\begin{verbatim} +sudo add-apt-repository ppa:go-for-it-team/go-for-it-daily && sudo apt-get update +sudo apt-get install go-for-it +\end{verbatim} + \hypertarget{documentaciuxf3n}{% \section{Documentación}\label{documentaciuxf3n}} @@ -2711,6 +2727,17 @@ sudo apt update sudo apt install vokoscreen kazam \end{verbatim} +\hypertarget{obs}{% +\subsubsection{OBS}\label{obs}} + +Añadimos el repositorio + +\begin{verbatim} +sudo add-apt-repository ppa:obsproject/obs-studio +sudo apt update +sudo apt install obs-studio +\end{verbatim} + \hypertarget{grabaciuxf3n-de-podcast}{% \subsection{Grabación de podcast}\label{grabaciuxf3n-de-podcast}} @@ -2770,4 +2797,567 @@ Se instala la última versión de Darktable (3.0.2) Instalado desde la \href{https://www.digikam.org/}{página web} de la aplicación con appimage. +\hypertarget{seguridad}{% +\section{Seguridad}\label{seguridad}} + +\hypertarget{autenticaciuxf3n-en-servidores-por-clave-puxfablica}{% +\subsection{Autenticación en servidores por clave +pública}\label{autenticaciuxf3n-en-servidores-por-clave-puxfablica}} + +Generar contraseñas para conexión servidores remotos: + +\begin{verbatim} +cd ~ +ssh-keygen -b 4096 [-t dsa | ecdsa | ed25519 | rsa | rsa1] +cat .ssh/ +\end{verbatim} + +Solo resta añadir nuestra clave pública en el fichero +\texttt{authorized\_keys} del servidor remoto. + +\begin{verbatim} +cat ~/.ssh/id_xxx.pub | ssh user@hostname 'cat >> .ssh/authorized_keys' +\end{verbatim} + +\href{https://www.digitalocean.com/community/tutorials/understanding-the-ssh-encryption-and-connection-process}{¿Cómo +funciona esto?} + +\hypertarget{claves-gpg}{% +\subsection{Claves gpg}\label{claves-gpg}} + +\texttt{gpg\ -\/-gen-key} Para generar nuestra clave. + +\begin{itemize} +\tightlist +\item + \textbf{Siempre} hay que ponerle una fecha de expiración, la puedes + cambiar más tarde. +\item + \textbf{Siempre} hay que escoger la máxima longitud posible +\end{itemize} + +\hypertarget{seahorse}{% +\subsection{Seahorse}\label{seahorse}} + +Para manejar todas nuestras claves con comodidad: + +\texttt{sudo\ apt\ install\ seahorse} + +\hypertarget{conexiuxf3n-a-github-con-claves-ssh}{% +\subsection{Conexión a github con claves +ssh}\label{conexiuxf3n-a-github-con-claves-ssh}} + +Usando este método podemos conectarnos a github sin tener que teclear la +contraseña en cada conexión. + +\hypertarget{claves-ssh}{% +\subsubsection{Claves ssh}\label{claves-ssh}} + +Podemos echar un ojo a nuestras claves desde \texttt{seahorse} la +aplicación de gestión de claves que hemos instalado. También podemos ver +las claves que tenemos generadas: + +\begin{verbatim} +ls -al ~/.ssh +\end{verbatim} + +En las claves listadas nuestras claves públicas aparecerán con extensión +\texttt{.pub} + +También podemos comprobar que claves hemos añadido ya a nuestro agente +ssh con: + +\begin{verbatim} +ssh-add -l +\end{verbatim} + +Para generar una nueva pareja de claves ssh: + +\begin{verbatim} +ssh-keygen -t rsa -b 4096 -C "your_email@example.com" +\end{verbatim} + +Podremos dar un nombre distintivo a los ficheros de claves generados y +poner una contraseña adecuada a la clave. Si algún dia queremos cambiar +la contraseña: + +\begin{verbatim} +ssh-keygen -p +\end{verbatim} + +Ahora tenemos que añadir nuestra clave ssh en nuestra cuenta de github, +para ello editamos con nuestro editor de texto favorito el fichero +\texttt{\textasciitilde{}/.ssh/id\_rsa.pub} y copiamos el contenido +integro. Después pegamos ese contenido en el cuadro de texto de la web +de github. + +Para comprobar que las claves instaladas en github funcionan +correctamente: + +\begin{verbatim} +ssh -T git@github.com +Hi salvari! You've successfully authenticated, but GitHub does not provide shell access. +\end{verbatim} + +Este mensaje indica que todo ha ido bien. + +Ahora en los repos donde queramos usar ssh debemos cambiar el remote: + +\begin{verbatim} +git remote set-url origin git@github.com:$USER/$REPONAME.git +\end{verbatim} + +\hypertarget{signal}{% +\subsection{Signal}\label{signal}} + +El procedimiento recomendado en la página oficial: + +\begin{verbatim} +curl -s https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add - +echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list +sudo apt update && sudo apt install signal-desktop +\end{verbatim} + +\begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} + +\textbf{NOTA}: Parece que no funciona. Lo he instalado via +\emph{flatpack} + +\begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} + +\hypertarget{lector-dni-electruxf3nico}{% +\subsection{Lector DNI electrónico}\label{lector-dni-electruxf3nico}} + +Instalamos: + +\begin{verbatim} +sudo apt-get install pcscd pcsc-tools libccid +\end{verbatim} + +Como root ejecutamos pcsc\_scan: + +\begin{verbatim} +root@rasalhague:~# pcsc_scan +PC/SC device scanner +V 1.4.23 (c) 2001-2011, Ludovic Rousseau +Compiled with PC/SC lite version: 1.8.11 +Using reader plug'n play mechanism +Scanning present readers... +Waiting for the first reader... +\end{verbatim} + +Si insertamos el lector veremos algo como esto: + +\begin{verbatim} +root@rasalhague:~# pcsc_scan +PC/SC device scanner +V 1.4.23 (c) 2001-2011, Ludovic Rousseau +Compiled with PC/SC lite version: 1.8.11 +Using reader plug'n play mechanism +Scanning present readers... +Waiting for the first reader...found one +Scanning present readers... +0: C3PO LTC31 v2 (11061005) 00 00 + +Wed Jan 25 01:17:20 2017 +Reader 0: C3PO LTC31 v2 (11061005) 00 00 + Card state: Card removed, +\end{verbatim} + +Si insertamos un DNI veremos que se lee la información de la tarjeta +insertada: + +\begin{verbatim} +Reader 0: C3PO LTC31 v2 (11061005) 00 00 + Card state: Card inserted, +\end{verbatim} + +y mas rollo + +Instalamos ahora el modulo criptográfico desde +\href{https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_1112}{este +enlace} + +Y además: + +\begin{verbatim} +aptitude install pinentry-gtk2 opensc +\end{verbatim} + +\hypertarget{virtualizaciones-y-contenedores}{% +\section{Virtualizaciones y +contenedores}\label{virtualizaciones-y-contenedores}} + +\hypertarget{instalaciuxf3n-de-virtualbox}{% +\subsection{\texorpdfstring{Instalación de +\emph{virtualBox}}{Instalación de virtualBox}}\label{instalaciuxf3n-de-virtualbox}} + +Lo hacemos con los origenes de software oficiales (alternativamente, +podríamos hacerlo manualmente): + +\begin{verbatim} +# Importamos la clave gpg +wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - + +# Añadimos el nuevo origen de software +sudo add-apt-repository "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian $(. /etc/os-release; echo "$UBUNTU_CODENAME") contrib" + +# Actualizamos la base de datos de paquetes +sudo apt update +\end{verbatim} + +Ahora podemos comprobar que además del paquete \emph{virtualbox} tenemos +varios paquetes con número de versión (p.ej. \_virtualbox.6.1), estos +últimos son los que hemos añadido (compruebalo con +\texttt{apt-cache\ policy\ {[}nombrepaquete{]}}) + +Instalamos el que nos interesa: + +\begin{verbatim} +sudo apt install virtualbox-6.1 +\end{verbatim} + +Descargamos también el +\href{https://www.virtualbox.org/wiki/Downloads}{VirtualBox Extension +Pack}, este paquete lo instalaremos desde el propio interfaz de usuario +del \emph{VirtualBox}. Y lo instalamos con el comando: + +\begin{verbatim} +sudo VBoxManage extpack install ./Oracle_VM_VirtualBox_Extension_Pack-6.1.2.vbox-extpack +\end{verbatim} + +Sólo nos queda añadir nuestro usuario al grupo \texttt{vboxusers}, con +el comando \texttt{sudo\ gpasswd\ -a\ username\ vboxusers}, y tendremos +que cerrar la sesión para refrescar nuestros grupos. + +\hypertarget{qemu}{% +\subsection{qemu}\label{qemu}} + +Instalamos desde el repo oficial: + +\begin{verbatim} +sudo apt install qemu-kvm qemu virt-manager virt-viewer libvirt-bin +\end{verbatim} + +\hypertarget{docker}{% +\subsection{Docker}\label{docker}} + +Tenemos que añadir el repositorio correspondiente a nuestra +distribución: + +\begin{verbatim} +# Be safe +sudo apt remove docker docker-engine docker.io +sudo apt autoremove +sudo apt update + +# Install pre-requisites +sudo apt install ca-certificates curl + +# Import the GPG key + +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - + +# Next, point the package manager to the official Docker repository + +sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo "$UBUNTU_CODENAME") stable" + +# Update the package database + +sudo apt update +# + +apt-cache policy docker-ce + +sudo apt install docker-ce + +sudo gpasswd -a salvari docker +\end{verbatim} + +Esto dejará el servicio \emph{docker} funcionando y habilitado +(arrancará en cada reinicio del ordenador) + +La forma de pararlo es: + +\begin{verbatim} +sudo systemctl stop docker +sudo systemctl disable docker +systemctl status docker +\end{verbatim} + +Añadimos el \emph{bundle} \textbf{docker} en nuestro fichero +\texttt{\textasciitilde{}/.zshrc} para tener autocompletado en comandos +de docker. + +Para usar \emph{docker} tendremos que arrancarlo, con los alias de +nuestro sistema para \emph{systemd} ejecutamos: + +\begin{verbatim} +scst docker # para arrancar el servicio + +scsp docker # para parar el servicio +\end{verbatim} + +\hypertarget{docker-compose}{% +\subsubsection{docker-compose}\label{docker-compose}} + +\begin{itemize} +\tightlist +\item + Nos bajamos la última versión disponible de + \href{https://github.com/docker/compose/releases}{las releases de + github} +\item + Movemos el fichero que hemos descargado a + \texttt{/usr/local/bin/docker-compose} +\item + Y le damos permisos de ejecución + \texttt{sudo\ chmod\ +x\ /usr/local/bin/docker-compose} +\end{itemize} + +\hypertarget{utilidades-para-mapas-y-cartografuxeda}{% +\section{Utilidades para mapas y +cartografía}\label{utilidades-para-mapas-y-cartografuxeda}} + +\hypertarget{josm}{% +\subsection{josm}\label{josm}} + +Descargamos y añadimos la clave gpg: + +\begin{verbatim} +wget -q https://josm.openstreetmap.de/josm-apt.key -O- | sudo apt-key add - +\end{verbatim} + +Añadimos el origen de software: + +\begin{verbatim} +sudo add-apt-repository "deb [arch=amd64] https://josm.openstreetmap.de/apt $(. /etc/os-release; echo "$UBUNTU_CODENAME") universe" +\end{verbatim} + +Y ahora procedemos a la instalación: + +\begin{verbatim} +sudo apt update +sudo apt install openjfx josm +\end{verbatim} + +Alternativamente también podemos instalar la versión ``nightly'' con el +siguienete comando, pero tendréis actualizaciones diarias: + +\begin{verbatim} +sudo apt josm-latest +\end{verbatim} + +Ya estamos listos para editar Open Street Map offline. + +\hypertarget{mobac}{% +\subsection{MOBAC}\label{mobac}} + +Bajamos el paquete desde \href{http://mobac.sourceforge.net/}{la página +web} y descomprimimos en \texttt{\textasciitilde{}/apps/mobac} como de +costumbre nos creamos una entrada de menú con \emph{MenuLibre}. + +Conviene bajarse wms adicionales para MOBAC y leerse +\href{http://mobac.sourceforge.net/wiki/index.php/Custom_XML_Map_Sources}{la +wiki} + +\hypertarget{referencias-1}{% +\subsubsection{Referencias}\label{referencias-1}} + +*{[}Cartografía digital{]} +(https://digimapas.blogspot.com.es/2015/01/oruxmaps-vii-mapas-de-mobac.html) + +\hypertarget{qgis}{% +\subsection{QGIS}\label{qgis}} + +Añadimos la clave gpg: + +\begin{verbatim} +wget -q https://qgis.org/downloads/qgis-2017.gpg.key -O- | sudo apt-key add - +\end{verbatim} + +Ejecutamos: + +\begin{verbatim} +sudo add-apt-repository "deb [arch=amd64] https://qgis.org/debian $(. /etc/os-release; echo "$UBUNTU_CODENAME") main" +\end{verbatim} + +E instalamos como siempre + +\begin{verbatim} +sudo apt update +sudo apt install qgis +\end{verbatim} + +\hypertarget{referencias-2}{% +\subsubsection{Referencias}\label{referencias-2}} + +\begin{itemize} +\tightlist +\item + \href{https://mappinggis.com/2015/09/como-conectar-con-servicios-wms-y-wfs-con-arcgis-qgis-y-gvsig/}{Conectar + WMS con QGIS} +\item + \href{https://www.altergeosistemas.com/blog/2014/03/28/importando-datos-de-osm-en-qgis-2/}{Importar + OSM en QGIS} +\item + \href{http://learnosm.org/es/osm-data/osm-in-qgis/}{Learn OSM} +\item + \href{http://www.qgistutorials.com/es/docs/downloading_osm_data.html}{QGIS + Tutorials} +\end{itemize} + +\hypertarget{recetas-variadas}{% +\section{Recetas variadas}\label{recetas-variadas}} + +\hypertarget{solucionar-problemas-de-menuxfas-duplicados-usando-menulibre}{% +\subsection{Solucionar problemas de menús duplicados usando +menulibre}\label{solucionar-problemas-de-menuxfas-duplicados-usando-menulibre}} + +\begin{longtable}[]{@{}l@{}} +\toprule +\endhead +\textbf{Nota}: Ya no uso \emph{MenuLibre}\tabularnewline +\bottomrule +\end{longtable} + +En el directorio +\texttt{\textasciitilde{}/.config/menus/applications-merged} borramos +todos los ficheros que haya. + +\hypertarget{formatear-memoria-usb}{% +\subsection{Formatear memoria usb}\label{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: + +\texttt{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\ldots just keep pressing +ignore. + +There will be one with a black outline\ldots you will have to unmount +it\ldots 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\ldots{} 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. + +\hypertarget{copiar-la-clave-puxfablica-ssh-en-un-servidor-remoto}{% +\subsection{Copiar la clave pública ssh en un servidor +remoto}\label{copiar-la-clave-puxfablica-ssh-en-un-servidor-remoto}} + +\texttt{cat\ /home/tim/.ssh/id\_rsa.pub\ \textbar{}\ ssh\ tim@just.some.other.server\ \textquotesingle{}cat\ \textgreater{}\textgreater{}\ .ssh/authorized\_keys\textquotesingle{}} + +O también: + +\texttt{ssh-copy-id\ -i\ \textasciitilde{}/.ssh/id\_rsa.pub\ username@remote.server} + +\hypertarget{ssh-access-from-termux}{% +\subsection{ssh access from termux}\label{ssh-access-from-termux}} + +\url{https://linuxconfig.org/ssh-into-linux-your-computer-from-android-with-termux} + +\hypertarget{sdr-instalaciones-varias}{% +\subsection{SDR instalaciones varias}\label{sdr-instalaciones-varias}} + +Vamos a trastear con un dispositivo +\href{https://www.rtl-sdr.com/}{RTL-SDR.com}. + +Tenemos un montón de información en el blog de +\href{https://sdrgal.wordpress.com/}{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 +\href{https://ranous.wordpress.com/rtl-sdr4linux/}{aquí} + +Seguimos los pasos de instalación: + +\begin{itemize} +\tightlist +\item + La instalación de \texttt{git}, \texttt{cmake} y + \texttt{build-essential} ya la tengo hecha. +\end{itemize} + +\begin{verbatim} +sudo apt-get install libusb-1.0-0-dev +\end{verbatim} + +\hypertarget{posible-problema-con-modemmanager-y-micros-programables}{% +\subsection{Posible problema con modemmanager y micros +programables}\label{posible-problema-con-modemmanager-y-micros-programables}} + +Programando el \emph{Circuit Playground Express} con el \emph{Arduino +IDE} tenía problemas continuos para hacer los \emph{uploads}, al parecer +el servicio \emph{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: +\texttt{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 \emph{ModemManager} capture el puerto con un dispositivo + +Creamos un fichero con permisos de \texttt{root} en el directorio +\texttt{/etc/udev/rules.d} que llamaremos: \texttt{99-arduino.rules} + +Dentro de ese fichero especificamos los codigos VID/PID que se deben +ignorar: + +\begin{verbatim} +# 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" +\end{verbatim} + +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 + +\hypertarget{programar-los-nanos-con-chip-ch340-o-ch341}{% +\subsection{Programar los nanos con chip ch340 o +ch341}\label{programar-los-nanos-con-chip-ch340-o-ch341}} + +Linux mapea el chip correctamente en un puerto \texttt{/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 \emph{Arduino +IDE}, hay que escoger: + +\begin{verbatim} +Board: "Arduino Nano" +Processor: "ATmega168" +Port: "/dev/ttyUSB0" +\end{verbatim} + +Y ya funciona todo. + \end{document} diff --git a/src/250_extra.md b/src/250_extra.md index 2215ae6..76840eb 100644 --- a/src/250_extra.md +++ b/src/250_extra.md @@ -20,7 +20,7 @@ sudo apt install wkhtmltopdf # Internet -# Rclone +## Rclone Instalamos desde la página web, siempre que te fies obviamente. @@ -28,7 +28,7 @@ Instalamos desde la página web, siempre que te fies obviamente. curl https://rclone.org/install.sh | sudo bash ~~~~ -## Recetas rclone +### Recetas rclone Copiar directorio local en la nube: @@ -50,8 +50,22 @@ rclone sync hubic:directorio_remoto /home/salvari/directorio_local -vv ~~~~ -## Referencias +### Referencias * [Como usar rclone (blogdelazaro)](https://elblogdelazaro.gitlab.io//articles/rclone-sincroniza-ficheros-en-la-nube/) * [y con cifrado (blogdelazaro)](https://elblogdelazaro.gitlab.io//articles/rclone-cifrado-de-ficheros-en-la-nube/) * [Documentación](https://rclone.org/docs/) + + +# time-tracking + +## Activity Watcher + +Instalado desde la web + +## go for it + +~~~~{bash} +sudo add-apt-repository ppa:go-for-it-team/go-for-it-daily && sudo apt-get update +sudo apt-get install go-for-it +~~~~ diff --git a/src/550_media.md b/src/550_media.md index e72eb88..a887de9 100644 --- a/src/550_media.md +++ b/src/550_media.md @@ -65,6 +65,16 @@ sudo apt update sudo apt install vokoscreen kazam ~~~~ +### OBS + +Añadimos el repositorio + +~~~~{bash} +sudo add-apt-repository ppa:obsproject/obs-studio +sudo apt update +sudo apt install obs-studio +~~~~ + ## Grabación de podcast ### Mumble