Corrected typo in basic programs install

una
Sergio Alvariño 4 years ago
parent 7bfb77edb2
commit 16d4078bd2

@ -209,7 +209,7 @@ la bajamos directamente al directorio `~/.local/share/fonts`
<!-- end list --> <!-- end list -->
sudo apt install keepass2 gnucash deluge rsync grsync rar unrar \ sudo apt install keepass2 gnucash deluge rsync grsync rar unrar \
zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar chromium-browser\ zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar \
most mc most mc
- Chromium - Chromium
@ -2068,453 +2068,4 @@ Instalamos ppa:
Se instala la última versión de Darktable (3.0.2) Se instala la última versión de Darktable (3.0.2)
# 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 <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 [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
sudo apt -y install qemu-kvm libvirt-daemon bridge-utils virtinst libvirt-daemon-system
sudo apt -y install virt-top libguestfs-tools libosinfo-bin qemu-system virt-manager
sudo modprobe vhost_net
lsmod | grep vhost
Echar un ojo a
[esto](https://computingforgeeks.com/install-kvm-hypervisor-on-ubuntu-focal-fossa/)
## 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`
Im 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 its done it show its real size.
Next you can format the drive to whichever file system you like.
Its a pain in the behind this way, but its the only way I get it
done..I put live isos 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](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.
<!-- end list -->
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 1. ya no incluye gksu pero tampoco es imprescindible

@ -173,7 +173,7 @@ aptitude install gufw
<code> <code>
sudo apt install keepass2 gnucash deluge rsync grsync rar unrar \ sudo apt install keepass2 gnucash deluge rsync grsync rar unrar \
zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar chromium-browser\ zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar \
most mc most mc
</code> </code>
* **Chromium** Como Chrome pero libre, ahora en Ubuntu solo está disponible como snap así que tendremos que dar un rodeo. * **Chromium** Como Chrome pero libre, ahora en Ubuntu solo está disponible como snap así que tendremos que dar un rodeo.
@ -1865,410 +1865,3 @@ sudo apt update
sudo apt install darktable sudo apt install darktable
</code> </code>
Se instala la última versión de Darktable (3.0.2) Se instala la última versión de Darktable (3.0.2)
====== Seguridad ======
===== Autenticación en servidores por clave pública =====
Generar contraseñas para conexión servidores remotos:
<code>
cd ~
ssh-keygen -b 4096 [-t dsa | ecdsa | ed25519 | rsa | rsa1]
cat .ssh/
</code>
Solo resta añadir nuestra clave pública en el fichero ''%%authorized_keys%%'' del servidor remoto.
<code>
cat ~/.ssh/id_xxx.pub | ssh user@hostname 'cat >> .ssh/authorized_keys'
</code>
[[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:
<code>
ls -al ~/.ssh
</code>
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:
<code>
ssh-add -l
</code>
Para generar una nueva pareja de claves ssh:
<code>
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
</code>
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:
<code>
ssh-keygen -p
</code>
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:
<code>
ssh -T git@github.com
Hi salvari! You've successfully authenticated, but GitHub does not provide shell access.
</code>
Este mensaje indica que todo ha ido bien.
Ahora en los repos donde queramos usar ssh debemos cambiar el remote:
<code>
git remote set-url origin git@github.com:$USER/$REPONAME.git
</code>
===== Signal =====
El procedimiento recomendado en la página oficial:
<code>
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
</code>
----
**NOTA**: Parece que no funciona. Lo he instalado via //flatpack//
----
===== Lector DNI electrónico =====
Instalamos:
<code>
sudo apt-get install pcscd pcsc-tools libccid
</code>
Como root ejecutamos pcsc_scan:
<code>
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...
</code>
Si insertamos el lector veremos algo como esto:
<code>
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,
</code>
Si insertamos un DNI veremos que se lee la información de la tarjeta insertada:
<code>
Reader 0: C3PO LTC31 v2 (11061005) 00 00
Card state: Card inserted,
</code>
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:
<code>
aptitude install pinentry-gtk2 opensc
</code>
====== Virtualizaciones y contenedores ======
===== Instalación de virtualBox =====
Lo hacemos con los origenes de software oficiales (alternativamente, podríamos hacerlo manualmente):
<code>
# 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
</code>
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:
<code>
sudo apt install virtualbox-6.1
</code>
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:
<code>
sudo VBoxManage extpack install ./Oracle_VM_VirtualBox_Extension_Pack-6.1.2.vbox-extpack
</code>
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:
<code>
sudo apt install qemu-kvm qemu virt-manager virt-viewer libvirt-bin
sudo apt -y install qemu-kvm libvirt-daemon bridge-utils virtinst libvirt-daemon-system
sudo apt -y install virt-top libguestfs-tools libosinfo-bin qemu-system virt-manager
sudo modprobe vhost_net
lsmod | grep vhost
</code>
Echar un ojo a [[https://computingforgeeks.com/install-kvm-hypervisor-on-ubuntu-focal-fossa/|esto]]
===== Docker =====
Tenemos que añadir el repositorio correspondiente a nuestra distribución:
<code>
# 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
</code>
Esto dejará el servicio //docker// funcionando y habilitado (arrancará en cada reinicio del ordenador)
La forma de pararlo es:
<code>
sudo systemctl stop docker
sudo systemctl disable docker
systemctl status docker
</code>
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:
<code>
scst docker # para arrancar el servicio
scsp docker # para parar el servicio
</code>
==== 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:
<code>
wget -q https://josm.openstreetmap.de/josm-apt.key -O- | sudo apt-key add -
</code>
Añadimos el origen de software:
<code>
sudo add-apt-repository "deb [arch=amd64] https://josm.openstreetmap.de/apt $(. /etc/os-release; echo "$UBUNTU_CODENAME") universe"
</code>
Y ahora procedemos a la instalación:
<code>
sudo apt update
sudo apt install openjfx josm
</code>
Alternativamente también podemos instalar la versión “nightly” con el siguienete comando, pero tendréis actualizaciones diarias:
<code>
sudo apt josm-latest
</code>
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:
<code>
wget -q https://qgis.org/downloads/qgis-2017.gpg.key -O- | sudo apt-key add -
</code>
Ejecutamos:
<code>
sudo add-apt-repository "deb [arch=amd64] https://qgis.org/debian $(. /etc/os-release; echo "$UBUNTU_CODENAME") main"
</code>
E instalamos como siempre
<code>
sudo apt update
sudo apt install qgis
</code>
==== 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%%''
Im 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 its done it show its real size.
Next you can format the drive to whichever file system you like.
Its a pain in the behind this way, but its the only way I get it done..I put live isos 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.
<code>
sudo apt-get install libusb-1.0-0-dev
</code>
===== 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:
<code>
# 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"
</code>
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:
<code>
Board: "Arduino Nano"
Processor: "ATmega168"
Port: "/dev/ttyUSB0"
</code>
Y ya funciona todo.

Binary file not shown.

@ -162,7 +162,7 @@ aptitude install gufw</pre>
: Un <code>less</code> mejorado : Un <code>less</code> mejorado
<pre>sudo apt install keepass2 gnucash deluge rsync grsync rar unrar \ <pre>sudo apt install keepass2 gnucash deluge rsync grsync rar unrar \
zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar chromium-browser\ zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar \
most mc</pre> most mc</pre>
; Chromium ; Chromium
: Como Chrome pero libre, ahora en Ubuntu solo está disponible como snap así que tendremos que dar un rodeo. : Como Chrome pero libre, ahora en Ubuntu solo está disponible como snap así que tendremos que dar un rodeo.
@ -1608,351 +1608,4 @@ sudo apt update
sudo apt install darktable</pre> sudo apt install darktable</pre>
Se instala la última versión de Darktable (3.0.2) Se instala la última versión de Darktable (3.0.2)
= Seguridad =
== Autenticación en servidores por clave pública ==
Generar contraseñas para conexión servidores remotos:
<pre>cd ~
ssh-keygen -b 4096 [-t dsa | ecdsa | ed25519 | rsa | rsa1]
cat .ssh/</pre>
Solo resta añadir nuestra clave pública en el fichero <code>authorized_keys</code> del servidor remoto.
<pre>cat ~/.ssh/id_xxx.pub | ssh user@hostname 'cat &gt;&gt; .ssh/authorized_keys'</pre>
[https://www.digitalocean.com/community/tutorials/understanding-the-ssh-encryption-and-connection-process ¿Cómo funciona esto?]
== Claves gpg ==
<code>gpg --gen-key</code> 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:
<code>sudo apt install seahorse</code>
== 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 <code>seahorse</code> la aplicación de gestión de claves que hemos instalado. También podemos ver las claves que tenemos generadas:
<pre>ls -al ~/.ssh</pre>
En las claves listadas nuestras claves públicas aparecerán con extensión <code>.pub</code>
También podemos comprobar que claves hemos añadido ya a nuestro agente ssh con:
<pre>ssh-add -l</pre>
Para generar una nueva pareja de claves ssh:
<pre>ssh-keygen -t rsa -b 4096 -C &quot;your_email@example.com&quot;</pre>
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:
<pre>ssh-keygen -p</pre>
Ahora tenemos que añadir nuestra clave ssh en nuestra cuenta de github, para ello editamos con nuestro editor de texto favorito el fichero <code>~/.ssh/id_rsa.pub</code> 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:
<pre>ssh -T git@github.com
Hi salvari! You've successfully authenticated, but GitHub does not provide shell access.</pre>
Este mensaje indica que todo ha ido bien.
Ahora en los repos donde queramos usar ssh debemos cambiar el remote:
<pre>git remote set-url origin git@github.com:$USER/$REPONAME.git</pre>
== Signal ==
El procedimiento recomendado en la página oficial:
<pre>curl -s https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add -
echo &quot;deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main&quot; | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list
sudo apt update &amp;&amp; sudo apt install signal-desktop</pre>
-----
'''NOTA''': Parece que no funciona. Lo he instalado via ''flatpack''
-----
== Lector DNI electrónico ==
Instalamos:
<pre>sudo apt-get install pcscd pcsc-tools libccid</pre>
Como root ejecutamos pcsc_scan:
<pre>root@rasalhague:~# pcsc_scan
PC/SC device scanner
V 1.4.23 (c) 2001-2011, Ludovic Rousseau &lt;ludovic.rousseau@free.fr&gt;
Compiled with PC/SC lite version: 1.8.11
Using reader plug'n play mechanism
Scanning present readers...
Waiting for the first reader...</pre>
Si insertamos el lector veremos algo como esto:
<pre>root@rasalhague:~# pcsc_scan
PC/SC device scanner
V 1.4.23 (c) 2001-2011, Ludovic Rousseau &lt;ludovic.rousseau@free.fr&gt;
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,</pre>
Si insertamos un DNI veremos que se lee la información de la tarjeta insertada:
<pre>Reader 0: C3PO LTC31 v2 (11061005) 00 00
Card state: Card inserted, </pre>
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:
<pre>aptitude install pinentry-gtk2 opensc</pre>
= Virtualizaciones y contenedores =
== Instalación de ''virtualBox'' ==
Lo hacemos con los origenes de software oficiales (alternativamente, podríamos hacerlo manualmente):
<pre># 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 &quot;deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian $(. /etc/os-release; echo &quot;$UBUNTU_CODENAME&quot;) contrib&quot;
# Actualizamos la base de datos de paquetes
sudo apt update</pre>
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 <code>apt-cache policy [nombrepaquete]</code>)
Instalamos el que nos interesa:
<pre class="{bash}">sudo apt install virtualbox-6.1</pre>
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:
<pre>sudo VBoxManage extpack install ./Oracle_VM_VirtualBox_Extension_Pack-6.1.2.vbox-extpack</pre>
Sólo nos queda añadir nuestro usuario al grupo <code>vboxusers</code>, con el comando <code>sudo gpasswd -a username vboxusers</code>, y tendremos que cerrar la sesión para refrescar nuestros grupos.
== qemu ==
Instalamos desde el repo oficial:
<pre>sudo apt install qemu-kvm qemu virt-manager virt-viewer libvirt-bin
sudo apt -y install qemu-kvm libvirt-daemon bridge-utils virtinst libvirt-daemon-system
sudo apt -y install virt-top libguestfs-tools libosinfo-bin qemu-system virt-manager
sudo modprobe vhost_net
lsmod | grep vhost</pre>
Echar un ojo a [https://computingforgeeks.com/install-kvm-hypervisor-on-ubuntu-focal-fossa/ esto]
== Docker ==
Tenemos que añadir el repositorio correspondiente a nuestra distribución:
<pre># 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 &quot;deb [arch=amd64] https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo &quot;$UBUNTU_CODENAME&quot;) stable&quot;
# Update the package database
sudo apt update
#
apt-cache policy docker-ce
sudo apt install docker-ce
sudo gpasswd -a salvari docker</pre>
Esto dejará el servicio ''docker'' funcionando y habilitado (arrancará en cada reinicio del ordenador)
La forma de pararlo es:
<pre class="{bash}">sudo systemctl stop docker
sudo systemctl disable docker
systemctl status docker</pre>
Añadimos el ''bundle'' '''docker''' en nuestro fichero <code>~/.zshrc</code> para tener autocompletado en comandos de docker.
Para usar ''docker'' tendremos que arrancarlo, con los alias de nuestro sistema para ''systemd'' ejecutamos:
<pre class="{bash}">scst docker # para arrancar el servicio
scsp docker # para parar el servicio</pre>
=== 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 <code>/usr/local/bin/docker-compose</code>
* Y le damos permisos de ejecución <code>sudo chmod +x /usr/local/bin/docker-compose</code>
= Utilidades para mapas y cartografía =
== josm ==
Descargamos y añadimos la clave gpg:
<pre>wget -q https://josm.openstreetmap.de/josm-apt.key -O- | sudo apt-key add -</pre>
Añadimos el origen de software:
<pre>sudo add-apt-repository &quot;deb [arch=amd64] https://josm.openstreetmap.de/apt $(. /etc/os-release; echo &quot;$UBUNTU_CODENAME&quot;) universe&quot;</pre>
Y ahora procedemos a la instalación:
<pre>sudo apt update
sudo apt install openjfx josm </pre>
Alternativamente también podemos instalar la versión “nightly” con el siguienete comando, pero tendréis actualizaciones diarias:
<pre>sudo apt josm-latest</pre>
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 <code>~/apps/mobac</code> 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:
<pre>wget -q https://qgis.org/downloads/qgis-2017.gpg.key -O- | sudo apt-key add -</pre>
Ejecutamos:
<pre>sudo add-apt-repository &quot;deb [arch=amd64] https://qgis.org/debian $(. /etc/os-release; echo &quot;$UBUNTU_CODENAME&quot;) main&quot;</pre>
E instalamos como siempre
<pre>sudo apt update
sudo apt install qgis</pre>
=== 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 <code>~/.config/menus/applications-merged</code> 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:
<code>sudo dd if=/dev/zero of=/dev/sdd bs=2048 count=32 &amp;&amp; sync</code>
Im 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 its done it show its real size.
Next you can format the drive to whichever file system you like.
Its a pain in the behind this way, but its the only way I get it done..I put live isos 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 ==
<code>cat /home/tim/.ssh/id_rsa.pub | ssh tim@just.some.other.server 'cat &gt;&gt; .ssh/authorized_keys'</code>
O también:
<code>ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote.server</code>
== 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 <code>git</code>, <code>cmake</code> y <code>build-essential</code> ya la tengo hecha.
<pre>sudo apt-get install libusb-1.0-0-dev</pre>
== 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: <code>sudo systemctl stop ModemManager</code>
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 <code>root</code> en el directorio <code>/etc/udev/rules.d</code> que llamaremos: <code>99-arduino.rules</code>
Dentro de ese fichero especificamos los codigos VID/PID que se deben ignorar:
<pre># for arduino brand, stop ModemManager grabbing port
ATTRS{idVendor}==&quot;2a03&quot;, ENV{ID_MM_DEVICE_IGNORE}=&quot;1&quot;
# for sparkfun brand, stop ModemManager grabbing port
ATTRS{idVendor}==&quot;1b4f&quot;, ENV{ID_MM_DEVICE_IGNORE}=&quot;1&quot;</pre>
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 <code>/dev/ttyUSB0</code> 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:
<pre>Board: &quot;Arduino Nano&quot;
Processor: &quot;ATmega168&quot;
Port: &quot;/dev/ttyUSB0&quot;</pre>
Y ya funciona todo.
<references /> <references />

Binary file not shown.

Binary file not shown.

@ -356,7 +356,7 @@ Un \texttt{less} mejorado
\begin{verbatim} \begin{verbatim}
sudo apt install keepass2 gnucash deluge rsync grsync rar unrar \ sudo apt install keepass2 gnucash deluge rsync grsync rar unrar \
zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar chromium-browser\ zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar \
most mc most mc
\end{verbatim} \end{verbatim}
@ -2730,577 +2730,4 @@ sudo apt install darktable
Se instala la última versión de Darktable (3.0.2) Se instala la última versión de Darktable (3.0.2)
\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 <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...
\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 <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,
\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
sudo apt -y install qemu-kvm libvirt-daemon bridge-utils virtinst libvirt-daemon-system
sudo apt -y install virt-top libguestfs-tools libosinfo-bin qemu-system virt-manager
sudo modprobe vhost_net
lsmod | grep vhost
\end{verbatim}
Echar un ojo a
\href{https://computingforgeeks.com/install-kvm-hypervisor-on-ubuntu-focal-fossa/}{esto}
\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} \end{document}

@ -211,7 +211,7 @@ most
~~~~ ~~~~
sudo apt install keepass2 gnucash deluge rsync grsync rar unrar \ sudo apt install keepass2 gnucash deluge rsync grsync rar unrar \
zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar chromium-browser\ zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar \
most mc most mc
~~~~ ~~~~

Loading…
Cancel
Save