<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://miguelangel.torresegea.es/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://miguelangel.torresegea.es/wiki/feed.php">
        <title>miguel angel torres egea</title>
        <description></description>
        <link>https://miguelangel.torresegea.es/wiki/</link>
        <image rdf:resource="https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png" />
       <dc:date>2026-05-23T17:24:58+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:docker:start?rev=1581629161&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:systemd:systemctl?rev=1584613486&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:tareasserver?rev=1347554934&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:ficherosinicio?rev=1675155487&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:find?rev=1725268231&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:parallel?rev=1778239769&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:curl:start?rev=1582757483&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:procesos?rev=1731321620&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:users:start?rev=1772529314&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:certificados:cayotros?rev=1638598737&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:certificados:pki?rev=1558438235&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:screen?rev=1685079106&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:comandos?rev=1757052655&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:docker:masterclass?rev=1543332294&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:systemd:start?rev=1637991770&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:pivpn?rev=1727889383&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:utils:find-fd?rev=1763539345&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:vim:start?rev=1479165291&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:aptget:apt?rev=1741600997&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:aptget:ppa?rev=1571990093&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:estructurasdecontrol?rev=1685525137&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:grep?rev=1576251056&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:historyexpansion?rev=1579511775&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:librerias-dinamicas?rev=1674210840&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:mlocate?rev=1708086824&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:shellvariables?rev=1727780019&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:start?rev=1777033277&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:cron:anacron?rev=1605886810&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:inicio:start?rev=1478089265&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:rsync:backup?rev=1585390650&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:backupgpg?rev=1584903148&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:protocolobackup?rev=1330366804&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:prune?rev=1605525940&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:vsftp?rev=1321351182&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:clientconfig?rev=1777967022&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:keys?rev=1777967067&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:systemd:journalctl?rev=1640200694&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png">
        <title>miguel angel torres egea</title>
        <link>https://miguelangel.torresegea.es/wiki/</link>
        <url>https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png</url>
    </image>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:docker:start?rev=1581629161&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-13T21:26:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker (first contact)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:docker:start?rev=1581629161&amp;do=diff</link>
        <description>docker (first contact)

docker

un poco de historia

	*  docker monta un sistema de containerización que permite lanzar nuevas instancias de S.O. aprovechando los recursos (hard) de la máquina Y el kernel del SO ya corriendo, lo que hace más óptimo el aprovechamiendo de recursos que las máquinas virtuales (que recrean un ordenador al completo, con sus propios kernels y sistemas de ficheros)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:systemd:systemctl?rev=1584613486&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-19T10:24:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>systemctl</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:systemd:systemctl?rev=1584613486&amp;do=diff</link>
        <description>systemctl

sistema / gestión energía

	*  systemctl reboot
	*  systemctl halt
	*  systemctl poweroff
	*  polkit es necesario para la gestión de energía:
		*  systemctl suspend
		*  systemctl hibernate
		*  systemctl hybrid-sleep


servicios

status</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:tareasserver?rev=1347554934&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-09-13T16:48:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Tareas Server</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:tareasserver?rev=1347554934&amp;do=diff</link>
        <description>Tareas Server

en /root/add_user_ERE.sh


#!/bin/bash

# funciones del script
genpasswd() {
        local l=$1
        [ &quot;$l&quot; == &quot;&quot; ] &amp;&amp; l=16
        echo `tr -dc A-Za-z0-9_ &lt; /dev/urandom | head -c ${l} | xargs`
}


# comprobar que pasa el parametro del nombre
if [ $# -ne 1 ]; then
    echo &quot;Usage Error!&quot;
    echo &quot;ftp_add_user.sh usuario&quot;
    echo &quot; &gt; introduce el nombre de usuario!&quot;
    exit -1
fi

# crea el usuario
#   -m (opcion que existia y he quitado)
#   -M para que no intente crear el …</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:ficherosinicio?rev=1675155487&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-31T08:58:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Los ficheros de inicio de Bash</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:ficherosinicio?rev=1675155487&amp;do=diff</link>
        <description>Los ficheros de inicio de Bash

tipos de shell

	*  Interactivo: permite interactuar, ejecutando comandos introducidos desde el teclado.
	*  No Interactivo: ejecuta los comandos desde un script
	*  De Inicio: los shells que se ejecutan justo después de haberse identificado. Son los que solicitan usuario y contraseña (versus los interactivos que no la solicitan, que no serían de inicio)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:find?rev=1725268231&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-09-02T09:10:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>find</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:find?rev=1725268231&amp;do=diff</link>
        <description>find

opciones

	*  -name : busca ficheros por nombre
	*  -iname : busca ficheros por nombre sin tener en cuenta mayúsculas o minúsculas
	*  -path : busca en el path completo (directorio+nombre)
	*  -ipath : busca en el path completo (directorio+nombre) no Case Sensitive</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:parallel?rev=1778239769&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-08T11:29:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>parallel (bash)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:parallel?rev=1778239769&amp;do=diff</link>
        <description>parallel (bash)

	*  GNU Parallel actúa como un director de orquesta. No solo lanza los procesos, sino que los gestiona para que no colapsen el sistema:
		*  Gestión de carga: Si un proceso termina, lanza el siguiente inmediatamente.
		*  Orden de salida: Evita que los mensajes de error o logs de diferentes sujetos se mezclen de forma caótica en la terminal.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:curl:start?rev=1582757483&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-26T22:51:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>curl</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:curl:start?rev=1582757483&amp;do=diff</link>
        <description>curl

	*  &lt;https://curl.haxx.se/&gt; -&gt; 
	*  curl api rest test: &lt;https://www.baeldung.com/curl-rest&gt;
	*  protocolos: DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET y TFTP

parámetros

	*  -o &lt;nombre&gt;: guarda el archivo con el nombre especificado</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:procesos?rev=1731321620&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-11T10:40:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>control de procesos</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:procesos?rev=1731321620&amp;do=diff</link>
        <description>control de procesos

linux bash

	*  busca procesos que cumplan cadena: 
ps aux | grep &lt;cadena_buscada&gt;

	*  
pgrep &lt;nombre proceso&gt;

		*  -u : especifica usuario
		*  -c : cuenta procesos
		*  -v : invierte el match
		*  -l : lista PID y proceso
		*  -f : cualquier parte de la cadena que aparezca en el proceso, no solo al principio</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:users:start?rev=1772529314&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-03T09:15:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>usuarios y grupos</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:users:start?rev=1772529314&amp;do=diff</link>
        <description>usuarios y grupos



información usuario

	*  id &lt;user&gt; -&gt; para saber datos y grupos del usuario
	*  whoami -&gt; nombre del usuario

usuarios en línea

	*  who -&gt; usuarios conectados - terminal
	*  ps -U &lt;USER&gt; -&gt; procesos asociados a un usuario
	*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:certificados:cayotros?rev=1638598737&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-04T06:18:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Certificados, certificaciones, Entidades de Certificación</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:certificados:cayotros?rev=1638598737&amp;do=diff</link>
        <description>Certificados, certificaciones, Entidades de Certificación

/vía: &lt;http://www.rinconastur.com/php/php21.php&gt;

	*  openssl

todo

	*  si no es https, redirección a https
	*  si no tiene certificado de CA ficticea, llevar a página donde descargar

Creación entidad certificadora

	*  Creación de clave privada:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:certificados:pki?rev=1558438235&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-05-21T11:30:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>PKI</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:certificados:pki?rev=1558438235&amp;do=diff</link>
        <description>PKI

&lt;https://linuxize.com/post/how-to-set-up-an-openvpn-server-on-centos-7/&gt;
Public Key Infraestrucure


previa

orientado a la instalación de un openvpn

creación de los siguientes elementos:

	*  CA
	*  SERVER certificate + key
	*  CLIENT certificate + key

usando la herramienta easy-rsa

CA

se recomienda crear todos estos ficheros en un servidor standalone / offline de la insfraestructura que se monte</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:screen?rev=1685079106&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-26T05:31:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>configuración/uso screen</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:screen?rev=1685079106&amp;do=diff</link>
        <description>configuración/uso screen

install &amp; help

	*  
sudo apt install screen

	*  &lt;https://linuxize.com/post/how-to-use-linux-screen/&gt;
	*  &lt;https://www.gnu.org/software/screen/manual/screen.html&gt;
	*  versión moderna TMUX: &lt;https://www.howtogeek.com/671422/how-to-use-tmux-on-linux-and-why-its-better-than-screen/&gt;

comando

	*  screeen -ls: lista sesiones
	*  screen -r [&lt;sesion&gt;] : retornar a última sesión o a sesión específica
	*  screen -S &lt;nombre&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:comandos?rev=1757052655&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-05T06:10:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>comandos bash</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:comandos?rev=1757052655&amp;do=diff</link>
        <description>comandos bash

linux bash

comandos al detalle

	*  uptime
	*  tail [-n &lt;nn&gt;]
	*  head [-n &lt;nn&gt;]
	*  sort
	*  watch
	*  wc : wordcount
		*  -c : caracteres
		*  -l : líneas
		*  -w : palabras

	*  tr : translate characters (sustitución cadenas sobre la entrada estandard. Uso com filtro en scripts)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:docker:masterclass?rev=1543332294&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-27T15:24:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MasterClass Docker</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:docker:masterclass?rev=1543332294&amp;do=diff</link>
        <description>MasterClass Docker

docker

info masterclass

ponente: Dani Sanchez  --&gt; docker user 

pass:2...s

docker

info general

3 componentes:

	*  docker daemon
	*  rest api (escuchando en file system) --&gt; nos permite hablar con otros demonios docker (en otras máquinas)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:systemd:start?rev=1637991770&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-27T05:42:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>systemd</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:systemd:start?rev=1637991770&amp;do=diff</link>
        <description>systemd

sistema de gestión de servicios que sustituye a systemV


-&gt; via: &lt;https://linoxide.com/linux-command/systemd-vs-sysvinit-cheatsheet/&gt;

en lugar de multitud de pequeños scripts de incialización de consola, el método systemd utiliza un único programa que usa archivos de configuración individuales para cada servicio</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:pivpn?rev=1727889383&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-02T17:16:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>pi-vpn</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:pivpn?rev=1727889383&amp;do=diff</link>
        <description>pi-vpn

basic

	*  &lt;http://www.pivpn.io/&gt;
		*  OpenVPN
			*  puerto: 1194
			*  protocolo: tcp/udp

		*  Wireguard
			*  puerto: 51820
			*  protocolo udp



ubicaciones

	*  generación certificados: /etc/openvpn/easy-rsa/pki/private/
	*  /etc/pivpn -&gt; información

comandos</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:utils:find-fd?rev=1763539345&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-19T08:02:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>find - fd</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:utils:find-fd?rev=1763539345&amp;do=diff</link>
        <description>find - fd

&lt;https://github.com/sharkdp/fd&gt;

install


sudo apt install fd-find
sudo ln -s /usr/lib/cargo/bin/fd /usr/local/bin/fd


regexp

&lt;https://docs.rs/regex/latest/regex/#syntax&gt;

	*  por defecto
	*  ^: empieza
	*  $: acaba
	*  buscar -:
fd -- &#039;-pattern&#039;
fd &#039;[-]pattern&#039;


parámetros

	*  --ignore-case
		*  por defecto: todo minúsculas, no distingue. Si alguna mayúscula, distingue.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:vim:start?rev=1479165291&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-11-14T23:14:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vi(m)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:vim:start?rev=1479165291&amp;do=diff</link>
        <description>vi(m)

instalación

apt-get install vim vim-rt -&gt; instala el ejecutable y el resaltado de sintaxis


:syntax on
:colorscheme elflord
:set cursorline                 &quot; set cul
:set number                     &quot; set nu
:set showmatch                  &quot; set sm
&quot;:set autoindent                &quot; set au
:set ignorecase                 &quot; set ic
:set incsearch                  &quot; set is
:set hlsearch                   &quot; set hls
:set ruler                      &quot; set ru
&quot;:set backupcopy</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:aptget:apt?rev=1741600997&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-10T10:03:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>apt-get</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:aptget:apt?rev=1741600997&amp;do=diff</link>
        <description>apt-get

apt VS apt-get

	*  &lt;https://itsfoss.com/apt-vs-apt-get-difference/&gt;
	*  &lt;https://itsfoss.com/apt-get-linux-guide/&gt;
	*  &lt;https://itsfoss.com/apt-command-guide/&gt;

sources.list

	*  copia: /usr/share/doc/apt/examples/sources.list
	*  añadir universe y multiverse:
sudo add-apt-repository universe
sudo add-apt-repository multiverse


ignore certificate

Cuando estamos en una versión vieja de algún linux (debian 9 strech en este caso), podemos intentar encontrar la manera de actualizar los c…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:aptget:ppa?rev=1571990093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-25T07:54:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ppa</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:aptget:ppa?rev=1571990093&amp;do=diff</link>
        <description>ppa

global

	*  listado de ppa(s) instalados: 
grep -i ppa.launchpad.net /etc/apt/sources.list.d/*.list

	*  añadir: 
sudo add-apt-repository ppa:haraldhv/shotcut

	*  quitar: 
sudo add-apt-repository --remove ppa:haraldhv/shotcut


info

	*  como saber el nombre del ppa original:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:estructurasdecontrol?rev=1685525137&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-31T09:25:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Estructuras de control y bucles</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:estructurasdecontrol?rev=1685525137&amp;do=diff</link>
        <description>Estructuras de control y bucles



comparaciones de cadenas alfanuméricas (Test Operators, Binary Comparison)

	*  cadena1 = cadena2 (también cadena1 == cadena2)
	*  cadena1 != cadena2
	*  cadena1 &lt; cadena2
	*  cadena1 &gt; cadena2
	*  -n cadena1 -&gt; longitud mayor que 0</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:grep?rev=1576251056&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-12-13T15:30:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>grep</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:grep?rev=1576251056&amp;do=diff</link>
        <description>grep

uso

es una utilidad de línea de comando para buscar expresiones regulares dentro de cadenas.

	*  $ grep
		*  -n : muestra número de línea
		*  -v : inverso, muestra las líneas que NO tienen la cadena
		*  -w : palabras completas
		*  -x : lineas completas, no fragmentos</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:historyexpansion?rev=1579511775&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-20T09:16:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>history expansion</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:historyexpansion?rev=1579511775&amp;do=diff</link>
        <description>history expansion

linux bash
 shortcut   descripción  eventos    !                  Indica que empieza la sustitución  !!                 Último comando -&gt; !-1 !n                 enésimo comando  !-n                último comando menos n  !string</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:librerias-dinamicas?rev=1674210840&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-20T10:34:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Linux: librerías dinámicas</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:librerias-dinamicas?rev=1674210840&amp;do=diff</link>
        <description>Linux: librerías dinámicas

	*  Bibliotecas estáticas:
find / -name &#039;*.a&#039;

	*  Bibilotecas dinámicas:
find / -name &#039;*.so&#039;


gestión

	*  fichero de configuración global: /etc/ld.so.conf
		*  los cambios en las rutas se tienen que actualizar con el comando</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:mlocate?rev=1708086824&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-16T12:33:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>locate &amp; updatedb</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:mlocate?rev=1708086824&amp;do=diff</link>
        <description>locate &amp; updatedb

	*  alternativa plocate (en repos): &lt;https://plocate.sesse.net/&gt;
		*  compatible a nivel de configuración
		*  más rápido


install &amp; setup

	*  instalación:
sudo apt install mlocate

	*  excluir directorios:
sudo updatedb -e /usr -e /proc -e /boot -e /cdrom -e /dev -e /lib -e /lib64 -e /lost+found -e /media -e /mnt -e /run -e /snap -e /sys -e /tmp</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:shellvariables?rev=1727780019&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-01T10:53:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Special Shell Variables &amp; Parameter Substitution and Expansion</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:shellvariables?rev=1727780019&amp;do=diff</link>
        <description>Special Shell Variables &amp; Parameter Substitution and Expansion

linux

bash

$ es utilizado para expansión de parámetros y sustitución de comandos

File descriptors

Special Shell Variables
 variable  Significado  $0        Nombre del script que se está ejecutando</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:start?rev=1777033277&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-24T12:21:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>BASH</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:start?rev=1777033277&amp;do=diff</link>
        <description>BASH

linux pendiente wiki

doc

	*  &lt;https://github.com/dylanaraps/pure-bash-bible&gt;

related

cheatsheet

	*  

shell

	*  /etc/shells
	*  history expansion
	*  Special Shell Variables &amp; Parameter Substitution and Expansion
	*  Los ficheros de inicio de Bash
	*  update-alternatives
&lt;https://devhints.io/bash&gt;&lt;https://wiki.bash-hackers.org/start&gt;&lt;http://www.compciv.org/topics/bash/variables-and-substitution/&gt;&lt;http://wiki.bash-hackers.org/syntax/pe?rev=1529675381&gt;&lt;https://en.m.wikipedia.org/wiki/G…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:cron:anacron?rev=1605886810&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-20T15:40:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>anacron</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:cron:anacron?rev=1605886810&amp;do=diff</link>
        <description>anacron

este programa sirve para ejecutar tareas de CRON en sistemas que no están encendidos 24h horas al díase ejecuta al arrancar el sistema y comprueba /etc/anacrontab, donde están las tareas especificadas a realizar como «importantes»

un ejemplo:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:inicio:start?rev=1478089265&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-11-02T12:21:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>init</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:inicio:start?rev=1478089265&amp;do=diff</link>
        <description>init

niveles

cada nivel de funcionamiento arranca ciertos servicios que los otros no

número de niveles

0 -&gt; halt

1 -&gt; modo monousuario

2 a 5 -&gt; modo multiusuario

6 -&gt; reboot


comandos

	*  $ runlevel -&gt; muestra el runlevel en el que se está ejecutando el sistema</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:rsync:backup?rev=1585390650&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-28T10:17:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Copias de seguridad usando RSYNC y SSH</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:rsync:backup?rev=1585390650&amp;do=diff</link>
        <description>Copias de seguridad usando RSYNC y SSH

Hemos de tener instalados los 2 paquetes, el RSYNC y el SSH, cosa que consideraremos trivial.

Los pasos concretos:

Generar las claves pública/privada:

ssh-keygen

Esto genera en ~/.ssh/ 2 archivos, con el nombre que hayamos especificado, en ese directorio. Uno es la clave privada (NO COMPARTIR) y otra la clave pública (con extesión</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:backupgpg?rev=1584903148&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-22T18:52:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>backup, encriptado y copia a remoto</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:backupgpg?rev=1584903148&amp;do=diff</link>
        <description>backup, encriptado y copia a remoto

2.2

	*  disociar parámetros de script en 2 ficheros
		*  usar source para incluir las variables necesarias
		*  o volver a mirar opciones de usar otro tipo de fichero (INI,JSON)


v2.1

	*  sustitución GPG por</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:protocolobackup?rev=1330366804&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-02-27T18:20:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Protocolo de Backup</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:protocolobackup?rev=1330366804&amp;do=diff</link>
        <description>Protocolo de Backup

	*  master -&gt; servidor que hace las copias de seguridad
	*  esclavo(s) -&gt; servidor que se deja hacer las copias de seguridad

esclavo

	*  (1) crear cuenta específica para backups: $ useradd -c «Usuario de backup» -m -d /home/bck bck</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:prune?rev=1605525940&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-16T11:25:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>prune</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:prune?rev=1605525940&amp;do=diff</link>
        <description>prune

	*  eliminar archivos «viejos», preservando 1
	*  la fecha ha de estar incluida en el nombre del fichero
	*  para copias de seguridad
	*  en ese caso, conservar el último mes a diario y una mensual (la primera de mes, más sencillo para calcular)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:vsftp?rev=1321351182&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-11-15T09:59:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>scripts alta usuarios vsFTP</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:vsftp?rev=1321351182&amp;do=diff</link>
        <description>scripts alta usuarios vsFTP

script «mejorado», se puede utilizar como shell de usuario:


#! /bin/bash

genpasswd() {
        local l=$1
        [ &quot;$l&quot; == &quot;&quot; ] &amp;&amp; l=16
        echo `tr -dc A-Za-z0-9_ &lt; /dev/urandom | head -c ${l} | xargs`
}

clear
echo -n &quot;Introduce nombre cliente: &quot;
read CLIENTE

# aÃ± usuario
/usr/sbin/useradd -m -g ftp_arnoldfuel_es_clientes -s /bin/true -d /var/ftp/ftp.arnoldfuel.es/$CLIENTE -c &quot;Carpeta ftp para el cliente $CLIENTE&quot; $CLIENTE

echo -n &quot;sugerencia de password…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:clientconfig?rev=1777967022&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:43:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fichero .ssh/config</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:clientconfig?rev=1777967022&amp;do=diff</link>
        <description>fichero .ssh/config

linux ssh

man page

fichero configuración conexión

para simplificar la conexión vía SSH con diferentes servidores, y en alternativa a crear alias de conexiones:

alias ssh-local-dns=&#039;ssh -v -i /home/mate/.ssh/pi@raspberry pi@192.168.1.60&#039;

se puede optar por crear el fichero de configuración de conexión (</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:keys?rev=1777967067&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:44:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>authorized_keys</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:keys?rev=1777967067&amp;do=diff</link>
        <description>authorized_keys

linux ssh

contiene las claves públicas de los sistemas que permiten la conexión al sistema actualse le pueden añadir restricciones del tipo:

	*  from=«xxx.xxx.xxx.xxx» ssh-dss.... -&gt; restricción por IP
	*  no-pty ssh-dss... -&gt; evita obtener una shell</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:systemd:journalctl?rev=1640200694&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-22T19:18:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>journalctl</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:systemd:journalctl?rev=1640200694&amp;do=diff</link>
        <description>journalctl

gestión centralizada de logs

	*  archivo principal de configuración: /etc/systemd/journald.conf
	*  importancia de tener bien establecida la zona horaria con timedatectl
	*  journalctl-remote
	*  &lt;https://www.digitalocean.com/community/tutorials/how-to-use-journalctl-to-view-and-manipulate-systemd-logs-es&gt;

comandos

	*  listar todos los registros: journalctl
	*  mostrar mensajes del kernel:</description>
    </item>
</rdf:RDF>
