<?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-23T15:11:08+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m2:cadenas?rev=1656616085&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe1m3?rev=1655230041&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:3.1?rev=1702505981&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:python-mega-course?rev=1729249956&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m1:modulos?rev=1655976060&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m2:excepciones?rev=1656618866&amp;do=diff"/>
                <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/info:cursos:netacad:python:pe1m4:funciones?rev=1655832134&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:biblioteca:datetime?rev=1657207550&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:herencia?rev=1657049370&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:4.1?rev=1702980148&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:generadores?rev=1657203147&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.7?rev=1705663347&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:1.1?rev=1709556888&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:playbooks?rev=1537343658&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:git?rev=1777976515&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.4?rev=1699216387&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:2.1?rev=1699219278&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe1m4:diccionarios?rev=1662631393&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:metodos?rev=1657048521&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:3.1?rev=1699216465&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.4?rev=1705059240&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:install:server:ubuntu20043?rev=1705413007&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:archivos?rev=1657392170&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:2.1?rev=1709548650&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:4.1?rev=1699216475&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:braceexpansion?rev=1590273451&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:tips?rev=1752152433&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:libros:devops-kubernetes:cap3-2?rev=1586961043&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.6?rev=1705660623&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:viajeprocedimentaloop?rev=1657048741&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:5.1?rev=1699261386&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:backup:borg?rev=1655284776&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:entornos-virtuales?rev=1760012078&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:4.2?rev=1699216496&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:apache:htaccess:redirects?rev=1644060584&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m1:paquetes?rev=1655983096&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:tcpip:dns?rev=1767009585&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/info:cursos:python:codigofacilito?rev=1654853301&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:mongodbuniversity:m001:cap3?rev=1544897816&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe1m4:excepciones?rev=1655834352&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.4?rev=1703794616&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:pycurl?rev=1725268712&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.2?rev=1709626190&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:variables?rev=1749563456&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe1m4:tuplas?rev=1655832393&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.5?rev=1703795730&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.5?rev=1705601125&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:conda?rev=1674204511&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.6?rev=1703762970&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/criptografia:gpg:start?rev=1478894117&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m1:pip?rev=1656606177&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2:6:red-avanzada?rev=1537987294&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.2?rev=1699216358&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:biblioteca:calendar?rev=1657227190&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/info:cursos:pue:devops2022:s6?rev=1646840614&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.2?rev=1703245770&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:aptget:dpkg?rev=1741601006&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:chroot?rev=1777967080&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s7?rev=1646840350&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s12?rev=1647895637&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:sistema?rev=1560416925&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/wiki:syntax?rev=1528018666&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.9?rev=1699216453&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:aptget:start?rev=1759250047&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:ssh:agente?rev=1777967047&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s9?rev=1614718217&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:propiedades?rev=1657048430&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:elasticsearch:api-dslquery?rev=1638467487&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.3?rev=1703793078&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:apache:htaccess:start?rev=1592651529&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.3?rev=1705056974&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:introduccion-typescript?rev=1579975537&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:pandas?rev=1728569657&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ubuntu:start?rev=1715085125&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s11?rev=1615323357&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:3.1?rev=1709549519&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:biblioteca:os?rev=1657205756&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:1.2?rev=1699216324&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:4.1?rev=1709555079&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/criptografia:pass?rev=1749543935&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:php:securizar?rev=1527188647&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:dd?rev=1752601467&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:sed?rev=1554881427&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:filesystem:glusterfs?rev=1607254746&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:dockerd:remote-tls?rev=1586591719&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s15?rev=1648667035&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:excepcionesoop?rev=1657050801&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.5?rev=1699216406&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:tomcat:install?rev=1538038548&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:systemd:journalctl:remote?rev=1640200562&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion6?rev=1551531889&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.3?rev=1699216373&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:utilidades?rev=1537865996&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:cron:cron?rev=1770632632&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ufw:start?rev=1756889908&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s13?rev=1648069358&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.6?rev=1699216418&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.7?rev=1703765167&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:5.1?rev=1709555915&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:argparse?rev=1758873920&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:awk?rev=1582615767&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:openvpn?rev=1588187731&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:sudo:start?rev=1715072349&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:tcpip:dig?rev=1556648584&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:tcpip:nmap?rev=1689772815&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/info:cursos:mongodbuniversity:m001:cap2?rev=1544811667&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.1?rev=1699216341&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:postgresql:sql?rev=1635245659&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:swap?rev=1748941460&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/pentesting:docker?rev=1538636953&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:markdown:start?rev=1731848297&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:iterables?rev=1759134237&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:mount:start?rev=1767805329&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion12?rev=1586354361&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terraform-azure:variables-interpolation-networking?rev=1585589166&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:1.1?rev=1699216302&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:paquetes?rev=1537865940&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:mount:smb?rev=1668423100&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:reverse?rev=1776425458&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:security:openssl?rev=1638598409&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:mysql:users:start?rev=1635245521&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:aptget:apt:unattended-upgrades?rev=1748353820&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:mysql?rev=1637060139&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s14?rev=1648497231&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile:examples:mariadbssl?rev=1637048170&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.7?rev=1699216429&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:ficheros-openssl?rev=1537865861&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.8?rev=1699216442&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:20200309?rev=1583786998&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:procesos?rev=1731321620&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:utils:wakeonlan?rev=1688475485&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:lfs?rev=1777903516&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:submodule?rev=1752152518&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion5?rev=1551708475&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion8?rev=1586354266&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s4?rev=1663569952&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s10?rev=1615309386&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s13?rev=1615927023&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.3?rev=1703357345&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.5?rev=1703359986&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:home?rev=1654849975&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s8?rev=1646839711&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:4.3?rev=1699216505&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:pip?rev=1770810163&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:aptget:repositorios?rev=1525130570&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:locales?rev=1594132941&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:lsof?rev=1594280658&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:install-10?rev=1626716772&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:filesystem:luks?rev=1748937926&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:tcpip:iptables?rev=1587317855&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/software:utils:enchive?rev=1727891399&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/sotfware:utils:youtube-dl?rev=1623255364&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:ia:start?rev=1751524403&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:python:openpyxl?rev=1654853319&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:filesystem:glusterfs:vagrantpoc?rev=1637060405&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:docker-compose:casosuso?rev=1729352932&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:tomcat?rev=1637060221&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:security:wordpress:seguridad?rev=1761117348&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion3?rev=1551708345&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion13?rev=1637929538&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.8?rev=1703788552&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.9?rev=1703789305&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.2?rev=1703791448&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:windows?rev=1537866185&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:vim:comandos?rev=1604787919&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion4?rev=1740066882&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.1?rev=1703790579&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/criptografia:wireguard:start?rev=1737045377&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:decorators?rev=1726469312&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:aptget:aptitude?rev=1566804919&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:grub?rev=1697535310&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:filesystem:ddrescue?rev=1755680310&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:ssh:keygen?rev=1777967033&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:install?rev=1764921530&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:utils:dislocker?rev=1628172551&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:utils:smart?rev=1674464584&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:tls?rev=1638597822&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:volumes?rev=1585355244&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:diff?rev=1761933636&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:dotfiles?rev=1777903354&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:rejected?rev=1771248690&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:server?rev=1615279052&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:security:letsencrypt?rev=1777889759&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/windows:activacion:start?rev=1752739212&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/windows:cmd:start?rev=1744706346&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:libros:docker-sec-dev-ops:cap6?rev=1638747527&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:git:ramas?rev=1531040629&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s12?rev=1615496151&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:json:start?rev=1585124609&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:seguridad:sadservers?rev=1716904318&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:dockerswarm:guide?rev=1638873892&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:apache:htpasswd?rev=1730366682&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:libros:javaoca:cap1?rev=1524915744&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:elasticsearch:instalacion?rev=1638218996&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion3:sincara?rev=1740559016&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:start?rev=1771488008&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:yaml:start?rev=1534151629&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:alias?rev=1536305720&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:arrays?rev=1539085719&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:ps1?rev=1536065962&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:impresion:km353?rev=1526927049&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:remote-desktop:start?rev=1657278756&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:tcpip:nfs?rev=1628965242&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:tcpip:rutas?rev=1478863072&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:oh-my-zsh?rev=1776854742&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:apple:start?rev=1544222308&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tcpip:dns:bind9?rev=1578901282&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tcpip:llpd:start?rev=1758620714&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:start?rev=1750151077&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:difftool?rev=1752152414&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:singularity:start?rev=1697184224&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:start?rev=1749563482&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:apache:certificados?rev=1640261109&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:mysql:fechas:start?rev=1777357601&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/tech:docker:docker-compose:start?rev=1765445462&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:compose?rev=1659337741&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s11?rev=1647883387&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s8?rev=1614285381&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:2.1?rev=1705687171&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:start?rev=1758555368&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:zmv?rev=1585000143&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/criptografia:ecryptfs?rev=1686748181&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/criptografia:luks?rev=1731919458&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:mariadb:install?rev=1605282284&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:jquery:start?rev=1779357605&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:heredoc?rev=1511442654&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:zonahoraria?rev=1777966604&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:log:logrotate?rev=1673629520&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:config?rev=1777967007&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:localportforwarding?rev=1700559496&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:varios?rev=1777967135&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:systemv:start?rev=1647861446&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:tcpip:ips?rev=1779445769&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:tcpip:netplan?rev=1639738671&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:utils:bat?rev=1764580784&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/macintosh:filesystem:dd?rev=1588183674&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:security?rev=1638131099&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:terraform-state?rev=1586181427&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:vagrant:start?rev=1644860937&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:security:wordpress?rev=1760533181&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/windows:users:start?rev=1744704871&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:libros:docker-sec-dev-ops:cap2?rev=1548924286&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:libros:terraform-upandrunning:cap5?rev=1590271587&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:nginx-letsencrypt?rev=1580595323&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:log:rsyslogd:paso1?rev=1479168183&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:log:rsyslogd:paso2?rev=1479168652&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:security:letsencrypt:dns?rev=1777896878&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion4?rev=1637929348&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion11?rev=1553283933&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion16?rev=1554617923&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s9?rev=1647511778&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:extras?rev=1740146057&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic1:103.6?rev=1534332814&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic1:103.7?rev=1534332814&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s6?rev=1663570038&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:fundamentosoop?rev=1657048807&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2:11:dhcp?rev=1537991824&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:bbdd?rev=1537866089&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/windows:w10:wsl?rev=1601650951&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1?rev=1709549553&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:logstash:process?rev=1638561381&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:extras:sincara-systemd?rev=1740743512&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.4?rev=1703358335&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:start?rev=1698246004&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/macintosh:start?rev=1729251446&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/wiki:primeros_pasos?rev=1321351182&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:postgresql:plsql?rev=1635245626&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:java:regexp?rev=1576250328&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:aberraciones?rev=1728466008&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:from?rev=1710249964&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:strings?rev=1728546797&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:thinkpython?rev=1654853278&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:aptget:yum?rev=1566804978&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:filesystem:inodes?rev=1614938829&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:knockd?rev=1479568269&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:pihole?rev=1751908394&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:rsync:backup?rev=1585390650&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:rsync:start?rev=1727767063&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:ssh:mastercontrol?rev=1604512924&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:dokuwiki:config?rev=1767077865&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:plexmediaserver:start?rev=1588108580&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:sublime:start?rev=1525090871&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:vsc:start?rev=1587711130&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tcpip:dns:resolve?rev=1767010477&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:scan?rev=1674567649&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:filter-repo?rev=1776168437&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:migrar?rev=1752153253&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:win-instance?rev=1558337034&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile?rev=1644864326&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:php:codeigniter:tutorial?rev=1580244758&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:rtorrent_rutorrent?rev=1608803427&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:games:minecraft:start?rev=1586618902&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:dockerd:start?rev=1581629264&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:k8s:cli:namespace?rev=1589185087&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:php?rev=1637060179&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:weblogic?rev=1637060077&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:security:letsencrypt:k0.vividumcodex.com?rev=1574897663&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:katacoda:k8s:cluster?rev=1552214422&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s10?rev=1647286620&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic1:103.5?rev=1534332814&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s0?rev=1613762972&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s5?rev=1663570019&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s14?rev=1616520630&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terrafrom-fundamentos:virtual-machine?rev=1585437329&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debiean:seebox:rtorrent_rutorrent:old1?rev=1608802462&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debiean:seebox:rtorrent_rutorrent:old2?rev=1608802513&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:beats:filebeats?rev=1638700233&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:cvs?rev=1537866238&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:web?rev=1537866291&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/wiki:plugins?rev=1528577721&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:introduccion?rev=1579956588&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:arrayloop?rev=1589545895&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:dokuwiki:plugins?rev=1777546802&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:rtorrent?rev=1580595836&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:dotfiles:gitattributes?rev=1777903924&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion3?rev=1740125099&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s7?rev=1663570072&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terraform-azure:getting-started?rev=1585502579&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/raspi:start?rev=1717667162&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:sql:start?rev=1712309085&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:practica1?rev=1580158095&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:init_.py?rev=1771502281&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:virtualbox?rev=1730187726&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:libros:swarm?rev=1639043923&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:find?rev=1725268231&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:indirectreferences?rev=1543427202&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:debian:install-6?rev=1580596040&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:install-9?rev=1582703814&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:distros:debian-12-bookworm?rev=1747299953&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:findimagedupes?rev=1535013969&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:backupselectivo?rev=1576005342&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:rsync?rev=1321351182&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:seguridad:start?rev=1715770310&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:proxy?rev=1700651687&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:remoteaccess?rev=1604512885&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:sshfs?rev=1777967145&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:systemd:timedatectl?rev=1637991814&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:utils:ls?rev=1749128028&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:globbing?rev=1585000649&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:telegram:start?rev=1580598211&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:utils:rhash?rev=1584951650&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:youtransfer:start?rev=1738591623&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tcpip:ip:ipv6?rev=1721841240&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:run?rev=1574844222&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:replica?rev=1752152498&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:repo-lectura?rev=1746789176&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:k8s:rbac?rev=1586422591&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:aws?rev=1749543966&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:casos-uso?rev=1583761096&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/windows:links:start?rev=1750795275&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/windows:serial:start?rev=1715768667&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/windows:trucos:start?rev=1752159899&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:seedbos:rutorrent?rev=1580595855&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:oh-my-zsh:autoenv?rev=1732706445&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:apache:vhost:start?rev=1627887172&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:alpine?rev=1531410794&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:dockerfile?rev=1546512279&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:git:iniciando-repositorio?rev=1530987284&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:git:instalacion?rev=1530983775&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:intro-cloud-computing:iaac?rev=1536918076&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion2?rev=1550920329&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion7?rev=1559662594&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion9?rev=1586354335&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s15?rev=1616527847&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:beats:winlogbeat-heartbeat?rev=1638702087&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion3:lab9?rev=1740124796&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.1?rev=1703244026&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:notificaciones?rev=1537866041&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:start?rev=1583776642&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:encoding:start?rev=1600156269&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:utils:chromeremotedesktop?rev=1616408334&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:webapps:tinytinyrss?rev=1571989996&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/ciberseguridad:start?rev=1777381055&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:sql:updatefield2tables?rev=1637185714&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:20200302?rev=1583179491&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:componentes?rev=1580061301&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:directivas?rev=1581288362&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:maven:start?rev=1574844174&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:bokeh?rev=1728563878&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:python:curiosidades?rev=1758268700&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:react:start?rev=1579910693&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:libros:git?rev=1543312881&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:aptget:repos?rev=1566804756&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:debug?rev=1516612329&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:locale?rev=1763374899&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:update-alternatives?rev=1654853816&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:ctl:start?rev=1751957209&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:dns:127?rev=1751957332&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:filesystem:mbr2gpt?rev=1731489132&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:filesystem:start?rev=1731486052&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:install:start?rev=1684584542&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:notify?rev=1588539428&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:winehq?rev=1759494512&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:rclone:start?rev=1741346670&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:redhat:start?rev=1321351182&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:backup2?rev=1321351182&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:getopts?rev=1547928366&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:seguridad:fcrackzip?rev=1714029821&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:seguridad:routersploit?rev=1615068624&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:install?rev=1777966967&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:rdpconn?rev=1604492281&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:remoteconn?rev=1573039061&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:tcpip:netcat?rev=1321351182&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:tcpip:start?rev=1718614899&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:utils:lftp?rev=1761933283&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:zsh:prompt?rev=1699364587&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:utils:trans?rev=1588371044&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tcpip:dns:dnsmasq?rev=1585390794&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:aws:start?rev=1749561491&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:context?rev=1651828557&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:fusion?rev=1752152535&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:git-rename-branch?rev=1776244139&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:data-sources?rev=1585131403&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:apache:cli?rev=1675931719&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:apache:config?rev=1535614606&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/windows:bloatware:start?rev=1744705037&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/windows:prog:vbasic?rev=1509272124&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/windows:w10:start?rev=1744704773&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:php:item-lista:start?rev=1738838353&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:linuxacademy:k8s-essentials?rev=1581955432&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:error:thread?rev=1752152466&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:k8s:cli:proxy?rev=1586417329&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:security:letsencrypt:multidominio?rev=1583137311&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:security:letsencrypt:seedbox.torresegea.es?rev=1551221929&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:security:wordpress:securizar?rev=1760533105&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:onbuild?rev=1531414008&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:portainer?rev=1659013843&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s2?rev=1646848645&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python:s9?rev=1655830552&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terrafrom-fundamentos:entorno?rev=1585438356&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:beats:packetbeats?rev=1638700802&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:kibana:install?rev=1638470694&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:logstash:install?rev=1638482982&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion1:lab2?rev=1740123998&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion4:sincara?rev=1740563507&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5:lab20?rev=1740141555&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:start?rev=1583147917&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:mint:start?rev=1686748898&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:modifiers?rev=1584881444&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion1?rev=1740124059&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:googlecloud:s3?rev=1669219979&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/hardware:start?rev=1753685392&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:sql:provincias?rev=1606578847&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/criptografia:john:start?rev=1528018759&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:directivas-atributos?rev=1580139244&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:directivas-estructurales?rev=1581288696&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:entorno?rev=1579975632&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:pipes?rev=1580148768&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:angular:tslint.json?rev=1580060701&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:html:boostrap?rev=1738838142&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:make:start?rev=1602860398&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:php:composer?rev=1724747309&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:php:string-formating?rev=1681894928&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:locuciones:start?rev=1749701093&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:alpine:start?rev=1538134567&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:automatizacion?rev=1597222201&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:environment?rev=1602747054&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:xargs?rev=1543585980&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:centos:start?rev=1540638712&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:curl:start?rev=1582757483&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:start?rev=1725466043&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:filesystem:permisos?rev=1727956812&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:filesystem:udisks?rev=1649070557&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:fsh:sys?rev=1613057041&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:hard:start?rev=1606847267&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:impresion:start?rev=1560415172&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:kernel:start?rev=1698244668&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:moebius:start?rev=1365958942&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:nagios:start?rev=1539079953&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:green-recorder?rev=1588539192&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:lighttpd?rev=1321351182&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:signal?rev=1509909791&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:simple-screen-recorder?rev=1588539227&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:sysstat?rev=1321351182&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:1st-last?rev=1321351182&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:10minutos?rev=1476137592&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:backup1?rev=1321351182&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:forfolders?rev=1613915129&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:hack1?rev=1321351182&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:mysqldump?rev=1326822530&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:phpscript?rev=1328010857&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:random?rev=1351193089&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:recopilator?rev=1321351182&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:select?rev=1536148142&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:twitter?rev=1321985887&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:utils?rev=1605886849&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:rsync?rev=1777967091&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:systemd:journalctl?rev=1640200694&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:systemd:remove-service?rev=1508349467&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:tcpip:nikto2?rev=1329212031&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:utils:lsusb?rev=1668164344&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:utils:start?rev=1764336448&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:xwindows:start?rev=1641073285&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:caracteristicas?rev=1584878523&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:expansion-flags?rev=1584880427&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:tab-expansion?rev=1584877993&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/macintosh:filesystem:ext4?rev=1678440622&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/macintosh:trucos:filevault?rev=1321351182&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/macintosh:trucos:hiddenfiles?rev=1587892357&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:owncloud:start?rev=1536045381&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:passwords:passbolt?rev=1566889745&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:utils:jmespath?rev=1584986696&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/software:utils:tightvnc?rev=1631284439&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tcpip:ip:dotless?rev=1518696849&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tcpip:spf:spf?rev=1763364887&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile?rev=1637048076&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:dockerswarm:start?rev=1651831338&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:elk:start?rev=1649746552&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:alias?rev=1754219992&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:autopush?rev=1777903300&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:config?rev=1752152736&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:azure?rev=1586250773&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:modules?rev=1585130256&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:poc-ad?rev=1554360852&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile-examples?rev=1644860954&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:apache:htgroups?rev=1321351182&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:apache:letsencrypt?rev=1583322985&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:developers:start?rev=1334250762&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:nginx:start?rev=1540758063&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/wiki:errores:start?rev=1478336501&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/wiki:plugins:syntaxhighlight?rev=1580062725&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/wiki:plugins:toc?rev=1541243333&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/windows:servers:ad?rev=1731484082&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/windows:servers:start?rev=1731482667&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/windows:utils:ahk?rev=1752226544&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/windows:w10:optimizar?rev=1653213298&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/windows:w10:ssd?rev=1597226649&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/windows:w11:start?rev=1765796916&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:mysql:dupes:start?rev=1527188162&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:mysql:leftjoin:start?rev=1527188321&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:mysql:match:start?rev=1527187996&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/bbdd:mysql:variables:start?rev=1527187883&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022?rev=1648068586&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:libros:swarm:chap2?rev=1638910228&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:aptget:apt:no-internet?rev=1759250145&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:desktop:conky:start?rev=1565086706&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:webmin:start?rev=1522518233&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:k8s:cli:azure?rev=1586417444&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:k8s:cli:events?rev=1589277398&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:poc:workspaces?rev=1586178196&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:3vagrantloop?rev=1637060500&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:docker?rev=1638059951&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:php:codeigniter:day3?rev=1333916873&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:security:letsencrypt:wildcard?rev=1767009360&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:contenedores?rev=1582790161&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:multistage?rev=1531411709&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:itformacion:awsassociate:ddbb?rev=1539622049&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:lpic2:scripts:backup?rev=1534331203&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:lpic2:scripts:busca-nfs?rev=1534331242&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:lpic2:scripts:copia-remotos?rev=1534331267&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:lpic2:scripts:recopilador?rev=1534331294&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:mongodbuniversity:m040:cap1?rev=1548011871&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:intro-aws:ec2?rev=1530367179&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:vagrant:box-maquina-virtual?rev=1530480984&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:vagrant:entornos-multimaquina?rev=1530885528&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:vagrant:reempaquetar-box?rev=1530479174&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion14?rev=1553949660&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s1?rev=1646848628&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s3?rev=1646847691&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s5?rev=1646846323&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:shellgpt?rev=1739812833&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:googlecloud:s4?rev=1669233664&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:galaxy?rev=1537284035&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terraform-azure:conditionals-state-vm?rev=1586871197&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:metodo1:confapache1?rev=1421449851&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:metodo1:confapache2?rev=1421449820&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:metodo1:confapache3?rev=1421449903&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile:examples:runscript?rev=1637048457&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:beats:metricbeats?rev=1638688698&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion1:lab0?rev=1740123934&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion2:lab6?rev=1740124243&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5:lab19?rev=1740138058&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5:sincara?rev=1740564007&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:monitor?rev=1537865793&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/start?rev=1767080490&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/development:dev-containers?rev=1727080044&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:ingles:start?rev=1522232206&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/web:apache:proxy?rev=1581808073&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:hashicorp:vault?rev=1590505947&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:libros:terraform-upandrunning:cap3?rev=1589544364&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:idfo:vmware:s2?rev=1634241820&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:itformacion:awsassociate:cloudwatch?rev=1540231743&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:itformacion:awsassociate:elastic-transcode?rev=1539796495&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:itformacion:awsassociate:start?rev=1557906841&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:mate:seguretat-informatica:ciberseguretat?rev=1741766358&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:intro-cloud-computing:contenedores?rev=1530178842&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:vagrant:cli?rev=1530718064&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion2?rev=1740124310&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5?rev=1740136663&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:extras:sincara-xss?rev=1740565887&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion1:sincara?rev=1740555602&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:1.1?rev=1699217111&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/info:cursos:netacad:python:pe2m2:cadenas?rev=1656616085&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-30T19:08:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Modulo 2 (intermedio): Cadenas</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m2:cadenas?rev=1656616085&amp;do=diff</link>
        <description>Modulo 2 (intermedio): Cadenas

Cómo las computadoras entienden los caracteres individuales

Has escrito algunos programas interesantes desde que comenzó este curso, pero todos ellos han procesado solo un tipo de datos: los numéricos. Como sabes (puedes ver esto en todas partes), muchos datos de la computadora no son números: nombres, apellidos, direcciones, títulos, poemas, documentos científicos, correos electrónicos, sentencias judiciales, confesiones de amor y mucho, mucho más.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe1m3?rev=1655230041&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-14T18:07:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Módulo 3 - Valores booleanos, ejecución condicional, bucles, listas y su procesamiento, operaciones lógicas y de bit a bit</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe1m3?rev=1655230041&amp;do=diff</link>
        <description>Módulo 3 - Valores booleanos, ejecución condicional, bucles, listas y su procesamiento, operaciones lógicas y de bit a bit

Tomando decisiones

	*  = asignación
	*  == comparación, es igual
	*  != no es igual
	*  &gt;,&lt;,&gt;=,&lt;=

if

if &lt;exp&gt;:
    linea1
    linea2
  elif &lt;exp&gt;:
    linea5
    linea6
  else:
    linea3
    linea4</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:3.1?rev=1702505981&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-13T22:19:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>3.1 PEP 8 – Introduction</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:3.1?rev=1702505981&amp;do=diff</link>
        <description>3.1 PEP 8 – Introduction

As mentioned earlier, PEP 8 is a document that provides coding conventions (code style guide) for Python code.

PEP 8 is considered one of the most important PEPs and a must-read for every professional Python programmer, as it helps to make the code more consistent, more readable, and more efficient.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:python-mega-course?rev=1729249956&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-18T11:12:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Curso python udemy</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:python-mega-course?rev=1729249956&amp;do=diff</link>
        <description>Curso python udemy

	*  &lt;https://www.udemy.com/course/former-python-mega-course-build-10-real-world-applications/learn/lecture/34362798#overview&gt;

interesante

	*  Numpy: manejo de matrices
	*  Web Mapping: creación mapas interactivos HTML
	*  Manejo Webcam
	*  Bokeh: libreria representación gráficos -&gt; Python Bokeh
	*  Pandas: libreria de analisis de datos -&gt; Python Pandas
	*  Flask: web development</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m1:modulos?rev=1655976060&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-23T09:21:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Modulo 1 (intermedio): Módulos</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m1:modulos?rev=1655976060&amp;do=diff</link>
        <description>Modulo 1 (intermedio): Módulos

El código de computadora tiene una tendencia a crecer. Podemos decir que el código que no crece probablemente sea completamente inutilizable o esté abandonado. Un código real, deseado y ampliamente utilizado se desarrolla continuamente, ya que tanto las demandas de los usuarios como sus expectativas se desarrollan de manera diferente.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m2:excepciones?rev=1656618866&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-30T19:54:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Módulo 2 (Intermedio): Excepciones</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m2:excepciones?rev=1656618866&amp;do=diff</link>
        <description>Módulo 2 (Intermedio): Excepciones

Errores, fallas y otras plagas

Cualquier cosa que pueda salir mal, saldrá mal.

Esta es la ley de Murphy, y funciona en todo y siempre. Si la ejecución del código puede salir mal, lo hará.

import math

x = float(input(&quot;Ingresa x: &quot;))
y = math.sqrt(x)

print(&quot;La raíz cuadrada de&quot;, x, &quot;es igual a&quot;, y)</description>
    </item>
    <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/info:cursos:netacad:python:pe1m4:funciones?rev=1655832134&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-21T17:22:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Modulo 4: Funciones</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe1m4:funciones?rev=1655832134&amp;do=diff</link>
        <description>Modulo 4: Funciones

¿Por qué necesitamos funciones?

Hasta ahorita has implementado varias veces el uso de funciones, pero solo se han visto algunas de sus ventajas. Solo se han invocado funciones para utilizarlas como herramientas, con el fin de hacer la vida más fácil, y para simplificar tareas tediosas y repetitivas.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:biblioteca:datetime?rev=1657207550&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-07T15:25:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Módulo 4 (Intermedio): Biblioteca datetime</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:biblioteca:datetime?rev=1657207550&amp;do=diff</link>
        <description>Módulo 4 (Intermedio): Biblioteca datetime

Introducción al módulo datetime

En esta sección, aprenderás sobre un módulo de Python llamado datetime.

Como puedes adivinar, proporciona clases para trabajar con la fecha y hora. Si crees que no necesitas profundizar en este tema, hablemos de ejemplos del uso de la fecha y la hora en la programación.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:herencia?rev=1657049370&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-05T19:29:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Módulo 3: Programación Orientada a Objetos - Herencia</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:herencia?rev=1657049370&amp;do=diff</link>
        <description>Módulo 3: Programación Orientada a Objetos - Herencia

Herencia: ¿por qué y cómo?

Antes de comenzar a hablar sobre la herencia, queremos presentar un nuevo y práctico mecanismo utilizado por las clases y los objetos de Python: es la forma en que el objeto puede presentarse a si mismo</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:4.1?rev=1702980148&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-19T10:02:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>4.1 PEP 257 – Docstring Conventions</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:4.1?rev=1702980148&amp;do=diff</link>
        <description>4.1 PEP 257 – Docstring Conventions

What is PEP 257?

PEP 257 is a document created as part of the Python Developer&#039;s Guide, which makes an attempt to standardize the high-level structure of docstrings. It outlines the conventions, best practices, and semantics (not laws or regulations!) associated with documenting Python code using docstrings. In short, it tries to answer the following two questions:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:generadores?rev=1657203147&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-07T14:12:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Módulo 4 (Intermedio): Generadores</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:generadores?rev=1657203147&amp;do=diff</link>
        <description>Módulo 4 (Intermedio): Generadores

Generadores, donde encontrarlos

Generador - ¿Con qué asocias esta palabra? Quizás se refiere a algún dispositivo electrónico. O tal vez se refiere a una máquina pesada diseñada para producir energía eléctrica u otra cosa.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.7?rev=1705663347&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-19T11:22:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.7 Four magic letters: CRUD</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.7?rev=1705663347&amp;do=diff</link>
        <description>1.7 Four magic letters: CRUD

Entering a non-existing/malformed address

We’ve reached the point in which we are ready to gather all new facts and tools and glue all these pieces into one functional block. You already know how HTTP works, how it’ is mounted on top of the TCP stack and how the</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:1.1?rev=1709556888&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-04T12:54:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.1 SQLite</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:1.1?rev=1709556888&amp;do=diff</link>
        <description>1.1 SQLite

What is a database?

Nowadays, social applications such as Facebook, Twitter, and Instagram are very popular. Every day many people create new accounts, and existing users add or share different content. You’ve surely noticed that the data sent to those applications are still available after a few days, or even years. Do you know how that’s possible?</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:playbooks?rev=1537343658&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-19T07:54:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>playbooks</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:playbooks?rev=1537343658&amp;do=diff</link>
        <description>playbooks

2.11 introducción Playbooks

	*  lista de jugadas (tareas) en una lista de servidores
	*  configuraciones y variables
	*  formato YAML:
---
- name: Mi primer playbook
  hosts: all
  remote_user: &lt;usuario&gt;
  become: true # a nivel de playbook, se podría hacer a nivel de tarea
  tasks:
    - name: copiar ficheros hosts
      copy: src=/etc/hosts dest=/etc/host
    - name: ...
      service: ...</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:git?rev=1777976515&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T10:21:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git (git-book)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:git?rev=1777976515&amp;do=diff</link>
        <description>git (git-book)

devops cursos git



info

	*  &lt;https://git-scm.com/book/es/v2&gt;
	*  puntero: &lt;https://git-scm.com/book/es/v2/Fundamentos-de-Git-Trabajar-con-Remotos&gt;
	*  &lt;https://www.codecademy.com/learn/learn-git&gt;

metodología de trabajo en Git

áreas

	*  Working directory: nuestro directorio de trabajo, que puede ser cualquiera de los diferentes commits que hemos ido realizando a lo largo del tiempo, aunque se suele trabajar con el</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.4?rev=1699216387&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:33:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.4 Decorators</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.4?rev=1699216387&amp;do=diff</link>
        <description>2.4 Decorators

A decorator is one of the design patterns that describes the structure of related objects. Python is able to decorate functions, methods, and classes.

The decorator&#039;s operation is based on wrapping the original function with a new «</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:2.1?rev=1699219278&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T21:21:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.1 PEP 20 – The Zen of Python</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:2.1?rev=1699219278&amp;do=diff</link>
        <description>2.1 PEP 20 – The Zen of Python

The Zen of Python is a collection of 19 aphorisms, which reflect the philosophy behind Python, its guiding principles, and design.

Tim Peters, a long time major contributor to the Python programming language and Python community, wrote this 19-line poem on the Python mailing list in 1999, and it became entry #20 in the Python Enhancement Proposals in 2004.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe1m4:diccionarios?rev=1662631393&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-08T10:03:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Modulo 4: Diccionarios</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe1m4:diccionarios?rev=1662631393&amp;do=diff</link>
        <description>Modulo 4: Diccionarios

¿Qué es un diccionario?

El diccionario es otro tipo de estructura de datos de Python. No es una secuencia (pero puede adaptarse fácilmente a un procesamiento secuencial) y además es mutable.

Para explicar lo que es un diccionario en Python, es importante comprender de manera literal lo que es un diccionario.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:metodos?rev=1657048521&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-05T19:15:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Módulo 3 - Programación Orientada a Objetos - Métodos</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:metodos?rev=1657048521&amp;do=diff</link>
        <description>Módulo 3 - Programación Orientada a Objetos - Métodos

Métodos a detalle

Resumamos todos los hechos relacionados con el uso de métodos en las clases de Python.

Como ya sabes, un método es una función que está dentro de una clase.

Existe un requisito fundamental: un</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:3.1?rev=1699216465&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:34:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>3.1 Advanced techniques of creating and serving exceptions</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:3.1?rev=1699216465&amp;do=diff</link>
        <description>3.1 Advanced techniques of creating and serving exceptions

In this module, we&#039;ll talk about Python exceptions – objects that represent errors which occur during the execution of a program that disrupts the normal flow of the program&#039;s instructions.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.4?rev=1705059240&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-12T11:34:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.4 Talking to JSON in Python</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.4?rev=1705059240&amp;do=diff</link>
        <description>1.4 Talking to JSON in Python

Working with the JSON module in Python

Now that we&#039;re familiar with JSON essentials, it&#039;s time to learn how to use it with Python. We&#039;re a little worried you may think that we want you to laboriously build JSON messages, fretting over all these brackets, parentheses and colons, and to break down complex JSON lines into prime factors. Nothing could be further from the truth! We’re not in the habit of coming up with such crazy ideas, although, to be honest, it&#039;s not…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:install:server:ubuntu20043?rev=1705413007&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-16T13:50:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Instal·lació Linux Server Ubuntu 20.04.3</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:install:server:ubuntu20043?rev=1705413007&amp;do=diff</link>
        <description>Instal·lació Linux Server Ubuntu 20.04.3

recepta

instal·lació

configuració


sudo apt update -y &amp;&amp; sudo apt upgrade -y
sudo apt install -y git vim curl



sudo update-alternatives --config editor # canvi d&#039;editor per defecte
sudo visudo -f /etc/sudoers.d/nopass # %sudo ALL=(ALL:ALL) NOPASSWD:ALL</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:archivos?rev=1657392170&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-09T18:42:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Módulo 4 (Intermedio): Archivos</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:archivos?rev=1657392170&amp;do=diff</link>
        <description>Módulo 4 (Intermedio): Archivos

Accediendo archivos desde código en Python

Uno de los problemas más comunes en el trabajo del desarrollador es procesar datos almacenados en archivos que generalmente se almacenan físicamente utilizando dispositivos de almacenamiento: discos duros, ópticos, de red o de estado sólido.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:2.1?rev=1709548650&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-04T10:37:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.1 File processing - XML files</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:2.1?rev=1709548650&amp;do=diff</link>
        <description>2.1 File processing - XML files

XML processing in Python

Python is commonly used to process various types of data. Perhaps, while working as a programmer, you&#039;ll have to read or create a data file in the XML format. Soon, doing that will be a piece of cake.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:4.1?rev=1699216475&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:34:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>4.1 Shallow and deep copy operations</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:4.1?rev=1699216475&amp;do=diff</link>
        <description>4.1 Shallow and deep copy operations

Copying objects using shallow and deep operations

In this module, you’ll learn how to copy Python objects. Specifically, you&#039;ll learn about:

	*  object: label vs. identity vs. value;
	*  the id() function and the is operand;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:braceexpansion?rev=1590273451&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-23T22:37:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>brace expansion</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:braceexpansion?rev=1590273451&amp;do=diff</link>
        <description>brace expansion
&lt;http://wiki.bash-hackers.org/syntax/expansion/brace&gt;

{string1,string2,...,stringN}
{&lt;START&gt;..&lt;END&gt;}

{&lt;START&gt;..&lt;END&gt;..&lt;INCR&gt;} (Bash 4)

&lt;PREAMBLE&gt;{........}

{........}&lt;POSTSCRIPT&gt;

&lt;PREAMBLE&gt;{........}&lt;POSTSCRIPT&gt;


Brace expansion is used to generate arbitrary strings. The specified strings are used to generate</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:tips?rev=1752152433&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:00:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git tips</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:tips?rev=1752152433&amp;do=diff</link>
        <description>git tips

git

git fetch VS git pull

	*  git pull = git fetch (+ git checkout) + git merge
	*  modo seguro:
git fetch origin
git log --oneline main..origin/main
git checkout main
git log origin/main
git merge origin/main


	*  &lt;https://www.atlassian.com/es/git/tutorials/syncing/git-fetch&gt;
	*  &lt;https://www.atlassian.com/es/git/tutorials/using-branches/git-checkout&gt;
	*  &lt;https://www.atlassian.com/es/git/tutorials/using-branches/git-merge&gt;
	*  &lt;https://www.atlassian.com/es/git/tutorials/syncing/gi…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:libros:devops-kubernetes:cap3-2?rev=1586961043&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-15T14:30:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Getting started with Kubernetes: objects</title>
        <link>https://miguelangel.torresegea.es/wiki/info:libros:devops-kubernetes:cap3-2?rev=1586961043&amp;do=diff</link>
        <description>Getting started with Kubernetes: objects

kubectl

	*  
kubectl version

	*  
kubectl logs --help


objects

Namespaces

	*  permite implementar el aislamiento entre múltiples clusters virtuales
	*  objetos de diferentes namespaces no se ven entre ellos</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.6?rev=1705660623&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-19T10:37:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.6 Making life easier with the requests module</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.6?rev=1705660623&amp;do=diff</link>
        <description>1.6 Making life easier with the requests module

We have reached the point where we can start the final stage of our journey – we know enough to communicate with the web service using JSON as an information carrier. Unfortunately, our knowledge needs to be supplemented – we need a</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:viajeprocedimentaloop?rev=1657048741&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-05T19:19:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Módulo 3 (Intermedio): Programación Orientada a Objetos - Un viaje por la OOP</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:viajeprocedimentaloop?rev=1657048741&amp;do=diff</link>
        <description>Módulo 3 (Intermedio): Programación Orientada a Objetos - Un viaje por la OOP

¿Qué es una pila?

Una pila es una estructura desarrollada para almacenar datos de una manera muy específica. Imagina una pila de monedas. No puedes poner una moneda en ningún otro lugar sino en la parte superior de la pila.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:5.1?rev=1699261386&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-06T09:03:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>5.1 Metaprogramming</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:5.1?rev=1699261386&amp;do=diff</link>
        <description>5.1 Metaprogramming

Introduction to metaclasses

Metaprogramming is a programming technique in which computer programs have the ability to modify their own or other programs’ codes. It may sound like an idea from a science fiction story, but the idea was born and implemented in the early 1960s.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:backup:borg?rev=1655284776&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-15T09:19:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>borgbackup</title>
        <link>https://miguelangel.torresegea.es/wiki/software:backup:borg?rev=1655284776&amp;do=diff</link>
        <description>borgbackup

	*  &lt;https://borgbackup.readthedocs.io/en/stable/index.html&gt;
	*  &lt;https://www.atareao.es/podcast/hice-un-rm-rf-salvado-por-borg/&gt;
	*  alternativa?: &lt;https://restic.readthedocs.io/en/stable/index.html&gt;

quick


sudo mount /media/mate/3TB-EXT4_BACKUP2
sudo borg list /media/mate/3TB-EXT4_BACKUP2/borgbackup/home
sudo borg list /media/mate/3TB-EXT4_BACKUP2/borgbackup/entireDisk

tail -f /media/mate/3TB-EXT4_BACKUP2/borgbackup/entireDisk.last_exec.txt
sudo myscripts/backups/borg-create_ent…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:entornos-virtuales?rev=1760012078&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-09T12:14:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python: Entornos virtuales</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:entornos-virtuales?rev=1760012078&amp;do=diff</link>
        <description>Python: Entornos virtuales

python

	*  venv
	*  virtualenv
	*  pyenv

Una combinación de pyenv (para gestión de versiones de python) y virtualenv (para encapsular librerias por proyecto) parace una buena solución

virtualenv


python3 -m pip install --upgrade pip
pip3 install virtualenv

which virtualenv
virtualenv -p /home/username/opt/python-3.10.1/bin/python3 venv # crea venv

pip3 install --upgrade setuptools # si error setuptools pip failed with error code 1` error

source venv/bin/activat…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:4.2?rev=1699216496&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:34:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>4.2 Serialization of Python objects using the pickle module</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:4.2?rev=1699216496&amp;do=diff</link>
        <description>4.2 Serialization of Python objects using the pickle module

In this section, you will learn how to persist Python objects for later use.

Pickling is the process of preserving or extending the lifespan of food. The resulting food is called a pickle, and to prevent ambiguity, prefaced with the &#039;pickled&#039; adjective.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:apache:htaccess:redirects?rev=1644060584&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-02-05T11:29:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>.htaccess rewrites (redirecciones)</title>
        <link>https://miguelangel.torresegea.es/wiki/web:apache:htaccess:redirects?rev=1644060584&amp;do=diff</link>
        <description>.htaccess rewrites (redirecciones)

/via:&lt;http://deteresa.com/redireccion-301/&gt;
hay que tener el mod_rewrite activo


Options +FollowSymlinks
RewriteEngine on



RedirectMatch permanent ^/(.*) http://&lt;url&gt;/$1


zxc.cat


RewriteEngine on
RewriteRule ^wiki.*$ https://miguelangel.torresegea.es/wiki/$1 [r=307,L]
RewriteRule ^blog.*$ https://miguelangel.torresegea.es/blog/$1 [r=307,L]
RewriteRule ^sqleditor.*$ https://miguelangel.torresegea.es/bike-9b12022-portable/ [r=307,L]
RewriteRule ^sql.*$ htt…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m1:paquetes?rev=1655983096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-23T11:18:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Modulo 1 (intermedio): Paquetes</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m1:paquetes?rev=1655983096&amp;do=diff</link>
        <description>Modulo 1 (intermedio): Paquetes

Escribir tus propios módulos no difiere mucho de escribir scripts comunes.

Existen algunos aspectos específicos que se deben tomar en cuenta, pero definitivamente no es algo complicado. Lo verás pronto.



Resumamos algunos aspectos importantes:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:tcpip:dns?rev=1767009585&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-29T11:59:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DNS</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:tcpip:dns?rev=1767009585&amp;do=diff</link>
        <description>DNS

linux tcpip dns

related

	*  DNS y funcionamiento
	*  DNS: Resolución, progagación, limpieza
	*  dnsmasq
	*  bind9
	*  127.0.0.1 VS 127.0.1.1
	*  &lt;https://www.dns0.eu/&gt;
	*  &lt;https://one.one.one.one/&gt;

direct

	*  esbrinar qui gestiona les dades de xarxa (netplan)
	*  aplicar els canvis (networkmanager en desktops)

DNS populars

	*  Cloudflare DNS (1.1.1.1, 1.0.0.1)
	*  OpenDNS (208.67.222.222, 208.67.220.220)</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/info:cursos:python:codigofacilito?rev=1654853301&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-10T09:28:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>curso python (código facilito)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:python:codigofacilito?rev=1654853301&amp;do=diff</link>
        <description>curso python (código facilito)

python

&lt;https://codigofacilito.com/videos/tutorial_python_28_-_clases_decoradoras&gt;

que es python

	*  reminiscencias perl, pero más natual (pseudocódigo)
	*  interpretado
	*  tipado dinámico
	*  fuertemente tipado (no convinadar diferentes tipos de variables)
	*  multiplataforma
	*  OOP

hello world</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:mongodbuniversity:m001:cap3?rev=1544897816&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-12-15T18:16:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Chapter 3: Deeper Dive on the MongoDB Query Language</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:mongodbuniversity:m001:cap3?rev=1544897816&amp;do=diff</link>
        <description>Chapter 3: Deeper Dive on the MongoDB Query Language

comparison query operators

extras

	*  &lt;https://docs.mongodb.com/manual/reference/operator/query/&gt;
	*  &lt;https://docs.mongodb.com/manual/reference/operator/query-comparison/&gt;
	*  

operators

	*  $eq, $ne : igual y no-igual
	*  $gt, $gte : mayor y mayor-igual
	*  $lt, $lte : menor y menor-igual
	*  $in, $nin : en array y no-en array</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe1m4:excepciones?rev=1655834352&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-21T17:59:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Modulo 4: Excepciones</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe1m4:excepciones?rev=1655834352&amp;do=diff</link>
        <description>Modulo 4: Excepciones

Excepciones

El lidiar con errores de programación tiene (al menos) dos partes. La primera es cuando te metes en problemas porque tu código, aparentemente correcto, se alimenta con datos incorrectos. Por ejemplo, esperas que se ingrese al código un valor entero, pero tu usuario descuidado ingresa algunas letras al azar.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.4?rev=1703794616&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-28T20:16:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.4 Shaping the main window and conversing with the user</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.4?rev=1703794616&amp;do=diff</link>
        <description>2.4 Shaping the main window and conversing with the user

The main window is a very specific construct, as its fate is shared among two masters: you (supported by tkinter) and your operating system. This means than you cannot manage the window like any other widget, as the</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:pycurl?rev=1725268712&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-09-02T09:18:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python PycURL</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:pycurl?rev=1725268712&amp;do=diff</link>
        <description>Python PycURL

/via: &lt;https://www.rapidseedbox.com/blog/python-curl&gt;

	*  requests: 1.6 Making life easier with the requests module

setup

	*  PycURL es un intefaz python para interactuar con cURL (más completa/compleja que requests)
	*  
sudo apt install libcurl4-openssl-dev libssl-dev

	*  
pip install pycurl


comandos básicos con requests</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.2?rev=1709626190&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-05T08:09:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.2 How to use sockets in Python</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.2?rev=1709626190&amp;do=diff</link>
        <description>1.2 How to use sockets in Python

How to fetch a document from a server using Python

We are going to write our first program making use of network sockets. Of course, we&#039;ll harness Python for this purpose.

Here are our goals:

	*  we want to write</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:variables?rev=1749563456&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-10T13:50:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>terraform variables</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:variables?rev=1749563456&amp;do=diff</link>
        <description>terraform variables

	*  &lt;https://developer.hashicorp.com/terraform/tutorials/configuration-language/variables&gt;

declaración

	*  recomendado en fichero aparte variables.tf

declaración: 


variable &quot;aws_region&quot; {
  description = &quot;AWS region&quot;
  type        = string
  default     = &quot;us-west-2&quot;
}

variable &quot;instance_count&quot; {
  description = &quot;Number of instances to provision.&quot;
  type        = number
  default     = 2
}

variable &quot;enable_vpn_gateway&quot; {
  description = &quot;Enable a VPN gateway in your V…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe1m4:tuplas?rev=1655832393&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-21T17:26:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Modulo 4: Tuplas</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe1m4:tuplas?rev=1655832393&amp;do=diff</link>
        <description>Modulo 4: Tuplas

Tipos de secuencias y mutabilidad

Antes de comenzar a hablar acerca de tuplas y diccionarios, se deben introducir dos conceptos importantes: tipos de secuencia y mutabilidad.

Un tipo de secuencia es un tipo de dato en Python el cual es capaz de almacenar más de un valor (o ninguno si la secuencia esta vacía), los cuales pueden ser secuencialmente (de ahí el nombre) examinados</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.5?rev=1703795730&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-28T20:35:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.5 Working with the Canvas</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.5?rev=1703795730&amp;do=diff</link>
        <description>2.5 Working with the Canvas

Canvas

Our last meeting is devoted to the Canvas – a widget that behaves like a... canvas. It’s a flat, rectangular surface that you can cover with drawings, text, frames, and other widgets. Please treat this story as a basic introduction to the</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.5?rev=1705601125&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-18T18:05:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.5 What is XML and why do we prefer to use JSON?</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.5?rev=1705601125&amp;do=diff</link>
        <description>1.5 What is XML and why do we prefer to use JSON?

XML is a language. Anyway, this is what it thinks about itself. Note – it isn&#039;t a programming language, and although it is possible to build a real programming language on top of XML, it wasn&#039;t (and still isn&#039;t) its native niche.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:conda?rev=1674204511&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-20T08:48:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Conda (gestor paquetes miniconda - python)</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:conda?rev=1674204511&amp;do=diff</link>
        <description>Conda (gestor paquetes miniconda - python)

	*  gestión de paquetes
	*  entornos virtuales

comandos

	*  
conda info

	*  
conda --version


entornos

	*  crear:
conda create --name &lt;ENTORNO&gt; python=3.8

	*  cambiar de entorno:
conda activate &lt;ENTORNO&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.6?rev=1703762970&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-28T11:29:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.6 Events and how to handle them</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.6?rev=1703762970&amp;do=diff</link>
        <description>1.6 Events and how to handle them

Event handling

As you already know, events are the fuel which propel the application’s movements. All events come to the event manager, which is responsible for dispatching them to all the application components. This also means that some of the events may launch some of your callbacks, which makes you responsible for preparing the proper reactions to the user’s actions.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/criptografia:gpg:start?rev=1478894117&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-11-11T19:55:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>GPG</title>
        <link>https://miguelangel.torresegea.es/wiki/criptografia:gpg:start?rev=1478894117&amp;do=diff</link>
        <description>GPG

manejo llaves

generar contraseña (se recomienda el máximo disponible, 4096bits):

$ gpg --gen-key

entra en modo comando gpg, múltiples acciones disponibles:

$ gpg --edit-key &lt;UID&gt;

exporta clave pública, para repartir, formato binario:

$ gpg --export UID</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m1:pip?rev=1656606177&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-30T16:22:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Modulo 1 (intermedio): PIP</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m1:pip?rev=1656606177&amp;do=diff</link>
        <description>Modulo 1 (intermedio): PIP

El Ecosistema de Paquetes de Python y cómo usarloPython es un instrumento muy poderoso; esperamos que ya lo hayas experimentado. Muchas personas de todo el mundo se sienten así y usan Python de forma regular para desarrollar lo que pueden hacer en muchos campos de actividad completamente diferentes. Esto significa que Python se ha convertido en</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2:6:red-avanzada?rev=1537987294&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-26T18:41:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>configuracion red avanzada</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2:6:red-avanzada?rev=1537987294&amp;do=diff</link>
        <description>configuracion red avanzada

todos los cambios aplicados a través de ip son temporales, al reinicar se han perdido

cambiando configuración de red (temporalmente)

asignación de dirección de red:


sudo ip address add 10.0.1.1/8 dev ens9


eliminación de dirección de red:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.2?rev=1699216358&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:32:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.2 Inheritance and polymorphism — Inheritance as a pillar of OOP</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.2?rev=1699216358&amp;do=diff</link>
        <description>2.2 Inheritance and polymorphism — Inheritance as a pillar of OOP

Inheritance is one of the fundamental concepts of object oriented programming, and expresses the fundamental relationships between classes: superclasses (parents) and their subclasses (descendants). Inheritance creates a class hierarchy. Any object bound to a specific level of class hierarchy inherits all the traits (methods and attributes) defined inside any of the superclasses.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:biblioteca:calendar?rev=1657227190&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-07T20:53:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Módulo 4 (Intermedio): Biblioteca calendar</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:biblioteca:calendar?rev=1657227190&amp;do=diff</link>
        <description>Módulo 4 (Intermedio): Biblioteca calendar

Introducción al módulo calendar

Además de los módulos datetime y time, la biblioteca estándar de Python proporciona un módulo llamado calendar que, como su nombre indica, ofrece funciones relacionadas con el calendario</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/info:cursos:pue:devops2022:s6?rev=1646840614&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-09T15:43:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DevOps Sesión 6 (2022-02-28) k8s</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s6?rev=1646840614&amp;do=diff</link>
        <description>DevOps Sesión 6 (2022-02-28) k8s

Documentación relacionada

lab1

	*  2-Despliegue de Aplicaciones Kubernetes/1-Laboratorio kubernetes Curso-DevOps.txt
	*  2-Despliegue de Aplicaciones Kubernetes/1-Laboratorios  Kubernetes 2020.pdf, pág 20
	*  2-Despliegue de Aplicaciones Kubernetes/2-Laboratorios basicos kubernetes .pdf</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.2?rev=1703245770&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-22T11:49:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.2 Let TkInter speak!</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.2?rev=1703245770&amp;do=diff</link>
        <description>1.2 Let TkInter speak!

Importing TkInter

As you already know, from Python&#039;s point of view TkInter is a package named tkinter. The package contains a bunch of functions, constants, classes, objects, and modules used to build GUI applications.

The GUI</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:aptget:dpkg?rev=1741601006&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-10T10:03:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dpkg</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:aptget:dpkg?rev=1741601006&amp;do=diff</link>
        <description>dpkg

opciones

	*  Muestra los ficheros y su ubicación de un paquete:
dpkg -L packagename

	*  Instalar desde archivos .deb descargados:
dpkg -iEGB packagename

		*  i : instala desde fichero
		*  E, –skip-same-version: Don’t install the package if the same version of the package is already installed.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:chroot?rev=1777967080&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:44:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>chroot (enjaulado)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:chroot?rev=1777967080&amp;do=diff</link>
        <description>chroot (enjaulado)

linux ssh

los usuarios se quedan encerrados en un directorio y no pueden salir de ahí (excepciones con mount --bind)


# override default of no subsystems
##Subsystem     sftp    /usr/libexec/openssh/sftp-server
Subsystem       sftp    internal-sftp

# Example of overriding settings on a per-user basis
#Match User anoncvs
#       X11Forwarding no
#       AllowTcpForwarding no
#       ForceCommand cvs server

AllowGroups ConexionSFTP

Match group ConexionSFTP
ChrootDirectory …</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s7?rev=1646840350&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-09T15:39:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DevOps Sesión 7 (2022-03-02) k8s</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s7?rev=1646840350&amp;do=diff</link>
        <description>DevOps Sesión 7 (2022-03-02) k8s

Documentación relacionada

	*  lpi-devops-study-master -&gt; documentación estudio
	*  2-Despliegue de Aplicaciones Kubernetes/1-Laboratorio kubernetes Curso-DevOps.txt
	*  2-Despliegue de Aplicaciones Kubernetes/1-Laboratorios Kubernetes 2020.pdf</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s12?rev=1647895637&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-21T20:47:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DevOps Sesión 12 (2022-03-21)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s12?rev=1647895637&amp;do=diff</link>
        <description>DevOps Sesión 12 (2022-03-21)

Documentación relacionada

	*  ./4-Topic 704 Configuration Management
	*  ./Material Curso Ansible/DO407-AUTOMATION WITH ANSIBLE I.pdf
	*  ./Material Curso Ansible/Introduccion Ansible.txt
	*  ./Material Curso Ansible/Curso Ansible 2020.pdf</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:sistema?rev=1560416925&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-06-13T09:08:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>gestionar el sistema</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:sistema?rev=1560416925&amp;do=diff</link>
        <description>gestionar el sistema

3:37 Gestionar Sistema (I)

	*  alternatives : gestionar alternativas (versiones) para comandos
		*  /etc/alternatives/java

	*  at : programar ejecución de comandos
	*  authorized_keys : gestión ficheros claves
	*  cron : gestión de cron</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/wiki:syntax?rev=1528018666&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-06-03T09:37:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Formatting Syntax</title>
        <link>https://miguelangel.torresegea.es/wiki/wiki:syntax?rev=1528018666&amp;do=diff</link>
        <description>Formatting Syntax

DokuWiki supports some simple markup language, which tries to make the datafiles to be as readable as possible. This page contains all possible syntax you may use when editing the pages. Simply have a look at the source of this page by pressing the</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.9?rev=1699216453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:34:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.9 Inheriting properties from built-in classes</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.9?rev=1699216453&amp;do=diff</link>
        <description>2.9 Inheriting properties from built-in classes

Python gives you the ability to create a class that inherits properties from any Python built-in class in order to get a new class that can enrich the parent&#039;s attributes or methods. As a result, your newly-created class has the advantage of all of the well-known functionalities inherited from its parent or even parents and you can still access those attributes and methods.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:aptget:start?rev=1759250047&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-30T16:34:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Gestión paquetes</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:aptget:start?rev=1759250047&amp;do=diff</link>
        <description>Gestión paquetes

linux

	*  apt-get
		*  apt unattended-upgrades
		*  apt (sin internet)

	*  repos
	*  dpkg
	*  aptitude
	*  yum
	*  ppa
	*  apk (alpine)

verificar/actualizar paquete

	*  mirar si está en el sistema:
dpkg --get-selections | grep &lt;paquete&gt;

	*  mirar el detalle del paquete: 
dpkg -l &lt;paquete&gt;

	*  actualizar paquete (no instala si no está):</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:ssh:agente?rev=1777967047&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:44:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>agente SSH (ssh-agent)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:agente?rev=1777967047&amp;do=diff</link>
        <description>agente SSH (ssh-agent)

linux ssh

opciones

	*  
ssh-add &lt;clave&gt;

 : añade la clave indicada para su uso (si tiene contraseña, nos la pedirá al usar)

		*  -t &lt;&gt; : duración de la identidad en el agente (por defecto, segundos)
		*  
s | S   seconds, m | M   minutes, h | H   hours, d | D   days, w | W   weeks</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s9?rev=1614718217&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-02T20:50:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LPIC2 2021 Sesión 9 (2021-03-02)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s9?rev=1614718217&amp;do=diff</link>
        <description>LPIC2 2021 Sesión 9 (2021-03-02)

Documentación relacionada:

	*  Manual Certificacion LPIC-2.pdf, pag XX
	*  Material Practicas LPIC-2/LPIC-202/
	*  Presentaciones/2020/202/
	*  gdrive://

Clase

DNS

DNS: Laboratorio

continuación de dnslaboratorio

	*  ficheros de configuración para el master del servidor</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:propiedades?rev=1657048430&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-05T19:13:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Módulo 3: Programación Orientada a Objetos - propiedades</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:propiedades?rev=1657048430&amp;do=diff</link>
        <description>Módulo 3: Programación Orientada a Objetos - propiedades

Variables de instancia

En general, una clase puede equiparse con dos tipos diferentes de datos para formar las propiedades de una clase. Ya viste uno de ellos cuando estábamos estudiando pilas.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:elasticsearch:api-dslquery?rev=1638467487&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-02T17:51:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ELK: elasticsearch (API y DSLQuery)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:elasticsearch:api-dslquery?rev=1638467487&amp;do=diff</link>
        <description>ELK: elasticsearch (API y DSLQuery)



	*  API = Application Programming Interface. Capa abstracción funciones ofrecidas por la apliación

Cluster APIs

	*  Health: GET _cluster/health?pretty
		*  status
			*  green: todos los shard bien
			*  yellow: no están bien las réplicas</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.3?rev=1703793078&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-28T19:51:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.3 A small lexicon of widgets - Part 3</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.3?rev=1703793078&amp;do=diff</link>
        <description>2.3 A small lexicon of widgets - Part 3

There are two remaining widgets we want to tell you about – the first one is just a widget, while the second is, in fact, a set of cooperating widgets.

The Entry widget not only presents a line of text, but is also able to</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:apache:htaccess:start?rev=1592651529&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-06-20T11:12:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>.htaccess</title>
        <link>https://miguelangel.torresegea.es/wiki/web:apache:htaccess:start?rev=1592651529&amp;do=diff</link>
        <description>.htaccess

	*  .htaccess rewrites (redirecciones)

basics

	*  mantén el fichero .htaccess tan pequeño como pueda ser
	*  comenta y organiza correctamente el fichero .htaccess
	*  añade la opción [L] a las páginas finales, para decirle al servidor que no procese más reglas - como en hotlinking</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.3?rev=1705056974&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-12T10:56:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.3 JSON – our new friend</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:1.3?rev=1705056974&amp;do=diff</link>
        <description>1.3 JSON – our new friend

Do you sometimes feel that coping with IT issues is a continuous struggle with acronyms? Well, you’re not alone. We share this opinion. An old anecdote says that computer technology development is in fact based on TLA. What is TLA? It&#039;s simple – it&#039;s a Three-Letter Acronym. Close your eyes, strain your mind and try to recall five acronyms commonly used in the IT world.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:introduccion-typescript?rev=1579975537&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-25T18:05:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>introducción a TypeScript y ECMAScript 6 (ES6)</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:introduccion-typescript?rev=1579975537&amp;do=diff</link>
        <description>introducción a TypeScript y ECMAScript 6 (ES6)

	*  uso intensivo en aplicaciones Angular
	*  decoradores = característica experimental en ES6, pero consolidados en Angular
	*  JavaScript tiene tipado débil de tipos, lo que no nos avisa de situaciones que pueden producir errores.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:pandas?rev=1728569657&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-10T14:14:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python Pandas</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:pandas?rev=1728569657&amp;do=diff</link>
        <description>Python Pandas

	*  
pip3 install pandas

	*  soporte para excel: 
pip3.9 install openpyxl # needed to load Excel .xlsx files
pip3.9 install xlrd # needed to load Excel old .xls files)



	*  Estilos: &lt;https://docs.bokeh.org/en/latest/docs/user_guide/styling/plots.html#ug-styling-plots&gt;
	*  datos: &lt;https://pythonhow.com/media/data/supermarkets.json&gt;

varios

importar en dataframe

	*  pandas.read_csv(&#039;data.txt&#039;,header=None)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ubuntu:start?rev=1715085125&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-07T12:32:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ubuntu</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ubuntu:start?rev=1715085125&amp;do=diff</link>
        <description>Ubuntu

22.04

.desktop

	*  &lt;https://atareao.es/software/utilidades/como-crear-lanzadores-en-ubuntu/&gt;

curiosidades

	*  comando para lanzar el salvapantallas: $ gnome-screensaver-command --lock
	*  comando para lanzar un terminal: $ gnome-terminal
	*  abrir un archivo basado en su MIME-TYPE: $ gnome-open &lt;archivo o URL&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s11?rev=1615323357&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-09T20:55:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LPIC2 2021 Sesión 11 (2021-03-09)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s11?rev=1615323357&amp;do=diff</link>
        <description>LPIC2 2021 Sesión 11 (2021-03-09)

Documentación relacionada:

	*  Manual Certificacion LPIC-2.pdf, pag XX
	*  Material Practicas LPIC-2/LPIC-202/
	*  Presentaciones/2020/202/
	*  gdrive://

Clase

proxy squid

	*  DOC: Material Practicas LPIC-2/LPIC-202/2-Web Services/Squid/Laboratorio Squid.pdf</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:3.1?rev=1709549519&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-04T10:51:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>3.1 The CSV module in Python</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:3.1?rev=1709549519&amp;do=diff</link>
        <description>3.1 The CSV module in Python

The CSV module in Python

The CSV (Comma Separated Values) format is one of the most popular file formats used to store and transfer data between different programs. Currently, many database management tools and the popular Excel offer data import and export in this format.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:biblioteca:os?rev=1657205756&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-07T14:55:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Módulo 4 (Intermedio): Biblioteca os</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m4:biblioteca:os?rev=1657205756&amp;do=diff</link>
        <description>Módulo 4 (Intermedio): Biblioteca os

Introducción al módulo os

En esta sección, aprenderás sobre un módulo llamado os, que te permite interactuar con tu sistema operativo usando Python.

Proporciona funciones que están disponibles en sistemas Unix y/o Windows. Si estás familiarizado con la consola de comandos, verás que algunas funciones dan los mismos resultados que los comandos disponibles en los sistemas operativos.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:1.2?rev=1699216324&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:32:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.2 Working with class and instance data – instance variables</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:1.2?rev=1699216324&amp;do=diff</link>
        <description>1.2 Working with class and instance data – instance variables

Instance variables

This kind of variable exists when and only when it is explicitly created and added to an object. This can be done during the object&#039;s initialization, performed by the</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:4.1?rev=1709555079&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-04T12:24:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>4.1 Logging in Python</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:4.1?rev=1709555079&amp;do=diff</link>
        <description>4.1 Logging in Python

Logging in Python

The Python Standard Library provides a useful module called logging to log events occurring in the application. Logs are most often used to find the cause of an error. By default, Python and its modules provide many logs informing you of the causes of errors. However, it&#039;s good practice to create your own logs that may be useful to you or other programmers.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/criptografia:pass?rev=1749543935&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-10T08:25:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>pass</title>
        <link>https://miguelangel.torresegea.es/wiki/criptografia:pass?rev=1749543935&amp;do=diff</link>
        <description>pass

	*  gestión de contaseñas desde CLI multiplataforma (no-win)
	*  &lt;https://www.passwordstore.org/&gt;

dudas

	*  clientes GUI
	*  plugin ZSH

init

	*  crear clave GPG pública-privada
		*  
gpg --gen-key


	*  inicializar repositorio (con el nombre o fingerprint usado en la clave GPG)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:php:securizar?rev=1527188647&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-24T19:04:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>securizar instalación PHP</title>
        <link>https://miguelangel.torresegea.es/wiki/development:php:securizar?rev=1527188647&amp;do=diff</link>
        <description>securizar instalación PHP

php

	*  desactivar URL remota para inclusión de ficheros:
allow_url_fopen = Off

	*  registro de variables globales:
register_globals = Off

	*  restringir donde puede leer/escribir PHP: 
open_basedir = /home/cfproyectos

	*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:dd?rev=1752601467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-15T17:44:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dd</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:dd?rev=1752601467&amp;do=diff</link>
        <description>dd

	*  dd -&gt; comando para flujos de datos
		*  if: archivo de origen
		*  of: archivo de destino
		*  ibs: número bytes leídos cada vez
		*  obs: número bytes leídos cada vez
		*  bs: número de bytes leídos y escritos cada vez
		*  cbs: número de bytes a convertir cada vez</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:sed?rev=1554881427&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-10T07:30:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sed</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:sed?rev=1554881427&amp;do=diff</link>
        <description>sed

Stream EDitor

sintaxis


sed [-ns] &#039;[direccion] instruccion argumentos&#039;


donde:

	*  -n : no mostrar por STDOUT las líneas procesadas
	*  -s : tratar los ficheros entrantes como flujos separados
	*  dirección: número de línea, rango de números de línea o búsqueda por regexp. Si no se especifica, afecta a todas las líneas del fichero</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:filesystem:glusterfs?rev=1607254746&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-12-06T11:39:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>glusterfs</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:filesystem:glusterfs?rev=1607254746&amp;do=diff</link>
        <description>glusterfs

	*  glusterfs vagrant POC

links

	*  &lt;https://docs.gluster.org/en/latest/Quick-Start-Guide/Quickstart/&gt;
	*  &lt;https://kifarunix.com/install-and-setup-glusterfs-on-ubuntu-18-04/&gt;
	*  &lt;https://www.cyberciti.biz/faq/howto-add-new-brick-to-existing-glusterfs-replicated-volume/&gt;

	*  &lt;https://www.osradar.com/install-and-configure-glusterfs-debian-10/&gt;
	*  &lt;https://www.server-world.info/en/note?os=Debian_10&amp;p=glusterfs&amp;f=1&gt;
	*  &lt;https://www.server-world.info/en/note?os=Debian_10&amp;p=glusterfs…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:dockerd:remote-tls?rev=1586591719&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-11T07:55:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dockerd remote tls access</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:dockerd:remote-tls?rev=1586591719&amp;do=diff</link>
        <description>dockerd remote tls access

via

	*  &lt;https://docs.docker.com/engine/security/https/&gt;
	*  &lt;https://nickjanetakis.com/blog/docker-tip-73-connecting-to-a-remote-docker-daemon&gt;
	*  &lt;https://success.docker.com/article/how-do-i-enable-the-remote-api-for-dockerd&gt;
	*  &lt;https://medium.com/@ssmak/how-to-enable-docker-remote-api-on-docker-host-7b73bd3278c6&gt;

setup

	*  pretendemos «asegurar» la conexión con el dockerd de manera que solo los clientes con certificado firmado por la misma CA que el servidor p…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s15?rev=1648667035&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-30T19:03:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DevOps Sesión 15 (2022-03-30) ELK</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s15?rev=1648667035&amp;do=diff</link>
        <description>DevOps Sesión 15 (2022-03-30) ELK

Documentación relacionada

	*  ./5-Topic 705 Service Operations/Material Curso ELK/1-Laboratorios ELK.pdf
	*  ./5-Topic 705 Service Operations/Presentacion Herramientas para el manejo de logs.pdf
	*  ./5-Topic 705 Service Operations/Clase Monitorizacion.txt</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:excepcionesoop?rev=1657050801&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-05T19:53:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Módulo 3 (Intermedio): Programación Orientada a Objetos - Excepciones</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:excepcionesoop?rev=1657050801&amp;do=diff</link>
        <description>Módulo 3 (Intermedio): Programación Orientada a Objetos - Excepciones

Más acerca de excepciones

El discutir sobre la programación orientada a objetos ofrece una muy buena oportunidad para volver a las excepciones. La naturaleza orientada a objetos de las excepciones de Python las convierte en una herramienta muy flexible, capaz de adaptarse a necesidades específicas, incluso aquellas que aún no conoces.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.5?rev=1699216406&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:33:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.5 Different faces of Python methods</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.5?rev=1699216406&amp;do=diff</link>
        <description>2.5 Different faces of Python methods

Until now, we’ve been implementing methods that have performed operations on the instances (objects), and in particular the attributes of the instance, so we’ve called them instance methods.

The instance methods, as the first parameter, take the</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:tomcat:install?rev=1538038548&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-27T08:55:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Instalación Tomcat 8 en máquina vagrant</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:tomcat:install?rev=1538038548&amp;do=diff</link>
        <description>Instalación Tomcat 8 en máquina vagrant

vagrant


Vagrant.configure(&quot;2&quot;) do |config|
  config.vm.box = &quot;debian/stretch64&quot;
  config.vm.synced_folder &quot;./data&quot;,&quot;/vagrant&quot;
  config.vm.network &quot;forwarded_port&quot;, guest: 8080, host: 8080

  config.vm.provider &quot;virtualbox&quot; do |vb|
    vb.name = &quot;tomcat8&quot;
    vb.memory = 1024
    vb.cpus = 1
    vb.linked_clone = true
  end
end</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:systemd:journalctl:remote?rev=1640200562&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-22T19:16:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>journalctl-remote</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:systemd:journalctl:remote?rev=1640200562&amp;do=diff</link>
        <description>journalctl-remote

/via: &lt;https://www.digitalocean.com/community/tutorials/how-to-centralize-logs-with-journald-on-ubuntu-20-04-es&gt;

/via: &lt;https://serverfault.com/questions/758244/how-to-configure-systemd-journal-remote&gt;


basico


sudo apt update -y &amp;&amp; sudo apt upgrade -y
sudo apt install systemd-journal-remote


servidor

	*  instalar servicios:

sudo systemctl enable --now systemd-journal-remote.socket
sudo systemctl enable systemd-journal-remote.service

# si ufw
sudo ufw allow in 19532/tcp…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion6?rev=1551531889&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-02T13:04:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sesión 6 : ansible</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion6?rev=1551531889&amp;do=diff</link>
        <description>Sesión 6 : ansible

ansible

become


- name: servicio
  service:
    name: httpd
    state: started
  become: yes



- name: servicio
  service:
    name: httpd
    state: started
  become: yes
  become_user: apache


adduser


- hosts: all
  tasks:
    - include: add-user-debian.yaml
      when: ansible_os_family == &#039;Debian&#039;
    - include: add-user-redhat.yaml
      when: ansible_os_family == &#039;RedHat&#039;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.3?rev=1699216373&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:32:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.3 Extended function argument syntax</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.3?rev=1699216373&amp;do=diff</link>
        <description>2.3 Extended function argument syntax

When we talk about function arguments, we should recall the following facts:

	*  some functions can be invoked without arguments;
	*  functions may require a specific number of arguments with no exclusions; we have to pass a required number of arguments in an imposed order to follow function definition;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:utilidades?rev=1537865996&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-25T08:59:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>utilidades</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:utilidades?rev=1537865996&amp;do=diff</link>
        <description>utilidades

3:32 Comando Utilidades (I)

ejecución de comandos en el nodo remoto

	*  command
	*  expect : ejecuta un comando y responde a la introducción de dataos
	*  raw : envía comandos sin filtrar por SSH
	*  script : transfiere y ejecuta un script</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:cron:cron?rev=1770632632&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-09T10:23:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cron / crontab</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:cron:cron?rev=1770632632&amp;do=diff</link>
        <description>cron / crontab

Conceptos básicos

Cron se ejecuta en el background, revisa cada minuto la tabla de tareas crontab /etc/crontab o en /var/spool/cron

comprobar si está en ejecución:

$ ps -ef | grep crond

Añadir el servicio si no lo estuviera:

$ chkconfig --level 35 crond on</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ufw:start?rev=1756889908&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-03T08:58:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Uncomplicated Firewall</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ufw:start?rev=1756889908&amp;do=diff</link>
        <description>Uncomplicated Firewall

manera alternativa de montar reglas de acceso con una sintáxis más sencilla, monta tablas y cadenas a su antojo

sintaxis y argumentos

ufw [--dry-run] [options] [rule syntax]

	*  options:
		*  allow
		*  deny
		*  reject
		*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s13?rev=1648069358&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-23T21:02:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DevOps Sesión 13 (2022-03-23) Ansible</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s13?rev=1648069358&amp;do=diff</link>
        <description>DevOps Sesión 13 (2022-03-23) Ansible

Documentación relacionada

	*  ./4-Topic 704 Configuration Management
	*  ./Material Curso Ansible/Curso Ansible 2020.pdf

variables

	*  ./Material Curso Ansible/Curso Ansible 2020.pdf pag 71
	*  ./Material Curso Ansible/Clase Ansible variables basicas .txt</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.6?rev=1699216418&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:33:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.6 Abstract classes</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.6?rev=1699216418&amp;do=diff</link>
        <description>2.6 Abstract classes

Python is considered to be a very flexible programming language, but that doesn’t mean that there are no controls to impose a set of functionalities or an order in a class hierarchy. When you develop a system in a group of programmers, it would be useful to have some means of establishing requirements for classes in matters of interfaces (methods) exposed by each class.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.7?rev=1703765167&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-28T12:06:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.7 Visiting widgets’ properties</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.7?rev=1703765167&amp;do=diff</link>
        <description>1.7 Visiting widgets’ properties

Widget properties

As you already know, every widget has a set of properties, and the widget’s user is able to change them by modifying the widget’s appearance and behavior. We’ll show you how to manipulate properties and present a basic set of the most usable widget properties.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:5.1?rev=1709555915&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-04T12:38:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>5.1 The configparser module</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m5:5.1?rev=1709555915&amp;do=diff</link>
        <description>5.1 The configparser module

Introduction to the configparser module

Currently, many popular services provide an API that we can use in our applications. Integration with these services requires authentication using data such as a login and password, or simply an access token.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:argparse?rev=1758873920&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-26T08:05:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python argparse</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:argparse?rev=1758873920&amp;do=diff</link>
        <description>Python argparse

	*  &lt;https://ellibrodepython.com/python-argparse&gt;

argparse

	*  o = argparse.ArgumentParser:
		*  description: se muestra en la ayuda del programa
		*  prefix_chars: cambia el prefijo de los argumentos
		*  fromfile_prefix_chars: establece el prefijo para importar un archivo que contiene los argumentos</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:awk?rev=1582615767&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-25T07:29:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>awk</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:awk?rev=1582615767&amp;do=diff</link>
        <description>awk

/via: &lt;https://www.howtogeek.com/562941/how-to-use-the-awk-command-on-linux/&gt;

	*  rule = pattern + action
	*  todo el comando entre comillas simples
	*  print
		*  $1,$3,$7: campo 1, 3 y 7 respectivamente (separados por espacio por defecto)
		*  $NF: último campo
		*  $0 : la línea entera

	*  cambiar carácter separador:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:openvpn?rev=1588187731&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-29T19:15:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>openvpn</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:openvpn?rev=1588187731&amp;do=diff</link>
        <description>openvpn

	*  PKI
	*  private internet access (PIA)

instalación

aptitude install openvpn

aptitude install easy-rsa

configuración servidor

copiar ficheros para facilitar la generación de claves y certificados:

cp -rd /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/

creación keys</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:sudo:start?rev=1715072349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-07T08:59:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sudo</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:sudo:start?rev=1715072349&amp;do=diff</link>
        <description>sudo

config

	*  edición /etc/sudoers: sudo visudo
		*  --check
		*  --strict
		*  --file=/etc/sudoers.d/alternate


sudoers

/via: &lt;https://www.digitalocean.com/community/tutorials/how-to-edit-the-sudoers-file-es&gt;

directorio /etc/sudoers.d

	*  sudo visudo -f /etc/sudoers.d/nopass
	*  interpreta todos los archivos que no acaben en</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:tcpip:dig?rev=1556648584&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-30T18:23:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dig</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:tcpip:dig?rev=1556648584&amp;do=diff</link>
        <description>dig

linux tcpip

related

secciones

	*  cabecera : opciones generales e informativas
	*  question section : petición lanzada al DNS
	*  answer section : respuesta del servidor a la petición
	*  authority section: que servidor DNS tiene autoridad para responder a la petición</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:tcpip:nmap?rev=1689772815&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-07-19T13:20:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>nmap</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:tcpip:nmap?rev=1689772815&amp;do=diff</link>
        <description>nmap

parámetros

	*  -sS : escanea los puertos más normales o los difinidos en services
	*  -p  : escanea un puerto determinado (50), un rango (50-60) o todos, poniendo un guión (-p-)
	*  -Tx : establece el periodo de tiempo que deja pasar para escanear un dispositovo para evitar ser detectado y que el firewall nos mande información falsa. De más espaciado a menos:</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/info:cursos:mongodbuniversity:m001:cap2?rev=1544811667&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-12-14T18:21:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Chapter 2 : The MongoDB Query Language + Atlas</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:mongodbuniversity:m001:cap2?rev=1544811667&amp;do=diff</link>
        <description>Chapter 2 : The MongoDB Query Language + Atlas

CRUD

	*  Create
	*  Read
	*  Update
	*  Delete

Installing the mongo Shell

Compass no cobre toda las opciones que da MongoDB

windows

	*  download center
	*  instalar MongoDB Server versión enterprise (soporte</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.1?rev=1699216341&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:32:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.1 Python core syntax</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.1?rev=1699216341&amp;do=diff</link>
        <description>2.1 Python core syntax

So far we have been using Python core operations that allow us to operate on strings, lists, integers, and floats. It’s natural for us to formulate expressions using algebraic symbols representing operators, or to get a number of elements in a sequence or dictionary.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:postgresql:sql?rev=1635245659&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-26T10:54:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SQL (PostgreSQL)</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:postgresql:sql?rev=1635245659&amp;do=diff</link>
        <description>SQL (PostgreSQL)

SELECT version();&lt;/sql&gt;
&lt;code sql&gt;select * from «pg_user»;

CREATE USER nombre_usuario WITH password ‘123456&#039;;

DROP USER nombre_usuario;

ALTER USER usertochange WITH password ‘new_passwd’;

ALTER USER mysuper WITH SUPERUSER;
ALTER USER mysuper WITH SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN REPLICATION;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:swap?rev=1748941460&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-03T09:04:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>swap</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:swap?rev=1748941460&amp;do=diff</link>
        <description>swap

operativa básica

	*  averigura donde está mi partición SWAP: 
swapon -s

	*  desactivar la partición de swap: 
swapoff /dev/sdxx

	*  fabricar una partición swap: 
mkswap /dev/sdxx

	*  activar partición de swap: 
swapon /dev/sdxx

		*  modificar en</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/pentesting:docker?rev=1538636953&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-04T07:09:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Taller pentesting en Docker</title>
        <link>https://miguelangel.torresegea.es/wiki/pentesting:docker?rev=1538636953&amp;do=diff</link>
        <description>Taller pentesting en Docker

docker

/via: &lt;http://www.elladodelmal.com/2018/09/como-montar-un-entorno-de-pentesting.html&gt;

/via: &lt;http://www.elladodelmal.com/2018/09/como-montar-un-entorno-de-pentesting_14.html&gt;

previos

	*  uso red bridge : 
docker network ls
docker network inspect bridge

	*  descarga imagen Kali Linux : 
docker pull kalilinux/kali-linux-docker
docker run -it --name Kali kalilinux/kali-linux-docker /bin/bash</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:markdown:start?rev=1731848297&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-17T12:58:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>markdown</title>
        <link>https://miguelangel.torresegea.es/wiki/development:markdown:start?rev=1731848297&amp;do=diff</link>
        <description>markdown

development addendum

	*  tutorial: &lt;https://www.markdowntutorial.com&gt;
	*  tutorial: &lt;https://www.markdownguide.org/&gt;
		*  &lt;https://www.markdownguide.org/cheat-sheet/&gt;

	*  cheat-sheet: &lt;https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet&gt;
	*  online: &lt;https://dillinger.io/&gt;
	*  docker: &lt;https://hub.docker.com/r/joemccann/dillinger&gt;



/vía: &lt;https://daringfireball.net/projects/markdown/syntax&gt;

/vía: &lt;http://desarrollandowebsdinamicas.blogspot.com/2013/03/escribir-archivo…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:iterables?rev=1759134237&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-29T08:23:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python iterables</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:iterables?rev=1759134237&amp;do=diff</link>
        <description>Python iterables

python

	*  &lt;https://kinsta.com/es/blog/iterables-de-python/&gt;
	*  &lt;https://ellibrodepython.com/iterator-python&gt;

iterables

even_list = [2, 4, 6, 8, 10]
my_iterator = iter(even_list)
print(next(my_iterator)) # Prints 2
print(next(my_iterator)) # Prints 4
print(next(my_iterator)) # Prints 6


funciones sobre iterables

	*  sum — Devuelve la suma de un iterable dado, siempre que la colección sea de tipos numéricos (enteros, valores de coma flotante y números complejos)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:mount:start?rev=1767805329&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-07T17:02:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>mount</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:mount:start?rev=1767805329&amp;do=diff</link>
        <description>mount

linux

SMB mount

comandos

	*  
findmnt

		*  solo bind: 
findmnt | grep  &quot;\[&quot;


	*  
lsblk

		*  -f: etiquetas particiones
		*  -m: size,owner,group
		*  -o NAME,UUID,PARTUUID

	*  
blkid

	*  /dev/disk -&gt; /dev/disk/by-uuid

check disco

	*  &lt;https://ignoresysprereqs.blogspot.com/2011/11/forzar-chequeo-de-disco-al-reiniciar.html&gt;
	*  usar tune2fs</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion12?rev=1586354361&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-08T13:59:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sesión 12 : k8s (traefik)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion12?rev=1586354361&amp;do=diff</link>
        <description>Sesión 12 : k8s (traefik)

devops cursos k8s

k8s

lab (traefik)

	*  traefik como ingress controller:

---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: traefik-ingress-controller
rules:
  - apiGroups:
      - &quot;&quot;
    resources:
      - services
      - endpoints
      - secrets
    verbs:
      - get
      - list
      - watch
  - apiGroups:
      - extensions
    resources:
      - ingresses
    verbs:
      - get
      - list
      - watch
---
kind: Cluster…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terraform-azure:variables-interpolation-networking?rev=1585589166&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-30T17:26:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Terraform, variables, interpolation and networking</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terraform-azure:variables-interpolation-networking?rev=1585589166&amp;do=diff</link>
        <description>Terraform, variables, interpolation and networking

variables

	*  tipos nativos: strings, maps (key=value), list ([])
		*  boolean no es nativo

	*  localización:
		*  en el cuerpo de script
		*  por línea de comando o entono
		*  en un fichero adicional de variables</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:1.1?rev=1699216302&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:31:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.1 Classes, Instances, Attributes, Methods — introduction</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:1.1?rev=1699216302&amp;do=diff</link>
        <description>1.1 Classes, Instances, Attributes, Methods — introduction

Introduction to Object-Oriented Programming

This module addresses the advanced Object Oriented Programming (OOP) issues that are at the heart of Python programming.

The object-oriented approach is an evolution of good design practices that go back to the very beginning of computer programming.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:paquetes?rev=1537865940&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-25T08:59:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>gestión de paquetes</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:paquetes?rev=1537865940&amp;do=diff</link>
        <description>gestión de paquetes

3:29 Gestor Paquetes (I)

para lenguajes de programación:

	*  bower : desarrollo web
	*  bundler : dependencias Ruby Gem
	*  composer : librerias PHP
	*  cpam : gestor módulos Perl
	*  easy_install : gestión módulos / librerias Phyton</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:mount:smb?rev=1668423100&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-11-14T10:51:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SMB mount</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:mount:smb?rev=1668423100&amp;do=diff</link>
        <description>SMB mount

paquetería básica:

sudo apt-get install cifs-utils

Acceso a Windows shares:

mount -t cifs //server/share -o username=username,password=password,sec=ntlm /punto/montaje

mount -t cifs //server/share -o credentials=/path/to/crendeciales.txt,sec=ntlm /punto/montaje</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:reverse?rev=1776425458&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-17T11:30:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ssh tunel inverso (o reverso)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:reverse?rev=1776425458&amp;do=diff</link>
        <description>ssh tunel inverso (o reverso)

método SSH

sean:

	*  A - ordenador al que me quiero conectar desde «donde sea»
	*  B - ordenador con acceso «pleno»
	*  C - cualquier ordenador
	*  A y C pueden estar sin acceso público SSH

el método sería:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:security:openssl?rev=1638598409&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-04T06:13:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>openssl</title>
        <link>https://miguelangel.torresegea.es/wiki/web:security:openssl?rev=1638598409&amp;do=diff</link>
        <description>openssl

	*  Certificados, certificaciones, Entidades de Certificación
	*  &lt;https://www.sslshopper.com/article-most-common-openssl-commands.html&gt;

utils

	*  Remove a passphrase from a private key:
openssl rsa -in privateKey.pem -out newPrivateKey.pem



check

	*  Check a Certificate Signing Request (CSR):
openssl req -text -noout -verify -in CSR.csr


	*  Check a private key:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:mysql:users:start?rev=1635245521&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-26T10:52:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>manejo de usuarios en MySQL</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:mysql:users:start?rev=1635245521&amp;do=diff</link>
        <description>manejo de usuarios en MySQL

bbdd mysql user

para acceder al servidor desde una máquina local


shell&gt; mysql --user=root mysql -p


crear cuentas de usuario

permisos y que implican


# ver usuarios creados
SELECT user,authentication_string,plugin,host FROM mysql.user;

# cambiar root
ALTER USER &#039;root&#039;@&#039;localhost&#039; IDENTIFIED WITH mysql_native_password BY &#039;password&#039;;

# guardar los cambios
FLUSH PRIVILEGES;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:aptget:apt:unattended-upgrades?rev=1748353820&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-27T13:50:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>apt unattended-upgrades</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:aptget:apt:unattended-upgrades?rev=1748353820&amp;do=diff</link>
        <description>apt unattended-upgrades

	*  &lt;https://www.linuxadictos.com/guia-completa-sobre-actualizaciones-desatendidas-en-debian.html&gt;

install

sudo apt install unattended-upgrades

sudo dpkg-reconfigure -plow unattended-upgrades

configuración

	*  permitir ciertos orígenes: 

Unattended-Upgrade::Allowed-Origins {
    &quot;${distro_id}:${distro_codename}-security&quot;;
};</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:mysql?rev=1637060139&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-16T10:55:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vagrant mysql</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:mysql?rev=1637060139&amp;do=diff</link>
        <description>vagrant mysql

vagrantfile

los ficheros necesarios se han servido desde un pequeño contenedor (por restricciones de licencia o firewall),

docker run -d -p 9090:80 -v $PWD:/http tiagoad/nginx-index

con docker

(problema sin resolver, la VM arranca bien el mysql la primera vez, pero no las posteriores)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s14?rev=1648497231&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-28T19:53:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DevOps Sesión 14 (2022-03-28) Ansible + ELK</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s14?rev=1648497231&amp;do=diff</link>
        <description>DevOps Sesión 14 (2022-03-28) Ansible + ELK

Documentación relacionada

	*  ./5-Topic 705 Service Operations
	*  ./5-Topic 705 Service Operations/MV-ELK formacion vmwareplayer.txt
	*  ./5-Topic 705 Service Operations/Clase Monitorizacion.txt

inventario dinámico Ansible</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile:examples:mariadbssl?rev=1637048170&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-16T07:36:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Dockerfile mariadb + SSL</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile:examples:mariadbssl?rev=1637048170&amp;do=diff</link>
        <description>Dockerfile mariadb + SSL

dockerfile

Dockerfile


FROM mariadb:latest

ADD --chown=mysql:root ./data/certs/server-key.pem /etc/mysql/certs/server.key
ADD ./data/certs/server-cert.pem /etc/mysql/certs/server.crt
ADD ./data/certs/ca-cert.pem /etc/mysql/certs/CA.crt
ADD ./data/certs/ssl.cnf /etc/mysql/conf.d/ssl.cnf</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.7?rev=1699216429&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:33:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.7 Encapsulation</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.7?rev=1699216429&amp;do=diff</link>
        <description>2.7 Encapsulation

Attribute encapsulation

Encapsulation is one of the fundamental concepts in object-oriented programming (amongst inheritance, polymorphism, and abstraction). It describes the idea of bundling attributes and methods that work on those attributes within a class.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:ficheros-openssl?rev=1537865861&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-25T08:57:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ficheros y openssl</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:ficheros-openssl?rev=1537865861&amp;do=diff</link>
        <description>ficheros y openssl

3:27 Ficheros y OpenSSL (I)

permite trabajar con ficheros, plantillas y directorios

	*  acl : establece y obtiene información de la listas de control de acceso
	*  archive : crea un fichero comprimido a partir de una lista de ficheros o estructura de directorios</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.8?rev=1699216442&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:34:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.8 Composition vs Inheritance - two ways to the same destination</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:2.8?rev=1699216442&amp;do=diff</link>
        <description>2.8 Composition vs Inheritance - two ways to the same destination

So far we&#039;ve been using and following the inheritance concept when modeling our classes to represent real-life issues. Inheritance is a great concept, one of the most important foundations of object-oriented programming that models a tight relation between two classes: the base class and the derived class, called a subclass.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:20200309?rev=1583786998&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-09T20:49:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>09/03/2020</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:20200309?rev=1583786998&amp;do=diff</link>
        <description>09/03/2020

librerias

	*  creación de librerías (npm install) para reutilizar en más de un proyecto

ng new myAngularLib --create-application=false

	*  un servicio

workspace

	*  nueva metodología de desarrollo de aplicaciones, no se crea la estructura clásica de directorios</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: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:utils:wakeonlan?rev=1688475485&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-07-04T12:58:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Wake On Lan (WOL)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:utils:wakeonlan?rev=1688475485&amp;do=diff</link>
        <description>Wake On Lan (WOL)

wakeonlan i magicpacket Windows

Per reiniciar/engegar ordinadors de forma remota fa falta que a l&#039;ordinador «remot»:

	*  A la BIOS de l&#039;ordinador fa falta que estigui activat l&#039;opció wakeonlan
	*  Normalment (si estan configurades) les targetes de xarxa, permeten un reinici via xarxa (wakeonlan). A Windows 7/10 és necessari activar el</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:lfs?rev=1777903516&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-04T14:05:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git LFS</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:lfs?rev=1777903516&amp;do=diff</link>
        <description>git LFS

git comando

Large File Storage/via: &lt;https://support.atlassian.com/bitbucket-cloud/docs/use-git-lfs-with-bitbucket/&gt;

install

sudo apt install git-lfs

setup (nuevos repos)

	*  instalación cliente:
git lfs install --local # si no se especifica --local, afecta a todos los repos de la sesión, con --local solo al actual

	*  configuración:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:submodule?rev=1752152518&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:01:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git submodulos</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:submodule?rev=1752152518&amp;do=diff</link>
        <description>git submodulos

git

clonar incluyendo submódulos

git clone --recurse-submodules -j8 &lt;url-git&gt;

git clone --recursive -j8 &lt;url-git&gt;
# -j8 solo disponible a partir de la 2.8

git clone --recursive &lt;url-git&gt;

si el repositorio ya estaba clonado:

git clone &lt;url-git&gt;
cd &lt;path-git-submodule&gt;
git submodule update --init --recursive</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion5?rev=1551708475&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-04T14:07:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sesión 5: vagrant, ansible</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion5?rev=1551708475&amp;do=diff</link>
        <description>Sesión 5: vagrant, ansible

Vagrant

	*  vagrant init
		*  vagrant init hashicorp/precise64

	*  vagrant up
	*  vagrant ssh
	*  ubicación imágenes vagrant: $HOME/.vagrand.d/boxes
	*  vagrant box list
	*  vagrant port &lt;maquina : listado puertos máquinas</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion8?rev=1586354266&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-08T13:57:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sesión 8 : kubernetes</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion8?rev=1586354266&amp;do=diff</link>
        <description>Sesión 8 : kubernetes

devops cursos k8s

katacoda

	*  &lt;https://www.katacoda.com/&gt;
	*  CoreDNS : DNS simple para trabajar como editando /etc/hosts y lo que no, a google

kubernetes

	*  master
		*  todo a través de la API
		*  etcd (lo que más se muere en entorno multimaster)
			*  en algunos casos pierde la coherencia, no se replica, hay que borrar los ficheros de etcd del nodo</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s4?rev=1663569952&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-19T06:45:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LPIC2 2021 Sesión 4 (2021-02-11) - systemd, journal</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s4?rev=1663569952&amp;do=diff</link>
        <description>LPIC2 2021 Sesión 4 (2021-02-11) - systemd, journal

Curso

	*  Documentación relacionada 202:
		*  Presentaciones/2020/201/202 - Arranque del Sistema.pdf
		*  /Material Practicas LPIC-2/LPIC-201/3-System Startup/SystemD/Resumen Systemd-SystemV.pdf</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s10?rev=1615309386&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-09T17:03:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LPIC2 2021 Sesión 10 (2021-03-04)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s10?rev=1615309386&amp;do=diff</link>
        <description>LPIC2 2021 Sesión 10 (2021-03-04)

Documentación relacionada:

	*  Manual Certificacion LPIC-2.pdf, pag XX
	*  Material Practicas LPIC-2/LPIC-202/
	*  Presentaciones/2020/202/
	*  gdrive://

Clase

Web Services

	*  DOC: Material Practicas LPIC-2/LPIC-202/2-Web Services/Apache/Resumen Apache.txt</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s13?rev=1615927023&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-16T20:37:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LPIC2 2021 Sesión 13 (2021-03-16)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s13?rev=1615927023&amp;do=diff</link>
        <description>LPIC2 2021 Sesión 13 (2021-03-16)

Documentación relacionada:

	*  Manual Certificacion LPIC-2.pdf, pag XX
	*  Material Practicas LPIC-2/LPIC-202/
	*  Presentaciones/2020/202/
	*  gdrive://

Clase

PAM

	*  DOC: Material Practicas LPIC-2/LPIC-202/6-Network Client Management/Modulos de autenticacion con conexion (PAM)/Presentacion PAM.pdf</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.3?rev=1703357345&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-23T18:49:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.3 Settling widgets in the window&#039;s interior</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.3?rev=1703357345&amp;do=diff</link>
        <description>1.3 Settling widgets in the window&#039;s interior

Settling widgets

A familiarity with the Button widget allows us to show you some ways of putting the widgets (not only the buttons) inside windows. There are more of them than just place(), which you learned about in the previous section. To be precise, there are</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.5?rev=1703359986&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-23T19:33:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.5 A simple GUI application</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.5?rev=1703359986&amp;do=diff</link>
        <description>1.5 A simple GUI application

Building a GUI application from scratch

Now we&#039;re going to build a very simple and rather useless GUI application. Does that sound weird? Maybe, but the application, when ready, will make you more accustomed to some tkinter</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:home?rev=1654849975&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-10T08:32:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>mis ficheros $HOME</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:home?rev=1654849975&amp;do=diff</link>
        <description>mis ficheros $HOME

.bash_profile


# ~/.bash_profile: executed by bash(1) for login shells.

# quita el permiso de excritura al others
umask 002

#prompt por defecto
PS1=&#039;[\h]$ &#039;

# prompt de color en 2 lineas
if [ -f &quot;.prompt&quot; ]; then
  export PS1=`cat .prompt`
fi

if [ -f &quot;.bashrc&quot; ]; then
  source ~/.bashrc
fi

# variables de entorno
export EDITOR=&quot;vim&quot;
export LANG=en_US.ISO-8859-15

# echo &quot;&gt; .bash_profile&quot;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s8?rev=1646839711&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-09T15:28:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DevOps Sesión 8 (2022-03-07) k8s</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s8?rev=1646839711&amp;do=diff</link>
        <description>DevOps Sesión 8 (2022-03-07) k8s

Documentación relacionada

	*  2-Despliegue de Aplicaciones Kubernetes/1-Laboratorios Kubernetes 2020.pdf
	*  2-Despliegue de Aplicaciones Kubernetes/2-Laboratorios basicos kubernetes .pdf
	*  2-Despliegue de Aplicaciones Kubernetes/Laboratorio kubernetes Curso-DevOps.txt línea 481</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:4.3?rev=1699216505&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:35:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>4.3 Making Python objects persistent using the shelve module</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m1:4.3?rev=1699216505&amp;do=diff</link>
        <description>4.3 Making Python objects persistent using the shelve module

Serialization of Python objects using the shelve module

As you remember, the pickle module is used for serializing objects as a single byte stream. Both serializing and deserializing parties must abide by the order of all the elements placed into a file or database, or sent via a network.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:pip?rev=1770810163&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-11T11:42:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python pip</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:pip?rev=1770810163&amp;do=diff</link>
        <description>Python pip

python

	*  &lt;https://pypi.org/&gt;
	*  &lt;https://pip.pypa.io/en/stable/installing/&gt;
	*  instalando módulos en python: &lt;https://docs.python.org/es/3/installing/index.html#installing-index&gt;
	*  compartir modulos: &lt;https://packaging.python.org/en/latest/tutorials/packaging-projects/&gt;

python -m pip install &lt;paquete&gt;

python -m pip install &lt;paquete&gt;==2.6.0

python -m pip install --upgrade &lt;paquete&gt;

pip -m pip uninstall &lt;paquete&gt; [&lt;paquete&gt;...]

python -m pip show &lt;paquete&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:aptget:repositorios?rev=1525130570&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-04-30T23:22:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>otros repositorios</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:aptget:repositorios?rev=1525130570&amp;do=diff</link>
        <description>otros repositorios

debian


  # Google software repository http://www.google.com/linuxrepositories/apt.html
  deb http://dl.google.com/linux/deb/ stable non-free
  # Unofficial Debian packages
  # http://packages.kirya.net/
  # deb http://packages.kirya.net/debian/ unstable main contrib non-free
  # deb-src http://packages.kirya.net/debian/ unstable main contrib non-free</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:locales?rev=1594132941&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-07T14:42:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Locales</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:locales?rev=1594132941&amp;do=diff</link>
        <description>Locales

linux bash

variables

	*  LANG : establece el valor del lenguaje (y de LC_*) usado en el sistema
	*  LC_ALL : establece el valor de todas las categorias y tiene prefereencia
	*  definidos por POSIX
		*  LC_COLLATE : funciones de cadena
		*  LC_CTYPE : establece el comportamiento de funciones que tengan que ver con la convención de mayúsculas/minúsculas</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:lsof?rev=1594280658&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-09T07:44:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>lsof</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:lsof?rev=1594280658&amp;do=diff</link>
        <description>lsof

El comando lsof es un comando integrado en Linux gracias al cual podemos obtener información sobre los archivos que se abren por procesos en el sistema, es decir, lsof se encarga de listar los ficheros abiertos en la distribución de Linux usada.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:install-10?rev=1626716772&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-07-19T17:46:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>debian 10 &quot;Buster&quot;</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:install-10?rev=1626716772&amp;do=diff</link>
        <description>debian 10 &quot;Buster&quot;

setup

setup inicial


sudo apt update &amp;&amp; sudo apt upgrade -y
sudo apt install fonts-powerline \
    zsh \
    curl \
    wget \
    vim \
    git \
    mc \
    ncdu \
    fonts-powerline \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg2 \
    software-properties-common \
    zsh-syntax-highlighting \
    rsync
sh -c &quot;$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)&quot;
git clone https://github.com/zsh-users/zs…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:filesystem:luks?rev=1748937926&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-03T08:05:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LUKS: sistema encriptación particiones debian</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:filesystem:luks?rev=1748937926&amp;do=diff</link>
        <description>LUKS: sistema encriptación particiones debian

	*  &lt;https://www.thegeekstuff.com/2016/03/cryptsetup-lukskey/&gt;
	*  &lt;https://debianhackers.net/truco-cambiar-la-contrasena-de-una-particion-cifrada-en-debian-stretch/&gt;

setup


lsblk --fs
sudo cryptsetup luksFormat /dev/sdbX # elimina les dades existents
sudo cryptsetup luksOpen /dev/sdbX &lt;NOM_LOGIC&gt;
sudo mkfs.ext4 /dev/mapper/&lt;NOM_LOGIC&gt;


mount &amp; umount


#sudo cryptsetup luksOpen /dev/sdb1 &lt;NOM_LOGIC&gt; 	# demana contraseña
sudo cryptsetup open /dev…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:tcpip:iptables?rev=1587317855&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-19T17:37:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>iptables</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:tcpip:iptables?rev=1587317855&amp;do=diff</link>
        <description>iptables

uso

mantener las conexiones ya establecidas, incluso conmigo mismo:

# iptables -A INPUT -m commtrack --ctstate RELATED,ESTABLISHED -j ACCEPT

# iptables -A INPUT -s 127.0.0.1 -j ACCEPT

descartar todos los paquetes entrantes:

# iptables -P INPUT DROP</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/software:utils:enchive?rev=1727891399&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-02T17:49:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>enchive</title>
        <link>https://miguelangel.torresegea.es/wiki/software:utils:enchive?rev=1727891399&amp;do=diff</link>
        <description>enchive

	*  pequeña utilidad de encriptación basada en clave pública/privada con encriptación basada en salsa20 (curva elíptica)
	*  a destacar:
		*  ligero y rápido
		*  multiplataforma
		*  regeneración private key a partir de una frase

	*  más información:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/sotfware:utils:youtube-dl?rev=1623255364&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-06-09T16:16:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>youtube-dl</title>
        <link>https://miguelangel.torresegea.es/wiki/sotfware:utils:youtube-dl?rev=1623255364&amp;do=diff</link>
        <description>youtube-dl

	*  download youtube videos from CLI
	*  &lt;https://github.com/ytdl-org/youtube-dl&gt;
	*  &lt;https://youtube-dl.org/&gt;

install


sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl


config

	*  /etc/youtube-dl.conf
	*  ~/.config/youtube-dl/config</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:ia:start?rev=1751524403&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-03T06:33:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>IA</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:ia:start?rev=1751524403&amp;do=diff</link>
        <description>IA

prompts

	*  Domina cualquier concepto en minutos: 
Explícale [tema] a alguien que lo escucha por primera vez. Usa ejemplos reales, errores comunes y una explicación paso a paso. Añade un pequeño test para comprobar comprensión.

	*  Ruta express para aprender algo nuevo:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:python:openpyxl?rev=1654853319&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-10T09:28:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Curso python + openpyxl (excel)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:python:openpyxl?rev=1654853319&amp;do=diff</link>
        <description>Curso python + openpyxl (excel)

python

	*  udemy
	*  &lt;https://www.udemy.com/course/python-learn-how-to-read-write-and-manipulate-excel-files/learn/lecture/8080232#overview&gt;

2.Python - Working with Sheet


import openpyxl
import os

os.getcwd()
os.chdir(path)

wb=openpyxl.load_workbook(&#039;...xlsx&#039;)
type(wb)
wb.get_sheet_names()



sheet=wb.get_sheet_by_name(&#039;pestanya&#039;)
type(sheet)
sheet.title
sheet.max_row
sheet.max_column
sheet.title=&#039;nou nom&#039;
wb.save(&#039;file.xlsx&#039;)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:filesystem:glusterfs:vagrantpoc?rev=1637060405&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-16T11:00:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>glusterfs vagrant POC</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:filesystem:glusterfs:vagrantpoc?rev=1637060405&amp;do=diff</link>
        <description>glusterfs vagrant POC

vagrant vagrantfile

tests

	*  3 nodos, cae 1
		*  los otros dos continúan funcionando
		*  al reincorporarse el tercero, restituye la información

	*  2 nodos, añadir tercero posteriormente
		*  gluster peer probe node3
		*  gluster volume add-brick gv0 replica 3 node3:/exports/sdb1/brick1</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:docker-compose:casosuso?rev=1729352932&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-19T15:48:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker-compose casos de uso</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:docker-compose:casosuso?rev=1729352932&amp;do=diff</link>
        <description>docker-compose casos de uso

docker-compose

mariadb + adminer


version: &#039;3.9&#039;

services:
  db:
    image: mariadb
    ports:
      - &quot;3306:3306&quot;
    volumes:
      - ./data/db:/var/lib/mysql
    env_file:
      - db.env
    container_name: mariadb

  adminer:
    image: adminer
    restart: unless-stopped
    ports:
      - 8080:8080</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:tomcat?rev=1637060221&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-16T10:57:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vagrant tomcat (7/8) con JDK (7/8)</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:tomcat?rev=1637060221&amp;do=diff</link>
        <description>vagrant tomcat (7/8) con JDK (7/8)

vagrantfile

los ficheros necesarios se han servido desde un pequeño contenedor (por restricciones de licencia o firewall),

docker run -d -p 9090:80 -v $PWD:/http tiagoad/nginx-index

Vagrantfile


Vagrant.configure(&quot;2&quot;) do |config|
  config.vm.box = &quot;peru/ubuntu-18.04-desktop-amd64&quot;
  config.vm.box_version = &quot;20190401.01&quot;
  config.vm.provision &quot;file&quot;, source: &quot;tomcat.service&quot;, destination: &quot;/tmp/tomcat.service&quot;

  config.vm.provider :virtualbox do |v|
    v.…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:security:wordpress:seguridad?rev=1761117348&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-22T07:15:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>WordPress, webinar seguridad</title>
        <link>https://miguelangel.torresegea.es/wiki/web:security:wordpress:seguridad?rev=1761117348&amp;do=diff</link>
        <description>WordPress, webinar seguridad

	*  Nominalia: &lt;https://www.escueladeinternet.com/&gt;
	*  &lt;https://www.escueladeinternet.com/seguridad-wordpress-hackeo&gt;

vulnerabilidades

	*  en themes o plugins
	*  en núcleo WP
	*  PHP -&gt; versión &gt; 8.1
	*  robo credenciales/suplantación
	*  fugas de información (logs de error que exponen información sensible)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion3?rev=1551708345&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-04T14:05:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sesión 3 : swarm</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion3?rev=1551708345&amp;do=diff</link>
        <description>Sesión 3 : swarm

varios

	*  spreed brain?:
		*  3 nodos develop
		*  5 nodos producción

	*  sudo hostnamectl set-hostname &lt;nombre_máquina&gt;
	*  docker mysql: importar los fichero SQL de la carpeta /docker-entrypoint-initdb.d/ automaticamente
		*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion13?rev=1637929538&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-26T12:25:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sesión 13 ELK</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion13?rev=1637929538&amp;do=diff</link>
        <description>sesión 13 ELK

Container Orchestration Rosetta Stone
        unidad mínima  Gestor de disponibilidad
controllers  expose
services  webservices
exterior  Swarm  contenedor                               Docker Service</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.8?rev=1703788552&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-28T18:35:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.8 Interacting with widget methods</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.8?rev=1703788552&amp;do=diff</link>
        <description>1.8 Interacting with widget methods

Widget methods

Widgets have methods – you’ve met some of them already. Now we’re going to show you a few more of them, and we’ll start with two which seem to be very specific. We can even say that the sense of their existence is very closely bound to the unique features of</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.9?rev=1703789305&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-28T18:48:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.9 Looking at variables</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.9?rev=1703789305&amp;do=diff</link>
        <description>1.9 Looking at variables

Variables

To implement some of its functions, Tkinter uses a very special kind of variable called an observable variable. This variable works like a regular variable (i.e., it’s able to store values which are accessible to the outside world) but there is something more – any change of the variable’s state can be</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.2?rev=1703791448&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-28T19:24:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.2 A small lexicon of widgets - Part 2</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.2?rev=1703791448&amp;do=diff</link>
        <description>2.2 A small lexicon of widgets - Part 2

Non-clickable widgets

The next four widgets fall into the non-clickable category. They’re designed to present textual information and don’t have a command property, although you can use bind() to simulate similar behavior.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:windows?rev=1537866185&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-25T09:03:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Windows</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:windows?rev=1537866185&amp;do=diff</link>
        <description>Windows

3:41 Windows (I)

	*  win_acl : permisos ficheros/directorios, a usuario/grupos
	*  win_chocolatey : repositorio paquetes
	*  win_command : ejecución comandos
	*  win_copy : copiar fichero a nodos remotos
	*  win_environment : modificar variables entorno</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:vim:comandos?rev=1604787919&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-07T22:25:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vim</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:vim:comandos?rev=1604787919&amp;do=diff</link>
        <description>vim



linux

/vía: &lt;https://www.catswhocode.com/blog/vim-cheat-sheet-for-2016&gt;

/vía:&lt;http://www.catswhocode.com/blog/130-essential-vim-commands&gt;

info

	*  .vimrc
	*  1 al día por mlechon

Plugins/extensiones/personalización
&lt;https://kadekillary.work/post/statusline/&gt;&lt;https://gist.github.com/millermedeiros/1262085&gt;
	*  gestión/instalación plugins en sus propios directorios (runtimepath): &lt;https://github.com/tpope/vim-pathogen&gt;
		*  crear dos directorios: ~/.vim/autoload (ubicación vim-pathogen…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion4?rev=1740066882&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-20T15:54:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ethical Hacker : sesión 4</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion4?rev=1740066882&amp;do=diff</link>
        <description>Ethical Hacker : sesión 4

	*  Ethical Hacker : sesión 4

clase

	*  Modulo 14
	*  Modulo 15
	*  Modulo 16
	*  Modulo 17

Modulo 14: Hacking Web Applications

	*  Amenazas
	*  OWASP - &lt;https://owasp.org&gt;
		*  asociación sin ánimo de lucro
		*  proyectos relacionados con seguridad
		*  Coraza - ModSecurity - set reglas programables</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.1?rev=1703790579&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-28T19:09:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.1 A small lexicon of widgets - Part 1</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:2.1?rev=1703790579&amp;do=diff</link>
        <description>2.1 A small lexicon of widgets - Part 1

A small lexicon of widgets

Now we’re ready to present a systematized set of some of the tkinter widgets. We aren’t able to describe all of them, however – it would bloat our course to an unmanageable size. We’re convinced that our collection is large enough to make you familiar with</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/criptografia:wireguard:start?rev=1737045377&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-16T16:36:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wireguard</title>
        <link>https://miguelangel.torresegea.es/wiki/criptografia:wireguard:start?rev=1737045377&amp;do=diff</link>
        <description>wireguard

	*  Raspberry 4 (192.168.24.70) -&gt; VPN Wireguard + DNS -&gt; pivpn basado en wireguard

simple network interface


wg genkey &gt; private
wg pubkey &lt; private # client

sudo ip link add dev wg0 type wireguard
ip address add dev wg0 192.168.2.1/24
sudo wg set wg0 private-key ./private
sudo ip link set wg0 up

wg

# machine A
wg set wg0 peer &lt;PUB-KEY-MACHINE-B&gt; allowed-ips 10.0.0.1/32 endpoint &lt;IP-MACHINE-B&gt;:&lt;PORT&gt;

#machine B
wg set wg0 peer &lt;PUB-KEY-MACHINE-A&gt; allowed-ips 10.0.0.2/32 endpoin…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:decorators?rev=1726469312&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-09-16T06:48:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python decoradores</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:decorators?rev=1726469312&amp;do=diff</link>
        <description>Python decoradores

/via: &lt;https://medium.com/@LuisMBaezCo/decoradores-con-clases-y-funciones-en-python-2fafb22dba43&gt;

	*  &lt;https://codigofacilito.com/articulos/decoradores-python&gt;

Decorador mediante una función


def decorator(func):
  print(&quot;Decorator&quot;)
  return func

@decorator
def Hello():
  print(&quot;Hello World&quot;)

Hello() 
# [Output]:
# Decorator
# Hello World


Decorador mediante dos funciones</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:aptget:aptitude?rev=1566804919&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-26T07:35:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>aptitude</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:aptget:aptitude?rev=1566804919&amp;do=diff</link>
        <description>aptitude

	*  elimina paquete, paquetes que queden huérfanos asociados y ficheros de configuración:
aptitude purge

	*  actualizar lista de paquetes:
aptitude update

	*  actualiza paquetes ya instalados:
aptitude update

	*  borrar ficheros que ERAN necesarios para la instalación:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:grub?rev=1697535310&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-10-17T09:35:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>grub</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:grub?rev=1697535310&amp;do=diff</link>
        <description>grub

añadir otros OS


sudo os-prober # sudo apt install os-prober
sudo update-grub


solución de problemas

en mi caso, en una instalación con W10 y SecureBoot activado en el primer intento de instalación.

boot-repair


sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:filesystem:ddrescue?rev=1755680310&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-20T08:58:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Recuperación disco, clonación en imagen</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:filesystem:ddrescue?rev=1755680310&amp;do=diff</link>
        <description>Recuperación disco, clonación en imagen

crear imagen con dd

dd if=/dev/sdX of=file.img

crear imagem con ddrescue

	*  en caso de problemas de lectura con dd
	*  instalación: 
sudo apt install gddrescue

	*  uso: 
ddrescue /dev/sdX imagen.img log-file</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:ssh:keygen?rev=1777967033&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:43:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ssh-keygen</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:keygen?rev=1777967033&amp;do=diff</link>
        <description>ssh-keygen

linux ssh

creación y distribución de llaves

	*  crear llave 2048 bits:

ssh-keygen -b 2048 -f /home/user/.ssh/myKey

ssh-keygen -t rsa -f /home/user/.ssh/myKey

ssh-keygen -t ed25519 -f /home/user/.ssh/myKey -C &quot;comentario en clave&quot;

	*  asegurarnos que el directorio</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:install?rev=1764921530&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-05T07:58:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ZSH install</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:install?rev=1764921530&amp;do=diff</link>
        <description>ZSH install

	*  &lt;https://geekytheory.com/como-instalar-oh-my-zsh-en-ubuntu&gt;
	*  &lt;https://blog.armesto.net/sacale-el-maximo-partido-a-tu-terminal-con-zsh/&gt;
	*  MAC: &lt;https://sourabhbajaj.com/mac-setup/iTerm/zsh.html&gt;

install

	*  
sudo apt install -y fonts-powerline fonts-font-awesome zsh

	*  instalación Oh My ZSH: 
sh -c &quot;$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)&quot;

	*  establece por defecto:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:utils:dislocker?rev=1628172551&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-08-05T14:09:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dislocker</title>
        <link>https://miguelangel.torresegea.es/wiki/software:utils:dislocker?rev=1628172551&amp;do=diff</link>
        <description>dislocker

	*  
sudo apt install dislocker

	*  
mkdir -p /media/{bitlocker,bitlockeropen}

	*  
lsblk, fdisk -l

	*  
sudo dislocker /dev/sdc1 -u&lt;PASSWORD&gt; -- /media/bitlocker
sudo mount -o loop /media/bitlocker/dislocker-file /media/bitlockeropen</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:utils:smart?rev=1674464584&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-23T09:03:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SMART</title>
        <link>https://miguelangel.torresegea.es/wiki/software:utils:smart?rev=1674464584&amp;do=diff</link>
        <description>SMART

	*  
sudo apt install smartmontools

	*  comprobar si SMART activo:
sudo smartctl -i /dev/sda

	*  activarlo si no lo está:
sudo smartctl -s on /dev/sda

	*  atributos: 
sudo smartctl -a /dev/sda

	*  test corto: 
sudo smartctl -t short /dev/sda</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:tls?rev=1638597822&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-04T06:03:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker daemon TLS</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:tls?rev=1638597822&amp;do=diff</link>
        <description>docker daemon TLS

	*  create directories:
mkdir -p ${HOME}/.docker
mkdir -p /etc/docker/certs

	*  create certificates:

docker run --rm -v $(pwd)/.docker:/certs paulczar/omgwtfssl
sudo cp ~/.docker/ca.pem /etc/docker/ssl/ca.pem
chown -R $USER ~/.docker
# añadir IPs correspondientes
docker run --rm -v /etc/docker/ssl:/server \
    -v $(pwd)/.docker:/certs \
    -e SSL_IP=127.0.0.1,172.17.8.101 \
    -e SSL_DNS=docker.local -e SSL_KEY=/server/key.pem \
    -e SSL_CERT=/server/cert.pem paulczar/o…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:volumes?rev=1585355244&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-28T00:27:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker volumes</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:volumes?rev=1585355244&amp;do=diff</link>
        <description>docker volumes

/via: &lt;https://docs.docker.com/storage/volumes/&gt;


	*  bind mount: montaje clásico con -v sobre una estructura de directorios
	*  tmpfs mount: almacenar data no persistente
	*  volume:
		*  gestionado desde cli docker
		*  trasversal al OS


--volume o --mount

	*  desde la versión 17.06</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:diff?rev=1761933636&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-31T18:00:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git DIFF</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:diff?rev=1761933636&amp;do=diff</link>
        <description>git DIFF

git comando

/via: &lt;https://devconnected.com/how-to-compare-two-git-branches/&gt;

diferencias en ficheros

	*  mostrar diferencias entre working area y último commit:

git diff @ # @ = HEAD


	*  mostrar ficheros cambiados respecto a un commit:

git show --stat --oneline &lt;commit-id&gt;
git diff-tree --no-commit-id --name-only -r &lt;commit-id&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:dotfiles?rev=1777903354&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-04T14:02:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>.git*</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:dotfiles?rev=1777903354&amp;do=diff</link>
        <description>.git*

git

.gitconfig

	*  ~/.gitconfig:


[alias]
        ck = checkout
        s = status
        l = log --oneline --max-count=10
        ll = log --pretty=format:&quot;%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]&quot; --decorate --numstat
        lg = log --oneline --decorate --graph
        ls = log --pretty=format:&quot;%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]&quot; --decorate
        alias = ! git config --get-regexp ^alias\\. | sed -e s/^alias\\.// -e s/\\ /\\ =\\ /
        a = add
        b = branc…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:rejected?rev=1771248690&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-16T13:31:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git &quot;rejected&quot;</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:rejected?rev=1771248690&amp;do=diff</link>
        <description>git &quot;rejected&quot;

git

Cuando has olvidado hacer un «pull» antes de hacer tu «push»

manual

	*  deshacer el commit realizado y dejarlo en el stage:
git reset --soft HEAD~1

	*  guardar temporalmente los cambios en la «stash»:
git stash

	*  recuperar los cambios del remoto:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:server?rev=1615279052&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-09T08:37:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git repo server</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:server?rev=1615279052&amp;do=diff</link>
        <description>git repo server

seguridad

protocolos

&lt;https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols#The-HTTP/S-Protocol&gt;

	*  local
	*  http(s)
		*  Smart HTTP
		*  Dumb HTTP

	*  ssh
	*  git

ssh

	*  git-shell
		*  usermod -s /usr/bin/git-shell &lt;username&gt;

	*  /etc/ssh/sshd_config:

Match User git
    ForceCommand /usr/bin/git
    AllowTCPForwarding no
    X11Forwarding no</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:security:letsencrypt?rev=1777889759&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-04T10:15:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Let&#039;s Encrypt</title>
        <link>https://miguelangel.torresegea.es/wiki/web:security:letsencrypt?rev=1777889759&amp;do=diff</link>
        <description>Let&#039;s Encrypt

info

	*  User Guide
	*  &lt;https://letsencrypt.org/getting-started/&gt;
	*  certbot
		*  instalación: &lt;https://certbot.eff.org/docs/install.html&gt;
		*  método manual: &lt;https://certbot.eff.org/docs/using.html#manual&gt;
		*  renovación:
			*  &lt;https://certbot.eff.org/docs/using.html#re-creating-and-updating-existing-certificates&gt;
			*  ? &lt;https://certbot.eff.org/docs/using.html#id19&gt;

		*  cli : &lt;https://certbot.eff.org/docs/using.html#certbot-command-line-options&gt;

	*  &lt;https://www.adicto…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/windows:activacion:start?rev=1752739212&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-17T08:00:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Windows activación</title>
        <link>https://miguelangel.torresegea.es/wiki/windows:activacion:start?rev=1752739212&amp;do=diff</link>
        <description>Windows activación

activación

2025

	*  &lt;https://www.teknofilo.com/hackers-logran-activacion-permanente-de-windows-y-office-con-una-nueva-herramienta/&gt;
	*  &lt;https://github.com/massgravel/Microsoft-Activation-Scripts&gt;
		*  W7-W11, Office, WServer
		*  Download:
			*  &lt;https://massgrave.dev/genuine-installation-media&gt;
			*  &lt;https://gravesoft.dev/office_c2r_links#spanish-es-es&gt;
			*  MAC: &lt;https://massgrave.dev/office_for_mac&gt;
			*  file (2025-07-17): 

		*  Act (powershell): 
irm https://get.ac…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/windows:cmd:start?rev=1744706346&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-15T08:39:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Windows: CMD</title>
        <link>https://miguelangel.torresegea.es/wiki/windows:cmd:start?rev=1744706346&amp;do=diff</link>
        <description>Windows: CMD

windows

	*  Windows: comandos básicos desde cmd

shutdown

	*  restart: /r
	*  shutdown: /s
	*  force: /f
	*  temporizador: /t &lt;secs&gt; (incluye /f)
	*  cancelar: /a
	*  /via: &lt;https://www.howtogeek.com/512012/how-to-shut-down-your-windows-10-pc-using-command-prompt/&gt;

parámetros .bat

&lt;https://ss64.com/nt/syntax-args.html&gt;

	*  %1..%9 : parámetros por orden (solo se pueden referenciar 9 parámetros directamente)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:libros:docker-sec-dev-ops:cap6?rev=1638747527&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-05T23:38:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>[Docker SecDevOps] Capítulo 5 : Docker Swarm</title>
        <link>https://miguelangel.torresegea.es/wiki/info:libros:docker-sec-dev-ops:cap6?rev=1638747527&amp;do=diff</link>
        <description>[Docker SecDevOps] Capítulo 5 : Docker Swarm

	*  gestor de servidores y orquestación embebido en el motor de docker
	*  managers y workers
	*  cuando se define un servicio, se define el estado (replicas) y docker swarm se encarga de mantenerlo en ese estado.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:git:ramas?rev=1531040629&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-07-08T09:03:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ramas</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:git:ramas?rev=1531040629&amp;do=diff</link>
        <description>ramas

A diferencia de otros sistemas de control de versiones, las ramas permiten trabajar a partir de una instantánea en paralelo, sin tener impacto sobre el código del cual se generó la instantánea.

Las Ramas no son más que “punteros” a una determinada instantánea:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s12?rev=1615496151&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-11T20:55:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LPIC2 2021 Sesión 12 (2021-03-11)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s12?rev=1615496151&amp;do=diff</link>
        <description>LPIC2 2021 Sesión 12 (2021-03-11)

Documentación relacionada:

	*  Manual Certificacion LPIC-2.pdf, pag XX
	*  Material Practicas LPIC-2/LPIC-202/
	*  Presentaciones/2020/202/
	*  gdrive://

Clase

NFS

	*  DOC: (pag 219)
	*  DOC: Material Practicas LPIC-2/LPIC-202/3-File Sharing/2-NFS/1-Configuración de servidor NFS en RedHat 7.pdf</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:json:start?rev=1585124609&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-25T08:23:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>json</title>
        <link>https://miguelangel.torresegea.es/wiki/development:json:start?rev=1585124609&amp;do=diff</link>
        <description>json

development addendum

install (raspberry)


cd /tmp
wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-1.5.tar.gz
tar xfvz jq-1.5.tar.gz
cd jq-1.5
./configure &amp;&amp; make &amp;&amp; sudo make install


tutorials

	*  &lt;https://linuxhint.com/bash_jq_command/&gt;

jq (shell)

selección


{
  &quot;ACTION&quot;: &quot;domain.list&quot;,
  &quot;DATA&quot;: [
    {
      &quot;TYPE&quot;: &quot;slave&quot;,
      &quot;AXFR_IPS&quot;: &quot;none&quot;,
      &quot;DOMAIN&quot;: &quot;domain1.com&quot;,
      &quot;TTL_SEC&quot;: 0,
      &quot;SOA_EMAIL&quot;: &quot;&quot;,
      &quot;DOMAINID&quot;: 11111,
      &quot;DESCRIPT…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:seguridad:sadservers?rev=1716904318&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-28T13:51:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Linux sadservers</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:seguridad:sadservers?rev=1716904318&amp;do=diff</link>
        <description>Linux sadservers

&quot;Saint John&quot;: what is writing to this log file?

	*  ps auxf
	*  lsof /path/to/file
	*  fuser /path/to/file
	*  pwdx PID: pwd del fichero PID


1. You can use ps to list all processes and see if you see something related, for example with: ps auxf. Ignore system processes [in brackets].

A better way is to use the command to list open files: lsof.

2. Find the name (first column) and Process ID (PID, second column) of the process related to /var/log/bad.log by running lsof and …</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:dockerswarm:guide?rev=1638873892&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-07T10:44:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker swarm: official guide</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:dockerswarm:guide?rev=1638873892&amp;do=diff</link>
        <description>docker swarm: official guide

devops docker swarm

	*  &lt;https://docs.docker.com/engine/swarm/swarm-tutorial/&gt;
		*  &lt;https://docs.docker.com/engine/install/debian/&gt;

	*  &lt;https://docs.docker.com/engine/swarm/swarm-tutorial/create-swarm/&gt;
	*  &lt;https://docs.docker.com/engine/swarm/swarm-tutorial/add-nodes/&gt;
	*  &lt;https://docs.docker.com/engine/swarm/swarm-tutorial/deploy-service/&gt;
	*  &lt;https://docs.docker.com/engine/swarm/swarm-tutorial/inspect-service/&gt;
	*  &lt;https://docs.docker.com/engine/swarm/swa…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:apache:htpasswd?rev=1730366682&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-31T09:24:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>.htpasswd</title>
        <link>https://miguelangel.torresegea.es/wiki/web:apache:htpasswd?rev=1730366682&amp;do=diff</link>
        <description>.htpasswd

es el fichero donde se ponen las relaciones de usuario y contraseña.

generar

AuthType Basic

	*  &lt;http://www.htaccesstools.com/htpasswd-generator/&gt;
	*  &lt;http://httpd.apache.org/docs/2.0/es/howto/auth.html&gt; &lt;- habría que mirar tema de grupos
	*  $ htpasswd &lt;opciones&gt; &lt;passfile&gt; &lt;user&gt; &lt;password&gt;
		*  opciones:
			*  -c crea un nuevo fichero, ojo, sobreescribe si existe uno con ese nombre</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:libros:javaoca:cap1?rev=1524915744&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-04-28T11:42:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Java OCA Capítulo 1</title>
        <link>https://miguelangel.torresegea.es/wiki/info:libros:javaoca:cap1?rev=1524915744&amp;do=diff</link>
        <description>Java OCA Capítulo 1

Entendiendo la estructura de una clase Java

comentarios

	*  1 línea:
//esto es un comentario de una sola línea

	*  múltiples líneas

/* un comentario
* con múltiples
* líneas
*/

	*  javadoc:

/** un comentario javadoc
* @author Miguel Angel Torres
*/</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:elasticsearch:instalacion?rev=1638218996&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-29T20:49:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ELK: Elasticserch (instalación y configuración)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:elasticsearch:instalacion?rev=1638218996&amp;do=diff</link>
        <description>ELK: Elasticserch (instalación y configuración)



	*  matriz OS/JVMs: &lt;https://www.elastic.co/support/matrix/show_os&gt;
	*  oracle JVM 1.8.0_131 o superior
	*  recomendable 64 bits
	*  la misma versión en todos los nodos

instalación

	*  Java:
sudo add-apt-repository ppa:webupd8team/java # obsoleto?
sudo apt update
sudo apt install oracle-java8-installer</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion3:sincara?rev=1740559016&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-26T08:36:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Apuntes SinCara sesion 3</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion3:sincara?rev=1740559016&amp;do=diff</link>
        <description>Apuntes SinCara sesion 3

Modulo 09

	*  El ser humano es el eslabón más débil de la cadena de la ciberseguridad
		*  &lt;https://www.xataka.com/robotica-e-ia/ai-pin-ha-llegado-a-sus-primeros-usuarios-conclusiones-horripilantes&gt; - AI Pin
		*  &lt;https://www.incibe.es/protege-tu-empresa/blog/luchando-ingenieria-social-el-firewall-humano&gt; - El Firewall Humano - La cadena de la ciberseguridad será tan fuerte como su eslabón más débil.

	*  La importancia de tus datos personales:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:start?rev=1771488008&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-19T08:00:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>PYTHON</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:start?rev=1771488008&amp;do=diff</link>
        <description>PYTHON

development python

doc

	*  Curso python (PCPP1) PUE 2023
	*  Curso python PUE 2022
	*  Curso python udemy

install

best practices

	*  entornos virtuales: Python: Entornos virtuales
	*  paquetes: Python pip
	*  instalar varias versiones python: &lt;https://medium.com/@julgq/instalando-m%C3%BAltiples-versiones-de-python-en-linux-ubuntu-20-04-2-lts-9f163c046cc5&gt;
	*  How to use Python’s py launcher for Windows: &lt;https://www.infoworld.com/article/3617292/how-to-use-pythons-py-launcher-for-wi…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:yaml:start?rev=1534151629&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-13T09:13:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>yaml</title>
        <link>https://miguelangel.torresegea.es/wiki/development:yaml:start?rev=1534151629&amp;do=diff</link>
        <description>yaml

development addendum

&lt;http://yaml.org/&gt;

conceptos básicos

	*  diccionarios: key: value
	*  listas: - item

elastic?

namespacing

	*  output.elasticsearch.index: ... 

output:
  elasticsearch:
    index: &#039;beat-%{[beat.version]}-%{+yyyy.MM.dd}&#039;


	*  filebeat.inputs.0.type: log

filebeat:
  inputs:
    - type: log</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:alias?rev=1536305720&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-07T07:35:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>alias</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:alias?rev=1536305720&amp;do=diff</link>
        <description>alias

linux bash
&lt;https://www.cyberciti.biz/tips/bash-aliases-mac-centos-linux-unix.html&gt;
creación


alias name=value
alias name=&#039;command&#039;
alias name=&#039;command arg1 arg2&#039;
alias name=&#039;/path/to/script&#039;
alias name=&#039;/path/to/script.pl arg1&#039;


desactivación (temporal)


## path/to/full/command
/usr/bin/clear
## call alias with a backslash ##
\c
## use /bin/ls command and avoid ls alias ##
command ls</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:arrays?rev=1539085719&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-09T11:48:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>arrays bash</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:arrays?rev=1539085719&amp;do=diff</link>
        <description>arrays bash



linux bash pendiente wiki

/via: &lt;http://www.thegeekstuff.com/2010/06/bash-array-tutorial/&gt;
&lt;http://wiki.bash&gt;-hackers.org/syntax/arrays?rev=1534920675&lt;https://www.artificialworlds.net/blog/2012/10/17/bash-associative-array-examples/&gt;
declaración e inicialización


declare -a array=(valor0 &#039;valor uno&#039; &#039;valor dos&#039;)



declare -A array=( [indice1]=valor0 [indice2]=&#039;valor uno&#039; [indice3]=&#039;valor dos&#039;)
# es necesario una versión 4+ de BASH para disponer de Arrays asociativos</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:ps1?rev=1536065962&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-04T12:59:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>PS1</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:ps1?rev=1536065962&amp;do=diff</link>
        <description>PS1

simples




export PS1=&quot;\[\e]0;\u@\h \w\a\]\[\e[00;33m\]\u\[\e[0m\]\[\e[00;37m\]@\[\e[0m\]\[\e[00;33m\]\h\[\e[0m\]\[\e[00;37m\]:\[\e[0m\]\[\e[00;34m\]\w\[\e[0m\]\[\e[00;37m\]\n\$ \[\e[0m\]&quot;





export PS1=&quot;\[$(tput sgr0)\]\033[38;5;15m\033[38;5;11m\u\[$(tput sgr0)\]\033[38;5;15m\033[38;5;15m@\[$(tput sgr0)\]\033[38;5;15m\033[38;5;11m\h\[$(tput sgr0)\]\033[38;5;15m\033[38;5;15m:\[$(tput sgr0)\]\033[38;5;15m\033[38;5;2m\w\[$(tput sgr0)\]\033[38;5;15m\033[38;5;15m\n\[$(tput sgr0)\]\\$\[$(tput…</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:impresion:km353?rev=1526927049&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-21T18:24:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Konica Minolta 353P</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:impresion:km353?rev=1526927049&amp;do=diff</link>
        <description>Konica Minolta 353P

instalación drivers (script PL)

	*  
# ./install.pl /etc/cups/cupsd.conf

 -&gt; no funciona


instalación drivers (manual)

	*  descomprimir dbhc203psc200en
	*  
# cp *.ppd /usr/share/cups/model

	*  
# chmod 644 /usr/share/cups/model/*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:remote-desktop:start?rev=1657278756&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-08T11:12:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Linux remote desktops</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:remote-desktop:start?rev=1657278756&amp;do=diff</link>
        <description>Linux remote desktops

GUACAMOLE

	*  &lt;https://guacamole.apache.org/releases/&gt;
	*  &lt;https://guacamole.apache.org/doc/gug/installing-guacamole.html&gt;

XRDP
OBSOLETO?
	*  &lt;https://www.tweaking4all.com/software/linux-software/use-xrdp-remote-access-ubuntu-14-04/&gt;
	*  &lt;https://c-nergy.be/blog/?p=16637&gt;
	*  &lt;https://help.clouding.io/hc/es/articles/360010657540-C%C3%B3mo-instalar-y-configurar-XRDP-en-Ubuntu&gt;
	*  &lt;https://forums.fedoraforum.org/showthread.php?314544-xrdp-quot-Listening-socket-is-in-wron…</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:tcpip:nfs?rev=1628965242&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-08-14T18:20:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>NFS</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:tcpip:nfs?rev=1628965242&amp;do=diff</link>
        <description>NFS

información

	*  &lt;http://es.tldp.org/Manuales-LuCAS/GARL2/garl2/x-087-2-nfs.html&gt;
	*  mount -t nfs nfs_volume local_dir options (se puede omitir -t nfs pq el formato de montaje es exclusivo de este protocolo)
		*  mount -t nfs vlager:/home /users

	*  cat /proc/filesystems -&gt; ha de aparecer «nfs»

puesta en marcha de server/client</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:tcpip:rutas?rev=1478863072&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-11-11T11:17:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rutas</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:tcpip:rutas?rev=1478863072&amp;do=diff</link>
        <description>rutas

manual temporal

$ ip route show

# ip route add 10.8.0.0/24 via 192.168.1.50 dev eth0

manual fijo


allow-hotplug eth0
iface eth0 inet static
  address 192.168.1.4        # este es mi caso
  netmask 255.255.255.0
  network 192.168.1.0
  broadcast 192.168.1.255
  gateway 192.168.1.1

### static routing ###
# añade una ruta a la red 10.0.0.0/8 a través del Gateway 10.9.38.65
  post-up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.9.38.65
  pre-down route del -net 10.0.0.0 netmask 255.0.…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:oh-my-zsh?rev=1776854742&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-22T10:45:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>oh-my-zsh</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:oh-my-zsh?rev=1776854742&amp;do=diff</link>
        <description>oh-my-zsh

potenciador de zsh con temas y plugins : &lt;https://ohmyz.sh/&gt;

install

	*  sh -c &quot;$(wget &lt;https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh&gt; -O -)&quot;

más: &lt;https://www.howtoforge.com/tutorial/how-to-setup-zsh-and-oh-my-zsh-on-linux/&gt;

	*  chsh -s $(which zsh) : cambiar shell a mano si no lo hace automaticamente

config

	*  ~/.oh-my-zsh/tools/theme_chooser.sh

internal plugins

	*  dotenv</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:apple:start?rev=1544222308&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-12-07T22:38:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Apple</title>
        <link>https://miguelangel.torresegea.es/wiki/software:apple:start?rev=1544222308&amp;do=diff</link>
        <description>Apple

ipod on linux

	*  &lt;https://www.dedoimedo.com/computers/linux-iphone-6s-ios-11.html&gt;
	*  &lt;https://www.howtoforge.com/linux_gtkpod_ipod&gt;

sudo apt-get install ideviceinstaller python-imobiledevice libimobiledevice-utils libimobiledevice6 libplist3 python-plist ifuse usbmuxd

idevicepair pair

usbmuxd -f -v

idevicepair pair

ifuse /media/iPhone/

systemctl enable usbmuxd
systemctl start usbmuxd</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tcpip:dns:bind9?rev=1578901282&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-13T07:41:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>bind9</title>
        <link>https://miguelangel.torresegea.es/wiki/tcpip:dns:bind9?rev=1578901282&amp;do=diff</link>
        <description>bind9

Comandos de interés

	*  axfr: emula la petición DNS de servidores secundarios a servidores DNS primarios
	*  host: peticiones de resolución DNS, pudiendo espicificar a que servidor.
		*  host [-t [ns,axfr,mx]] &lt;dominio&gt; [servidor DNS]
		*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tcpip:llpd:start?rev=1758620714&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-23T09:45:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LLDP</title>
        <link>https://miguelangel.torresegea.es/wiki/tcpip:llpd:start?rev=1758620714&amp;do=diff</link>
        <description>LLDP

Los switches NETGEAR obtienen esta información principalmente a través de un protocolo de capa 2 llamado LLDP (Link Layer Discovery Protocol). Algunos modelos también pueden usar el CDP (Cisco Discovery Protocol) para compatibilidad con equipos Cisco.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:start?rev=1750151077&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-17T09:04:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DOCKER</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:start?rev=1750151077&amp;do=diff</link>
        <description>DOCKER

devops info

related

+info

	*  dockerd
	*  Dockerfile
	*  docker-compose
	*  docker volumes
	*  docker TLS (OLD)
	*  docker daemon TLS
	*  docker context
	*  docker scan
	*  Dev Containers: &lt;https://www.youtube.com/watch?v=DkKs29etRis&gt;
	*  Health Check: &lt;https://atareao.es/podcast/tu-contenedor-docker-podria-estar-muerto-y-tu-sin-enterarte/&gt;

	*  &lt;https://tech.paulcz.net/blog/secure-docker-with-tls/&gt;
	*  &lt;https://gist.github.com/kekru/974e40bb1cd4b947a53cca5ba4b0bbe5&gt;
	*  &lt;https://blog…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:difftool?rev=1752152414&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:00:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git diff[tool]</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:difftool?rev=1752152414&amp;do=diff</link>
        <description>git diff[tool]

git

básicos


git diff @ # @ = HEAD



git show --stat --oneline &lt;commit-id&gt;
git diff-tree --no-commit-id --name-only -r &lt;commit-id&gt;


configuración difftool


#git config --global merge.tool kdiff3
#git config --global mergetool.kdiff3.path &quot;/usr/bin/kdiff3&quot;
#git config --global mergetool.kdiff3.trustExitCode false

git config --global --add diff.guitool kdiff3
git config --global difftool.kdiff3.path &quot;/usr/bin/kdiff3&quot;
git config --global difftool.kdiff3.trustExitCode false</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:singularity:start?rev=1697184224&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-10-13T08:03:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Singularity</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:singularity:start?rev=1697184224&amp;do=diff</link>
        <description>Singularity

.sif i cache

singularity pull hello-world.sif shub://vsoch/hello-world

singularity cache list [-v]

containers

singularity exec hello-world.sif /bin/echo Hello World!

singularity shell hello-world.sif

singularity shell hello-world.sif
Singularity&gt; whoami</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:start?rev=1749563482&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-10T13:51:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TERRAFORM</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:start?rev=1749563482&amp;do=diff</link>
        <description>TERRAFORM

devops info

	*  terraform AWS
	*  terraform azure

documentación

	*  Terraform cli
	*  terraform variables
	*  resources
	*  Terraform state
	*  terraform data source
	*  terraform modules

PoC

	*  Terraform workspace

related

enlaces documentación

	*  0.12: &lt;https://www.terraform.io/docs/configuration/index.html&gt;
	*  0.11: &lt;https://www.terraform.io/docs/configuration-0-11/interpolation.html: interpolación (referenciar variables, atributos de recursos, llamar funciones)&gt;

de inte…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:apache:certificados?rev=1640261109&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-23T12:05:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>certificados de seguridad (apache)</title>
        <link>https://miguelangel.torresegea.es/wiki/web:apache:certificados?rev=1640261109&amp;do=diff</link>
        <description>certificados de seguridad (apache)

conceptos

	*  .key -&gt; fichero conteniendo clave privada de un certificado
	*  .csr -&gt; fichero de petición para certificar por una entidad certificadora -&gt; Certificate Signing Request
	*  .crt -&gt; fichero firmado por la entidad certificadora, para instalar en el webserver</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:mysql:fechas:start?rev=1777357601&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-28T06:26:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>manejo de fechas en mysql</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:mysql:fechas:start?rev=1777357601&amp;do=diff</link>
        <description>manejo de fechas en mysql

bbdd mysql


SELECT now();  #   ejemplo:  &#039;2010-01-12 10:50:43&#039;



SELECT CURDATE();  # ejemplo: &#039;2010-01-12&#039;  #sin hora



SELECT curTime(); #Selecciona la hora



SELECT YEAR(NOW());  #Selecciona el año
SELECT MONTH (NOW()) as mes;  #Selecciona el mes
SELECT DAY(NOW()) as dia; #Selecciona el día 
SELECT TIME(NOW()) as hora;  #Selecciona la hora
SELECT LAST_DAY(NOW()); # Selecciona el ultimo dia del mes</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/tech:docker:docker-compose:start?rev=1765445462&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-11T09:31:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker-compose</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:docker-compose:start?rev=1765445462&amp;do=diff</link>
        <description>docker-compose

related

	*  docker-compose casos de uso

comandos

	*  detached start 
docker-compose up -d [service]

	*  
docker-compose up -d --scale &lt;SERVICIO&gt;=&lt;NUM_CONT&gt;


estado servicio


docker compose ps
docker compose ps -a
docker compose ps --status=exited


reiniciar servicio</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:compose?rev=1659337741&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-08-01T07:09:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker-compose</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:compose?rev=1659337741&amp;do=diff</link>
        <description>docker-compose

gestor de despliegue de contenedores

instalación

/via: &lt;https://docs.docker.com/compose/install/#install-compose&gt;


sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s11?rev=1647883387&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-21T17:23:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DevOps Sesión 11 (2022-03-16) Ansible</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s11?rev=1647883387&amp;do=diff</link>
        <description>DevOps Sesión 11 (2022-03-16) Ansible

Documentación relacionada

	*  ./4-Topic 704 Configuration Management
	*  ./Material Curso Ansible/DO407-AUTOMATION WITH ANSIBLE I.pdf
	*  ./Material Curso Ansible/Introduccion Ansible.txt
	*  ./Material Curso Ansible/Curso Ansible 2020.pdf</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s8?rev=1614285381&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-25T20:36:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LPIC2 2021 Sesión 8 (2021-02-25)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s8?rev=1614285381&amp;do=diff</link>
        <description>LPIC2 2021 Sesión 8 (2021-02-25)

Documentación relacionada:

	*  Manual Certificacion LPIC-2.pdf, pag XX
	*  Material Practicas LPIC-2/LPIC-201/6-System Maintenance/
	*  Presentaciones/2020/201/
	*  gdrive://
	*  práctica (fuera de certificación): Material Practicas LPIC-2/LPIC-201/6-System Maintenance/Script para comentar el examen de practica.rar</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:2.1?rev=1705687171&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-19T17:59:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2.1 Python Professional Course Series: Lab &amp; Assessment</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m4:2.1?rev=1705687171&amp;do=diff</link>
        <description>2.1 Python Professional Course Series: Lab &amp; Assessment

Working with RESTful APIs: Lab &amp; Assessment

Well done, you&#039;ve reached the end of the course!

In this section, it&#039;s time to translate your Python skills and everything you&#039;ve learned about RESTful APIs into some real-world projects. Specifically, we&#039;ll ask you to create:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:start?rev=1758555368&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-22T15:36:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ZSH</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:start?rev=1758555368&amp;do=diff</link>
        <description>ZSH

	*  ZSH install
	*  &lt;http://zsh.sourceforge.net/&gt;
	*  introducción:
		*  &lt;https://linuxconfig.org/learn-the-basics-of-the-zsh-shell&gt;
		*  &lt;http://reasoniamhere.com/2014/01/11/outrageously-useful-tips-to-master-your-z-shell/&gt;


+ características

	*  ZSH features
	*  oh-my-zsh
	*  ZSH TAB Expansion
	*  ZSH Globbing (extended)
	*  ZSH expansion modifiers
	*  ZSH Parameter Expansion Flags
	*  ZSH zmv
	*  ZSH modules
	*  ZSH prompt

curiosidades

	*  src: recarga entorno (plugin)
	*  take : fun…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:zmv?rev=1585000143&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-23T21:49:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ZSH zmv</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:zmv?rev=1585000143&amp;do=diff</link>
        <description>ZSH zmv

mv/rename mejorado

uso

	*  si no lo hacemos en el .zshrc, cargar con autoload zmv
	*  parámetros:
		*  -n: test, o hace los cambios
		*  C: copy
		*  L: ln
		*  M: move
		*  -w: añade paréntesis en los *
		*  -i: interactivo


ejemplo

usage</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/criptografia:ecryptfs?rev=1686748181&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-14T13:09:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ecryptfs</title>
        <link>https://miguelangel.torresegea.es/wiki/criptografia:ecryptfs?rev=1686748181&amp;do=diff</link>
        <description>ecryptfs

related

	*  
apt install ecryptfs-utils

		*  &lt;https://ostechnix.com/how-to-encrypt-directories-with-ecryptfs-in-linux/&gt; Práctico!!
		*  &lt;https://www.howtoforge.com/how-to-encrypt-directories-partitions-with-ecryptfs-on-debian-squeeze&gt;
		*  &lt;https://wiki.debian.org/TransparentEncryptionForHomeFolder&gt;
		*  &lt;https://linux.die.net/man/7/ecryptfs&gt;
		*  &lt;https://wiki.archlinux.org/index.php/ECryptfs&gt;

cli

	*  setup:
sudo mount -t ecryptfs ~/SECRET/ ~/SECRET/

	*  mount:
sudo mount -t ecry…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/criptografia:luks?rev=1731919458&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-18T08:44:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Encriptació particions amb Luks</title>
        <link>https://miguelangel.torresegea.es/wiki/criptografia:luks?rev=1731919458&amp;do=diff</link>
        <description>Encriptació particions amb Luks

recepta

setup


lsblk --fs
sudo cryptsetup luksFormat /dev/sdbX # elimina les dades existents
sudo cryptsetup luksOpen /dev/sdbX &lt;NOM_LOGIC&gt;
mkfs.ext4 /dev/mapper/&lt;NOM_LOGIC&gt;


mount &amp; umount


#sudo cryptsetup luksOpen /dev/sdb1 &lt;NOM_LOGIC&gt; 	# demana contraseña
sudo cryptsetup open /dev/sdbX &lt;NOM_LOGIC&gt; 	# demana contraseña
sudo mount /dev/mapper/&lt;NOM_LOGIC&gt; /path/to/mount_point
sudo umount /path/to/mount_point
sudo cryptsetup close &lt;NOM_LOGIC&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:mariadb:install?rev=1605282284&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-13T15:44:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MariaDB Install</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:mariadb:install?rev=1605282284&amp;do=diff</link>
        <description>MariaDB Install

/via: &lt;https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-debian-10&gt;

conceptos previos en debian

	*  no setear la contraseña de root (la usa el sistema)

instalación linux


sudo apt update
sudo apt install mariadb-server
sudo mysql_secure_installation # contestar a todo que si excepto lo relacionado con la contraseña de root</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:jquery:start?rev=1779357605&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-21T10:00:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>jquery</title>
        <link>https://miguelangel.torresegea.es/wiki/development:jquery:start?rev=1779357605&amp;do=diff</link>
        <description>jquery

&lt;https://releases.jquery.com/&gt;

datepicker

fuentes

	*  &lt;https://bootstrap-datepicker.readthedocs.io/en/latest/options.html&gt;
	*  &lt;https://uxsolutions.github.io/bootstrap-datepicker/?#sandbox&gt;
	*  &lt;https://gijgo.com/datepicker/example/bootstrap-4&gt;
	*  &lt;https://stackoverflow.com/questions/25874375/multiple-dates-in-bootstrap-date-picker&gt;

ejemplo


&lt;script&gt;
        $(&#039;#date&#039;).datepicker({
            uiLibrary: &#039;bootstrap4&#039;,
            minDate: &#039;01/01/2020&#039;,
            maxDate: &#039;31/12/2…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:heredoc?rev=1511442654&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-11-23T13:10:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>heredoc (docs emblebed)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:heredoc?rev=1511442654&amp;do=diff</link>
        <description>heredoc (docs emblebed)

un heredoc es la manera de «embutir» un documento de texto dentro de un script para volcar a nuestro criterio.

ejemplos

el EOF usado en los ejemplos no deja de ser una etiqueta, no es mandatory... podríamos usar MITEXTO, la cuestión es definir principio y fin con la misma etiqueta</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:zonahoraria?rev=1777966604&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:36:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Zona Horaria (TZ)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:zonahoraria?rev=1777966604&amp;do=diff</link>
        <description>Zona Horaria (TZ)

linux bash ssh

modificación temporal

establecer la variable TZ a la zona horaria de interés: export TZ=Europe/Andorra

	*  &lt;https://superuser.com/questions/188224/temporarily-change-timezone-to-display-date-time-shown-during-an-ssh-session&gt;
	*  &lt;https://en.wikipedia.org/wiki/List_of_tz_database_time_zones&gt;
	*  timedatectl set-timezone “Europe/Andorra”: cambio de zona en caliente

consideraciones crontab

	*  el uso de la variable</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:log:logrotate?rev=1673629520&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-13T17:05:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>logrotate</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:log:logrotate?rev=1673629520&amp;do=diff</link>
        <description>logrotate

info

	*  &lt;https://atareao.es/ubuntu/rotado-de-logs-con-logrotate/&gt;
	*  &lt;https://www.digitalocean.com/community/tutorials/how-to-manage-logfiles-with-logrotate-on-ubuntu-16-04&gt;
	*  &lt;https://stackoverflow.com/questions/20162176/centos-linux-setting-logrotate-to-maximum-file-size-for-all-logs&gt;

cli

	*  ejecutar dry-run:
sudo logrotate /etc/logrorate.conf --debug

	*  ejecutar manualmente o un fichero concreto:
sudo logrotate &lt;FICHERO.CONF&gt;

	*  status del estado de rotado:
cat /var/lib…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:config?rev=1777967007&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:43:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>configuración ssh server (/etc/ssh/sshd_config)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:config?rev=1777967007&amp;do=diff</link>
        <description>configuración ssh server (/etc/ssh/sshd_config)

linux ssh

	*  comprobar si hay restricciones en IPTABLES /etc/sysconfig/iptables
	*  se puede limitar el uso que se puede hacer de SSH en el siguiente fichero: /etc/ssh/sshd_config
	*  Opciones destacadas:
		*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:localportforwarding?rev=1700559496&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-21T09:38:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Port Forwarding &amp; Tunneling (cliente)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:localportforwarding?rev=1700559496&amp;do=diff</link>
        <description>Port Forwarding &amp; Tunneling (cliente)

tunneling

	*  puerto local (3306) mapeado a puerto de &lt;server&gt; (3306) a través de SSH:
ssh &lt;user&gt;@&lt;SERVER&gt; -N -L 3306:127.0.0.1:3306

		*  -N : no ejecuta comandos, se queda abierto
		*  -L : es el encargado de establecer la conexión</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:varios?rev=1777967135&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:45:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ssh varios</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:varios?rev=1777967135&amp;do=diff</link>
        <description>ssh varios

linux ssh

ssh forzando password

no sé pq razón, ssh ha empezado a probar todas las claves de mi directorio .ssh para intentar logarse en un sistema remoto. (habrá que averiguar pq lo ha hecho)

para evitar que haga esto, hay que hacer:

ssh -v -o PubkeyAuthentication=no user@machine</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:systemv:start?rev=1647861446&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-21T11:17:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>systemV</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:systemv:start?rev=1647861446&amp;do=diff</link>
        <description>systemV

&lt;https://images.linoxide.com/systemd-vs-sysVinit-cheatsheet.pdf&gt;

comandos

	*  
service --status-all

	*  
service &lt;servicio&gt; {start|stop|restart}

	*  
/sbin/update-rc.d &lt;servicio&gt; disable

	*  
/sbin/update-rc.d -f &lt;servicio&gt; remove

	*  
/sbin/update-rc.d &lt;servicio&gt; enable [&lt;runlevel S,2,3,4,5&gt;]

		*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:tcpip:ips?rev=1779445769&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-22T10:29:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ip</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:tcpip:ips?rev=1779445769&amp;do=diff</link>
        <description>ip

comandos

mi ip local

ip addr show eth0 | grep &#039;inet &#039; | awk &#039;{print $2}&#039; | cut -f1 -d&#039;/&#039;
ip addr show

	*  ifconfig -a
	*  ip addr (ip a)
	*  hostname -I | awk &#039;{print $1}&#039;
	*  ip route get 1.2.3.4 | awk &#039;{print $7}&#039;
	*  (Fedora) Wifi-Settings→ click the setting icon next to the Wifi name that you are connected to → Ipv4 and Ipv6 both can be seen</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:tcpip:netplan?rev=1639738671&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-17T10:57:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>netplan (ubunut network)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:tcpip:netplan?rev=1639738671&amp;do=diff</link>
        <description>netplan (ubunut network)

Ubuntu 18.04 LTS has switched to Netplan for configuring network interfaces. Netplan is based on YAML based configuration system that makes configuration process very simple. Netplan has replaced the old configuration file /etc/network/interfaces that we previously used for configuring network interfaces in Ubuntu.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:utils:bat?rev=1764580784&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-01T09:19:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>bat, not cat</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:utils:bat?rev=1764580784&amp;do=diff</link>
        <description>bat, not cat

	*  &lt;https://atareao.es/software/utilidades/bat-un-cat-con-alas/&gt;
	*  integración GIT

install

apt install bat
/usr/bin/batcat


zsh


git clone https://github.com/fdellwing/zsh-bat.git $ZSH_CUSTOM/plugins/zsh-bat


plugins=(zsh-bat ...)

uso

	*  -p: sin decoración, alias de --style:plain
	*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/macintosh:filesystem:dd?rev=1588183674&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-29T18:07:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>macintosh dd</title>
        <link>https://miguelangel.torresegea.es/wiki/macintosh:filesystem:dd?rev=1588183674&amp;do=diff</link>
        <description>macintosh dd

/via: &lt;https://www.raspberrypi.org/documentation/installation/installing-images/mac.md&gt;

diskutil list

diskutil unmountDisk /dev/diskN

sudo dd bs=1m if=path_of_your_image.img of=/dev/rdiskN conv=sync

sudo diskutil eject /dev/rdiskN

brew install watch</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:security?rev=1638131099&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-28T20:24:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker TLS (OLD)</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:security?rev=1638131099&amp;do=diff</link>
        <description>docker TLS (OLD)

	*  SSL, TLS: &lt;https://docs.docker.com/engine/security/protect-access/&gt;
	*  &lt;https://www.labkey.org/Documentation/wiki-page.view?name=dockerTLS&gt;
	*  &lt;https://docs.docker.com/engine/security/apparmor/&gt;
	*  docker context -&gt; &lt;https://docs.docker.com/engine/context/working-with-contexts/&gt;

	*  &lt;https://tech.paulcz.net/2016/01/secure-docker-with-tls/&gt;
	*  docker run --rm -v $(pwd)/.docker:/certs paulczar/omgwtfssl
	*  &lt;https://www.youtube.com/watch?v=70QOBVwLyC0&gt;

creación certific…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:terraform-state?rev=1586181427&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-06T13:57:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Terraform state</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:terraform-state?rev=1586181427&amp;do=diff</link>
        <description>Terraform state

comandos

	*  list: lista los recursos del state
	*  show: muestra los detalles de uno de los recursos del state
	*  mv: mueve o renombra un recurso
	*  rm: elimina un recurso
	*  pull: descarga el state de un remoto
	*  push: sube el state desde local al remoto</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:vagrant:start?rev=1644860937&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-02-14T17:48:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>VAGRANT</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:vagrant:start?rev=1644860937&amp;do=diff</link>
        <description>VAGRANT

devops info



	*  vagrantfile
	*  vagrantfile examples

related

help

	*  &lt;https://www.vagrantup.com/docs/vagrantfile/machine_settings&gt;
	*  vagrant_hosts -&gt; sync_hosts: &lt;https://www.rubydoc.info/gems/vagrant-hosts/2.6.2&gt;

config files

	*  config.vm : &lt;https://www.vagrantup.com/docs/vagrantfile/machine_settings.html&gt;
	*  provision docker : &lt;https://www.vagrantup.com/docs/provisioning/docker.html&gt;

resumen comandos

imágenes (box)

	*  vagrant box add &lt;imagen&gt;: descargar
		*  alternati…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:security:wordpress?rev=1760533181&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-15T12:59:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>WORDPRESS</title>
        <link>https://miguelangel.torresegea.es/wiki/web:security:wordpress?rev=1760533181&amp;do=diff</link>
        <description>WORDPRESS

	*  /vía: &lt;http://wpzine.com/wordpress-security-hacks-and-tricks/&gt;
	*  /vía: &lt;http://www.katharsix.com/la-seguridad-en-wordpress-algunos-consejos/&gt;
	*  /vía: &lt;http://www.katharsix.com/la-seguridad-en-wordpress-algunos-consejos-ii/&gt;

	*  WordPress multisite
	*  Wordpress securizar
	*  WordPress, webinar seguridad

trucos

	*  obligar método https VS ftp al actualizar:
define(&#039;FS_METHOD&#039;, &#039;direct&#039;);


recover &amp; debugging

	*  desactivar plugins:&lt;https://www.ostraining.com/blog/wordpress…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/windows:users:start?rev=1744704871&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-15T08:14:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>windows usuarios locales (no cuenta microsoft)</title>
        <link>https://miguelangel.torresegea.es/wiki/windows:users:start?rev=1744704871&amp;do=diff</link>
        <description>windows usuarios locales (no cuenta microsoft)

windows

usuarios locales (no cuenta microsoft)

W11

/via: &lt;https://www.softzone.es/windows/como-se-hace/instala-windows-11-home-internet-cuenta-microsoft/&gt;

	*  cancelar en setup usuario «online»

oobe

	*  método 1:
		*  Al preguntar por conexión de red
		*   -&gt; (cmd):
oobe\bypassnro
#reinicio (automático)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:libros:docker-sec-dev-ops:cap2?rev=1548924286&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-01-31T08:44:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>[Docker SecDevOps] Capítulo 2 : Dockerfile</title>
        <link>https://miguelangel.torresegea.es/wiki/info:libros:docker-sec-dev-ops:cap2?rev=1548924286&amp;do=diff</link>
        <description>[Docker SecDevOps] Capítulo 2 : Dockerfile

	*  # comentarios o directivas
	*  INSTRUCCIÓN argumentos : por convención, instrucción en mayúsculas
	*  primera instrucción: FROM (o ARG)

build

	*  docker build o docker image build
		*  -t &lt;nombre_imagen&gt;[:tag]</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:libros:terraform-upandrunning:cap5?rev=1590271587&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-23T22:06:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Chapter 5: Terraform tips and tricks</title>
        <link>https://miguelangel.torresegea.es/wiki/info:libros:terraform-upandrunning:cap5?rev=1590271587&amp;do=diff</link>
        <description>Chapter 5: Terraform tips and tricks

loops

count

	*  usage:
resource &quot;blablabla&quot; &quot;blablabla_name&quot; {
count = 3
name  = &quot;bla${count.index}&quot;
}

		*  result: 3 elements ([0],[1],[2]) -&gt; resources array
		*  with length():

variable &quot;bla_names&quot; {
  type    = list(string)
  default = [&quot;bla_green&quot;,&quot;bla_yellow&quot;,&quot;bla_red&quot;] 
}
resource &quot;blablabla&quot; &quot;blablabla_name&quot; {
  count = length(var.bla_names)
  name  = bla_names[count.index]
}</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:nginx-letsencrypt?rev=1580595323&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-01T22:15:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>nginx+certbot en contenedor</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:nginx-letsencrypt?rev=1580595323&amp;do=diff</link>
        <description>nginx+certbot en contenedor

	*  crear estructura de directorios:

mkdir -p data/nginx/conf.d
mkdir -p data/nginx/www
mkdir -p data/certbot/www
mkdir -p data/certbot/conf


	*  crear fichero configuración nginx:

server {
    listen 80;
    server_name &lt;SERVER_NAME&gt;;
#    location / {
#        return 301 https://$host$request_uri;
#    }
    root /var/www/html;
    index index.html;
    
    location /.well-known/acme-challenge/ {
        root /var/www/certbot;
    }
}
#server {
#    listen 443 …</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:log:rsyslogd:paso1?rev=1479168183&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-11-15T00:03:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rsyslogd (paso 1)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:log:rsyslogd:paso1?rev=1479168183&amp;do=diff</link>
        <description>rsyslogd (paso 1)

/etc/rsyslogd

para permitir conexiones remotas a nuestro sistema de log, descomentar:


# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514 

# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514


/var/log</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:log:rsyslogd:paso2?rev=1479168652&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-11-15T00:10:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rsyslogd (paso 2)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:log:rsyslogd:paso2?rev=1479168652&amp;do=diff</link>
        <description>rsyslogd (paso 2)

creación reglas

añadir nuevas reglas (en la sección correspondiente - RULES)


$template TmplAuth, &quot;/var/log/rsyslog/%HOSTNAME%/%PROGRAMNAME%.log&quot; 
$template TmplMsg, &quot;/var/log/rsyslog/%HOSTNAME%/%PROGRAMNAME%.log&quot; 
authpriv.*   ?TmplAuth
*.info,mail.none,authpriv.none,cron.none   ?TmplMsg</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:security:letsencrypt:dns?rev=1777896878&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-04T12:14:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Let&#039;s Encrypt (renovación DNS)</title>
        <link>https://miguelangel.torresegea.es/wiki/web:security:letsencrypt:dns?rev=1777896878&amp;do=diff</link>
        <description>Let&#039;s Encrypt (renovación DNS)

Para poder renovar los certificados a través DNS, hace falta usar un servicio que permita acceder a los registros DNS via API (o delegar el registro CNAME en uno que lo permita).

preparativos

	*  descargar el script encargado de modificar el registro</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion4?rev=1637929348&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-26T12:22:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sesión 4 : swarm (ELK+TIG)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion4?rev=1637929348&amp;do=diff</link>
        <description>Sesión 4 : swarm (ELK+TIG)

resumen


docker ps
docker ps -f name=ep_devops_mysql.1
docker ps -f name=ep_devops_mysql.1 -q
docker exec -ti $(docker ps -f name=ep_devops_mysql.1 -q ) /bin/bash
docker logs $(docker ps -f name=ep_devops_mysql.1 -q ) 
docker logs -f $(docker ps -f name=ep_devops_mysql.1 -q )</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion11?rev=1553283933&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-22T19:45:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sesión 11 Jenkins</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion11?rev=1553283933&amp;do=diff</link>
        <description>Sesión 11 Jenkins

big data (Cloudera)



	*  MapReduce -&gt; Spark
		*  MapReduce : repartir la carga entre X servidores que no tengan colisiones y meterlo en un lugar común
		*  Hive : SQL to MapReduce
		*  Pig : lenguaje para no SQL (pero que se le parece tanto</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion16?rev=1554617923&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-07T06:18:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sesión 16 prometheus on kubernetes</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion16?rev=1554617923&amp;do=diff</link>
        <description>Sesión 16 prometheus on kubernetes

	*  &lt;https://linuxhint.com/kubernetes_operator/&gt;

google cloud

	*  gcloud config set compute/zone europe-west1-b &lt;- (&lt;https://cloud.google.com/compute/docs/regions-zones/&gt;)
	*  gcloud container clusters create bootcamp --num-nodes 3 --scopes «&lt;https://www.googleapis.com/auth/projecthosting,storage-rw&gt;»
	*  gcloud container clusters list
	*  en local, con las utilidades G instaladas:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s9?rev=1647511778&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-17T10:09:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DevOps Sesión 9 (2022-03-09) Vagrant</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s9?rev=1647511778&amp;do=diff</link>
        <description>DevOps Sesión 9 (2022-03-09) Vagrant

Documentación relacionada

	*  3-Topic 703 Machine Deployment/1-Material Curso Vagrant/

Vagrant

	*  ./2-Uso básico de vagrant.pdf
	*  ./Clase Resumen Vagrant.txt
	*  ./Herramientas Devops entornos de desarrollo en local, para programadores con Docker y Vagrant .pdf</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:extras?rev=1740146057&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-21T13:54:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ethical Hacker : extras</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:extras?rev=1740146057&amp;do=diff</link>
        <description>Ethical Hacker : extras

ProxMox

	*  &lt;https://www.proxmox.com/en/downloads&gt;
		*  &lt;https://pve.proxmox.com/wiki/Developer_Workstations_with_Proxmox_VE_and_X11&gt;
		*  Almacenamiento:
			*  &lt;https://raspberryparatorpes.net/compras/uasp-aprovechar-al-maximo-discos-usb/&gt;
			*  2TB USB Externo + carcasas:
				*  Kingspec 2TB M.2 SSD 2280 NVMe PCIe
				*  FIDECO Carcasa M.2 NVMe SSD, 10Gbps Carcasa SSD M2, USB 3.2 Gen 2 Caja Disco Duro para SSD M.2 NVMe PCIe M Key B+M Key, Diseño de Sándwich, Instalaci…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic1:103.6?rev=1534332814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-15T11:33:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>103.6 - Modificar las prioridades de ejecución de procesos</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic1:103.6?rev=1534332814&amp;do=diff</link>
        <description>103.6 - Modificar las prioridades de ejecución de procesos

prioridades de procesos

se puede cambiar la prioridad de un proceso (al ejecutarlo o ya en ejecución) subíendo o bajando la misma.

estos valores van de -20 (más prioridad) a +19 (menos prioridad)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic1:103.7?rev=1534332814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-15T11:33:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Expresiones Regulares</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic1:103.7?rev=1534332814&amp;do=diff</link>
        <description>Expresiones Regulares

	*  existen de 2 tipos: básicas y extendidas
	*  reglas avanzadas de comparación
		*   [ a,b,c,d,1,2,3 ]  : entre corchetes
		*   1-9, a-z  : rangos
		*   .  : (punto) == cualquier caracter, excepto salto de línea
		*   ^ $</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s6?rev=1663570038&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-19T06:47:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LPIC2 2021 Sesión 6 (2021-02-18) - lvm</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s6?rev=1663570038&amp;do=diff</link>
        <description>LPIC2 2021 Sesión 6 (2021-02-18) - lvm

Documentación relacionada:

	*  Manual Certificacion LPIC-2.pdf, pag 76
	*  Material Practicas LPIC-2/LPIC-201/4-Filesystem and Devices/Gestion de LVM/
	*  Presentaciones/2020/201/
	*  gdrive://discos linux.txt</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:fundamentosoop?rev=1657048807&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-05T19:20:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Modulo 3 (intermedio): Los conceptos básicos del enfoque orientado a objetos</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:netacad:python:pe2m3:fundamentosoop?rev=1657048807&amp;do=diff</link>
        <description>Modulo 3 (intermedio): Los conceptos básicos del enfoque orientado a objetos

Demos un paso fuera de la programación y las computadoras, y analicemos temas de programación orientada a objetos.

Casi todos los programas y técnicas que has utilizado hasta ahora pertenecen al estilo de programación procedimental. Es cierto que has utilizado algunos objetos incorporados, pero cuando nos referimos a ellos, se mencionan lo mínimo posible.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2:11:dhcp?rev=1537991824&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-26T19:57:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dhcp</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2:11:dhcp?rev=1537991824&amp;do=diff</link>
        <description>dhcp

	*  DHCP Discover (broadcast) : busco un servidor
	*  DHCP Offer (unicast/broadcast) : el servidor se ofrece para dar una IP
	*  DHCP Request (broadcast) : el cliente pide una IP al servidor
	*  DHCP Ack : el servidor da una IP libre

cliente</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:bbdd?rev=1537866089&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-25T09:01:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>bases de datos</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:bbdd?rev=1537866089&amp;do=diff</link>
        <description>bases de datos

3:36 Bases Datos

	*  mysql: 
		*  mysql_db : añade o elimina BBDD
		*  mysql_replication : administra replicación
		*  mysql_user : administra usuarios
		*  mysql_variables : administra variables globales

	*  postgresql
		*  postgres_db : añade o elimina BBDD</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/windows:w10:wsl?rev=1601650951&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-10-02T15:02:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>WSL (Windows Subsystem for Linux)</title>
        <link>https://miguelangel.torresegea.es/wiki/windows:w10:wsl?rev=1601650951&amp;do=diff</link>
        <description>WSL (Windows Subsystem for Linux)
&lt;https://github.com/microsoft/vscode-docs/blob/master/remote-release-notes/v1_42.md#wsl&gt;
info + setup

	*  &lt;https://docs.microsoft.com/en-us/windows/wsl/about&gt;
	*  &lt;https://docs.microsoft.com/en-us/windows/wsl/install-win10&gt;

install from cli

	*  descarga desde powershell
Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1804 -OutFile Ubuntu.appx -UseBasicParsing

	*  descarga desde CURL
curl.exe -L -o ubuntu-1604.appx https://aka.ms/wsl-ubuntu-1604</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1?rev=1709549553&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-04T10:52:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Curso python (PCPP1) PUE 2023</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1?rev=1709549553&amp;do=diff</link>
        <description>Curso python (PCPP1) PUE 2023

python

	*  Jordi Ariño
		*  jordi.arino@pue.es
		*  jordiAS2K@gmail.com

	*  Plataforma: EDUBE
	*  Recursos
		*  Referencia:&lt;https://docs.python.org/3/reference/index.html&gt;
		*  Librerías: &lt;https://docs.python.org/3/library/index.html&gt;
		*  funciones built-in: &lt;https://docs.python.org/3/library/functions.html&gt;
		*  PEP8: &lt;https://peps.python.org/pep-0008/&gt;
		*  Paquetes: &lt;https://pypi.org/&gt;


PCPP1 / M1 | Advanced Perspective of Classes and Object-Oriented Program…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:logstash:process?rev=1638561381&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-03T19:56:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ELK: Logstask(procesamiento)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:logstash:process?rev=1638561381&amp;do=diff</link>
        <description>ELK: Logstask(procesamiento)





	*  

input {
  file {
    path =&gt; &quot;/home/openweb/Documents/dataset/test.json&quot;
    start_position =&gt; &quot;beginning&quot;
    codec =&gt; &quot;json&quot;
}}

output {
  stdout { codec =&gt; rubydebug }
}



input

	*  JSON
	*  &lt;https://www.elastic.co/guide/en/logstash/current/input-plugins.html&gt;

	*  lanzar logstash:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:extras:sincara-systemd?rev=1740743512&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-28T11:51:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Apuntes SinCara Extras systemd</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:extras:sincara-systemd?rev=1740743512&amp;do=diff</link>
        <description>Apuntes SinCara Extras systemd

Consideraciones iniciales

	*  Se presenta el 30 de abril de 2010, por Lennart Poetterig
	*  SystemD es un sistema de inicio y administración de servicios.
	*  Reemplaza los sistemas de inicio tradicionales como SysV init o Upstart (de Canonical / Ubuntu)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.4?rev=1703358335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-23T19:05:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.4 Coloring your widgets</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.4?rev=1703358335&amp;do=diff</link>
        <description>1.4 Coloring your widgets

Adding colors

Nearly everything you put inside your windows may be colored. Most widgets have dedicated properties to handle their colors and we will tell you about them while discussing the widgets themselves. Currently, the most important thing is getting to know how the colors are described in</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:start?rev=1698246004&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-10-25T15:00:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:start?rev=1698246004&amp;do=diff</link>
        <description>linux

	*  linux shell
	*  Linux distros
	*  Linux remote desktops
	*  linux filesystem
	*  linux communications
	*  linux utils
	*  linux install
	*  linux seguridad
	*  Linux X-Windows
	*  kernel linux
	*  *CTL

que escritorios disponibles?

	*  
ps -a | egrep -i &quot;gnome|kde|mate|cinnamon|lxde|xfce|jwm&quot;

	*  
systemctl status display-manager

	*  
ls /usr/bin/*session

	*  screenfetch: 
git clone git://github.com/KittyKatt/screenFetch.git screenfetch
./screenfetch-dev</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/macintosh:start?rev=1729251446&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-18T11:37:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>macintosh</title>
        <link>https://miguelangel.torresegea.es/wiki/macintosh:start?rev=1729251446&amp;do=diff</link>
        <description>macintosh

shortcuts (essentials)

	*  : borrar desde cursor a final de línea
	*  : borrar desde cursor a principio de palabra (o la palabra anterior si ya está al principio)
	*  : mover al principio de línea
	*  : mover a final de línea
	*  : mover a palabra siguiente</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/wiki:primeros_pasos?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>primeros pasos</title>
        <link>https://miguelangel.torresegea.es/wiki/wiki:primeros_pasos?rev=1321351182&amp;do=diff</link>
        <description>primeros pasos

&lt;note important&gt;A la hora de hacer un buen seguimiento de control de cambios, los arreglos de texto o composición (poner negritas, corregir un error tipográfico, arreglar una lista que no sale bien) tendrían que marcarse como Minor Chages</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:postgresql:plsql?rev=1635245626&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-26T10:53:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>PLSQL</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:postgresql:plsql?rev=1635245626&amp;do=diff</link>
        <description>PLSQL

acceso psql

psql -U nombre_usuario nombre_db
psql -U user -W -h host database

pg_dump -U nombre_usuario nombre_db &gt; db.out

sudo su – postgres
pg_dumpall &gt; /var/lib/pgsql/backups/dumpall.sql

sudo su – postgres
psql -f /var/lib/pgsql/backups/dumpall.sql mydb
# alternativamente
psql -U postgres nombredb &lt; archivo_restauracion.sql</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:java:regexp?rev=1576250328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-12-13T15:18:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>RegExp</title>
        <link>https://miguelangel.torresegea.es/wiki/development:java:regexp?rev=1576250328&amp;do=diff</link>
        <description>RegExp

java api pte

/via: &lt;https://blog.desdelinux.net/con-el-terminal-uso-de-expresiones-regulares/&gt;

básico

	*  . : cualquier caracter (pero solo 1)
	*  * : cualquier ristra de caracteres (desde 0)
	*  ? : cualquier caracter, pero de manera opcional (1 o 0) -&gt; regexp extendidas
	*  [abc] : a || b || c
	*  [^ac] : NO a || NO c
	*  [0-9]</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:aberraciones?rev=1728466008&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-09T09:26:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python aberraciones</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:aberraciones?rev=1728466008&amp;do=diff</link>
        <description>Python aberraciones

	*  operador ternario:

variable = &quot;valor&quot; if condicion_cierta() else &quot;otro_valor&quot;


	*  reducciones:
my_numbers = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
even_number_list = [num for num in my_numbers if num%2 == 0]


		*  List Comprehensions

	*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:from?rev=1710249964&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-12T13:26:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python librerias</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:from?rev=1710249964&amp;do=diff</link>
        <description>Python librerias

python

collections

from collections import defaultdict
var = defaultdict(int)
var2 = defautldict(set)

	*  todos los elementos seteados a 0 o vacío por defecto

pickle

	*  serialización de objetos
	*  from pickle import TRUE! -&gt; ?

trace</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:strings?rev=1728546797&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-10T07:53:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python strings</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:strings?rev=1728546797&amp;do=diff</link>
        <description>Python strings

python

comp

	*  Exact match (equality comparison): ==, !=
	*  Partial match: in, not in
	*  Forward/backward match: startswith(), endswith()
	*  Order comparison: &lt;, &lt;=, &gt;, &gt;=
	*  Case-insensitive comparison: upper(), lower()
	*  Regex: re.search(), re.fullmatch()</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:thinkpython?rev=1654853278&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-10T09:27:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>think python</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:thinkpython?rev=1654853278&amp;do=diff</link>
        <description>think python

python

cadenas

	*  inmutables
	*  &lt;string&gt;[char]
		*  -1 : last
		*  -2 : pre-last

	*  &lt;string&gt;[pos1:pos2]
	*  &lt;string&gt;[:pos2], &lt;string&gt;[pos2:],&lt;string&gt;[-pos2:]
	*  &lt;string&gt;.capitalize()
	*  &lt;string&gt;.isupper()
	*  list(cadena) : separa en caracteres</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:aptget:yum?rev=1566804978&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-26T07:36:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>yum</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:aptget:yum?rev=1566804978&amp;do=diff</link>
        <description>yum

	*  
yum install &lt;paquete&gt;

	*  
yum reinstall &lt;paquete&gt;

	*  
yum search &lt;paquete&gt;

	*  
yum list installed</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:filesystem:inodes?rev=1614938829&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-05T10:07:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Linux inodes</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:filesystem:inodes?rev=1614938829&amp;do=diff</link>
        <description>Linux inodes

ls -li

find /home/david/ -inum 5414

df -i
du -sh --inodes *
du -csh --inodes * | tee inodes.txt

find . -printf &quot;%h\n&quot; | cut -d/ -f-2 | sort | uniq -c | sort -rn

/via: &lt;https://www.ochobitshacenunbyte.com/2019/04/08/como-saber-el-uso-de-inodos-en-linux/#:~:text=Una%20de%20las%20formas%20habituales,el%20primer%20campo%20de%20salida.&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:knockd?rev=1479568269&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-11-19T15:11:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>knockd</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:knockd?rev=1479568269&amp;do=diff</link>
        <description>knockd

demonio que escucha en unos puertos determinados una secuencia determinada para realizar una serie de acciones

normalmente, se abre de manera temporal algún puerto (como de gestión remota)

instalacion

aptitude install -y knockd

configuración</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:pihole?rev=1751908394&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-07T17:13:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>pi-hole</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:pihole?rev=1751908394&amp;do=diff</link>
        <description>pi-hole

setup

	*  &lt;https://pi-hole.net/&gt;
	*  
curl -sSL https://install.pi-hole.net | bash

	*  install log: /etc/pihole
	*  web-admin: &lt;http://&lt;ip&gt;/admin&gt;

tutorial instalación

	*  &lt;https://blog.cryptoaustralia.org.au/2018/08/06/instructions-for-setting-up-pi-hole/&gt;

comandos

	*  actualizar: 
sudo pihole -up

	*  reconfigurar: 
pihole -r

	*  cambiar password webadmin:</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: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:rsync:start?rev=1727767063&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-01T07:17:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rsync</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:rsync:start?rev=1727767063&amp;do=diff</link>
        <description>rsync

related

	*  Copias de seguridad usando RSYNC y SSH
	*  otra guía: &lt;http://troy.jdmz.net/rsync/index.html&gt;
	*  al detalle: &lt;https://www.computerhope.com/unix/rsync.htm&gt;

ejemplos

	*  sincronización de 2 directorios locales:
rsync -a -v dir1/ dir2

		*  -a implica:
			*  -r : recursividad
			*  -l : copiar symlinks como tal
			*  -p : copiar permisos
			*  -o,-g</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:ssh:mastercontrol?rev=1604512924&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-04T18:02:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MasterControl + MasterPath</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:mastercontrol?rev=1604512924&amp;do=diff</link>
        <description>MasterControl + MasterPath

	*  utilizar un único proceso contra un servidor para conexión que abramos.
		*  no contraseñas
		*  conexión más rápida, no hay handshake


.ssh/config


Host MasterServer
    Hostname x
    User y
    IdentityFile ~/.ssh/id_ed25519
    ControlPath ~/.ssh/control-%h-%p-%r # as recommended by the man page
   
Host MasterServerSQL
    Hostname x
    User y
    IdentityFile ~/.ssh/id_ed25519
	LocalForward 3306 localhost:3306
	ControlPath ~/.ssh/control-%h-%p-%r</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:dokuwiki:config?rev=1767077865&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-30T06:57:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dokuwiki config</title>
        <link>https://miguelangel.torresegea.es/wiki/software:dokuwiki:config?rev=1767077865&amp;do=diff</link>
        <description>dokuwiki config

cambios Dreamhost

	*  inc/preload.php: cambiar ubicación directorio conf
	*  conf/dokuwiki.php cambiar ubicación savedir (all save files)
	*  conf/local.php:
		*  cambiar ubicación datadir: 
$conf[&#039;datadir&#039;] = &#039;/var/www/dokudata/data/dokugit/wiki/pages&#039;;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:plexmediaserver:start?rev=1588108580&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-28T21:16:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>plex media server</title>
        <link>https://miguelangel.torresegea.es/wiki/software:plexmediaserver:start?rev=1588108580&amp;do=diff</link>
        <description>plex media server

raspi install

	*  &lt;https://www.raspberrypi.org/forums/viewtopic.php?t=214655&gt;
		*  problema con el repositorio de Plex (movido
		*  &lt;https://linuxize.com/post/how-to-install-plex-media-server-on-raspberry-pi/&gt;:

curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add -
echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:sublime:start?rev=1525090871&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-04-30T12:21:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sublime</title>
        <link>https://miguelangel.torresegea.es/wiki/software:sublime:start?rev=1525090871&amp;do=diff</link>
        <description>Sublime

instalación Linux


wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
echo &quot;deb https://download.sublimetext.com/ apt/stable/&quot; | sudo tee /etc/apt/sources.list.d/sublime-text.list
sudo apt-get update &amp;&amp; sudo apt-get install sublime-text</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:vsc:start?rev=1587711130&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-24T06:52:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>visual studio code</title>
        <link>https://miguelangel.torresegea.es/wiki/software:vsc:start?rev=1587711130&amp;do=diff</link>
        <description>visual studio code

tricks

	*  acceso a settings -&gt; rueda dentada (abajo, izquierda) -&gt; settings
	*  problema visualización font-powerline en terminal:
{
&quot;terminal.integrated.fontFamily&quot;: &quot;Menlo for Powerline&quot;,
}

		*  /via: &lt;https://dev.to/mattstratton/making-powerline-work-in-visual-studio-code-terminal-1m7&gt;

	*  mostrar carácteres ocultos:code json; settings.json&gt;{</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tcpip:dns:resolve?rev=1767010477&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-29T12:14:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DNS: Resolución, progagación, limpieza</title>
        <link>https://miguelangel.torresegea.es/wiki/tcpip:dns:resolve?rev=1767010477&amp;do=diff</link>
        <description>DNS: Resolución, progagación, limpieza

propagación (comprobar)

	*  &lt;https://www.whatsmydns.net/&gt;
	*  &lt;https://dnschecker.org/#TXT/_acme-challenge.fidmag.org&gt; 
	*  &lt;https://mxtoolbox.com/SuperTool.aspx?action=txt%3a_acme-challenge.example.com&amp;run=toolpage#&gt;
	*  Chrome: chrome://net-internals/#dns

resolución

	*  
host &lt;URI&gt;


limpieza

	*  KDE Plasma: 
resolvectl flush-caches

	*  Windows 10 (CMD): 
ipconfig /flushdns</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:scan?rev=1674567649&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-24T13:40:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker scan</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:scan?rev=1674567649&amp;do=diff</link>
        <description>docker scan

	*  Instalación: 
apt-get update &amp;&amp; apt-get install docker-scan-plugin

	*  Aceptar licencia: 
docker scan --accept-license --version

	*  Es necesario hacer login en Docker Hub:
docker login --username matebcn

	*  Scan: 
docker scan hello-world</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:filter-repo?rev=1776168437&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-14T12:07:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git filter-repo</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:filter-repo?rev=1776168437&amp;do=diff</link>
        <description>git filter-repo

es una operación común cuando un proyecto crece tanto que un subdirectorio merece convertirse en un repositorio propio.

Esta es la herramienta oficial recomendada por Git actualmente. Si no la tienes, puedes instalarla (suele requerir Python: `pip install git-filter-repo` o</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:migrar?rev=1752153253&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:14:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git: migrar repositorio</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:migrar?rev=1752153253&amp;do=diff</link>
        <description>git: migrar repositorio

git
Esta página contiene errores subsanados en la explicación 
/vía: &lt;https://maureenbarahona.medium.com/migrar-un-repositorio-con-todos-sus-commits-y-todas-sus-ramas-ccd2c5e6d389&gt;

	*  crear un repositorio vacío en el proveedor de destino
	*  clonar el repositorio que queremos cambiar de proveedor
git clone...

	*  cambiar el origen del repositorio</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:win-instance?rev=1558337034&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-05-20T07:23:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>terraform win-instance</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:win-instance?rev=1558337034&amp;do=diff</link>
        <description>terraform win-instance

de interés

	*  uso key para recuperar contraseña admin windows
	*  asignación IP privada a dedo
	*  IP pública variable

código


resource &quot;aws_vpc&quot; &quot;my_vpc&quot; {
  cidr_block = &quot;172.16.0.0/16&quot;

  tags = {
    Name = &quot;tf-example&quot;
  }
}

resource &quot;aws_subnet&quot; &quot;my_subnet&quot; {
  vpc_id            = &quot;${aws_vpc.my_vpc.id}&quot;
  cidr_block        = &quot;172.16.10.0/24&quot;
  availability_zone = &quot;${var.az1}&quot;
  map_public_ip_on_launch = true

  tags = {
    Name = &quot;tf-example&quot;
  }
}

resource &quot;…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile?rev=1644864326&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-02-14T18:45:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vagrantfile</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile?rev=1644864326&amp;do=diff</link>
        <description>vagrantfile

	*  provisioning: &lt;https://www.vagrantup.com/docs/provisioning&gt;

Vagrant.configure(&quot;2&quot;) do |config|

	*  config namespace: &lt;https://www.vagrantup.com/docs/vagrantfile/machine_settings#machine-settings&gt;

box

	*  box a usar: config.vm.box
		*  config.vm.box=«debian/bullseye64»

	*  versión de la box a usar: config.vm.box_version
		*  config.vm.box_version=</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:php:codeigniter:tutorial?rev=1580244758&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-28T20:52:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>codeigniter from de scratch</title>
        <link>https://miguelangel.torresegea.es/wiki/development:php:codeigniter:tutorial?rev=1580244758&amp;do=diff</link>
        <description>codeigniter from de scratch

&lt;http://net.tutsplus.com/sessions/codeigniter-from-scratch/&gt;

	*  day 2 : Database Selecting Methods
	*  Day 3 : Sending Emails
	*  day 4 : newsletter signup
	*  day 5 : CRUD operations

primer video ejemplo


&lt;?php

class Blog extends CI_Controller {

# si reescribimos el constructor de la clase, invocar al constructor de la clase padre
  public function __construct() {
    parent:__construct();
  }

# se invoca directamente con http://www.ejemplo.com/index.php/blog…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:rtorrent_rutorrent?rev=1608803427&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-12-24T09:50:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rtorrent+rutorrent en contenedor</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:rtorrent_rutorrent?rev=1608803427&amp;do=diff</link>
        <description>rtorrent+rutorrent en contenedor

instalacion rtorrent+rutorrent

	*  crear estructura de directorios:

mkdir -p data/downloads/completo
mkdir -p data/config


	*  copiar ficheros de configuración (extraidos de propio contenedor y modificados a conveniencia):</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:games:minecraft:start?rev=1586618902&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-11T15:28:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>minecraft</title>
        <link>https://miguelangel.torresegea.es/wiki/software:games:minecraft:start?rev=1586618902&amp;do=diff</link>
        <description>minecraft

standalone

	*  &lt;https://vandal.elespanol.com/guias/guia-minecraft-los-mejores-trucos-y-consejos-2018/los-mejores-trucos-y-comandos-de-minecraft-2018&gt;

server

	*  &lt;https://minecraft-es.gamepedia.com/Server.properties&gt;
	*  &lt;https://www.beastnode.com/portal/knowledgebase/118/Make-Yourself-An-OporOwnerorAdmin.html&gt;
	*  &lt;https://minecraft-es.gamepedia.com/Administrador&gt;
	*  name -&gt; uuid: &lt;https://api.mojang.com/users/profiles/minecraft/&lt;username&gt;&gt;
	*  uuid -&gt; name: &lt;https://api.mojang.co…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:dockerd:start?rev=1581629264&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-13T21:27:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dockerd</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:dockerd:start?rev=1581629264&amp;do=diff</link>
        <description>dockerd

	*  dockerd remote tls access

info

sudo systemctl start docker

sudo service docker start


# si hay cambios en los ficheros de configuración de configuración de los servicios systemd
sudo systemctl daemon-reload
sudo systemctl restart docker


{
    &quot;data-root&quot;: &quot;/mnt/docker-data&quot;,
    &quot;storage-driver&quot;: &quot;overlay&quot;,
# autorizar docker-registry no seguros
    &quot;insecure-registries&quot; : [&quot;10.29.66.85:5000&quot;] 
}</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:k8s:cli:namespace?rev=1589185087&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-11T08:18:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kubernetes namespace</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:k8s:cli:namespace?rev=1589185087&amp;do=diff</link>
        <description>kubernetes namespace

kubectl get namespace

kubectl get pods --namespace=&lt;insert-namespace-name-here&gt;

kubectl config set-context --current --namespace=&lt;insert-namespace-name-here&gt;
kubectl config view --minify | grep namespace:

# In a namespace
kubectl api-resources --namespaced=true
# Not in a namespace
kubectl api-resources --namespaced=false</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:php?rev=1637060179&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-16T10:56:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vagrant php</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:php?rev=1637060179&amp;do=diff</link>
        <description>vagrant php

vagrantfile

php5


Vagrant.configure(&quot;2&quot;) do |config|
  config.vm.box = &quot;peru/ubuntu-18.04-desktop-amd64&quot;
  config.vm.box_version = &quot;20190401.01&quot;
  config.vm.provision &quot;file&quot;, source: &quot;../../common/info.php&quot;, destination: &quot;/tmp/info.php&quot;

  config.vm.provider :virtualbox do |v|
    v.name = &quot;altrankas-apache-php5&quot;
    v.linked_clone = true
    v.memory = 2048
    v.cpus = 2
  end

  config.vm.provision &quot;shell&quot;, path: &quot;install.sh&quot;

  config.vm.provision &quot;shell&quot;, path: &quot;../../common/…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:weblogic?rev=1637060077&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-16T10:54:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vagrant weblogic</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:weblogic?rev=1637060077&amp;do=diff</link>
        <description>vagrant weblogic

vagrantfile

12


Vagrant.configure(&quot;2&quot;) do |config|
  config.vm.box = &quot;peru/ubuntu-18.04-desktop-amd64&quot;
  config.vm.box_version = &quot;20190401.01&quot;
  config.vm.provision &quot;file&quot;, source: &quot;./orainst.loc&quot;, destination: &quot;/tmp/orainst.loc&quot;
  config.vm.provision &quot;file&quot;, source: &quot;./12c_repository_file.xml&quot;, destination: &quot;/tmp/12c_repository_file.xml&quot;
  config.vm.provision &quot;file&quot;, source: &quot;../../../common/wls_adminserver.service&quot;, destination: &quot;/tmp/wls_adminserver.service&quot;

  config.vm.p…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:security:letsencrypt:k0.vividumcodex.com?rev=1574897663&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-11-27T23:34:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>let&#039;s encrypt k0.vividumcodex.com</title>
        <link>https://miguelangel.torresegea.es/wiki/web:security:letsencrypt:k0.vividumcodex.com?rev=1574897663&amp;do=diff</link>
        <description>let&#039;s encrypt k0.vividumcodex.com

resumen

	*  montado sobre 2 contenedores diferentes
		*  nginx
		*  certbot


scripts


docker run \
	-it \
	--name nginx \
	--rm \
	-p 80:80 \
	-v ${PWD}/data/nginx/conf.d:/etc/nginx/conf.d \
	-v ${PWD}/data/nginx/www:/var/www/html \
	-v ${PWD}/data/certbot/conf:/etc/letsencrypt \
	-v ${PWD}/data/certbot/www:/var/www/certbot \
nginx:1.15-alpine</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:katacoda:k8s:cluster?rev=1552214422&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-10T10:40:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>manage a k8s cluster</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:katacoda:k8s:cluster?rev=1552214422&amp;do=diff</link>
        <description>manage a k8s cluster

preparando entorno

	*  instalación AWS-CLI:
curl &quot;https://s3.amazonaws.com/aws-cli/awscli-bundle.zip&quot; -o &quot;awscli-bundle.zip&quot;
unzip awscli-bundle.zip
sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

	*  instalación kubectl:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s10?rev=1647286620&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-14T19:37:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DevOps Sesión 10 (2022-03-14) Vagrant + Packer</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s10?rev=1647286620&amp;do=diff</link>
        <description>DevOps Sesión 10 (2022-03-14) Vagrant + Packer

Documentación relacionada

	*  3-Topic 703 Machine Deployment/1-Material Curso Vagrant/

Vagrant

	*  ./2-Uso básico de vagrant.pdf
	*  ./Clase Resumen Vagrant.txt
	*  ./Herramientas Devops entornos de desarrollo en local, para programadores con Docker y Vagrant .pdf</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic1:103.5?rev=1534332814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-15T11:33:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>103.5 Crear, monitorizar y destruir procesos</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic1:103.5?rev=1534332814&amp;do=diff</link>
        <description>103.5 Crear, monitorizar y destruir procesos

el primer proceso

	*  uname
		*  -n ó --nodename
		*  -s ó --kernel-name
		*  -v ó --kernel-version
		*  -r ó --kernel-release
		*  -m ó --machine
		*  -p ó --processor (unknown como norma)
		*  -i ó</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s0?rev=1613762972&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-19T19:29:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LPIC2 2021 Sesión 0: Preparativos (2021-02-02)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s0?rev=1613762972&amp;do=diff</link>
        <description>LPIC2 2021 Sesión 0: Preparativos (2021-02-02)

	*  certificaciones LPIC
	*  exámenes LPIC2

entornos laboratorio Vagrant


##Ususario:vagrant
##Pass: vagrant

##user:root
##pass:vagrant
Vagrant.configure(&quot;2&quot;) do |config|
  config.vm.define &quot;centos7&quot; do |centos7|
  config.vm.boot_timeout = 400
    centos7.vm.box = &quot;bento/centos-7.2&quot;
    #centos7.vm.network &quot;forwarded_port&quot;, guest: 3000, host: 3002, auto_correct: true
    centos7.vm.network &quot;private_network&quot;, ip: &quot;192.168.2.5&quot;
    centos7.vm.host…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s5?rev=1663570019&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-19T06:46:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LPIC2 2021 Sesión 5 (2021-02-16) - discos</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s5?rev=1663570019&amp;do=diff</link>
        <description>LPIC2 2021 Sesión 5 (2021-02-16) - discos

Documentación relacionada:

	*  Manual Certificacion LPIC-2.pdf, pág 16
	*  Presentaciones/2020/201/
	*  Material Practicas LPIC-2/LPIC-201/3-System Startup/
	*  gdrive://discos linux.txt &lt;- mirar montaje con systemctl</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s14?rev=1616520630&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-23T17:30:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LPIC2 2021 Sesión 14 (2021-03-18)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s14?rev=1616520630&amp;do=diff</link>
        <description>LPIC2 2021 Sesión 14 (2021-03-18)

Documentación relacionada:

	*  Manual Certificacion LPIC-2.pdf, pag XX
	*  Material Practicas LPIC-2/LPIC-202/
	*  Presentaciones/2020/202/
	*  gdrive://

Clase

E-Mail Services

	*  DOC: pag 383
	*  smart host relay: delegar a otro</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terrafrom-fundamentos:virtual-machine?rev=1585437329&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-28T23:15:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>creación virtual-machine</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terrafrom-fundamentos:virtual-machine?rev=1585437329&amp;do=diff</link>
        <description>creación virtual-machine

	*  desde &lt;https://osboxes.org&gt; descargar Ubuntu Server 18.04 LTS
	*  configurar nueva máquina en VirtualBox con el disco duro descargado
	*  ajustar tarjeta red
		*  Network:
			*  nat
			*  bridge


	*  inicio VM
		*  user: osboxes, pass: osboxes.org</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debiean:seebox:rtorrent_rutorrent:old1?rev=1608802462&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-12-24T09:34:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rtorrent+rutorrent en contenedor (OLD1)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debiean:seebox:rtorrent_rutorrent:old1?rev=1608802462&amp;do=diff</link>
        <description>rtorrent+rutorrent en contenedor (OLD1)

pasos básicos

	*  montar estructura de carpetas
		*  downloads : ubicación descargas
		*  root : ubicación archivos configuración NGINX/RTORRENT/RUTORRENT modificados

	*  ejecutar docker según script


STORAGE_PATH=/home/user/storage/rtorrent+rutorrent

docker run \
	-dt \
	--name rtorrent-rutorrent \
	--restart unless-stopped \
	-p 80:80 \
	-p 443:443 \
	-p 49160:49160/udp \
	-p 49161:49161 \
	-v ${STORAGE_PATH}/downloads:/downloads \
	-v ${STORAGE_PAT…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debiean:seebox:rtorrent_rutorrent:old2?rev=1608802513&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-12-24T09:35:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rtorrent+rutorrent en contenedor (OLD2)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debiean:seebox:rtorrent_rutorrent:old2?rev=1608802513&amp;do=diff</link>
        <description>rtorrent+rutorrent en contenedor (OLD2)

instalacion rtorrent+rutorrent

	*  crear estructura de directorios:

mkdir -p data/downloads/completo
mkdir -p data/root
mkdir -p data/rutorrent


	*  copiar ficheros de configuración contenedor en /root (sacados del propio contenedor y modificar los ficheros de configuración de nginx):</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:beats:filebeats?rev=1638700233&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-05T10:30:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ELK: Beats (filebeats)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:beats:filebeats?rev=1638700233&amp;do=diff</link>
        <description>ELK: Beats (filebeats)



	*  archivos en formato log
	*  servicio ligero
	*  robusto: filebeat lee y reenvía logs. Recuerda una interrupción y por donde se quedó.
	*  módulos: (apache, system, mysql, ...) para facilitar la captura
	*  no sobrecarga el sistema (back-pressure sensitive protocol):</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:cvs?rev=1537866238&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-25T09:03:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sistema de Control de Versiones</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:cvs?rev=1537866238&amp;do=diff</link>
        <description>Sistema de Control de Versiones

3:43 Control Versiones

	*  bzr
	*  git
	*  git_config
	*  github_hooks
	*  github_keys
	*  github_release
	*  gitlab_group
	*  gitlab_project
	*  gitlab_user
	*  hg
	*  subversion

git

&lt;https://docs.ansible.com/ansible/latest/modules/git_module.html#git-module&gt;

	*  requerido
		*  repo = direccoión</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:web?rev=1537866291&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-25T09:04:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Web y messaging</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:web?rev=1537866291&amp;do=diff</link>
        <description>Web y messaging

3:44 Infraestructura Web / messaging

web:

	*  apache2_mod_proxy :  establecer atributos
	*  apache2_module : gestión módulos (debian/ubuntu, requiere a2enmod y a2dismod)
	*  deploy_helper : 
	*  djongo_manage : 
	*  ejabber_user :</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/wiki:plugins?rev=1528577721&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-06-09T20:55:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>plugins</title>
        <link>https://miguelangel.torresegea.es/wiki/wiki:plugins?rev=1528577721&amp;do=diff</link>
        <description>plugins

	*  export to TXT : &lt;https://www.dokuwiki.org/plugin:text&gt; -&gt; ?do=export_text
	*  qrcodes
	*  &lt;http://wikidesign.ch/en/plugins&gt;
	*  estadísticas de usuarios: &lt;https://www.dokuwiki.org/plugin:authorstats&gt;
	*  editor ACE : &lt;https://www.dokuwiki.org/plugin:aceeditor&gt;
	*  añade botón para introducir &lt;file&gt;code&lt;/file&gt;: &lt;https://www.dokuwiki.org/plugin:codebutton&gt;
	*  crear botones en el editor «a medida»: &lt;https://www.dokuwiki.org/plugin:codebutton2&gt; &lt;- no instalado
	*  necesario para el ope…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:introduccion?rev=1579956588&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-25T12:49:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>introducción e instalación</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:introduccion?rev=1579956588&amp;do=diff</link>
        <description>introducción e instalación

	*  framework de Google JavaScript para front-end
	*  arquitectura MVC
	*  simplicar vida de las SPA
		*  una sola pàgina
		*  carga de datos dinámica asíncrona AJAX

	*  Angular VS AngularJS
		*  hasta la versión 1.7 era AngularJS</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:arrayloop?rev=1589545895&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-15T12:31:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>array loop</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:arrayloop?rev=1589545895&amp;do=diff</link>
        <description>array loop


#!/bin/bash

INDEX=1

Code[$INDEX]=code1
Name[$INDEX]=name1
Tenant1[$INDEX]=tenant1
Tenant2[$INDEX]=tenant21

INDEX=$(($INDEX + 1))

Code[$INDEX]=code2
Name[$INDEX]=name2
Tenant1[$INDEX]=tenant2
Tenant2[$INDEX]=tenant22

for i in &quot;${Code[@]}&quot;; do
  printf &#039;%s\n&#039; &quot;$i&quot;
done

for i in &quot;${!Code[@]}&quot;; do 
  printf &quot;%s\t%s\t%s\t%s\t%s\n&quot; &quot;$i&quot; &quot;${Code[$i]}&quot; &quot;${Name[$i]}&quot; &quot;${Tenant1[$i]}&quot; &quot;${Tenant2[$i]}&quot;
done</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:dokuwiki:plugins?rev=1777546802&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-30T11:00:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dokuwiki plugins</title>
        <link>https://miguelangel.torresegea.es/wiki/software:dokuwiki:plugins?rev=1777546802&amp;do=diff</link>
        <description>dokuwiki plugins

	*  plugins
	*  &lt;https://www.dokuwiki.org/plugin:searchindex&gt;
	*  &lt;https://www.dokuwiki.org/plugin:tag&gt;
	*  &lt;https://www.dokuwiki.org/solutions:nice&gt;
	*  &lt;https://www.dokuwiki.org/plugins?plugintag=orphan&gt;

development

	*  &lt;https://www.dokuwiki.org/development&gt;
	*  &lt;https://www.dokuwiki.org/devel:action_modes&gt;
	*  &lt;https://www.dokuwiki.org/devel:action_plugins&gt;

Interesantes

	*  Bootstrap Wrapper Examples
		*  Syntax Highlight
			*  nativo: &lt;https://www.dokuwiki.org/syntax_hi…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:rtorrent?rev=1580595836&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-01T22:23:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>configuración rtorrent(on premise)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:rtorrent?rev=1580595836&amp;do=diff</link>
        <description>configuración rtorrent(on premise)

	*  instalar subversion: apt-get install subversion
	*  instalar compilador: apt-get instsall make
	*  crear carpeta &#039;source&#039; en &#039;user&#039;
	*  descargar:
		*  svn co &lt;https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable&gt; xmlrpc
			*  svn co &lt;http://svn.code.sf.net/p/xmlrpc-c/code/advanced&gt; xmlrpc-c
			*  svn co &lt;http://svn.code.sf.net/p/xmlrpc-c/code/stable&gt; xmlrpc-c</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:dotfiles:gitattributes?rev=1777903924&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-04T14:12:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>.git* - .gitattributes</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:dotfiles:gitattributes?rev=1777903924&amp;do=diff</link>
        <description>.git* - .gitattributes

indica la naturaleza de cierto tipos de archivos para optimizar el control de cambios.

*.tgz binary
code/*.zip binary

	*  diff:Le indica a Git cómo comparar dos versiones del archivo.
		*  Sin esto, Git intentaría comparar los archivos binarios (lo cual es inútil y consume mucha CPU).</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion3?rev=1740125099&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-21T08:04:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ethical Hacker : sesión 3</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion3?rev=1740125099&amp;do=diff</link>
        <description>Ethical Hacker : sesión 3

	*  Ethical Hacker : sesión 3

clase

	*  Modulo 09 - Ingenieria social
	*  Modulo 10 - Denegación de servicio
	*  Modulo 11 - Session Hijacking
	*  Modulo 12 - Evadiendo IDS, cortafuegos y honeypots
	*  Modulo 13 - Ataques a servidores web

Modulo 09 - Ingenieria social</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s7?rev=1663570072&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-19T06:47:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LPIC2 2021 Sesión 7 (2021-02-23) - raid, networking</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s7?rev=1663570072&amp;do=diff</link>
        <description>LPIC2 2021 Sesión 7 (2021-02-23) - raid, networking

Documentación relacionada:

	*  Manual Certificacion LPIC-2.pdf, pag 72
	*  Material Practicas LPIC-2/LPIC-201/4-Filesystem and Devices/1-Gestión Avanzada de Discos.pdf
	*  Material Practicas LPIC-2/LPIC-201/4-Filesystem and Devices/3-</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terraform-azure:getting-started?rev=1585502579&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-29T17:22:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Terraform, getting started</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terraform-azure:getting-started?rev=1585502579&amp;do=diff</link>
        <description>Terraform, getting started

v11 VS v12

	*  terraform.tfvars
		*  no necesidad entrecomillar las variables




	*  *.tf
		*  no interpolation para el uso de variables
		*  si aún en expresiones dentro de strings
		*  en el caso de azure, para usar versión 12, la versión del</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/raspi:start?rev=1717667162&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-06-06T09:46:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>raspberry pi</title>
        <link>https://miguelangel.torresegea.es/wiki/raspi:start?rev=1717667162&amp;do=diff</link>
        <description>raspberry pi

lan

inactives

información

	*  &lt;https://www.raspberrypi.org/documentation/&gt;
	*  &lt;https://www.raspberrypi.org/documentation/configuration/&gt;
	*  &lt;http://www.vichaunter.org/como-se-hace/como-conectar-montar-discos-duros-usb-la-raspberry-pi&gt;
	*  
cat /proc/cpuinfo | grep Model
cat /proc/device-tree/model
sudo lshw -short


tutoriales

	*  raspi-zero USB minicomputer : &lt;https://lifehacker.com/turn-a-raspberry-pi-zero-into-a-miniature-dongle-comput-1786996571&gt;
	*  firewall : &lt;https://o…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:sql:start?rev=1712309085&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-04-05T09:24:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SQL</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:sql:start?rev=1712309085&amp;do=diff</link>
        <description>SQL

	*  postgresql
	*  SQL Pivot

tablas útiles

	*  provincias
	*  SQLServer: &lt;https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks&gt;

pequeños scripts mysql

	*  buscar registros duplicados
	*  manejo de fechas en mysql
	*  Estado de un servidor mysql
	*  LEFT-JOIN
	*  mysqldump
	*  SQL update campo tabla 1 desde tabla 2

comandos

	*  
SHOW VARIABLES LIKE &quot;%version%&quot;;

	*  actualizar campo de un registro que cumpla criterio de WHERE:
UPDATE &lt;tabla&gt; SET &lt;campo&gt;=&#039;&lt;valor&gt;&#039;…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:practica1?rev=1580158095&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-27T20:48:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>practica 1</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:practica1?rev=1580158095&amp;do=diff</link>
        <description>practica 1

previa

	*  
npm install jquery popper.js bootstrap


rutas



	*  añadir a app.modules.ts
	*  en navbar.component.html:
		*  uso de routerLinkActive para indicar la opción activa
		*  uso de [routerLink] en lugar de href


servicios

	*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:init_.py?rev=1771502281&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-19T11:58:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>__init__.py</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:init_.py?rev=1771502281&amp;do=diff</link>
        <description>__init__.py

/via: &lt;https://realpython.com/python-init-py/&gt;

general

	*  este fichero marca un directorio como un paquete regular
		*  permite importar todo de golpe o un modulo concreto

	*  permite la importación de módulos
	*  el contenido de ese fichero se ejecuta automaticamente con la primera importación</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:virtualbox?rev=1730187726&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-29T07:42:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>virtualbox</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:virtualbox?rev=1730187726&amp;do=diff</link>
        <description>virtualbox

devops cursos pendiente

redes

	*  &lt;https://www.virtualbox.org/manual/ch06.html&gt;
	*  &lt;https://www.nakivo.com/blog/virtualbox-network-setting-guide/&gt;

Guest Additions CD

	*  preparativos en la máquina virtual:
		*  crear la carpeta compartida en los settings de la VM (Settings-&gt;Shared Folders-&gt; Add Share (no read-only,no auto-mount, make permanent)
		*  arrancar la VM</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:libros:swarm?rev=1639043923&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-09T09:58:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Native Docker clustering with Swarm</title>
        <link>https://miguelangel.torresegea.es/wiki/info:libros:swarm?rev=1639043923&amp;do=diff</link>
        <description>Native Docker clustering with Swarm

libros tech docker swarm

	*  Autores:
		*  Fabrizio Soppelsa (Autor)
		*  Chanwit Kaewkasi (Autor)

	*  Editorial: Packt
	*  ISBN: 1786469758

capítulos

	*  [native docker clustering with swarm] Welcome
	*  [native docker clustering with swarm] Discover the Discovery Services
	*  [native docker clustering with swarm] Meeting docker swarm mode
	*  [native docker clustering with swarm] Creating a Production-Grade Swarm
	*  [native docker clustering with swarm…</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: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:indirectreferences?rev=1543427202&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-28T17:46:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Referencias indirectas</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:indirectreferences?rev=1543427202&amp;do=diff</link>
        <description>Referencias indirectas

indirection, indirect references

usar el valor de una variable para acceder al contenido de otra


# declaramos 2 variables
export xyzzy=plugh ; export plugh=cave

echo ${xyzzy}  # normal, xyzzy to plugh -&gt; plugh

echo ${!xyzzy} # indirection, xyzzy to plugh to cave -&gt; cave</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:debian:install-6?rev=1580596040&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-01T22:27:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>instalación rápida debian 6 como seedbox</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:install-6?rev=1580596040&amp;do=diff</link>
        <description>instalación rápida debian 6 como seedbox

	*  /vía: &lt;http://pastebin.com/Kx8sLk46&gt;
	*  /vía: &lt;http://www.linuxquestions.org/questions/linux-general-1/problem-using-screen-cannot-open-your-terminal-dev-pts-0-please-check-338313/&gt;: problemas con screen
	*  configuración rtorrent+rutorrent+screen: /vía: &lt;https://ks358174.kimsufi.com/download.CFF9640E/&gt;
	*  reiniciar rtorrent (&lt;https://www.feralhosting.com/faq/view?question=158&gt;)

instalación básica


apt-get update &amp;&amp; apt-get upgrade
apt-get instal…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:install-9?rev=1582703814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-26T07:56:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>debian 9 stretch</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:install-9?rev=1582703814&amp;do=diff</link>
        <description>debian 9 stretch

gnome

control de ventanas desde CLI

	*  devilspie2 : programa para recolocar las ventanas escritorio
		*  &lt;http://git.savannah.gnu.org/cgit/devilspie2.git/plain/README&gt;
		*  LUA: &lt;http://lua-users.org/wiki/StringLibraryTutorial&gt;
		*  LUA: &lt;https://stackoverflow.com/questions/37121875/lua-return-value-if-string-match-with-wildcard&gt;
-- the debug_print command does only print anything to stdout
    * comandos: [[https://github.com/gusnan/devilspie2/blob/master/README]]
-- if dev…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:distros:debian-12-bookworm?rev=1747299953&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-15T09:05:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Debian 12 bookworm</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:distros:debian-12-bookworm?rev=1747299953&amp;do=diff</link>
        <description>Debian 12 bookworm

network

/via:

	*  &lt;https://www.linuxtechi.com/configure-static-ip-address-debian/&gt;
	*  &lt;https://infotechys.com/add-multiple-ip-addresses-using-nmcli/&gt;
	*  &lt;https://shape.host/resources/como-configurar-la-red-en-debian-12&gt;

nmcli


nmcli connection
sudo nmcli connection modify &#039;Wired connection 1&#039; ipv4.address 192.168.1.240/24
sudo nmcli connection modify &#039;Wired connection 1&#039; ipv4.gateway 192.168.1.1
sudo nmcli connection modify &#039;Wired connection 1&#039; ipv4.method manual
sudo n…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:findimagedupes?rev=1535013969&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-23T08:46:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>findimagedupes</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:findimagedupes?rev=1535013969&amp;do=diff</link>
        <description>findimagedupes

funcionamiento

	*  &lt;http://www.jhnc.org/findimagedupes/manpage.html&gt;

ejemplos

	*  muestra los fingerprints de las imágenes, ordenados para que los idénticos se muestren uno al lado de otro:
$ findimagedupes -R --verbosity=fingerprint --no-compare . | sort

	*  ejemplo utilización funciones y parámetro -i:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:backupselectivo?rev=1576005342&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-12-10T19:15:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>backup selectivo</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:backupselectivo?rev=1576005342&amp;do=diff</link>
        <description>backup selectivo

pendiente wiki
RASP-HOLE
&lt;https://stackoverflow.com/questions/8033857/tar-archiving-that-takes-input-from-a-list-of-files&gt;

&lt;https://stackoverflow.com/questions/984204/shell-command-to-tar-directory-excluding-certain-files-folders&gt;


#! /bin/bash

PATH_LOCAL=/home/pi/backup

#tar vczf ${PATH_LOCAL}/pihole-raspi.tar.gz --files-from ${PATH_LOCAL}/files.txt --exclude-tag-all=.nobackup -X ${PATH_LOCAL}/exclude.txt
tar vczf ${PATH_LOCAL}/pihole-raspi.tar.gz --files-from ${PATH_LOCAL…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:rsync?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>rsync.sh</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:rsync?rev=1321351182&amp;do=diff</link>
        <description>rsync.sh


#!/bin/bash
#
# parametros RSYNC
#   - r == recursive
#   - p == preserve permisions
#   - t == preserve times
#   - q == supress non-error messages
#   - o == preserve owner
#   - g == preserve group
#   - L == copy-links
#   - v == verbose

RSYNC=/usr/bin/rsync
SSH=/usr/bin/ssh
KEY=/root/.ssh/rsa_192.168.3.199
RUSER=backup
RHOST=192.168.3.199
RPATH=/home/backup
LPATH=/home/backups/wardog.eurorscg.es
TITLE=&quot;to_be_changed&quot;
DATE=`eval date +%y%m%d`

# $RSYNC -az -e &quot;$SSH -i $KEY&quot; $RUSE…</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:seguridad:start?rev=1715770310&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-15T10:51:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux seguridad</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:seguridad:start?rev=1715770310&amp;do=diff</link>
        <description>linux seguridad

	*  Linux sadservers

setup

	*  PAM
		*  su: crear un grupo tipo permitsu y añadir a los usuarios que pueden usar su
		*  passwd: crear reglas fuertes de contraseña

	*  sudo:
		*  restringido per grups usuaris
		*  noexec

	*  sudoreplay
	*  sshd</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:proxy?rev=1700651687&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-22T11:14:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ssh proxy / socks</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:proxy?rev=1700651687&amp;do=diff</link>
        <description>ssh proxy / socks

socks proxy

navegador

	*  
ssh -N -D 9090 [USER]@[SERVER_IP]

	*  firefox:
	*  chrome:
		*  
/usr/bin/google-chrome --user-data-dir=&quot;$HOME/proxy-profile&quot; --proxy-server=&quot;socks5://localhost:9090&quot;


	*  /via: &lt;https://linuxize.com/post/how-to-setup-ssh-socks-tunnel-for-private-browsing/&gt;

descargas curl

ssh -D 8080 -f -C -q -N user@remote.host # establece canal
curl -x socks5h://0:8080 --remote-name --location https://example.com # descarga a través del remote.host
ssh -O exi…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:remoteaccess?rev=1604512885&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-04T18:01:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>uso de bastion</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:remoteaccess?rev=1604512885&amp;do=diff</link>
        <description>uso de bastion

acceso a servicio remoto a través de bastion

	*  pretendemos acceder a un servicio fuera de nuestro alcance, usando un servidor bastion intermedio al que si que tenemos.
	*  concretamente a un servidor MYSQL
		*  así el servicio de MYSQL no está expuesto</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:sshfs?rev=1777967145&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:45:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sshfs</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:sshfs?rev=1777967145&amp;do=diff</link>
        <description>sshfs

linux ssh

conectar via SSH con lozalización remota como punto de montaje

especialmente útil cuando hay que copiar ficheros «salteados», evitamos el uso del scp

	*  instalar el paquete sshfs
	*  para montar: 
sudo sshfs usuario@sistema.remoto:/path/montaje /path/punto.montaje.local</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:systemd:timedatectl?rev=1637991814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-27T05:43:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>timedatectl</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:systemd:timedatectl?rev=1637991814&amp;do=diff</link>
        <description>timedatectl

timedatectl list-timezones

sudo timedatectl set-timezone zone

timedatectl status</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:utils:ls?rev=1749128028&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-05T12:53:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Linux ls</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:utils:ls?rev=1749128028&amp;do=diff</link>
        <description>Linux ls

último acceso

Cuando estás copiando y el fichero guarda la fecha original de creación, pero quieres ver la fecha de último acceso

ls -lu --time=ctime

	*  --time=atime : updated when the file is read
	*  --time=birth : updated when the file contents change. This is the</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:globbing?rev=1585000649&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-23T21:57:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ZSH Globbing (extended)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:globbing?rev=1585000649&amp;do=diff</link>
        <description>ZSH Globbing (extended)

glob expression

	*  ls &lt;path&gt;/*/* : lista todos los ficheros a 2 niveles del actual
	*  ls &lt;path&gt;/**/* : lista todos los ficheros en cualquier directorio
	*  ls &lt;path&gt;/**/*.txt : lista todos los ficheros .txt en cualquier directorio por debajo</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:telegram:start?rev=1580598211&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-01T23:03:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>telegram</title>
        <link>https://miguelangel.torresegea.es/wiki/software:telegram:start?rev=1580598211&amp;do=diff</link>
        <description>telegram

create bot

telgram commands

	*  @BotFather
		*  /newbot
			*  -&gt; API TOKEN

		*  /setuserpic

	*  @userinfobot : nos da nuestro ID usuario telegram

info

	*  &lt;https://www.shellhacks.com/telegram-api-send-message-personal-notification-bot/&gt;
	*  &lt;https://ugeek.github.io/blog/post/2019-03-14-crea-un-bot-de-telegram-con-bash-y-una-sola-linea-de-terminal.html&gt;

shell script


#!/bin/bash
function sendTelegram {

local TEXT=$1
local SERVER=&quot;K0&quot;
#local MESSAGE=$2

#[[ ! -z &quot;$MESSAGE&quot; ]] &amp;&amp;…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:utils:rhash?rev=1584951650&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-23T08:20:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rhash</title>
        <link>https://miguelangel.torresegea.es/wiki/software:utils:rhash?rev=1584951650&amp;do=diff</link>
        <description>rhash

	*  calculo de diferentes tipos de hashes, con posibilidad de recursividad
	*  wiki: &lt;https://sourceforge.net/p/rhash/wiki/Home/&gt;
	*  página oficial: &lt;http://rhash.sourceforge.net/manpage.php&gt;

compilar

	*  git clone &lt;https://github.com/rhash/RHash.git&gt;
		*  ./configure &amp;&amp; sudo make install -&gt; no carga la librería dinámica
		*  ./configure &amp;&amp; make build-static</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:youtransfer:start?rev=1738591623&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-03T14:07:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>youtransfer</title>
        <link>https://miguelangel.torresegea.es/wiki/software:youtransfer:start?rev=1738591623&amp;do=diff</link>
        <description>youtransfer

psiTransfer

	*  Més modern que l&#039;altre i més amigable
	*  &lt;https://github.com/psi-4ward/psitransfer&gt;
	*  &lt;https://github.com/psi-4ward/psitransfer?tab=readme-ov-file&gt;

doc

	*  &lt;https://github.com/psi-4ward/psitransfer/blob/master/docs/configuration.md&gt;

docker

	*  
docker run -p 0.0.0.0:3000:3000 \
    -e PSITRANSFER_ADMIN_PASS=secret \
    -v $PWD/data:/data \
    psitrax/psitransfer


	*  
services:
  psitransfer:
    image: psitrax/psitransfer
    ports:
      - &quot;3000:3000&quot;  #…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tcpip:ip:ipv6?rev=1721841240&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-07-24T17:14:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>IPv6</title>
        <link>https://miguelangel.torresegea.es/wiki/tcpip:ip:ipv6?rev=1721841240&amp;do=diff</link>
        <description>IPv6

Las direcciones IPv6 se expresan en 16 bytes. Aunque se tratan en binario por las máquinas, su notación para los humanos es siempre en hexadecimal, lo que requiere todavía 32 caracteres. IPv6 soporta naturalmente como su predecesor un direccionamiento jerárquico y, por lo tanto, irá de forma sistemática acompañado de una máscara de subred. Por razones comprensibles, la máscara se expresará siempre en notación CIDR.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:run?rev=1574844222&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-11-27T08:43:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker run</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:run?rev=1574844222&amp;do=diff</link>
        <description>docker run

usos útiles



#!/bin/bash

docker run \
    --detach \
    --publish 9000:9000 \
    --name portainer \
    --restart unless-stopped \
    --volume /var/run/docker.sock:/var/run/docker.sock \
    --volume ${PWD}/data:/data \
portainer/portainer</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:replica?rev=1752152498&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:01:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git: replicación o duplicación de repositorios</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:replica?rev=1752152498&amp;do=diff</link>
        <description>git: replicación o duplicación de repositorios

git


# partiendo de un repositorio existente y uno recién creado
cp -r $PATH_REPO $PATH_REPO_NEW (habría que hacer un --bare antes?)
git remote -set-url origin $URL_REPO_NEW
git push --mirror origin


/vía:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:repo-lectura?rev=1746789176&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-09T11:12:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Crear repositorio de solo lectura (para algunos)</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:repo-lectura?rev=1746789176&amp;do=diff</link>
        <description>Crear repositorio de solo lectura (para algunos)

git

	*  Crear repo: 
mkdir mi_repositorio.git
cd mi_repositorio.git
git init --bare

	*  asignar owners: 
sudo chown -R git:mi_grupo_lectura mi_repositorio.git

	*  asignar permisos: 
sudo chmod -R 755 mi_repositorio.git</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:k8s:rbac?rev=1586422591&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-09T08:56:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kubernetes rbac</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:k8s:rbac?rev=1586422591&amp;do=diff</link>
        <description>kubernetes rbac

básicos cli

	*  
kubectl get roles [--namespace=&lt;NS&gt;]

	*  
kubectl get clusterroles 

	*  
kubectl delete roles/&lt;ROL&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:aws?rev=1749543966&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-10T08:26:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>terraform AWS</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:aws?rev=1749543966&amp;do=diff</link>
        <description>terraform AWS

login


export AWS_DEFAULT_REGION=&quot;us-east-1&quot;
export AWS_ACCESS_KEY_ID=&quot;$(revealpass AWS_ACCESS_KEY_ID)&quot;
export AWS_SECRET_ACCESS_KEY=&quot;$(revealpass AWS_SECRET_ACCESS_KEY)&quot;



revealpass() {
    local DATA_PATH=&quot;/secure/storage/PASSWORDS/&quot;
    local SERVICE=$1
    
    [[ ! -z ${SERVICE} ]] &amp;&amp; [[ -f ${DATA_PATH}${SERVICE} ]] &amp;&amp; cat ${DATA_PATH}${SERVICE}
}</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:casos-uso?rev=1583761096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-09T13:38:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>casos de uso</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:casos-uso?rev=1583761096&amp;do=diff</link>
        <description>casos de uso

data-templates


Install-WindowsFeature -Name GPMC,RSAT-AD-PowerShell,RSAT-AD-AdminCenter,RSAT-ADDS-Tools,RSAT-DNS-Server
New-ADOrganizationalUnit -Name &quot;${container_OU}&quot; -Path &quot;${base_path_AD}&quot;
New-ADGroup -Name &quot;${admin_vpn_group}&quot; -SamAccountName ${admin_vpn_group} -GroupCategory Security -GroupScope Global -DisplayName ${admin_vpn_group} -Path &quot;${vpn_OU_AD}${base_path_AD}&quot;
$Attributes = @{
    Enabled = $true
    ChangePasswordAtLogon = $false
    Name = &quot;${user}&quot;
    AccountPa…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/windows:links:start?rev=1750795275&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-24T20:01:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Windows: comandos básicos desde cmd</title>
        <link>https://miguelangel.torresegea.es/wiki/windows:links:start?rev=1750795275&amp;do=diff</link>
        <description>Windows: comandos básicos desde cmd

windows

	*  ejecutar como administrador en el cuadro de ejecutar (Windows+R):++
 


resumen
 Comando  Proceso  msconfig  Accede a la herramienta de configuración del sistema (arranque, servicios, inicio, herramientas)  ipconfig</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/windows:serial:start?rev=1715768667&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-15T10:24:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>recuperación de números de serie</title>
        <link>https://miguelangel.torresegea.es/wiki/windows:serial:start?rev=1715768667&amp;do=diff</link>
        <description>recuperación de números de serie

windows

nirsoft

&lt;http://www.nirsoft.net/utils/product_cd_key_viewer.html&gt;

linux (liveCD/liveUSB)

cat /sys/firmware/acpi/tables/MSDM

xxd /sys/firmware/acpi/tables/MSDM

hd /sys/firmware/acpi/tables/MSDM

/vía: &lt;http://www.sysadmit.com/2015/07/windows-uefi-bios-ver-clave-guardada.html&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/windows:trucos:start?rev=1752159899&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T15:04:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Windows (trucos)</title>
        <link>https://miguelangel.torresegea.es/wiki/windows:trucos:start?rev=1752159899&amp;do=diff</link>
        <description>Windows (trucos)

windows

short

	*  para apagar el equipo sin aplicar actualizaciones, en lugar de apagar por menu de Inicio, pulsar ALT-F4 en el escritorio, nos dará más opciones de apagado (y una de ellas sin instalar las actualizaciones en ese momento)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:seedbos:rutorrent?rev=1580595855&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-01T22:24:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>instalación / configuración rutorrent (on premise)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:seedbos:rutorrent?rev=1580595855&amp;do=diff</link>
        <description>instalación / configuración rutorrent (on premise)

	*  descargar en directorio temporal:
		*  svn checkout &lt;http://rutorrent.googlecode.com/svn/trunk/rutorrent&gt;
		*  svn checkout &lt;http://rutorrent.googlecode.com/svn/trunk/plugins&gt;
		*  sustituimos la carpeta plugins dentro del rutorrent por la descargada
		*  copiamos/movemos la carpeta a la raiz del webserver, cambiando permisos y propietario</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:oh-my-zsh:autoenv?rev=1732706445&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-27T11:20:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>zsh-autoenv</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:oh-my-zsh:autoenv?rev=1732706445&amp;do=diff</link>
        <description>zsh-autoenv

/via: &lt;https://github.com/Tarrasch/zsh-autoenv&gt;

configuration

	*  AUTOENV_FILE_ENTER: Name of the file to look for when entering directories. Default: .autoenv.zsh
	*  AUTOENV_FILE_LEAVE: Name of the file to look for when leaving directories. Requires AUTOENV_HANDLE_LEAVE=1.Default: .autoenv_leave.zsh</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:apache:vhost:start?rev=1627887172&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-08-02T06:52:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>virtualhost examples</title>
        <link>https://miguelangel.torresegea.es/wiki/web:apache:vhost:start?rev=1627887172&amp;do=diff</link>
        <description>virtualhost examples

multidominio http -&gt; https


&lt;VirtualHost *:80&gt;
    ServerName landing.fidmag.org
    Redirect permanent / https://landing.fidmag.org/
&lt;/VirtualHost&gt;
&lt;VirtualHost *:80&gt;
    ServerName new.landing.fidmag.org
    Redirect permanent / https://new.landing.fidmag.org/
&lt;/VirtualHost&gt;
&lt;VirtualHost *:80&gt;
    ServerName brainpredict.com
    ServerAlias www.brainpredict.com 
    Redirect permanent / https://brainpredict.com/
&lt;/VirtualHost&gt;
&lt;VirtualHost *:80&gt;
    ServerName cursoneuro…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:alpine?rev=1531410794&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-07-12T15:53:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>alpine</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:alpine?rev=1531410794&amp;do=diff</link>
        <description>alpine

instrucciones

	*  usuarios:
RUN addgroup -g 1001 -S dani \
&amp;&amp; adduser -D -S -u 1001 -F -s /sbin/nologin
...



virtual

	*  coger la imagen mínima, instalar lo necesario, realizamos las tareas necesarias y borrar, todo en un RUN (para mantenerlo en la layer)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:dockerfile?rev=1546512279&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-01-03T10:44:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Dockerfile</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:dockerfile?rev=1546512279&amp;do=diff</link>
        <description>Dockerfile

fichero de scripting para generar un contenedor
docker build -t &lt;nombre&gt; .: genera una nueva imagen con repositorio &lt;tag&gt;
vagrant rsync : sincroniza el directorio «compartido» entre el host y la imagen vagrantTambién se puede lanzar un proceso vagrant rsync-auto que se encarga de ir haciendo este proceso automaticamente</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:git:iniciando-repositorio?rev=1530987284&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-07-07T18:14:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>iniciando un repositorio</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:git:iniciando-repositorio?rev=1530987284&amp;do=diff</link>
        <description>iniciando un repositorio

Antes de nada, es necesario hacer una aclaración. Cuando hablamos de “iniciar” un repositorio, nos estamos refiriendo a comenzar a trabajar con un repositorio.

La creación de un repositorio siempre es local. Es importante que no se nos olvide, porque al principio puede ser un poco confuso. Una vez hemos creado un repositorio en local, añadimos lo que llamamos un remoto , que es una copia de dicho repositorio alojada en un servidor.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:git:instalacion?rev=1530983775&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-07-07T17:16:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>instalación</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:git:instalacion?rev=1530983775&amp;do=diff</link>
        <description>instalación

debian/ubuntu:

apt-get install git-core

redhat/centos:

yum install git-core

mac:&lt;http://brew.sh/&gt;

#instalar homebrew
/usr/bin/ruby -e &quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)&quot;
brew install git


windows:&lt;http://cmder.net/&gt; : terminal mejorado, incorpora comandos linux y git</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:intro-cloud-computing:iaac?rev=1536918076&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-14T09:41:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>infraestructura como código</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:intro-cloud-computing:iaac?rev=1536918076&amp;do=diff</link>
        <description>infraestructura como código

IaaC

ocultar/mostrar

	*  adaptar metodologías de desarrollo al mundo de sistemas
	*  control de versiones
	*  lenguajes de programación
	*  gestión de la configuración
	*  despliegues automatizados
	*  basado en pruebas: integración continua, entrega continua y despliegue continuo</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion2?rev=1550920329&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-23T11:12:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sesión 2: Docker</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion2?rev=1550920329&amp;do=diff</link>
        <description>Sesión 2: Docker

info

	*  &lt;https://es.atlassian.com/software/confluence&gt;
	*  &lt;https://12factor.net&gt;
	*  duffle -&gt; helm
	*  istio.io : securiza la conexión entre PODs

sudo &amp; services

	*  sudoreplay
		*  /var/log/sudo-io

	*  supervisor daemon (levanta varios servicios)

datos

	*  datadog : &lt;https://www.datadoghq.com/&gt;
	*  influx : &lt;https://www.influxdata.com/&gt;

Parallel changes</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion7?rev=1559662594&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-06-04T15:36:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sesión 7: Seguridad, Prometheus</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion7?rev=1559662594&amp;do=diff</link>
        <description>Sesión 7: Seguridad, Prometheus

seguridad

	*  &lt;https://www.owasp.org/&gt;
	*  JSON
	*  REST = Representational state transfer
		*  uso de verbos
			*  comunes: get, post, head
			*  otras: putm patch, delete, transfer...
			*  &lt;https://en.wikipedia.org/wiki/Representational_state_transfer&gt;
			*  waf, ids, ips : filtrado por reglas


	*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion9?rev=1586354335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-08T13:58:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sesión 9 : kubernetes, Jenkins</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion9?rev=1586354335&amp;do=diff</link>
        <description>Sesión 9 : kubernetes, Jenkins

devops cursos k8s

instalación

	*  desinstalar docker-ce:
		*  apt remove docker-ce &amp;&amp; apt purge docker-ce
		*  rm -rf /var/lib/docker /etc/docker

	*  solicitar licencia EE
		*  añadir la URL en apt: deb &lt;https://storebits.docker.com/ee/trial/sub-4e042314-2ac7-4c0f-9c6e-f4727ecb3b70/ubuntu&gt; xenial stable
		*  descargar la key:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s15?rev=1616527847&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-23T19:30:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LPIC2 2021 Sesión 15 (2021-03-23)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:lpic2-2021:s15?rev=1616527847&amp;do=diff</link>
        <description>LPIC2 2021 Sesión 15 (2021-03-23)

Documentación relacionada:

	*  Manual Certificacion LPIC-2.pdf, pag XX
	*  Material Practicas LPIC-2/LPIC-202/
	*  Presentaciones/2020/202/
	*  gdrive://

Clase

	*  DOC: Material Practicas LPIC-2/LPIC-202/7-System Security/</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:beats:winlogbeat-heartbeat?rev=1638702087&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-05T11:01:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ELK: Beats (Winlogbeats &amp; Heartbeats)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:beats:winlogbeat-heartbeat?rev=1638702087&amp;do=diff</link>
        <description>ELK: Beats (Winlogbeats &amp; Heartbeats)



winlogbeats

	*  monitoriza cualquier evento de log de windows
	*  todos los eventos
	*  la información recogida se formatea antes de enviar a ELK

heartbeat

	*  monitorización de servicios y disponibilidad de forma activa</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion3:lab9?rev=1740124796&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-21T07:59:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Lab Module 09: Social Engineering</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion3:lab9?rev=1740124796&amp;do=diff</link>
        <description>Lab Module 09: Social Engineering

Lab 1: Perform Social Engineering using Various Techniques

Task 1: Sniff Credentials using the Social-Engineer Toolkit (SET)

	*   setoolkit to launch Social-Engineer Toolkit.
	*  
	*  
	*  
	*  
	*  IP máquina host</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.1?rev=1703244026&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-22T11:20:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python Professional Course Series: GUI Programming</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m3:1.1?rev=1703244026&amp;do=diff</link>
        <description>Python Professional Course Series: GUI Programming

What is GUI?

GUI is an acronym. Moreover, it’s a three-letter acronym, a representative of a well-known class of acronyms which plays a very important role in the IT industry. Okay, that’s enough jokes about TLA’s for one course, all the more that</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:notificaciones?rev=1537866041&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-25T09:00:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>notificaciones</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:notificaciones?rev=1537866041&amp;do=diff</link>
        <description>notificaciones

3:35 Notificaciones

sistemas de mensajería:

	*  cisco_spark
	*  flowdock
	*  hipchat
	*  irc
	*  jabber
	*  mattermost : tipo slack pero de código abierto
	*  mqt : mensajería IoT
	*  nexmo : SMS
	*  pushbullet : móbiles
	*  pushover : móbiles</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:start?rev=1583776642&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-09T17:57:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ANGULAR</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:start?rev=1583776642&amp;do=diff</link>
        <description>ANGULAR

development

+ info

	*  re-introducción a javascript
	*  introducción a los objetos JavaScript
	*  let
	*  const

curso PUE

temario

	*  ANGULAR
	*  introducción e instalación
	*  introducción a TypeScript y ECMAScript 6 (ES6)
	*  angular: entorno
	*  angular: estructura proyecto
	*  angular: elementos básicos app
	*  angular: componentes
	*  angular: directivas y personalización
	*  angular: directivas estructurales
	*  angular: directivas de atributos
	*  angular: módulos &lt;-PPT 6.3,…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:encoding:start?rev=1600156269&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-09-15T07:51:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>encoding</title>
        <link>https://miguelangel.torresegea.es/wiki/development:encoding:start?rev=1600156269&amp;do=diff</link>
        <description>encoding

development addendum

beginners

	*  character_set ≡ repertoire: agrupación de caracteres para un propósito
	*  code point ≡ coded character set : representación única de un carácter en un character_set
	*  unicode: agrupación de «todos» los caracteres necesarios para usar en un ordenador, bajo un standard</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:utils:chromeremotedesktop?rev=1616408334&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-22T10:18:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Chrome Remote Desktop</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:utils:chromeremotedesktop?rev=1616408334&amp;do=diff</link>
        <description>Chrome Remote Desktop

	*  &lt;https://remotedesktop.google.com/access&gt;
	*  amb una connexió SSH, instal·la en aquell ordinador el Chrome Remote Desktop i autoritza al teu usuari Google a configurar aquella connexió.
		*  iniciar sesió a Google.
		*  visitar la adreça &lt;https://remotedesktop.google.com/headless&gt;
		*  seguir els passos fins que et dona la instrucció per executar a la teva màquina remota (per</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:webapps:tinytinyrss?rev=1571989996&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-25T07:53:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Tiny Tint RSS</title>
        <link>https://miguelangel.torresegea.es/wiki/software:webapps:tinytinyrss?rev=1571989996&amp;do=diff</link>
        <description>Tiny Tint RSS

URLs

	*  main page: &lt;https://tt-rss.org&gt;
	*  update feeds: &lt;https://tt-rss.org/wiki/UpdatingFeeds&gt;
	*  git repo: &lt;https://git.tt-rss.org/fox/tt-rss.git&gt;

dreamhost install

	*  añadir módulo intl /home/matez/.php/5.6/phprc
extension=intl.so

	*  añadir cron para actualización de feeds:
*/30 * * * * /usr/bin/php /path/to/tt-rss/update.php --feeds --quiet</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/ciberseguridad:start?rev=1777381055&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-28T12:57:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ciberseguridad</title>
        <link>https://miguelangel.torresegea.es/wiki/ciberseguridad:start?rev=1777381055&amp;do=diff</link>
        <description>Ciberseguridad

cloudflare tunnels

	*  &lt;https://www.redeszone.net/tutoriales/vpn/cloudflare-tunnel-acceso-servidor-seguro/&gt;
	*  &lt;https://blog.elhacker.net/2025/02/cloudflare-tunnels-public-hostnames.html&gt;
	*  &lt;https://www.xatakamovil.com/conectividad/cloudflare-quiere-impedir-bloqueos-sitios-web-polemica-o2-movistar-nos-recuerda-que-hay-medidas-drasticas&gt;

Tests

	*  Testssl.sh es una herramienta de análisis de cifrado SSL/TLS de código abierto, gratuita y mantenida por una comunidad activa. Es…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:sql:updatefield2tables?rev=1637185714&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-17T21:48:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SQL update campo tabla 1 desde tabla 2</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:sql:updatefield2tables?rev=1637185714&amp;do=diff</link>
        <description>SQL update campo tabla 1 desde tabla 2


select o.__timestamp as IDOrigen,d.__timestamp as IDDestino 
from 10minutos_photos d inner join 10minutos_photos_OLD o on d.id=o.id WHERE d.id &lt; 1000



UPDATE 10minutos_photos d inner join 10minutos_photos_OLD o on d.id=o.id 
SET d.__TIMESTAMP = o.__TIMESTAMP
WHERE d.id &lt; 1000</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:20200302?rev=1583179491&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-02T20:04:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>02/03/2020</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:20200302?rev=1583179491&amp;do=diff</link>
        <description>02/03/2020

proyecto: firebase + crud

	*  &lt;https://angular-templates.io/tutorials/about/firebase-authentication-with-angular&gt;
	*  &lt;https://angular-templates.io/tutorials/about/angular-crud-with-firebase&gt;

setup

	*  borrar directorio e2e
		*  eliminar referencias a e2e en package.json y angular.json
		*  actualizar con npm i
		*  instalar un formateador de código: npm i --save-dev prettier
			*  tslint se está deprecando</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:componentes?rev=1580061301&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-26T17:55:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>angular: componentes</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:componentes?rev=1580061301&amp;do=diff</link>
        <description>angular: componentes

	*  PPT: 3.3 + 3.4 + 3.5

preparativos

	*  uso de bootstrap como framework CSS
		*  añadirlo en package.json y usar npm para su instalación
		*  descargar directamente
		*  uso por CDN

	*  generar nuevo proyecto: 
ng new &lt;PROJECT&gt;

	*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:directivas?rev=1581288362&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-09T22:46:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>angular: directivas y personalización</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:directivas?rev=1581288362&amp;do=diff</link>
        <description>angular: directivas y personalización

	*  componentes
		*  directivas con plantilla asociada
		*  son del tipo más común

	*  directivas de atributos
		*  cambian la apariencia o el comportamiento de un elemento, componente u otra directiva
		*  se usan como atributos de los elementos</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:maven:start?rev=1574844174&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-11-27T08:42:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>maven</title>
        <link>https://miguelangel.torresegea.es/wiki/development:maven:start?rev=1574844174&amp;do=diff</link>
        <description>maven

development addendum

/via: &lt;https://www.adictosaltrabajo.com/tutoriales/maven/&gt;

general

	*  basado en POM
	*  &lt;http://maven.apache.org&gt;
	*  patrones y estándaares
	*  POM : descripción del proyecto, de que se compone -&gt; maven se encargará de hacer
	*  gestión de librerias (incluso transitivas)

arquetipo

	*  ≡ plantilla; estructura de directorios y ficheros</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:bokeh?rev=1728563878&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-10T12:37:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python Bokeh</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:bokeh?rev=1728563878&amp;do=diff</link>
        <description>Python Bokeh

	*  
pip3 install bokeh


bokeh ejemplos

más ejemplos en Python Pandas


from bokeh.plotting import figure, output_file, show
 
p=figure(width=500,height=400, tools=&#039;pan&#039;)
 
p.title.text=&quot;Cool Data&quot;
p.title.text_color=&quot;Gray&quot;
p.title.text_font=&quot;times&quot;
p.title.text_font_style=&quot;bold&quot;
p.xaxis.minor_tick_line_color=None
p.yaxis.minor_tick_line_color=None
p.xaxis.axis_label=&quot;Date&quot;
p.yaxis.axis_label=&quot;Intensity&quot;    
 
p.line([1,2,3],[4,5,6])
output_file(&quot;graph.html&quot;)
show(p)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:python:curiosidades?rev=1758268700&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-19T07:58:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python curiosidades</title>
        <link>https://miguelangel.torresegea.es/wiki/development:python:curiosidades?rev=1758268700&amp;do=diff</link>
        <description>Python curiosidades

None, True, False


if result is None:
    print &quot;error parsing stream&quot;
elif result:
    print &quot;result pass&quot;
else:
    print &quot;result fail&quot;



messages = {None: &#039;error&#039;, True: &#039;pass&#039;, False: &#039;fail&#039;}
print messages[result]</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:react:start?rev=1579910693&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-25T00:04:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>react</title>
        <link>https://miguelangel.torresegea.es/wiki/development:react:start?rev=1579910693&amp;do=diff</link>
        <description>react

development react

&lt;https://es.reactjs.org/tutorial/tutorial.html&gt;


→ &lt;https://es.reactjs.org/tutorial/tutorial.html#passing-data-through-props&gt;

install

	*  debian/ubuntu: &lt;https://github.com/nodesource/distributions/blob/master/README.md&gt;
	*  
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs


first-project

	*  
npx create-react-app my-app</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:libros:git?rev=1543312881&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-27T10:01:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git (libro Amazon)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:libros:git?rev=1543312881&amp;do=diff</link>
        <description>git (libro Amazon)

devops cursos git

uso básico

configuración inicial

	*  git config --global user.name &lt;nombre&gt;
	*  git config --global user.email &lt;email&gt;
	*  git config --global core.editor &lt;EDITOR&gt;
	*  git condig --global push.default {matching|simple|current|nothing}</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:aptget:repos?rev=1566804756&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-26T07:32:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>repos</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:aptget:repos?rev=1566804756&amp;do=diff</link>
        <description>repos

&lt;https://wiki.debian.org/SourcesList#Component&gt;

ubicación/configuración

para cambiar los repositorios que hemos de utilizar, modificar el fichero /etc/apt/sources.list

o mejor crear fichero nuevo en /etc/apt/sources.list.d/*.list

https

para usar https en las peticiones a repositorios, instalar el paquete</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:debug?rev=1516612329&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-01-22T09:12:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>debug en bash</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:debug?rev=1516612329&amp;do=diff</link>
        <description>debug en bash

&lt;https://www.cyberciti.biz/tips/debugging-shell-script.html&gt;

variables de entorno

	*  en el script, modificando el SheBang:
#!/bin/bash -x

	*  desde linea de comando: $ bash -x &lt;script&gt;
	*  activar modos:
		*  set (+/-)x : muestra comandos y argumentos a medida que son ejecutados
		*  set (+/-)v</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:locale?rev=1763374899&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-17T10:21:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>locale</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:locale?rev=1763374899&amp;do=diff</link>
        <description>locale

	*  lista de los códigos locale
	*  para lanzar una aplicación en un idioma determinado (y si la aplicación lo soporta): $ export LANG=&lt;codigo&gt;; &lt;aplicacion&gt;

el comando

	*  locale -&gt; permite ver todos los valores en el sistema
	*  locale -a -&gt; permite ver los locales del sistema</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:update-alternatives?rev=1654853816&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-10T09:36:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>update-alternatives</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:update-alternatives?rev=1654853816&amp;do=diff</link>
        <description>update-alternatives

actualizar tabla de alternativas


update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2


seleccionar alternativa

update-alternatives --config python</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:ctl:start?rev=1751957209&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-08T06:46:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>*CTL</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ctl:start?rev=1751957209&amp;do=diff</link>
        <description>*CTL

	*  systemctl
	*  journalctl

loginctl

loginctl list-sessions

loginctl unlockl-session &lt;ID&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:dns:127?rev=1751957332&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-08T06:48:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>127.0.0.1 VS 127.0.1.1</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:dns:127?rev=1751957332&amp;do=diff</link>
        <description>127.0.0.1 VS 127.0.1.1

/via: &lt;https://askubuntu.com/questions/754213/what-is-difference-between-localhost-address-127-0-0-1-and-127-0-1-1&gt;

As your machine gets started, it will need to know the mapping of some hostnames to IP addresses before DNS can be referenced. This mapping is kept in the /etc/hosts file. In the absence of a name server, any network program on your system consults this file to determine the IP address that corresponds to a host name.</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:filesystem:mbr2gpt?rev=1731489132&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-13T09:12:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MBR / GPT</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:filesystem:mbr2gpt?rev=1731489132&amp;do=diff</link>
        <description>MBR / GPT

/via: &lt;https://www.muycomputer.com/2024/09/20/como-cambiar-una-particion-de-windows-de-mbr-a-gpt-sin-perder-datos/&gt;
revisar: /via: &lt;https://www.muycomputer.com/2020/02/05/gpt-mejor-que-mbr-linux-windows/&gt;

MBR

	*  Master Boot Record
	*  BIOS
	*  el más antiguo
	*  compatible con gama más amplia de OS
	*  desarrollado con los primeros IBM
	*  contiene el cargador de arranque del OS
	*  máximo particiones de 2TB
	*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:filesystem:start?rev=1731486052&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-13T08:20:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux filesystem</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:filesystem:start?rev=1731486052&amp;do=diff</link>
        <description>linux filesystem

	*  Filesystem Hierarchy Standard
		*  sysfs

	*  swap
	*  LUKS: sistema encriptación particiones debian
	*  mount
	*  glusterfs
	*  linux udisks
	*  Linux inodes
	*  Recuperación disco, clonación en imagen
	*  MBR / GPT

clonación y recuperación

	*  distro clonación: &lt;http://clonezilla.org/&gt;
		*  &lt;https://www.taringa.net/posts/linux/8551870/Procedimiento-para-realizar-clonado-perfecto-de-discos-duros.html&gt;

	*  recuperación: &lt;http://www.forensicswiki.org/wiki/Ddrescue&gt;
		*  &lt;…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:install:start?rev=1684584542&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-20T12:09:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux install</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:install:start?rev=1684584542&amp;do=diff</link>
        <description>linux install

acpi: monitor de temperatura del ordenador

	*  Instal·lació Linux Server Ubuntu 20.04.3
	*  Ubuntu 22.04
		*  KDE Plasma: &lt;https://www.how2shout.com/linux/how-to-install-kde-plasma-on-ubuntu-22-04-jammy-jellyfish/&gt;: 

sudo apt update &amp;&amp; sudo apt upgrade
sudo apt install kde-plasma-desktop # mínimal
sudo apt install kde-standard # standard
sudo apt install kde-full # full
# Select SSDM display Manager
sudo reboot
# si aparece teclado:
# CTRL+ALT+F5
sudo nano /etc/sddm.conf # ver c…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:notify?rev=1588539428&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-03T20:57:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Notificaciones escritorio</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:notify?rev=1588539428&amp;do=diff</link>
        <description>Notificaciones escritorio

paquete para poder enviar notificaciones al escritorio desde CLI

sudo apt-get libnotify-bin
sudo apt-get install notify-osd

instrucción para enviar:

notify-send Test &quot;Hello World&quot;

/via: &lt;http://ubuntuforums.org/showthread.php?t=1411620&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:winehq?rev=1759494512&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-03T12:28:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wineHQ</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:winehq?rev=1759494512&amp;do=diff</link>
        <description>wineHQ

	*  &lt;https://gitlab.winehq.org/wine/wine/-/wikis/Debian-Ubuntu&gt;  
	*  &lt;https://wiki.winehq.org/Ubuntu&gt;


sudo dpkg --add-architecture i386
wget -nc https://dl.winehq.org/wine-builds/Release.key
sudo apt-key add Release.key
sudo apt-add-repository &#039;deb https://dl.winehq.org/wine-builds/ubuntu/ xenial main&#039;

sudo apt-get update
sudo apt-get install --install-recommends winehq-stable</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:rclone:start?rev=1741346670&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-07T11:24:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rclone</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:rclone:start?rev=1741346670&amp;do=diff</link>
        <description>rclone

	*  &lt;https://www.rapidseedbox.com/blog/rclone&gt;
	*  
apt install rclone


2018

sincronización de ficheros y directorios desde CLI para los siguientes servicios cloud:

	*  Google Drive
	*  Amazon S3
	*  Openstack Swift / Rackspace cloud files / Memset Memstore
	*  Dropbox
	*  Google Cloud Storage</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:redhat:start?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>red hat, comandos de interés</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:redhat:start?rev=1321351182&amp;do=diff</link>
        <description>red hat, comandos de interés

versión

cat /etc/redhat-release

yum (actualización de paquetes)


$ yum list | grep &lt;paquete&gt;
$ yum install &lt;paquete&gt;


Otros repositorios: &lt;http://dag.wieers.com/rpm/&gt;

Más información sobre paquetes y rpm: &lt;http://www.ibm.com/developerworks/ssa/linux/library/l-lpic1-v3-102-5/&gt;

información GLPI upgrade: &lt;http://www.glpi-project.org/spip.php?article172&amp;var_recherche=upgrade&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:backup2?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>backup de archivos</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:backup2?rev=1321351182&amp;do=diff</link>
        <description>backup de archivos

backup varias carpetas de una lista



#!/bin/bash
#
# file system backup
#

# directorios de los que hacer backup, separado por espacio, sin / final
LISTA=&quot;/etc /var&quot;

# RUTAS
# Local Directory for Dump Files
LOCALDIR=/home/backups/tmp/
# Prefix for offsite .tar file backup
HOSTNAME=pandora
MAIL=root@$HOSTNAME
LOG_DATE=&quot;$(date +%y)$(date +%m)$(date +%d)&quot;
SUFFIX=`eval date +%y%m%d`


# APP
# crea un tar de los directorios especificados en LISTA
for directorio in $LISTA
do
   …</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:getopts?rev=1547928366&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-01-19T20:06:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>getopts</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:getopts?rev=1547928366&amp;do=diff</link>
        <description>getopts

buen tutorial: &lt;https://wiki.bash-hackers.org/howto/getopts_tutorial&gt;

uso

	*  la cadena que acompaña a la instrucción getopts indica las opciones disponibles
	*  getopts OPTSTRING VARNAME [ARGS...]
		*  OPTSTRING:
			*  h: comprueba la opción -h sin parámetros. Da error en opciones no soportadas</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:seguridad:fcrackzip?rev=1714029821&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-04-25T07:23:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fcrackzip</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:seguridad:fcrackzip?rev=1714029821&amp;do=diff</link>
        <description>fcrackzip

	*  &lt;https://www.hackingarticles.in/comprehensive-guide-on-fcrackzip-tool/&gt;
	*  &lt;http://manpages.ubuntu.com/manpages/trusty/man1/fcrackzip.1.html&gt;

install

sudo apt install fcrackzip

use

	*  
fcrackzip -vbu -l 1-7 test.zip | tee passwords

		*  v: verbose
		*  b: brute-force
		*  u: usar unzip para eliminar falsos positivos
		*  l: longitud mínima y máxima de la contraseña</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:seguridad:routersploit?rev=1615068624&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-06T22:10:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>routersploit</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:seguridad:routersploit?rev=1615068624&amp;do=diff</link>
        <description>routersploit

	*  &lt;https://github.com/threat9/routersploit&gt;


git clone https://www.github.com/threat9/routersploit
cd routersploit
docker build -t routersploit .
docker build -t routersploit .


	*  alternativas de instalación en página github


use scanners/autopwn
set target 192.168.1.1
run</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:install?rev=1777966967&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:42:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>instalación y desinstalación</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:install?rev=1777966967&amp;do=diff</link>
        <description>instalación y desinstalación

linux ssh

instalación del cliente:

apt-get install openssh-server

desinstalación del servidor (no necesario para conectarse a sitios por SSH):

apt-get remove openssh-server</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:rdpconn?rev=1604492281&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-04T12:18:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Conexión RDP con tunneling (y VPN)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:rdpconn?rev=1604492281&amp;do=diff</link>
        <description>Conexión RDP con tunneling (y VPN)

	*  usando Remmina como programa para la conexión RDP
	*  usando una VPN existente (y en marcha)
	*  usamos un servidor Linux (accesible a través de la VPN) para conectarnos a una máquina Windows (no accesible a través de la VPN)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:remoteconn?rev=1573039061&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-11-06T11:17:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Conexión remota A-&gt;B-&gt;C con SSH (~/.ssh/config)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:remoteconn?rev=1573039061&amp;do=diff</link>
        <description>Conexión remota A-&gt;B-&gt;C con SSH (~/.ssh/config)

conectar desde A a C (que no es accesible directamente por A) a través de B usando SSH

objetivo

	*  conectamos desde nuestra máquina local a bastion (A)
	*  conectaremos a la máquina C a través de A, según marca la configuración del fichero</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:tcpip:netcat?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>netcat (nc)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:tcpip:netcat?rev=1321351182&amp;do=diff</link>
        <description>netcat (nc)

este comando no requiere privilegios ROOT

comandos de ejemplo

scan TCP en rango puertos: 

nc -z systemadmin.es 70-90

scan UDP en rango puertos: 

nc -zu systemadmin.es 50-55</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:tcpip:start?rev=1718614899&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-06-17T09:01:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tcp/ip (on Linux)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:tcpip:start?rev=1718614899&amp;do=diff</link>
        <description>tcp/ip (on Linux)

información

	*  cat /etc/services
	*  &lt;https://wiki.debian.org/es/NetworkConfiguration&gt;
	*  VLAN: &lt;https://nosololinux.es/todo-lo-que-necesitas-saber-sobre-vlans-en-redes/&gt;

configuración

	*  ip
	*  DNS
	*  dhcp
	*  rutas
	*  NFS

utilidades

	*  dig
	*  whois
	*  ss
	*  netstat

firewall

	*  iptables
	*  Uncomplicated Firewall

comandos

	*  averiguar servidores DNS en conexto DHCP:
# averiguar ubicación fichero .lease
ps aux | grep dhclient
cat /var/lib/NetworkManager/dhc…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:utils:lftp?rev=1761933283&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-31T17:54:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>lftp</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:utils:lftp?rev=1761933283&amp;do=diff</link>
        <description>lftp

info

	*  &lt;https://lftp.yar.ru/&gt;
	*  &lt;https://linux.overshoot.tv/wiki/lftp&gt;
	*  &lt;https://serverfault.com/questions/135618/is-it-possible-to-use-rsync-over-sftp-without-an-ssh-shell&gt;
	*  &lt;https://stackoverflow.com/questions/27635292/transfer-files-using-lftp-in-a-bash-script&gt;

conn

lftp -u &lt;user&gt;,&lt;pass&gt; ftp://&lt;site&gt; &lt;&lt; EOF
mirror [OPS] &lt;REMOTE_DIR&gt; &lt;LOCAL_DIR&gt;
bye
EOF


lftp -p XXXXX -u &lt;user&gt;,&lt;pass&gt; sftp://&lt;site&gt; &lt;&lt; EOF
mirror [OPS] &lt;REMOTE_DIR&gt; &lt;LOCAL_DIR&gt;
bye
EOF


OPS:

	*  -e : elimin…</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:zsh:prompt?rev=1699364587&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-07T13:43:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ZSH prompt</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:prompt?rev=1699364587&amp;do=diff</link>
        <description>ZSH prompt


autoload -Uz promptinit
promptinit



prompt -p
prompt -l


/via: &lt;https://wiki.archlinux.org/title/Zsh#Prompt_themes&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:utils:trans?rev=1588371044&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-01T22:10:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>translate shell</title>
        <link>https://miguelangel.torresegea.es/wiki/software:utils:trans?rev=1588371044&amp;do=diff</link>
        <description>translate shell

install


wget git.io/trans
chmod +x ./trans


git: &lt;https://github.com/soimort/translate-shell&gt;

use

	*  trans
		*  [ -b | -brief ]
		*  [ -I | -shell ]
		*  [ -s | -source &lt;LANG_CODE&gt; ] : source language
		*  [ -t | -target &lt;LANG_CODE&gt; ] : target language
		*  [ -p | -play ] : plays translate</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tcpip:dns:dnsmasq?rev=1585390794&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-28T10:19:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dnsmasq</title>
        <link>https://miguelangel.torresegea.es/wiki/tcpip:dns:dnsmasq?rev=1585390794&amp;do=diff</link>
        <description>dnsmasq

/via: &lt;https://wiki.archlinux.org/index.php/dnsmasq&gt;

related

	*  &lt;https://www.linux.com/training-tutorials/dnsmasq-easy-lan-name-services/&gt;

comandos

	*  journalctl -u dnsmasq.service
	*  dnsmasq --test

conf


listen-address=::1,127.0.0.1
cache-size=1000 # 150 by default


features

resolver ciertas direcciones con ciertos servidores DNS


server=/altran.es/10.29.66.200</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:aws:start?rev=1749561491&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-10T13:18:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>AWS</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:aws:start?rev=1749561491&amp;do=diff</link>
        <description>AWS

cli

configure session

aws configure sso-session          
SSO session name: my-sso
SSO start URL [None]: https://d-cb6728e0c8.awsapps.com/start/#
SSO region [None]: eu-south-2
SSO registration scopes [sso:account:access]:

login

aws sso login --sso-session my-sso</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:context?rev=1651828557&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-05-06T09:15:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker context</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:context?rev=1651828557&amp;do=diff</link>
        <description>docker context

connectar con dockerd remoto a través conexión SSH


docker context create --docker host=ssh://&lt;SERVER_CONN&gt; --description &quot;server docker daemon&quot; &lt;SERVER&gt;
docker context create --docker host=ssh://&lt;USER&gt;@&lt;PASS&gt; --description &quot;server docker daemon&quot; &lt;SERVER&gt;
docker context use &lt;SERVER&gt;
docker context ls
docker context use default
docker context remove &lt;SERVER&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:fusion?rev=1752152535&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:02:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git: fusion varios repos en 1 conservando historia</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:fusion?rev=1752152535&amp;do=diff</link>
        <description>git: fusion varios repos en 1 conservando historia

git

/via: &lt;https://medium.com/@checko/merging-two-git-repositories-into-one-preserving-the-git-history-4e20d3fafa4e&gt;

	*  creamos nuevo repo + primer commit (no remote necesario en este momento para este repo)
	*  añadimos el remote del primer repo que queremos fusionar:
git remote add -f first_repo `link_to_first_repo`
git merge --allow-unrelated-histories first_repo/master</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:git-rename-branch?rev=1776244139&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-15T09:08:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Git rename branch (master to main)</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:git-rename-branch?rev=1776244139&amp;do=diff</link>
        <description>Git rename branch (master to main)

git

procedimiento

	*  renombrar rama en local:

# 1. En tu PC, renombra master a main
git branch -m master main

# 2. Sube la nueva rama main a Gitea
git push origin main


	*  cambiar rama por defecto en Gitea (settings</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:data-sources?rev=1585131403&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-25T10:16:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>terraform data source</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:data-sources?rev=1585131403&amp;do=diff</link>
        <description>terraform data source
muy incompleto
definición

data &quot;aws_ami&quot; &quot;example&quot; {
  most_recent = true

  owners = [&quot;self&quot;]
  tags = {
    Name   = &quot;app-server&quot;
    Tested = &quot;true&quot;
  }
}


resource &quot;aws_instance&quot; &quot;web&quot; {
  ami           = data.aws_ami.web.id
  instance_type = &quot;t1.micro&quot;
}</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:apache:cli?rev=1675931719&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-02-09T08:35:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Línea de Comando con Apache</title>
        <link>https://miguelangel.torresegea.es/wiki/web:apache:cli?rev=1675931719&amp;do=diff</link>
        <description>Línea de Comando con Apache

apachectl

	*  start/stop -&gt; arrancar y parar daemon (service httpd start/stop/restart)
	*  configtest -&gt; comprobar configuración (/etc/init.d/httpd configtest o apachectl configtest )
	*  graceful -&gt; recargar la configuración en caliente</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:apache:config?rev=1535614606&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-30T07:36:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>configuración apache</title>
        <link>https://miguelangel.torresegea.es/wiki/web:apache:config?rev=1535614606&amp;do=diff</link>
        <description>configuración apache

directivas para securizar

	*  evitar listado directorios Options -Indexes
	*  permitir .htaccess: (/etc/apache/sites-available/default)AllowOverride All
	*  evitar información del servidor (/etc/apache/conf.d/security):
		*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/windows:bloatware:start?rev=1744705037&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-15T08:17:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Windows bloatware</title>
        <link>https://miguelangel.torresegea.es/wiki/windows:bloatware:start?rev=1744705037&amp;do=diff</link>
        <description>Windows bloatware

2025

	*  &lt;https://www.shouldiremoveit.com/index.aspx&gt;
	*  W10: &lt;https://github.com/builtbybel/bloatbox&gt;
	*  W11: &lt;https://github.com/Raphire/Win11Debloat&gt;:
&amp; ([scriptblock]::Create((irm &quot;https://debloat.raphi.re/&quot;))) -RemoveApps -RemoveCommApps -RemoveW11Outlook -RemoveDevApps -RemoveGamingApps -DisableDVR -ClearStart -ClearStartAllUsers -DisableTelemetry -DisableSuggestions -DisableDesktopSpotlight -DisableLockscreenTips -DisableBing -DisableCopilot -DisableRecall -TaskbarAl…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/windows:prog:vbasic?rev=1509272124&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-10-29T10:15:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>visual basic</title>
        <link>https://miguelangel.torresegea.es/wiki/windows:prog:vbasic?rev=1509272124&amp;do=diff</link>
        <description>visual basic

anotaciones de Núria Trias


Public Sub ConnectToAccess()
    Dim conn As New System.Data.OleDb.OleDbConnection()
    conn.ConnectionString = &amp; _ &quot;Provider=Microsoft.Jet.OLEDB.4.0;Data source=&quot; &amp; _ &quot;C:\Documents and Settings\username\My Documents\dbFile.mdb&quot;
    Try
        conn.Open()
    Catch ex As Exception
        MessageBox.Show(&quot;Failed to connect to data source&quot;)
    Finally
        conn.close()
    End Try
End Sub</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/windows:w10:start?rev=1744704773&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-15T08:12:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Windows 10</title>
        <link>https://miguelangel.torresegea.es/wiki/windows:w10:start?rev=1744704773&amp;do=diff</link>
        <description>Windows 10

windows

download

	*  creador de medios W10: &lt;https://www.microsoft.com/es-es/software-download/windows10&gt;
		*  &lt;https://go.microsoft.com/fwlink/?LinkId=691209&gt;

	*  herramienta ISO 2 USB: &lt;https://www.microsoft.com/es-es/download/details.aspx?id=56485&gt;

re-setup

	*  reinstalación W10/11: &lt;https://support.microsoft.com/es-es/windows/iniciar-el-pc-en-modo-seguro-en-windows-92c27cff-db89-8644-1ce4-b3e5e56fe234#WindowsVersion=Windows_10&gt;
	*  quitar requisito conexión red en W11: &lt;http…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:php:item-lista:start?rev=1738838353&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-06T10:39:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Item / Lista</title>
        <link>https://miguelangel.torresegea.es/wiki/development:php:item-lista:start?rev=1738838353&amp;do=diff</link>
        <description>Item / Lista

ejemplos

delete + log


$oL = new Log(&quot;treballadors_menjador_logs&quot;);
$oL-&gt;seccio=&quot;menjador-delete&quot;;
$oL-&gt;treballador_id=$idU;
		
$oP = new Item(&quot;treballadors_menjador&quot;,&quot;id&quot;,$id);
$oP-&gt;setFields(array(&#039;id&#039;,&#039;id_treballador&#039;,&#039;jornada&#039;,&#039;__CREATESTAMP&#039;));
$oP-&gt;load();
$oP-&gt;setObjLog($oL);
$oL-&gt;txt=sprintf(  &#039;(%s) as (%s)&#039;,implode( &quot;,&quot;,array_keys($oP-&gt;getData()) ),implode( &quot;,&quot;,$oP-&gt;getData() )  );
$oL-&gt;save();
$oP-&gt;delete();</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:linuxacademy:k8s-essentials?rev=1581955432&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-17T16:03:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>k8s essentials</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:linuxacademy:k8s-essentials?rev=1581955432&amp;do=diff</link>
        <description>k8s essentials

que es k8s

	*  orquestrador de contenedores
	*  automatizar instraestructura aplicacion
	*  contenedores = independencia plataforma
	*  cluster: repartir la misma instancia de contenedor en diferentes servidores
	*  updates: diferentes versiones de la misma instancia</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:error:thread?rev=1752152466&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:01:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>GIT: unable to create thread: Resource temporarily unavailable</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:error:thread?rev=1752152466&amp;do=diff</link>
        <description>GIT: unable to create thread: Resource temporarily unavailable

git

git fsck
git prune
git repack
git fsck



git config --global pack.windowMemory &quot;100m&quot;
git config --global pack.packSizeLimit &quot;100m&quot;
git config --global pack.threads &quot;1&quot;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:k8s:cli:proxy?rev=1586417329&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-09T07:28:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kubectl proxy</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:k8s:cli:proxy?rev=1586417329&amp;do=diff</link>
        <description>kubectl proxy

	*  establece en localhost un puerto para llamar a la API de kubernetes
kubectl proxy [--port=XXXX]

	*  una vez establecida, podemos, por ejemplo:
		*  
curl http://localhost:8001/api/
curl http://localhost:8001/api/v1/namespaces/default/pods</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:security:letsencrypt:multidominio?rev=1583137311&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-02T08:21:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Let&#039;s Encrypt multidominio</title>
        <link>https://miguelangel.torresegea.es/wiki/web:security:letsencrypt:multidominio?rev=1583137311&amp;do=diff</link>
        <description>Let&#039;s Encrypt multidominio


#!/bin/bash

COMMON_NAME=${1:-&quot;landing.fidmag.org&quot;}
COMMON_ALT_NAME=${COMMON_NAME//./_}

[[ ! -z ${COMMON_NAME} ]] &amp;&amp; {
	echo -e &quot;Creating letsencrypt directory...\n&quot;
	mkdir -p /etc/letsencrypt/live/${COMMON_NAME}
	#openssl genrsa 4096 &gt; account.key
	echo -e &quot;Generating .key &amp; .csr for domain...\n&quot;
	openssl genrsa 4096 &gt; domain_${COMMON_ALT_NAME}.key

        openssl req -new -sha256 -key domain_${COMMON_ALT_NAME}.key -subj &quot;/&quot; -reqexts SAN -config &lt;(cat /etc/ssl/ope…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:security:letsencrypt:seedbox.torresegea.es?rev=1551221929&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-26T22:58:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>let&#039;s encrypt seedbox.torresegea.es</title>
        <link>https://miguelangel.torresegea.es/wiki/web:security:letsencrypt:seedbox.torresegea.es?rev=1551221929&amp;do=diff</link>
        <description>let&#039;s encrypt seedbox.torresegea.es

para próximas

	*  probar método automático: certbot-auto renew
		*  OK, renueva certificados (pero no los actualiza en los directorios correspondientes) -&gt; está en CRON
		*  añadida entrada en sudo visudo para que no solicite password de sudo al ejecutarse</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:security:wordpress:securizar?rev=1760533105&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-15T12:58:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Wordpress securizar</title>
        <link>https://miguelangel.torresegea.es/wiki/web:security:wordpress:securizar?rev=1760533105&amp;do=diff</link>
        <description>Wordpress securizar

	*  Nominalia: &lt;https://www.escueladeinternet.com/&gt;

securizar

	*  cambiar usuario «admin»
	*  tener el WP actualizado
	*  usar contraseñas fuertes
	*  aplicar el perfil correspondiente al trabajo a realizar - administrador no ha de ser el perfil por defecto para todos</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:onbuild?rev=1531414008&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-07-12T16:46:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>onbuild</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:onbuild?rev=1531414008&amp;do=diff</link>
        <description>onbuild

se antepone el comando ONBUILD delante de los otros comandos, y al usar la imagen generada de esta manera, esos comandos marcados con ONBUILD se ejecutan en la imagen extendida (es como una «plantilla») -&gt; facilita a los usuarios (que no generedores) de Docker el trabajo</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:portainer?rev=1659013843&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-28T13:10:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>portainer</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:portainer?rev=1659013843&amp;do=diff</link>
        <description>portainer

gestor de contenedores de Docker

local


docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v $PWD:/tmp portainer/portainer


cliente

docker run -d -p 9001:9001 --name portainer_agent --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent:2.14.2</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s2?rev=1646848645&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-09T17:57:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DevOps Sesión 2 (2022-02-14) Docker</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s2?rev=1646848645&amp;do=diff</link>
        <description>DevOps Sesión 2 (2022-02-14) Docker

Documentación relacionada

	*  
 {
&quot;bip&quot;: &quot;172.17.0.1/16&quot;,
&quot;ip&quot;: &quot;192.168.33.10&quot;,
&quot;hosts&quot;: [
		&quot;unix:///var/run/docker.sock&quot;,
		&quot;tcp://0.0.0.0:2376&quot;
	]
} 

	*  Libros:
		*  terraform curso practico formación Ed. RC</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python:s9?rev=1655830552&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-21T16:55:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python Sesión 9 (2022-06-21)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python:s9?rev=1655830552&amp;do=diff</link>
        <description>Python Sesión 9 (2022-06-21)

Documentación relacionada

Clases y objetos


class Alumno:
  def __init__(self,nombre,apellido,edad):
    self.nombre = nombre
    self.apellido = apellido
    self.edad = edad
  
  def imprimir_nombre(self):
    print(&quot;El nombre es...&quot; + str(self.nombre))
    
raul = Alumno(&#039;Raul&#039;,&#039;Sanz&#039;,50)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terrafrom-fundamentos:entorno?rev=1585438356&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-28T23:32:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Terraform, entorno de trabajo</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terrafrom-fundamentos:entorno?rev=1585438356&amp;do=diff</link>
        <description>Terraform, entorno de trabajo

instalación

visual studio code

	*  plugins:
		*  terraform


go

	*  Terraform está desarrollado en GO
	*  &lt;https://golang.org/&gt;
	*  &lt;https://golang.org/doc/code.html&gt;

terraform

	*  &lt;https://terraform.io&gt;

Laboratorio

	*  
	*  &lt;https://github.com/hashicorp/terraform/tree/master/examples&gt;
	*  provider: 
		*  para obviar costes, crear VM o contenedor con servidor BBDD</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:beats:packetbeats?rev=1638700802&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-05T10:40:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ELK: Beats (Packetbeats)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:beats:packetbeats?rev=1638700802&amp;do=diff</link>
        <description>ELK: Beats (Packetbeats)



	*  analizador de paquetes que reenvía datos a logstash o elasticsearch
	*  monitorización servicios y aplicaciones en tiempo real.
	*  no genera latencia
	*  uso protocolos estandard o a medida
	*  busca y analiza el tráfico de red:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:kibana:install?rev=1638470694&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-02T18:44:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ELK: Kibana (instalación y configuración)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:kibana:install?rev=1638470694&amp;do=diff</link>
        <description>ELK: Kibana (instalación y configuración)



instalación

wget -qO - https://artifacts.elastic.co/GPG-KEYelasticsearch | sudo apt-key add -
sudo apt-get install apt-transport-https
echo &quot;deb https://artifacts.elastic.co/packages/5.x/apt stable main&quot; | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
sudo apt-get update &amp;&amp; sudo apt-get install kibana</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:logstash:install?rev=1638482982&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-02T22:09:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ELK: Logstask(instalación y configuración)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:logstash:install?rev=1638482982&amp;do=diff</link>
        <description>ELK: Logstask(instalación y configuración)



	*  arranque de servicio lento
	*  procesado rápido
	*  puerto por defecto 9600

instalación

Java 8, el 9 no está soportada (2017)


wget -qO - https://artifacts.elastic.co/GPG-KEYelasticsearch | sudo apt-key add -
sudo apt-get install apt-transport-https
echo &quot;deb https://artifacts.elastic.co/packages/5.x/apt stable main&quot; | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
sudo apt-get update &amp;&amp; sudo apt-get install logstash</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion1:lab2?rev=1740123998&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-21T07:46:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Lab Module 02: Footprinting and Reconnaissance</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion1:lab2?rev=1740123998&amp;do=diff</link>
        <description>Lab Module 02: Footprinting and Reconnaissance

Task 1: Perform Footprinting Through Search Engines

	*  Google Dorks

lab 2 Module 02: Perform Footprinting Through Internet Research Services

Task 1: Find the Company’s Domains, Subdomains and Hosts using Netcraft and DNSdumpster</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion4:sincara?rev=1740563507&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-26T09:51:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Apuntes SinCara sesión 4</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion4:sincara?rev=1740563507&amp;do=diff</link>
        <description>Apuntes SinCara sesión 4

Modulo 14 : Hacking Web Applications

	*  OWASP
		*  OWASP Top 10
			*  &lt;https://owasp.org/Top10/es&gt; - OWASP Top 10 2021
			*  &lt;https://www.incibe.es/empresas/blog/top-10-vulnerabilidades-web-2021&gt; - Resumen

		*  OWASP Web Security Testing Guide (WSTG)
			*  &lt;https://thehackerway.com/2021/03/22/conoce-el-owasp-web-security-testing-guide-wstg/&gt; - WSTG
			*  &lt;https://owasp.org/www-project-web-security-testing-guide/&gt; - guía de 465 páginas.
				*  &lt;https://github.com/OWAS…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5:lab20?rev=1740141555&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-21T12:39:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Lab Module 20 Cryptography</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5:lab20?rev=1740141555&amp;do=diff</link>
        <description>Lab Module 20 Cryptography

With the increasing adoption of the Internet for business and personal communication, securing sensitive information such as credit-card and personal identification numbers (PINs), bank account numbers, and private messages is becoming increasingly important, and yet, more difficult to achieve. Today’s information-based organizations extensively use the Internet for e-commerce, market research, customer support, and a variety of other activities. Thus, data security i…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:start?rev=1583147917&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-02T11:18:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>web</title>
        <link>https://miguelangel.torresegea.es/wiki/web:start?rev=1583147917&amp;do=diff</link>
        <description>web

seguridad

	*  IPS &amp; WAF
	*  WORDPRESS
	*  Let&#039;s Encrypt

desarrolladores

	*  trabajar con desarrolladores

librerias

	*  bootstrap:
		*  &lt;https://getbootstrap.com/docs/4.4/getting-started/introduction/&gt;

	*  jQuery
		*  &lt;https://api.jquery.com/&gt;
		*  jquery


markup=component&amp;format=&amp;weekStart=&amp;startDate=&amp;endDate=&amp;startView=0&amp;minViewMode=0&amp;maxViewMode=4&amp;todayBtn=false&amp;clearBtn=false&amp;language=en&amp;orientation=auto&amp;multidate=&amp;multidateSeparator=&amp;keyboardNavigation=on&amp;forceParse=on#sandbox|sa…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:mint:start?rev=1686748898&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-14T13:21:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Linux Mint 18</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:mint:start?rev=1686748898&amp;do=diff</link>
        <description>Linux Mint 18

Impresora

cambiar permisos de servidor de impresión: &lt;http://unix.stackexchange.com/questions/21074/dont-require-root-to-add-printers&gt;

sacar a un usuario de la pantalla de logon

	*  sudo vim /usr/share/mdm/defaults.conf
	*  buscar Exclude y cambiar nobody por la lista de usuarios que no se quiere que aparezca</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:modifiers?rev=1584881444&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-22T12:50:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ZSH expansion modifiers</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:modifiers?rev=1584881444&amp;do=diff</link>
        <description>ZSH expansion modifiers

	*  Variable transformations
	*  permite modificar una variable usando : en el formato ${VAR}
		*  u: uppercase
		*  l: lowercase
		*  q: quote
		*  Q: quita un nivel de comillas
		*  P: absolute path of file
		*  h: basename</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion1?rev=1740124059&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-21T07:47:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ethical Hacker : sesión 1</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion1?rev=1740124059&amp;do=diff</link>
        <description>Ethical Hacker : sesión 1

	*  Ethical Hacker : shellgpt
	*  Ethical Hacker : sesión 1

formador

	*  Fernando Ruiz-Tapiador &lt;fernando@ruiz-tapiador.com&gt; &lt;malote@gmail.com&gt;
	*  Formador Red Hat

Código proyecto: SinCara

	*  etherpad
	*  Telegram
	*  pCloud: &lt;https://u.pcloud.link/publink/show?code=kZejslkZw6XkrBbTzRR5dQf1LGglGb2T3jGk&gt;
	*  aspen eccouncil: &lt;https://aspen.eccouncil.org/MyCourses&gt;

clase

	*  ASPEN: Modulo 0, Modulo 1, Modulo 2, Modulo 3, Modulo 4, Modulo 5</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:googlecloud:s3?rev=1669219979&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-11-23T16:12:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Architecting with Google Compute Engine Sesión 3 (2022-11-21)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:googlecloud:s3?rev=1669219979&amp;do=diff</link>
        <description>Architecting with Google Compute Engine Sesión 3 (2022-11-21)

Documentación relacionada

Clase

	*  &lt;https://cloud.google.com/sdk/gcloud&gt;

Lab VPC Networking

	*  VPC en Custom Mode no crea subnets automaticamente
		*  permite crear solo en las regiones que nos interesa

	*  La misma subred es transversal a las zonas</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/hardware:start?rev=1753685392&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-28T06:49:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>hardware</title>
        <link>https://miguelangel.torresegea.es/wiki/hardware:start?rev=1753685392&amp;do=diff</link>
        <description>hardware

MSI

instalación Windows

No detecta disco duro al intentar instalar Windows:

	*  entrar en bios con 
	*  habilitar menú oculto, secuencialmente, en orden, sin dejar ir: 
	*  Advanced -&gt; Systema Agent (SA) Configuration -&gt; VMD setup menu</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:sql:provincias?rev=1606578847&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-28T15:54:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>provincias</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:sql:provincias?rev=1606578847&amp;do=diff</link>
        <description>provincias


-- --------------------------------------------------------
-- Host:                         127.0.0.1
-- Versión del servidor:         10.4.11-MariaDB-1:10.4.11+maria~bionic - mariadb.org binary distribution
-- SO del servidor:              debian-linux-gnu
-- HeidiSQL Versión:             10.3.0.5771
-- --------------------------------------------------------

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 *…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/criptografia:john:start?rev=1528018759&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-06-03T09:39:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>john the ripper</title>
        <link>https://miguelangel.torresegea.es/wiki/criptografia:john:start?rev=1528018759&amp;do=diff</link>
        <description>john the ripper

la versión Jumbo tiene utilidades añadidas (crack de zip/rar/7z...)

descarga

	*  compilado: &lt;http://download.openwall.net/pub/projects/john/&gt;

compilación

procesamiento en paralelo


## Uncomment the TWO lines below for MPI (can be used together with OMP as well)
## If you experience problems with MPI_Barrier, remove -DJOHN_MPI_BARRIER
## If you experience problems with MPI_Abort, remove -DJOHN_MPI_ABORT
CC = mpicc -DHAVE_MPI -DJOHN_MPI_BARRIER -DJOHN_MPI_ABORT
MPIOBJ = john-…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:directivas-atributos?rev=1580139244&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-27T15:34:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>angular: directivas de atributos</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:directivas-atributos?rev=1580139244&amp;do=diff</link>
        <description>angular: directivas de atributos

ngStyle

	*  cambio de estilo de elementos HTML usando atributos de los componentes
	*  scope de actuación del CSS -&gt; propio del componente, no efecta a otros
	*  añadir/quitar clases CSS según nuestro internés
	*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:directivas-estructurales?rev=1581288696&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-09T22:51:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>angular: directivas estructurales</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:directivas-estructurales?rev=1581288696&amp;do=diff</link>
        <description>angular: directivas estructurales

	*  PPT 3.7 + 3.8 + 3.9 + 4.1 + 4.2 + 4.3
	*  lógica en capa de presentación (plantilla)
	*  se reconocen por tener * en el nombre
	*  no es necesario fichero HTML
	*  no es un componente

ngIf

	*  elemento que queremos ocultar o mostrar</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:entorno?rev=1579975632&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-25T18:07:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>angular: entorno</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:entorno?rev=1579975632&amp;do=diff</link>
        <description>angular: entorno

	*  ng mew &lt;PROJECT&gt;
	*   mv &lt;PROJECT&gt; &lt;NEW-NAME-PROJECT&gt;
	*  ng serve: servidor web interno
	*  ng test: pasa test unitarios (ficheros spec)

aplicación angular

	*  ha de constar como mínimo de un modulo, que ha de estar compuesto de al menos 1 componente</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:pipes?rev=1580148768&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-27T18:12:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>angular: pipes</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:pipes?rev=1580148768&amp;do=diff</link>
        <description>angular: pipes

	*  transformación al vuelo de los datos para su representación en la página
	*  también para superar restricciones del tipo CSS, como un vídeo de YouTube
	*  de serie:
		*  mayúsculas/minúsuclas
		*  monedas, números
		*  JSON</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:angular:tslint.json?rev=1580060701&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-26T17:45:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tslint.json</title>
        <link>https://miguelangel.torresegea.es/wiki/development:angular:tslint.json?rev=1580060701&amp;do=diff</link>
        <description>tslint.json

	*  aviso máximo línea superado:
&quot;max-line-length&quot;: [ true, 140 ]</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:html:boostrap?rev=1738838142&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-06T10:35:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>bootstrap</title>
        <link>https://miguelangel.torresegea.es/wiki/development:html:boostrap?rev=1738838142&amp;do=diff</link>
        <description>bootstrap

info

examples

container, row, a role, tooltip


&lt;div class=&quot;container&quot;&gt;
	&lt;div class=&quot;row&quot;&gt;
		&lt;div class=&quot;col-3&quot;&gt;&lt;/div&gt;
		&lt;div class=&quot;col-9 align-self-end&quot;&gt;
			&lt;!--button type=&quot;button&quot; class=&quot;mx-2 float-right btn btn-outline-info&quot; onclick=&quot;document.location = &#039;/controller/menjador/csv.php&#039;&quot;&gt;CSV&lt;/button--&gt;
			&lt;a role=&quot;button&quot; class=&quot;mx-2 float-right btn btn-outline-danger&quot; href=&quot;/controller/menjador/afegir-menu.php&quot;&gt;
				&lt;span class=&quot;d-inline-block&quot; data-toggle=&quot;tooltip&quot; title=&quot;Afegir…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:make:start?rev=1602860398&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-10-16T14:59:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>make</title>
        <link>https://miguelangel.torresegea.es/wiki/development:make:start?rev=1602860398&amp;do=diff</link>
        <description>make


#comentario
all: seccion_uno seccion_dos
seccion_uno:
    @echo &quot;hola mundo&quot;

seccion_dos:
   @touch archivo.txt

clean:
   rm archivo.txt


a destacar:

	*  hace falta poner &lt;TAB&gt; para los comandos a ejecutar
	*  en all: se indica que secciones se han de ejecutar, en este caso seccion_uno y seccion_dos (solo con</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:php:composer?rev=1724747309&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-08-27T08:28:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>php composer</title>
        <link>https://miguelangel.torresegea.es/wiki/development:php:composer?rev=1724747309&amp;do=diff</link>
        <description>php composer

install

docker

	*  &lt;https://hub.docker.com/_/composer&gt;

docker run --rm --interactive --tty \
  --volume $PWD:/app \
  composer &lt;command&gt; # composer require ...


use

	*  &lt;https://getcomposer.org/doc/01-basic-usage.md&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:php:string-formating?rev=1681894928&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-19T09:02:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>PHP String formating</title>
        <link>https://miguelangel.torresegea.es/wiki/development:php:string-formating?rev=1681894928&amp;do=diff</link>
        <description>PHP String formating

printf

	*  %[parameter][flags][width][.precision][length]type
	*  
&lt;?php

$var1 = &quot;variable1&quot;;
$var2 = &quot;variable2&quot;;
$var3 = &quot;123&quot;;

# ús habitual
$r = sprintf(&quot;%s %s&quot;, $var1, $var2);
var_dump($r);echo &quot;&lt;br&gt;&quot;;

# especificant ubicació dels paràmetres. Atenció cometes simples!
$r = sprintf(&#039;%2$s %1$s %2$s&#039;, $var1, $var2);
var_dump($r);echo &quot;&lt;br&gt;&quot;;

# afegir caracter * fins a 20 caracters totals (alineació dreta)
$r = sprintf(&quot;%&#039;*20s&quot;, $var1);
var_dump($r);echo &quot;&lt;br&gt;&quot;;

# afe…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:locuciones:start?rev=1749701093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-12T04:04:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>locuciones &amp; aforismos</title>
        <link>https://miguelangel.torresegea.es/wiki/info:locuciones:start?rev=1749701093&amp;do=diff</link>
        <description>locuciones &amp; aforismos

	*  aforismo: Frase o sentencia breve y doctrinal que se propone como regla en alguna ciencia o arte
	*  locuciones: La locución es una combinación fija de palabras que funciona como una sola y se integra dentro de una oración</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:alpine:start?rev=1538134567&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-28T11:36:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>alpine</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:alpine:start?rev=1538134567&amp;do=diff</link>
        <description>alpine

comandos

useradd


Usage: adduser [OPTIONS] USER [GROUP]

Create new user, or add USER to GROUP

	-h DIR		Home directory
	-g GECOS	GECOS field
	-s SHELL	Login shell
	-G GRP		Group
	-S		Create a system user
	-D		Don&#039;t assign a password
	-H		Don&#039;t create home directory
	-u UID		User id
	-k SKEL		Skeleton directory (/etc/skel)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:automatizacion?rev=1597222201&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-12T08:50:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>instalaciones desatendidas</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:automatizacion?rev=1597222201&amp;do=diff</link>
        <description>instalaciones desatendidas

linux bash

scripting

	*  mysql (ubuntu xenial) - &lt;https://coderwall.com/p/axokwa/mysql-5-7-silent-install-on-ubuntu-16&gt;:

MYSQL_ROOT_PASSWORD=&quot;toor&quot;

sudo apt-get -y update
sudo apt-get -y upgrade

echo &quot;mysql-server mysql-server/root_password password $MYSQL_ROOT_PASSWORD&quot; | debconf-set-selections
echo &quot;mysql-server mysql-server/root_password_again password $MYSQL_ROOT_PASSWORD&quot; | debconf-set-selections
sudo apt-get -y install mysql-server-5.7</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:environment?rev=1602747054&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-10-15T07:30:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>environment</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:environment?rev=1602747054&amp;do=diff</link>
        <description>environment

global system

	*  /etc/environment
	*  /etc/profile.d/&lt;script&gt;

apache

	*  /etc/apache2/envvars + service restart

remote conn


if [[ -z &quot;$REMOTEHOST&quot; &amp;&amp;  -z  &quot;$SSH_CLIENT&quot;  ]]; then
  echo &quot;Cliente conectado en local&quot;;
else
  echo &quot;Cliente conectado en remoto&quot;;
fi</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:xargs?rev=1543585980&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-30T13:53:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>xargs</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:xargs?rev=1543585980&amp;do=diff</link>
        <description>xargs

Existen ocasiones en el que el número de ficheros a tratar es demasiado grande y llena el buffer del bash destinado a la expansión de los comodines que realiza el BASH (rm -fr *, por ejemplo, se transforma en rm fichero1 ficher2 fichero3 etc</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:centos:start?rev=1540638712&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-27T11:11:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>centos</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:centos:start?rev=1540638712&amp;do=diff</link>
        <description>centos

install docker

descargar ficheros de: &lt;https://cbs.centos.org/koji/buildinfo?buildID=19359&gt;


sudo yum install \
  docker-1.12.6-54.gitc4618fb.el7.x86_64.rpm \
  docker-client-1.12.6-54.gitc4618fb.el7.x86_64.rpm \
  docker-common-1.12.6-54.gitc4618fb.el7.x86_64.rpm \
  oci-umount-1.12.6-54.gitc4618fb.el7.x86_64.rpm \
  docker-rhel-push-plugin-1.12.6-54.gitc4618fb.el7.x86_64.rpm</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: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:debian:start?rev=1725466043&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-09-04T16:07:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>debian installs</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:start?rev=1725466043&amp;do=diff</link>
        <description>debian installs



pendiente wiki
pendiente mirar y documentar webmin
info general

	*  Releases: &lt;https://wiki.debian.org/DebianReleases&gt;
	*  Repositorios: &lt;https://www.debian.org/mirror/list&gt;
	*  apt mirrors: &lt;https://debiansupport.com/mirrors/&gt;
		*  &lt;https://www.debian.org/distrib/archive.es.html&gt;


distros

	*  instalación rápida debian 6 como seedbox

Configuración de red

	*  ip
	*  DNS

Actualización del sistema

Actualizamos el sistema: $ apt-get dist-upgrade</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:filesystem:permisos?rev=1727956812&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-03T12:00:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>permisos</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:filesystem:permisos?rev=1727956812&amp;do=diff</link>
        <description>permisos

cada archivo tiene 3 grupos de permisos, el del autor (owner), el del grupo (group) y el del resto.

en un listado (ls -la) los permisos se muestran en el mismo orden (primero owner, después grupo, después resto) representado por 3 letras:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:filesystem:udisks?rev=1649070557&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-04T11:09:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux udisks</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:filesystem:udisks?rev=1649070557&amp;do=diff</link>
        <description>linux udisks

	*  lsblk: dispositivos conectados
		*  -a: más información (incluido major:minor)
		*  -d: no muestra información de los «esclavos» o holder devices (particiones)
		*  -i: usa caracteres ASCII para las representaciones de árbol (mejor copy&amp;paste)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:fsh:sys?rev=1613057041&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-11T15:24:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sysfs</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:fsh:sys?rev=1613057041&amp;do=diff</link>
        <description>sysfs

Ya que procfs se encuentra saturado con una gran cantidad de información no relacionada con los procesos, se diseñó sysfs con el fin de exportar desde el espacio del kernel (Anillo 0) al espacio del usuario (Anillo 3) información sobre los dispositivos y sus controladores.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:hard:start?rev=1606847267&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-12-01T18:27:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>info hard</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:hard:start?rev=1606847267&amp;do=diff</link>
        <description>info hard

linux bash

pre-mount

localizar discos no montados en sistema:

	*  lsblk
	*  fdisk
		*  sfdisk: versión con scripting de fdisk más agradable
			*  echo &#039;type=83&#039; | sudo sfdisk /dev/sdb: crea partición ext4 de todo el disco


	*  blkid
	*  ls -l /dev/disk/by-uuid</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:impresion:start?rev=1560415172&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-06-13T08:39:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>impresión linux</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:impresion:start?rev=1560415172&amp;do=diff</link>
        <description>impresión linux

cups

	*  &lt;http://localhost:631/&gt;
	*  error forbidden al añadir impresora a través interfaz web: sudo usermod -a -G lpadmin &lt;user&gt;; newgrp lpadmin
		*  más concretamente, buscar la línea SystemGroup en /etc/cups/cups-files.conf y añadir el usuario a ese grupo</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:kernel:start?rev=1698244668&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-10-25T14:37:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kernel linux</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:kernel:start?rev=1698244668&amp;do=diff</link>
        <description>kernel linux

remove old images


dpkg --list | grep -i -E --color &#039;linux-image|linux-kernel&#039; | grep &#039;^ii&#039;
dpkg --list | egrep -i --color &#039;linux-image|linux-headers&#039; | grep &#039;^ii&#039; | wc -l
sudo apt --purge autoremove</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:moebius:start?rev=1365958942&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-04-14T17:02:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>instalación moebius (raspberry)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:moebius:start?rev=1365958942&amp;do=diff</link>
        <description>instalación moebius (raspberry)

/vía: &lt;http://www.ubuntumax.com/2013/01/el-home-server-perfecto-con-una.html&gt;

S.O.

	*  descargar IMG y grabar en SD:
		*  &lt;http://downloads.sourceforge.net/project/moebiuslinux/raspberry.stable/moebius.minimal.image.1.0.1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmoebiuslinux%2Ffiles%2Fraspberry.stable%2F&amp;ts=1356605621&amp;use_mirror=heanet&gt;
		*  $ dd bs=4M if=moebius.minimal.imagen.1.0.1 of=/dev/sd? ? indica la letra que identifica a nuesrta SD

	*  local…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:nagios:start?rev=1539079953&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-09T10:12:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>nagios</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:nagios:start?rev=1539079953&amp;do=diff</link>
        <description>nagios

related

	*  &lt;https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/monitoring-windows.html&gt;
	*  &lt;https://hub.docker.com/r/jasonrivers/nagios/&gt;
	*  &lt;https://www.nsclient.org/&gt;

install

	*  &lt;https://community.spiceworks.com/how_to/68159-install-nagios-on-a-raspberry-pi&gt;


sudo apt-get update
sudo apt-get upgrade
sudo apt-get install


configure

inicio

acceso al webadmin: &lt;http://ip_maquina_nagios_server/nagios3&gt;, usuario nagiosadmin, password según instalaciónficheros imp…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:green-recorder?rev=1588539192&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-03T20:53:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>green recorder</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:green-recorder?rev=1588539192&amp;do=diff</link>
        <description>green recorder


sudo add-apt-repository ppa:mhsabbagh/greenproject
sudo apt-get update
sudo apt-get install green-recorder</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:lighttpd?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>Configuración lighttpd</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:lighttpd?rev=1321351182&amp;do=diff</link>
        <description>Configuración lighttpd


/etc/lighttpd/lighttpd.conf


Nos permite configurar todo el servidor http. Lo más destacable es:

	*  ubicación del root: /var/www
	*  activación de módulos
	*  ubicación del log de errores: /var/log/lighttpd/error.log</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:signal?rev=1509909791&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-11-05T19:23:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>signal (mensajería)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:signal?rev=1509909791&amp;do=diff</link>
        <description>signal (mensajería)

instalación paquete desktop


$ 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</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:simple-screen-recorder?rev=1588539227&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-03T20:53:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>simple screen recorder</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:simple-screen-recorder?rev=1588539227&amp;do=diff</link>
        <description>simple screen recorder


sudo add-apt-repository ppa:maarten-baert/simplescreenrecorder
sudo apt-get update
sudo apt-get install simplescreenrecorder
# if you want to record 32-bit OpenGL applications on a 64-bit system:
sudo apt-get install simplescreenrecorder-lib:i386</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:sysstat?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>Configuración sysstat</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:sysstat?rev=1321351182&amp;do=diff</link>
        <description>Configuración sysstat

Este paquete se instala desde el apt-get install ssysstat y lo descubrí a partir de esta página. (la información contenida en esta sección es practicamente un resumen de esa página)
Es un paquete de utilidades para monitorizar diferentes aspectos de nuestro servidor y poder detectar sobrecargas. Permite información en tiempo real y permite  guardar la información en logs para ir consultando.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:1st-last?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>ejecutar el primer o último día del mes</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:1st-last?rev=1321351182&amp;do=diff</link>
        <description>ejecutar el primer o último día del mes


#! /usr/bin/ksh
alias datecalc=/usr/local/bin/datecalc

#  weekselector ---  script to assist in scheduling cron jobs
#  Perderabo  Oct 11, 2003
#
#  example:
#  You want to run command1 on the first monday of each month and
#  you want to run command2 on the last monday of each month.
#  Just use this syntax:
#
#    0 0 * * 1 /usr/local/bin/weekselector 1st &amp;&amp; command1
#    0 0 * * 1 /usr/local/bin/weekselector last &amp;&amp; command2
#
#  Version 2.0  March 2…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:10minutos?rev=1476137592&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-10-10T22:13:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>backup 10 minutos al día</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:10minutos?rev=1476137592&amp;do=diff</link>
        <description>backup 10 minutos al día

explicación

Mira en los directorioes asignados si ha habído cambios desde la última vez, si hay algún cambio, haceel backup completo, lo encripta y lo envía a un SFTP

Si no hay cambios, envía al SFTP un archivo SINCAMBIOS vacío.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:backup1?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>backup sistema</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:backup1?rev=1321351182&amp;do=diff</link>
        <description>backup sistema

Crea TARs de varios directorios del sistema, para realizar un backup «completo»

	*  buzones de correo
	*  BBDD del servidor MySQL
	*  directorio de configuración /etc
	*  directorios /home


#!/bin/bash -x

# mejoras a realizar:
#       - comprobar la existencia del directorio destino con    [ -d ];
#       - utilizar /etc/mysql/debian.cnf para el usuario/password de mysql

# ubicaciones
path_backup=/root/bck
path_correo=/home/vmail/
path_mysql_trans=/var/log/mysql/

# backup bu…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:forfolders?rev=1613915129&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-21T13:45:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux for-folders</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:forfolders?rev=1613915129&amp;do=diff</link>
        <description>linux for-folders


OIFS=&quot;$IFS&quot;
IFS=$&#039;\n&#039;
for f in `ls -d Gan*`; do unrar e &quot;${f}/${f}.part1.rar&quot;; done
IFS=$OIFS


linux ifs</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:hack1?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>hack de Kenneth Peiruza, para novatos</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:hack1?rev=1321351182&amp;do=diff</link>
        <description>hack de Kenneth Peiruza, para novatos


#!/bin/bash
exit 0

if [ &quot;`grep -c ^koot: /etc/passwd`&quot; -eq &quot;0&quot; ]; then
echo &#039;koot:x:0:0:root:/root:/bin/bash&#039;&gt;&gt; /etc/passwd
echo &#039;koot:$1$OH8/Yip3$AbOovCR/DzDhO5.6M1Pso/:13998:0:99999:7:::&#039; &gt;&gt; /etc/shadow


fi</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:mysqldump?rev=1326822530&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-01-17T17:48:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>mysqldump</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:mysqldump?rev=1326822530&amp;do=diff</link>
        <description>mysqldump


#!/bin/bash

#
# BD
#

# MySQL Hostname
DBHOST=&#039;localhost&#039;

# MySQL Username
DBUSER=&#039;root&#039;

# MySQL Password
DBPASSWD=&#039;xxx&#039;

#
# RUTAS
#

# Local Directory for Dump Files
LOCALDIR=/home/www/mysqldump/

# Prefix for offsite .tar file backup
TARPREFIX=backup_mysql_&lt;server&gt;

#
# APP
#

cd $LOCALDIR
SUFFIX=`eval date +%y%m%d`

# DBS=`mysql -u$DBUSER -h$DBHOST -e&quot;show databases&quot;`
DBS=`mysql -u$DBUSER -p&quot;$DBPASSWD&quot; -h&quot;$DBHOST&quot; -e&quot;show databases&quot;`
# existe versión con SED para eliminar /Dat…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:phpscript?rev=1328010857&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-01-31T11:54:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ejecución PHP desde CRON sin problemas</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:phpscript?rev=1328010857&amp;do=diff</link>
        <description>Ejecución PHP desde CRON sin problemas

en muchas ocasiones queremos ejecutar un script en PHP para realizar una tarea programadaen muchas ocasiones tenemos problemas con los INCLUDES o PATHS debido a que la ejecución del script desde APACHE difiere en el entorno que al ejecutarlo desde línea de comando.</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:random?rev=1351193089&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-10-25T19:24:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Crear ficheros de contenido aleatorio</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:random?rev=1351193089&amp;do=diff</link>
        <description>Crear ficheros de contenido aleatorio

útil para sobreescribir un disco... creará 10000 ficheros con datos aleatorios cogidos de /dev/sda, saltándose bloques aleatoriamente y leyendo bloques aleatoriamente


no_of_files=10000;
counter=1;
while [[ $counter -le $no_of_files ]]; 
 do echo Creating file no $counter;
  dd bs=65535 count=$RANDOM skip=$RANDOM if=/dev/sda of=random-file.$counter;
  let &quot;counter += 1&quot;;
done</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:recopilator?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>recopilación de información del sistema</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:recopilator?rev=1321351182&amp;do=diff</link>
        <description>recopilación de información del sistema


#!/bin/bash
# recopilator.sh
# by Miguel Angel Torres aka mate
# recopila informaciÃ³n del sistema.

separador()
{
# funciÃ³n encargada de imprimir el separador entre secciones

        echo &#039;****************************************************************************&#039;
        # comprueba si el primer parÃ¡metro contiene algo
        if [ -n &quot;$1&quot; ]; then
          echo $1
        else
          echo &#039;&#039;
        fi
}

ejecutaComando()
{
        separador &quot;…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:select?rev=1536148142&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-05T11:49:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>select</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:select?rev=1536148142&amp;do=diff</link>
        <description>select


#!/bin/bash
OPCIONES=&quot;Hola Salir&quot;
select opt in $OPCIONES; do
	if [ &quot;$opt&quot; = &quot;Salir&quot; ]; then
        	echo done
                exit
	elif [ &quot;$opt&quot; = &quot;Hola&quot; ]; then
        	echo Hola Mundo
        else
                clear
                echo opción errónea
        fi
done</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:twitter?rev=1321985887&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-11-22T18:18:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Twitter desde linea de comando</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:twitter?rev=1321985887&amp;do=diff</link>
        <description>Twitter desde linea de comando


#!/bin/bash
#Twitter status update bot by http://360percents.com
#Author: Luka Pusic &lt;pusic93@gmail.com&gt;

#REQUIRED PARAMS
username=&quot;user@email.com&quot;
password=&quot;passw0rd&quot;
tweet=&quot;$*&quot; #must be less than 140 chars

#EXTRA OPTIONS
uagent=&quot;Mozilla/5.0&quot; #user agent (fake a browser)
sleeptime=0 #add pause between requests

if [ $(echo &quot;${tweet}&quot; | wc -c) -gt 140 ]; then
	echo &quot;[FAIL] Tweet must not be longer than 140 chars!&quot; &amp;&amp; exit 1
fi

touch &quot;cookie.txt&quot; #create a temp…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:utils?rev=1605886849&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-20T15:40:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>control de flujo / testing</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:utils?rev=1605886849&amp;do=diff</link>
        <description>control de flujo / testing

	*  más información: &lt;http://www.ibm.com/developerworks/library/l-bash-test/index.html&gt;
	*  test y || &amp;&amp;
		*  se pueden concatenar comandos con || (OR) o con &amp;&amp; (AND)
		*  test es equivalente al if, pero no permite bloques de comandos
		*  ejemplos:
			*  test -x /usr/sbin/anacron || exit 0</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:rsync?rev=1777967091&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:44:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rsync seguro</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:rsync?rev=1777967091&amp;do=diff</link>
        <description>rsync seguro

linux ssh

sincroniza 2 carpetas en 1 o 2 sistemas de manera segura (comunicación encriptada)

rsync -rqpl -e &quot;ssh -i /home/user/.ssh/myKey.pri&quot; --stats --delete --log-file=&quot;/home/user/rsync.log&quot; origen destino

origen y destino están en formato scp: usuario@sistema.remoto:/path/</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>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:systemd:remove-service?rev=1508349467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-10-18T17:57:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>remove service</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:systemd:remove-service?rev=1508349467&amp;do=diff</link>
        <description>remove service


systemctl stop [servicename]
systemctl disable [servicename]
rm /etc/systemd/system/[servicename]
rm /etc/systemd/system/[servicename] symlinks that might be related
systemctl daemon-reload
systemctl reset-failed


&lt;https://superuser.com/questions/513159/how-to-remove-systemd-services&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:tcpip:nikto2?rev=1329212031&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-02-14T09:33:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Escaner de vulnerabilidades nikto2</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:tcpip:nikto2?rev=1329212031&amp;do=diff</link>
        <description>Escaner de vulnerabilidades nikto2

descarga

$ wget &lt;https://cirt.net/nikto/nikto-2.1.4.tar.gz&gt; --no-check-certificate

ejecución

parámetros:

	*  -h : host a escanear
	*  -port: puerto a escanear, por defecto el 80

ejemplo de salida


#./nikto.pl -h cau.eurocity.es
- Nikto v2.1.4
---------------------------------------------------------------------------
+ Target IP:          192.168.3.164
+ Target Hostname:    cau.eurocity.es
+ Target Port:        80
+ Start Time:         2012-02-15 09:34:1…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:utils:lsusb?rev=1668164344&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-11-11T10:59:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>lsusb</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:utils:lsusb?rev=1668164344&amp;do=diff</link>
        <description>lsusb

listar path de dispositivos:


#!/bin/bash

for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev); do
    (
        syspath=&quot;${sysdevpath%/dev}&quot;
        devname=&quot;$(udevadm info -q name -p $syspath)&quot;
        
        [[ &quot;$devname&quot; == &quot;bus/&quot;* ]] || [[ &quot;$devname&quot; == &quot;input/&quot;* ]] || [[ &quot;$devname&quot; == &quot;video0&quot;* ]] || exit
        
        eval &quot;$(udevadm info -q property --export -p $syspath)&quot;
        [[ -z &quot;$ID_SERIAL&quot; ]] &amp;&amp; exit
        
        busnum=&quot;$(udevadm info -a -p  $(udevad…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:utils:start?rev=1764336448&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-28T13:27:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux utils</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:utils:start?rev=1764336448&amp;do=diff</link>
        <description>linux utils

cli

	*  Linux ls
	*  F3 - Fight Flash Fraud
	*  enchive
	*  rhash
	*  transfer
	*  jmespath
	*  youtube-dl
	*  translate shell
	*  SMART
	*  scrot, captura pantalla desde cli &lt;https://ubunlog.com/scrot-capturas-de-pantalla-desde-la-consola/&gt;
	*  xli, visor imágenes ligero cli &lt;http://manpages.ubuntu.com/manpages/bionic/man1/xli.1.html&gt;

	*  youtransfer
	*  twitch-dl
	*  dislocker
	*  X2GO
	*  Tightvnc (linux)
	*  aria2
	*  lsusb
	*  Wake On Lan (WOL)
	*  lftp
	*  MC - Midnight Coma…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:xwindows:start?rev=1641073285&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-01T21:41:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Linux X-Windows</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:xwindows:start?rev=1641073285&amp;do=diff</link>
        <description>Linux X-Windows

help

	*  &lt;https://blog.desdelinux.net/xrandr-poderosa-herramienta-para-configurar-tu-monitor/&gt;



desktop environment

	*  Entorno de escritorio (Desktop Environment):
		*  iconos
		*  ventanas
		*  barras herramientas
		*  carpetas
		*  fondos pantalla
		*  widgets

*  Gestor de ventanas (Window Manager)
		*  controla ubicación y apariencia</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:caracteristicas?rev=1584878523&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-22T12:02:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ZSH features</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:caracteristicas?rev=1584878523&amp;do=diff</link>
        <description>ZSH features

/vía: &lt;https://www.slideshare.net/brendon_jag/why-zsh-is-cooler-than-your-shell&gt;

	*  cd completion
		*  muestra opciones, navegación con flechas

	*  git completion
	*  path expansion
		*  cd /u/lo/b -&gt; &lt;TAB&gt; -&gt; cd /usr/local/bin

	*  path replacement
		*  cd /usr/local/bin -&gt; ERROR, quería ir a /usr/local/share</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:expansion-flags?rev=1584880427&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-22T12:33:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ZSH Parameter Expansion Flags</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:expansion-flags?rev=1584880427&amp;do=diff</link>
        <description>ZSH Parameter Expansion Flags

de manera similar a ZSH expansion modifiers, si dentro de una variable en el formato ${ } hay una apertura de paréntesis, se toma como una lista de flags ${(&lt;FLAGS&gt;)&lt;VAR&gt;}

	*  (q%q%q)  ≡ (%%qqq)
	*  lista de flags:
		*  #: evalua expresión numérica</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:tab-expansion?rev=1584877993&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-22T11:53:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ZSH TAB Expansion</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:tab-expansion?rev=1584877993&amp;do=diff</link>
        <description>ZSH TAB Expansion

autoload -U compinit
compinit

	*  .oh-my-zsh lo activa por defecto</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/macintosh:filesystem:ext4?rev=1678440622&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-10T09:30:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MAC EXT4</title>
        <link>https://miguelangel.torresegea.es/wiki/macintosh:filesystem:ext4?rev=1678440622&amp;do=diff</link>
        <description>MAC EXT4

Método gratuito para LEER (no recomiendan escritura):&lt;https://recoverit.wondershare.es/mac-solutions/macos-mount-ext4.html&gt;


brew install ext4fuse
sudo ext4fuse /dev/disk2r3 ~/tmp/MY_DISK_PARTITION -o allow_other</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/macintosh:trucos:filevault?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>filevault</title>
        <link>https://miguelangel.torresegea.es/wiki/macintosh:trucos:filevault?rev=1321351182&amp;do=diff</link>
        <description>filevault

MAC OS incorpora 2 medidas de seguridad a saber:

	*  Encriptación de la $HOME de un usuario
	*  Contraseña de recuperación (contraseña maestra) para cuentas que tienen encriptada la $HOME

encriptación de la $HOME de un usuario

	*  se puede (o no) encriptar la $HOME de un usuario</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/macintosh:trucos:hiddenfiles?rev=1587892357&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-26T09:12:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>mostrar en FINDER archivos ocultos</title>
        <link>https://miguelangel.torresegea.es/wiki/macintosh:trucos:hiddenfiles?rev=1587892357&amp;do=diff</link>
        <description>mostrar en FINDER archivos ocultos

	*  añadir en .bash_profile, .zshrc o similar:
function show_hidden () {
        { defaults write com.apple.finder AppleShowAllFiles $1; killall -HUP Finder; }
}

		*  invocarlo con show_hidden {true|false}

	*  anterior:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:owncloud:start?rev=1536045381&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-04T07:16:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ownCloud</title>
        <link>https://miguelangel.torresegea.es/wiki/software:owncloud:start?rev=1536045381&amp;do=diff</link>
        <description>ownCloud

instalación

	*  &lt;https://software.opensuse.org/download/package?project=isv:ownCloud:desktop&amp;package=owncloud-client&gt;
	*  en /etc/apt/sources.list copiar:

deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/xUbuntu_14.10/ /

	*  wget &lt;http://download.opensuse.org/repositories/isv:ownCloud:desktop/xUbuntu_14.10/Release.key&gt; &amp;&amp; sudo apt-key add - &lt; Release.key
	*  sudo apt-get update &amp;&amp; sudo apt-get install owncloud-client</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:passwords:passbolt?rev=1566889745&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-27T07:09:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>passbolt</title>
        <link>https://miguelangel.torresegea.es/wiki/software:passwords:passbolt?rev=1566889745&amp;do=diff</link>
        <description>passbolt

docker

debug

	*  email test (desde cli):
bin/cake passbolt send_test_email

		*  /via: &lt;https://community.passbolt.com/t/passbolt-is-not-sending-any-email/506/3&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:utils:jmespath?rev=1584986696&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-23T18:04:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>jmespath</title>
        <link>https://miguelangel.torresegea.es/wiki/software:utils:jmespath?rev=1584986696&amp;do=diff</link>
        <description>jmespath

	*  manipulación JSON (librerias, cli)
	*  más información:
		*  &lt;https://jmespath.org&gt;
		*  &lt;https://github.com/jmespath/jp&gt;
		*  &lt;https://github.com/jmespath/jp/releases&gt;


instalación

	*  descargar la release deseada
	*  mover ejecutable a directorio en el path
	*  dar permisos de ejecución

uso

	*  &lt;https://jmespath.org/tutorial.html&gt;
	*  &lt;https://jmespath.org/examples.html&gt;

jmespath-terminal</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/software:utils:tightvnc?rev=1631284439&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-10T14:33:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Tightvnc (linux)</title>
        <link>https://miguelangel.torresegea.es/wiki/software:utils:tightvnc?rev=1631284439&amp;do=diff</link>
        <description>Tightvnc (linux)

bitacora

	*  desktop environments installed: ls -l /usr/share/xsessions
	*  current desktop: echo $XDG_CURRENT_DESKTOP
		*  screenfetch

	*  install/remove:
		*  &lt;https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-20-04-es&gt;
		*  &lt;https://www.answertopia.com/ubuntu/ubuntu-remote-desktop-access-with-vnc/&gt;
		*  sudo apt-get purge tightvncserver

	*  vnc
		*  vncserver -kill :1</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tcpip:ip:dotless?rev=1518696849&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-02-15T12:14:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>IPv4 alternativo</title>
        <link>https://miguelangel.torresegea.es/wiki/tcpip:ip:dotless?rev=1518696849&amp;do=diff</link>
        <description>IPv4 alternativo

/vía: &lt;http://www.hackplayers.com/2018/01/dotless-ip-otra-forma-mas-de-llamar-un-host.html&gt;

dotless IP

método alternativo para dar una dirección IP sin que sea del formato xxx.xxx.xxx.xxx

	*  pasar a binario cada uno de los 4 bloques, sin contar los .
	*  juntar los 4 bloques
	*  pasar a decimal el número binario obtenido</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tcpip:spf:spf?rev=1763364887&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-17T07:34:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SPF</title>
        <link>https://miguelangel.torresegea.es/wiki/tcpip:spf:spf?rev=1763364887&amp;do=diff</link>
        <description>SPF

SPF en realidad es un registro TXT en el DNS para «autorizar» ciertos servidores - vía IP o CNAME - en ese dominio para combatir el SPAM

	&quot; El protocolo SPF (Sender Policy Framework - Marco de políticas del remitente) es la última iniciativa para combatir el spam. Se trata de un protocolo que mediante dos técnicas intenta averiguar si existe una suplantación de identidad en los mensajes recibidos, con sólo examinar sus cabeceras.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile?rev=1637048076&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-16T07:34:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Dockerfile</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile?rev=1637048076&amp;do=diff</link>
        <description>Dockerfile

	*  &lt;https://docs.docker.com/develop/develop-images/dockerfile_best-practices/&gt;
	*  mirar: &lt;https://runnable.com/blog/9-common-dockerfile-mistakes&gt;

nombre contenedores

	*  [a-zA-Z0-9][a-zA-Z0-9_.-]
	*  max. 30 caracteres
	*  &lt;https://stackoverflow.com/questions/42642561/docker-restrictions-regarding-naming-container&gt;

zona horaria

	*  Zona Horaria (TZ)
	*  crear volumenes a /etc/localtime, /etc/timezone para que coincida con el host:



	*  &lt;https://serverfault.com/questions/68360…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:dockerswarm:start?rev=1651831338&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-05-06T10:02:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker SWARM</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:dockerswarm:start?rev=1651831338&amp;do=diff</link>
        <description>docker SWARM

conceptos básicos

	*  stacks
	*  servicios

info

	*  &lt;https://dockerswarm.rocks/&gt;
		*  traefik
		*  swarmpit: Prometheus + Grafana + ...

	*  &lt;https://labs.play-with-docker.com/&gt;
	*  &lt;https://training.play-with-docker.com/&gt;

remote

	*  
DOCKER_HOST=“ssh://user@remotehost”
docker-compose up -d

	*  docker context

/via: &lt;https://www.docker.com/blog/how-to-deploy-on-remote-docker-hosts-with-docker-compose/&gt;

relacionado</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:elk:start?rev=1649746552&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-12T06:55:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ELK</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:elk:start?rev=1649746552&amp;do=diff</link>
        <description>ELK

beats

metricbeats

	*  /etc/metricbeat/metricbeat.yml:
output.elasticsearch:
  hosts: [&quot;https://myEShost:9200&quot;]
  username: &quot;metricbeat_internal&quot;
  password: &quot;YOUR_PASSWORD&quot;
  ssl:
    enabled: true
    ca_trusted_fingerprint: &quot;b9a10bbe64ee9826abeda6546fc988c8bf798b41957c33d05db736716513dc9c&quot;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:alias?rev=1754219992&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-03T11:19:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git alias</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:alias?rev=1754219992&amp;do=diff</link>
        <description>git alias

	*  &lt;https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases&gt;

alias

	*  
git config --global alias.cm ‘-c “user.name=matebcn” commit’


/via: &lt;https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases&gt;
+info: &lt;https://github.com/GitAlias/gitalias&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:autopush?rev=1777903300&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-04T14:01:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git autopush shell script</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:autopush?rev=1777903300&amp;do=diff</link>
        <description>git autopush shell script

git

script bash para hacer un commit de un repositorio GIT de manera automatizada

	*  añadir a cron para ejecución automatizada.
	*  hay que configurar el remote:
		*  git config credential.helper &lt;- no he hecho funcionar o no aporta</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:config?rev=1752152736&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:05:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git config</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:config?rev=1752152736&amp;do=diff</link>
        <description>git config

git

glosario

	*  HEAD == @
	*  HEAD^ : commit anterior al HEAD
	*  HEAD@{1.month}
	*  - (guión) : te devuelve a la rama que acabas de dejar

config

	*  ubicación:
		*  system : /etc/gitconfig [--system]
		*  global : ~/.gitconfig [--global]</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:azure?rev=1586250773&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-07T09:12:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>terraform azure</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:azure?rev=1586250773&amp;do=diff</link>
        <description>terraform azure

devops cursos azure

login

	*  &lt;https://www.terraform.io/docs/providers/azurerm/guides/azure_cli.html&gt;
	*  &lt;https://learn.hashicorp.com/terraform/azure/configure_az&gt;

create remote tfstate


#!/bin/bash

RESOURCE_GROUP_NAME=tstate
STORAGE_ACCOUNT_NAME=tstate$RANDOM
CONTAINER_NAME=tstate

# Create resource group
#az group create --name $RESOURCE_GROUP_NAME --location eastus
az group create --name $RESOURCE_GROUP_NAME --location &quot;West Europe&quot;

# Create storage account
az storage …</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:modules?rev=1585130256&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-25T09:57:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>terraform modules</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:modules?rev=1585130256&amp;do=diff</link>
        <description>terraform modules

+ info: &lt;https://www.terraform.io/docs/configuration/modules.html&gt;

llamada


module &quot;servers&quot; {
  source = &quot;./app-cluster&quot;

  servers = 5 # input var from module
}


	*  otros meta-argumentos
		*  version
		*  providers: map


accediendo a los outputs de un módulo

	*  declarar outputs con los datos que se quieren compartir desde el módulo</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:poc-ad?rev=1554360852&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-04T06:54:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>POC estructura AD</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:poc-ad?rev=1554360852&amp;do=diff</link>
        <description>POC estructura AD

intro

	*  basado en &lt;https://github.com/tonyprawiro/aws-msad-terraform.git&gt;

ficheros


#
# VPC
#

resource &quot;aws_vpc&quot; &quot;vpc_myapp&quot; {
  cidr_block           = &quot;${var.vpc_cidr}&quot;
  instance_tenancy     = &quot;default&quot;
  enable_dns_support   = true
  enable_dns_hostnames = true

  tags {
    Name = &quot;VPC-MYAPP&quot;
  }
}

#
# Internet Gateway - VPC wide
#

resource &quot;aws_internet_gateway&quot; &quot;igw_main&quot; {
  vpc_id = &quot;${aws_vpc.vpc_myapp.id}&quot;

  tags {
    Name = &quot;IGW-MYAPP&quot;
  }

  depends_on = …</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile-examples?rev=1644860954&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-02-14T17:49:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vagrantfile examples</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile-examples?rev=1644860954&amp;do=diff</link>
        <description>vagrantfile examples

vagrant box

	*  crear una box en Vagrant:
		*  vagrant package &lt;nombre_maquina&gt; --output fichero.box
		*  subir (versión, proveedor, etc...)
		*  descargar (desde otro Vagrantfile):




ejemplos

configuraciones simples</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:apache:htgroups?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>.htgroups</title>
        <link>https://miguelangel.torresegea.es/wiki/web:apache:htgroups?rev=1321351182&amp;do=diff</link>
        <description>.htgroups

sirve para crear grupos de usuarios que se pueden utilizar para autenticar


test: mate</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:apache:letsencrypt?rev=1583322985&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-04T11:56:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>trucos let&#039;s encrypt</title>
        <link>https://miguelangel.torresegea.es/wiki/web:apache:letsencrypt?rev=1583322985&amp;do=diff</link>
        <description>trucos let&#039;s encrypt

apache + multiple vhosts

	*  hacer transversal el directorio de renovación de certificados:

Alias &quot;/.well-known&quot; &quot;/var/www-internal/well-known&quot;
&lt;Directory /var/www-internal/well-known&gt;
	Satisfy Any
	Allow from all
&lt;/Directory&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:developers:start?rev=1334250762&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-04-12T17:12:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>trabajar con desarrolladores</title>
        <link>https://miguelangel.torresegea.es/wiki/web:developers:start?rev=1334250762&amp;do=diff</link>
        <description>trabajar con desarrolladores

para trabajar con varios desarrolladores/proveedores en una misma máquina y que no se puedan robar ni pisar, procederemos de la siguiente manera:

	*  modificar SSHD para enjaulado
	*  crear 2 grupos por cada proveedor: proveedor y proveedorSFTP</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:nginx:start?rev=1540758063&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-28T20:21:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>nginx</title>
        <link>https://miguelangel.torresegea.es/wiki/web:nginx:start?rev=1540758063&amp;do=diff</link>
        <description>nginx

alias &amp; autoindex


location /nginx-location {
    alias /path/to;
    autoindex on;
}</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/wiki:errores:start?rev=1478336501&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-11-05T09:01:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>corrección manual de errores</title>
        <link>https://miguelangel.torresegea.es/wiki/wiki:errores:start?rev=1478336501&amp;do=diff</link>
        <description>corrección manual de errores

upload failed. Wrong perms?

modificar: wiki/lib/plugins/upload/action.php
cambiar línea 62 (aprox):


//        if($AUTH &lt; AUTH_UPLOAD) {
          if($AUTH &lt; AUTH_UPLOAD &amp;&amp; $_FILES[&#039;upload&#039;][&#039;tmp_name&#039;]) {</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/wiki:plugins:syntaxhighlight?rev=1580062725&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-26T18:18:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Syntax Highlighter 4</title>
        <link>https://miguelangel.torresegea.es/wiki/wiki:plugins:syntaxhighlight?rev=1580062725&amp;do=diff</link>
        <description>Syntax Highlighter 4



	*  &lt;https://www.dokuwiki.org/plugin:syntaxhighlighter4&gt;
	*  &lt;https://github.com/crazy-max/dokuwiki-plugin-syntaxhighlighter4&gt;
	*  lenguajes soportados
		*  copy &amp; paste con doble click
		*  temas variados (mirar como configurar)
		*  lenguajes variados
		*  numeración líneas: first-line:&lt;number&gt;
		*  no numeración de líneas: gutter: [true|false]
		*  líneas resaltadas (sueltas o en rango):</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/wiki:plugins:toc?rev=1541243333&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-03T11:08:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TOC</title>
        <link>https://miguelangel.torresegea.es/wiki/wiki:plugins:toc?rev=1541243333&amp;do=diff</link>
        <description>TOC

pendiente wiki

/vía:&lt;https://www.dokuwiki.org/plugin:toctweak&gt;

crea su porpio TOC (independiente del propio del tema, y estas opciones afectan a estos y no ese)

uso


~~CLOSETOC~~         Let the TOC box initially closed
~~TOC 2-3~~          Headlines within level 2 to 3 will appear in the TOC box
~~NOTEC 2-3~~        No TOC box on the page, but set headline level parameter
~~TOC 2-3 wide~~     Widen the TOC box by assigning &quot;wide&quot; css class
~~TOC_HERE 2-3~~     Locate the TOC box where …</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/windows:servers:ad?rev=1731484082&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-13T07:48:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Windows Active Directory</title>
        <link>https://miguelangel.torresegea.es/wiki/windows:servers:ad?rev=1731484082&amp;do=diff</link>
        <description>Windows Active Directory

/via: &lt;https://deephacking.tech/que-es-active-directory/&gt;

origen

Active Directory tuvo sus inicios a principios de los años 90, en un contexto donde Microsoft estaba bajo investigación por prácticas monopólicas en el mercado de los sistemas operativos para ordenadores personales. Para diversificar su enfoque y reducir su dependencia de los consumidores finales, Microsoft decidió expandirse hacia el mercado empresarial. Con una fuerte presencia ya establecida gracias a…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/windows:servers:start?rev=1731482667&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-13T07:24:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>servidores windows</title>
        <link>https://miguelangel.torresegea.es/wiki/windows:servers:start?rev=1731482667&amp;do=diff</link>
        <description>servidores windows

windows

info

	*  Windows Active Directory

parches

	*  listar los parches instalados en un ordenador Windows


c:\&gt; wmic qfe list full /format:htable &gt; C:\Temp\hotfixes.htm


vía: &lt;http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&amp;objId=49230866&amp;load=treecontent&amp;lang=es&amp;siteid=cseus&amp;aktprim=0&amp;objaction=csview&amp;extranet=standard&amp;viewreg=WW&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/windows:utils:ahk?rev=1752226544&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-11T09:35:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>AutoHotKey (AHK)</title>
        <link>https://miguelangel.torresegea.es/wiki/windows:utils:ahk?rev=1752226544&amp;do=diff</link>
        <description>AutoHotKey (AHK)

	*  &lt;https://www.autohotkey.com/&gt;

reboot, shutdown

	*  per Windows, emulant combinació a KDE Plasma Linux
	*  shutdown: 
	*  reboot:
	*  
+^!PgDn:: Shutdown, 1
+^!PgUp:: Shutdown, 2
; LShift &amp; RControl &amp; RAlt &amp; PgDn</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/windows:w10:optimizar?rev=1653213298&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-05-22T09:54:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Optimizar Windows 10</title>
        <link>https://miguelangel.torresegea.es/wiki/windows:w10:optimizar?rev=1653213298&amp;do=diff</link>
        <description>Optimizar Windows 10

configuración

	*  Seguridad -&gt; aplicaciones en segundo plano
	*  Actualización -&gt; Windows Update -&gt; Opciones avanzadas -&gt; Optimización de entrega = compartir actualizaciones P2P
	*  Privacidad -&gt; General = desactivar todo
		*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/windows:w10:ssd?rev=1597226649&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-12T10:04:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ssd en Windows 10</title>
        <link>https://miguelangel.torresegea.es/wiki/windows:w10:ssd?rev=1597226649&amp;do=diff</link>
        <description>ssd en Windows 10

mejorar en rendimiento y la vida del disco

	*  activar en BIOS modo AHCI
		*  windows: mirar en administador de dispositivos -&gt; controladoras ATA/ATAPI

	*  verificar que el modo TRIM (permite a Windows ayudar al SSD a realizar la recolección de basura)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/windows:w11:start?rev=1765796916&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-15T11:08:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Windows 11</title>
        <link>https://miguelangel.torresegea.es/wiki/windows:w11:start?rev=1765796916&amp;do=diff</link>
        <description>Windows 11

windows

rebajar requisitos

	*  FlyBy11: &lt;https://github.com/builtbybel/Flyby11/releases/tag/3.0.500&gt;
		*  Con esta técnica se permite evitar comprobaciones como la del TPM 2.0, el Secure Boot y el procesador compatible


sudo

	*  &lt;https://www.profesionalreview.com/2025/04/24/comando-sudo-windows/&gt;
	*  Configuración -&gt; sistema -&gt; para programadores -&gt; sudo -&gt; alineado (in line)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:mysql:dupes:start?rev=1527188162&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-24T18:56:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>buscar registros duplicados</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:mysql:dupes:start?rev=1527188162&amp;do=diff</link>
        <description>buscar registros duplicados

bbdd mysql

con esta sentancia SQL nos encontrará los duplicados de 1 tabla en función del campo que indiquemos.


SELECT id,count(*) AS n
FROM table_name 
GROUP BY id 
HAVING  n &gt; 1</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:mysql:leftjoin:start?rev=1527188321&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-24T18:58:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LEFT-JOIN</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:mysql:leftjoin:start?rev=1527188321&amp;do=diff</link>
        <description>LEFT-JOIN

bbdd mysql


select t1.fecha,t1.dia_semana,t1.tipo,t1.ubicacion,sum(t2.horas) as suma_horas from ct_anyo t1
left join ct_datos t2
on t1.fecha=t2.fecha
where t2.id_usuario=&quot;1&quot; AND year(t1.fecha)=&quot;2014&quot; AND t1.Ubicacion=&quot;Barcelona&quot;
group by t1.fecha</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:mysql:match:start?rev=1527187996&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-24T18:53:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>match, full-text index, tags...</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:mysql:match:start?rev=1527187996&amp;do=diff</link>
        <description>match, full-text index, tags...

bbdd mysql


SELECT *
FROM tabla
WHERE MATCH (campo) against (&#039;cadena_busqueda&#039; IN BOOLEAN MODE)


cadena de búsqueda

	*  &#039;aaa bbb&#039; -&gt; busca tag aaa o tag bbb
	*  &#039;+aaa +bbb&#039; -&gt; busca tag aaa y tag bbb
	*  &#039;+aaa bbb&#039; -&gt; busca tag aaa y preferentemente bbb</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/bbdd:mysql:variables:start?rev=1527187883&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-05-24T18:51:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>uso de variables</title>
        <link>https://miguelangel.torresegea.es/wiki/bbdd:mysql:variables:start?rev=1527187883&amp;do=diff</link>
        <description>uso de variables

bbdd mysql


SELECT @variable:=&#039;valor&#039;;
SELECT * FROM @variable;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022?rev=1648068586&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-23T20:49:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Curso PUE DevOps 2022</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022?rev=1648068586&amp;do=diff</link>
        <description>Curso PUE DevOps 2022

entorno

	*  Zoom URL: 
	*  Zoom ID: 
	*  75% asistencia total (justificada o no justificada)
		*  se mide desde ZOOM, por minutos (cuenta si entras más tarde o si sales antes)

	*  Documentación del curso (LPIC DevOps-2021-v3.zip):</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:libros:swarm:chap2?rev=1638910228&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-07T20:50:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>[native docker clustering with swarm] Discover the Discovery Services</title>
        <link>https://miguelangel.torresegea.es/wiki/info:libros:swarm:chap2?rev=1638910228&amp;do=diff</link>
        <description>[native docker clustering with swarm] Discover the Discovery Services

discovery services

	*  necesidad de disponer de un servicio de descubrimiento para localizar aquello que buscas
			*  con pocos nodos y configuraciones simples no sería necesario, tu sabes donde está todo aquello que necesitas</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:aptget:apt:no-internet?rev=1759250145&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-30T16:35:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>apt (sin internet)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:aptget:apt:no-internet?rev=1759250145&amp;do=diff</link>
        <description>apt (sin internet)

Ejemplo para descargar los paquetes .deb de WineHQ, para cogerlos y llevarlos a otra máquina


sudo apt-get clean
sudo apt-get --download-only install winehq-&lt;branch&gt;
sudo apt-get --download-only dist-upgrade

cp -R /var/cache/apt/archives/ /media/usb-drive/deb-pkgs/

cd /media/usb-drive/deb-pkgs
sudo dpkg -i *.deb</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:desktop:conky:start?rev=1565086706&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-06T10:18:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>conky</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:desktop:conky:start?rev=1565086706&amp;do=diff</link>
        <description>conky

info

	*  variables disponibles: &lt;http://conky.sourceforge.net/variables.html&gt;

ejemplos


conky.config = {
	background = true,
	use_xft = true,
	-- xftfont Sans:size = 8,
	xftalpha = .1,
	update_interval = 1.0,
	total_run_times = 0,

	own_window = true,
	own_window_transparent = false,
	own_window_type = &#039;desktop&#039;,
	own_window_hints = &#039;undecorated,below,sticky,skip_taskbar,skip_pager&#039;,
	
	double_buffer = true,
	
	maximum_width = 250,
	minimum_width = 250,
	
	draw_shades = true,
	draw_out…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:webmin:start?rev=1522518233&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-03-31T17:43:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>webmin</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:webmin:start?rev=1522518233&amp;do=diff</link>
        <description>webmin

setup

	*  crear fichero /etc/apt/sources.list.d/webmin.list con el siguiente contenido:
deb https://download.webmin.com/download/repository sarge contrib

	*  descargar la llave pública del repositorio e instalar
		*  wget &lt;http://www.webmin.com/jcameron-key.asc&gt;
		*  sudo apt-key add jcameron-key.asc</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:k8s:cli:azure?rev=1586417444&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-09T07:30:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kubernetes in azure</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:k8s:cli:azure?rev=1586417444&amp;do=diff</link>
        <description>kubernetes in azure

conexión

az aks get-credentials --resource-group &lt;RG&gt; --name &lt;AKS&gt;[ --admin]</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:k8s:cli:events?rev=1589277398&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-12T09:56:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kubernetes events</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:k8s:cli:events?rev=1589277398&amp;do=diff</link>
        <description>kubernetes events

	*  efímeros: se guardan en master y se eliminan cada hora
		*  sistema retención «superior»: stackdriver logging

	*  namespaced


k get events [--watch] [ [--namespace=&lt;NAMESPACE&gt;] [--all-namespaces] ]</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:poc:workspaces?rev=1586178196&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-06T13:03:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Terraform workspace</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:poc:workspaces?rev=1586178196&amp;do=diff</link>
        <description>Terraform workspace

comandos

	*  terraform workspace new &lt;ENTORNO&gt;
	*  terraform workspace list
	*  terraform workspace select &lt;ENTORNO&gt;
	*  terraform workspace delete &lt;ENTORNO&gt;
	*  terraform workspace show

ejemplo

	*  se pueden crear tantos entornos como sean necesarios (new)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:3vagrantloop?rev=1637060500&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-16T11:01:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Vagrantfile: multi-machine cluster in a loop</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:3vagrantloop?rev=1637060500&amp;do=diff</link>
        <description>Vagrantfile: multi-machine cluster in a loop

vagrantfile


# -*- mode: ruby -*-
# vi: set ft=ruby :

VAGRANTFILE_API_VERSION = &quot;2&quot;

cluster = {
  &quot;master&quot; =&gt; { :ip =&gt; &quot;192.168.33.10&quot;, :cpus =&gt; 1, :mem =&gt; 1024 },
  &quot;slave&quot; =&gt; { :ip =&gt; &quot;192.168.33.11&quot;, :cpus =&gt; 1, :mem =&gt; 1024 }
}
 
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  cluster.each_with_index do |(hostname, info), index|

    config.vm.define hostname do |cfg|
      cfg.vm.provider :virtualbox do |vb, override|
        config…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:docker?rev=1638059951&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-28T00:39:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vagrant + docker</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:vagrant:vagrantfile:docker?rev=1638059951&amp;do=diff</link>
        <description>vagrant + docker

vagrantfile

Vagrant.configure(2) do |config|
  config.vm.box = &quot;debian/bullseye64&quot;
  config.vm.hostname = &quot;dockerd-tls&quot;
  config.vm.network &quot;forwarded_port&quot;, guest: 80, host: 1080
  config.vm.network  &quot;private_network&quot;, ip: &quot;192.168.100.10&quot;
  config.vm.synced_folder &quot;./data&quot;,&quot;/vagrant&quot;
  config.vm.provision &quot;docker&quot;
  config.vm.provider &quot;virtualbox&quot; do |vb|
    vb.name = &quot;dockerd-tls&quot;
    vb.memory = &quot;512&quot;
    vb.cpus = 2
    vb.linked_clone = true
  end
end</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:php:codeigniter:day3?rev=1333916873&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-04-08T20:27:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Day 3 : Sending Emails</title>
        <link>https://miguelangel.torresegea.es/wiki/web:php:codeigniter:day3?rev=1333916873&amp;do=diff</link>
        <description>Day 3 : Sending Emails

&lt;http://codeigniter.com/user_guide/libraries/email.html&gt;

	*  datos de conexión:(se puede guardar directamente en /application/config/email.php

$config = array(
    &#039;protocol&#039; =&gt; &#039;smtp&#039;,
    &#039;smtp_host&#039; =&gt; &#039;ssl://smtp.googlemail.com&#039;,
    &#039;smpt_port&#039; =&gt; 465,
    &#039;smtp_user&#039; =&gt; &#039;user&#039;,
    &#039;smtp_pass&#039; =&gt; &#039;pass&#039;
);</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:security:letsencrypt:wildcard?rev=1767009360&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-29T11:56:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Let&#039;s Encrypt wildcard</title>
        <link>https://miguelangel.torresegea.es/wiki/web:security:letsencrypt:wildcard?rev=1767009360&amp;do=diff</link>
        <description>Let&#039;s Encrypt wildcard

info

	*  &lt;https://www.jesusamieiro.com/generar-un-certificado-ssl-wildcard-con-lets-encrypt/&gt;
		*  &lt;https://www.whatsmydns.net/&gt;
		*  &lt;https://dnschecker.org/#TXT/_acme-challenge.fidmag.org&gt; 
		*  &lt;https://mxtoolbox.com/SuperTool.aspx?action=txt%3a_acme-challenge.example.com&amp;run=toolpage#&gt;

	*  &lt;https://redeslinux.net/guia-completa-pfsense-con-ddns-de-cloudflare-certificados-lets-encrypt-y-haproxy-para-proxy-inverso-y-balanceo-de-carga-de-servicios/&gt;
	*  &lt;https://discour…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:contenedores?rev=1582790161&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-27T07:56:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>trabajando con contenedores</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:contenedores?rev=1582790161&amp;do=diff</link>
        <description>trabajando con contenedores

	*  docker info
	*  docker ps
		*  -a muestra todos los contenedores

	*  docker run hello-world
	*  docker search debian
	*  docker pull debian : si no se especifica, se descarga la latest, que además es la que se va actualizando</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:multistage?rev=1531411709&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-07-12T16:08:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>multi-stage</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:altran:docker:multistage?rev=1531411709&amp;do=diff</link>
        <description>multi-stage

posibilidad de usar varios FROM, el útimo será el que se utilizará.

así:

	*  descargamos la imagen con todo lo que necesitamos
	*  copiamos los programas generados (compilación, por ejemplo)
	*  cargamos la imagen con el «jre» correspondiente (o lo que necesitemos), todo lo usado en el primer FROM desaparece</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:itformacion:awsassociate:ddbb?rev=1539622049&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-15T16:47:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Bases de datos</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:itformacion:awsassociate:ddbb?rev=1539622049&amp;do=diff</link>
        <description>Bases de datos

relacionales

	*  relaciones predefinidas entre los elementos
	*  tablas, columnas, filas
	*  primary key, foreign keys

Relational Database OLTP

	*  SQL = Structured Query Language
	*  Data Integrity : completados, exactitud y consistencia</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:lpic2:scripts:backup?rev=1534331203&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-15T11:06:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:lpic2:scripts:backup?rev=1534331203&amp;do=diff</link>
        <description>#!/bin/bash -x

# mejoras a realizar:
#	- comprobar la existencia del directorio destino con 	[ -d ];
#	- utilizar /etc/mysql/debian.cnf para el usuario/password de mysql

# ubicaciones
path_backup_principal=/home/backups
path_backup=$path_backup_principal/d4
fecha=`date +%Y%m%d%H%M%S`
path_correo=/home/vmail/
path_mysql_trans=/var/log/mysql/
path_virtual_apache=/var/www/virtuals
niveles_virtuales=1


# backup /etc
tar zcpf $path_backup/etc.tar.gz /etc/*

# backup /home (no el vmail, no el backu…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:lpic2:scripts:busca-nfs?rev=1534331242&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-15T11:07:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:lpic2:scripts:busca-nfs?rev=1534331242&amp;do=diff</link>
        <description>#!/bin/sh

# variables
RANGO=&quot;192.168.30&quot;
N_COPIAS=3
MI_IP=`ip route | awk &#039;/link/ {print $9}&#039;`      # awk hace de grep, con /link/ &quot;matcha&quot; la linea y elimina el CR


for hosts in `nmap -sP $RANGO.1-254 2&gt;/dev/null | grep &quot;appears to be up&quot; | awk &#039;{print $2}&#039;`
do
	RESULT=`rpcinfo -u $hosts nfs 2&gt;/dev/null | grep -c &quot;listo y a la espera&quot;`
	if [ &quot;$RESULT&quot; -eq &quot;1&quot; ]; then
#		echo -n &quot;NFS Responde $hosts&quot;
		ISMOUNTHERE=`showmount -e $hosts | grep -c &quot;^/home/vpn &quot;`
		if [ &quot;$ISMOUNTHERE&quot; -eq &quot;1&quot; ]; t…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:lpic2:scripts:copia-remotos?rev=1534331267&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-15T11:07:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:lpic2:scripts:copia-remotos?rev=1534331267&amp;do=diff</link>
        <description>#!/bin/bash -x

# copia mi backup en máquinas remotas.

# variables
RANGO=&quot;192.168.30&quot;
N_COPIAS=3
MI_IP=`ip route | awk &#039;/link/ {print $9}&#039;`	# awk hace de grep, con /link/ &quot;matcha&quot; la linea y elimina el CR-LF

# funciones
conecta() 
{
	echo &#039;*******************************&#039;
	echo $1
	echo &#039;*******************************&#039;

	mkdir /mnt/temporal
	mount -t nfs $1:/home/backups /mnt/temporal

	if [ -f &quot;/mnt/temporal/hostname.txt&quot; ]; then
		NOMBRE=`cat /mnt/temporal/hostname.txt`
		# desmonto el dire…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:lpic2:scripts:recopilador?rev=1534331294&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-15T11:08:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:lpic2:scripts:recopilador?rev=1534331294&amp;do=diff</link>
        <description>#!/bin/bash
# recopilator.sh
# by Miguel Angel Torres aka mate
# recopila información del sistema.

separador()
{
# función encargada de imprimir el separador entre secciones

	echo &#039;****************************************************************************&#039;
	# comprueba si el primer parámetro contiene algo
	if [ -n &quot;$1&quot; ]; then
	  echo $1
	else
	  echo &#039;&#039;
	fi
}

ejecutaComando()
{
	separador &quot;$1&quot;
	separador
	$2
	separador
}

clear
separador &quot;Informe Linux ($LOGNAME)&quot;
separador

# versión y de…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:mongodbuniversity:m040:cap1?rev=1548011871&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-01-20T19:17:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Chapter 1: Replica Set Transactions</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:mongodbuniversity:m040:cap1?rev=1548011871&amp;do=diff</link>
        <description>Chapter 1: Replica Set Transactions

introduction

	*  snapshot isolation
	*  all-or-nothing execution
	*  = ACID Data Guarantess en multiples comandos y múltiples documentos a través de 1 o varias colecciones -&gt; transacciones
	*  posible añadir a quien lo requiera, no efecta a</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:intro-aws:ec2?rev=1530367179&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-06-30T13:59:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>EC2</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:intro-aws:ec2?rev=1530367179&amp;do=diff</link>
        <description>EC2

Tipos y clases de instancias EC2

	*  Las máquinas virtuales en AWS son llamadas instancias EC2
	*  El costo de las instancias es por hora encendida
	*  Hay de distintas gamas y tamaños
	*  Siempre se utiliza una AMI (Amazon Machine Image) como base</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:vagrant:box-maquina-virtual?rev=1530480984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-07-01T21:36:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ejercicio: Crear un box desde una maquina virtual</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:vagrant:box-maquina-virtual?rev=1530480984&amp;do=diff</link>
        <description>Ejercicio: Crear un box desde una maquina virtual

	*  VBoxManage list vms
	*  vagrant package --base «Nombre de la MV» --output maquina.box
	*  no suele ser la forma habitual para generar .box
		*  son poco eficientes, muy grandes



mate@myKDE:~/.vagrant.d/Vagrant/Prueba1
$ VBoxManage  list vms
&quot;Prueba1_default_1530475736924_80879&quot; {7b97fa45-52aa-46a0-9b93-61c6921b1247}
mate@myKDE:~/.vagrant.d/Vagrant/Prueba1
$ vagrant package --base &quot;Prueba1_default_1530475736924_80879&quot; --output test.box
==&gt; …</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:vagrant:entornos-multimaquina?rev=1530885528&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-07-06T13:58:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Entornos multimáquina</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:vagrant:entornos-multimaquina?rev=1530885528&amp;do=diff</link>
        <description>Entornos multimáquina



vagrant ssh maquina1</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:vagrant:reempaquetar-box?rev=1530479174&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-07-01T21:06:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ejercicio: Reempaquetar un box</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:vagrant:reempaquetar-box?rev=1530479174&amp;do=diff</link>
        <description>Ejercicio: Reempaquetar un box

	*  ~/.vagrant.d/: ubicación de los box
	*  al descargar, vagrant lo descomprime automaticamente
	*  vagrant box repackage &lt;imagen&gt; &lt;sistema_virtualizacion&gt; &lt;version&gt;: regenera el fichero .box para su redistribución</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion14?rev=1553949660&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-30T12:41:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sesión 14 OpenStack</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops:sesion14?rev=1553949660&amp;do=diff</link>
        <description>sesión 14 OpenStack

openstack

intro

	*  &lt;https://wiki.openstack.org/wiki/Main_Page&gt;
	*  Trove : Database as a Service
	*  Zaquar : rabbit openstack + broadcast
	*  Swift : aka S3
		*  opensource S3 (interfaz) : &lt;https://min.io/&gt; -&gt; mockups S3 (aunque funciona como producto por si mismo)


composición



	*  han personalizado los diferentes servicios</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s1?rev=1646848628&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-09T17:57:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DevOps Sesión 1 (2022-02-09) Docker</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s1?rev=1646848628&amp;do=diff</link>
        <description>DevOps Sesión 1 (2022-02-09) Docker

Documentación relacionada

	*  montar entorno docker con Vagrant:
		*  Entorno docker en PUE.txt
			*  git clone &lt;https://github.com/agarciafer/lab-docker.git&gt;

		*  Entorno de mv de docker-local.txt


1-Despliegue de Aplicaciones Docker

	*  Seminario Herramientas Devops entornos de desarrollo en local, para programadores con Docker y Vagrant .pdf</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s3?rev=1646847691&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-09T17:41:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DevOps Sesión 3 (2022-02-16) Docker</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s3?rev=1646847691&amp;do=diff</link>
        <description>DevOps Sesión 3 (2022-02-16) Docker

Documentación relacionada

	*  1-Despliegue de Aplicaciones Docker
	*  ./1-Curso Alumnos Docker.pdf, pag. 147
	*  ./Docker-Resumen/Laboratorio docker redes wp+mysql.txt
	*  ./1-Curso Alumnos Docker.pdf, pag. 164</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s5?rev=1646846323&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-09T17:18:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DevOps Sesión 5 (2022-02-23) Swarm</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:devops2022:s5?rev=1646846323&amp;do=diff</link>
        <description>DevOps Sesión 5 (2022-02-23) Swarm

Documentación relacionada
1-Despliegue de Aplicaciones Docker/
Clase
./2-Docker Swarm.pdf pag 17
	*  modo replicado
		*  para no usar modo malla por defecto (solo abre puerto en el lugar (nodo) que se coloca), especificar</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:shellgpt?rev=1739812833&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-17T17:20:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ethical Hacker : shellgpt</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:shellgpt?rev=1739812833&amp;do=diff</link>
        <description>Ethical Hacker : shellgpt

sesión 1, lab 2


export OPENAI_API_KEY=&#039;...&#039;
sgpt --chat footprint --shell “Use theHarvester to gather email accounts associated with &#039;microsoft.com&#039;, limiting results to 200, and leveraging &#039;baidu&#039; as a data source”
sgpt --chat footprint --shell “Use Sherlock to gather personal information about &#039;Sundar Pichai&#039; and save the result in recon2.txt”
sgpt --chat footprint --shell “Install and use DNSRecon to perform DNS enumeration on the target domain www.certifiedhacker…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:googlecloud:s4?rev=1669233664&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-11-23T20:01:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Google Cloud Associate Cloud Enginer Sesión 4 (2022-11-23)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:googlecloud:s4?rev=1669233664&amp;do=diff</link>
        <description>Google Cloud Associate Cloud Enginer Sesión 4 (2022-11-23)

Documentación relacionada

Clase

	*  &lt;https://uptime.is/&gt;
	*  
python3 -c &#039;import base64; import os; print(base64.encodebytes(os.urandom(32)))&#039;


04 Identity and Access Management

	*  Control de permisos
	*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:galaxy?rev=1537284035&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-18T15:20:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Galaxy</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:galaxy?rev=1537284035&amp;do=diff</link>
        <description>Galaxy

4:48 Ansible Galaxy

repositorio online gratuito donde se alojan roles a ser utilizados en playbooks


&lt;https://galaxy.ansible.com&gt;

es posible compartir tus propios roles usando para autentificarte una cuenta de GitHub

existe una herramienta CLI (ansible-galaxy) que permite:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terraform-azure:conditionals-state-vm?rev=1586871197&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-14T13:33:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Terraform, conditionals, state and VM</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:terraform-azure:conditionals-state-vm?rev=1586871197&amp;do=diff</link>
        <description>Terraform, conditionals, state and VM

azure public ip

	*  public IP = external access to resources
	*  SND
	*  Estáticas/Dinámicas
	*  Acceso a recursos



conditionals




azure Network Security Group

	*  traffic control
		*  like firewall

	*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:metodo1:confapache1?rev=1421449851&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-01-16T23:10:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fichero apache conf1</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:metodo1:confapache1?rev=1421449851&amp;do=diff</link>
        <description>fichero apache conf1


&lt;VirtualHost *:80&gt;
	RewriteEngine on
	RewriteCond %{SERVER_PORT} =80
	RewriteRule ^(.*) https://%{SERVER_NAME}%{REQUEST_URI}
&lt;/VirtualHost&gt;

&lt;VirtualHost *:443&gt;
	ServerAdmin webmaster@localhost
 
	SSLEngine on
	SSLOptions +StdEnvVars +ExportCertData
#	SSLCertificateFile /etc/apache2/apache.pem
	SSLCertificateFile /etc/apache2/certificados/Servidor_certificado.crt
	SSLCertificateKeyFile /etc/apache2/certificados/Servidor_privada.key
	SSLCACertificateFile /etc/apache2/certif…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:metodo1:confapache2?rev=1421449820&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-01-16T23:10:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fichero apache conf2</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:metodo1:confapache2?rev=1421449820&amp;do=diff</link>
        <description>fichero apache conf2


&lt;VirtualHost *:80&gt;
ServerAdmin webmaster@localhost
 
DocumentRoot /var/www/
&lt;Directory /&gt;
Options FollowSymLinks
AllowOverride All
&lt;/Directory&gt;
&lt;Directory /var/www/&gt;
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
&lt;/Directory&gt;
 
ErrorLog /var/log/apache2/error.log
 
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
 
CustomLog /var/log/apache2/access.log combined
 
&lt;Location /rutor…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:metodo1:confapache3?rev=1421449903&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-01-16T23:11:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fichero apache conf3</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:metodo1:confapache3?rev=1421449903&amp;do=diff</link>
        <description>fichero apache conf3

conf3


ServerName localhost

&lt;VirtualHost *:80&gt;

        ServerAdmin admin@rutorrent
        ServerName localhost
        DocumentRoot /var/rutorrent

        &lt;Directory /&gt;
                AllowOverride None
                Order deny,allow
                Deny from all
        &lt;/Directory&gt;
        &lt;Location /&gt;
                AuthType Basic
                AuthName &quot;My ruTorrent web site&quot;
                AuthUserFile &quot;/etc/apache2/rutorrent_passwd&quot;
                Require…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile:examples:runscript?rev=1637048457&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-16T07:40:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Dockerfile run script</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:docker:dockerfile:examples:runscript?rev=1637048457&amp;do=diff</link>
        <description>Dockerfile run script

dockerfile

/via:&lt;https://github.com/chio-nzgft/docker-MariaDB-with-SSL/blob/master/run.sh&gt;

destacable



completo


#!/bin/sh
# execute any pre-init scripts
for i in /scripts/pre-init.d/*sh
do
        if [ -e &quot;${i}&quot; ]; then
                echo &quot;[i] pre-init.d - processing $i&quot;
                . &quot;${i}&quot;
        fi
done

if [ -d &quot;/run/mysqld&quot; ]; then
        echo &quot;[i] mysqld already present, skipping creation&quot;
        chown -R mysql:mysql /run/mysqld
else
        echo &quot;[i] …</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:beats:metricbeats?rev=1638688698&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-05T07:18:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ELK: Beats (Metricbeats)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:elk:beats:metricbeats?rev=1638688698&amp;do=diff</link>
        <description>ELK: Beats (Metricbeats)



	*  recogida métricas del OS: RAM, CPU, Disco
	*  logstash, opcional si se requiere preprocesamiento, si no, directamente a elasticsearch

instalación y configuración

	*  
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-5.4.2-amd64.deb
sudo dpkg -i metricbeat-5.4.2-amd64.deb
service metricbeat {start | status | stop}</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion1:lab0?rev=1740123934&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-21T07:45:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Lab Module 0 : Integrate ShellGPT in Parrot Security Machine</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion1:lab0?rev=1740123934&amp;do=diff</link>
        <description>Lab Module 0 : Integrate ShellGPT in Parrot Security Machine

Integrate ShellGPT in Parrot Security Machine

Instalación API key para instalar shell GPT

export OPENAI_API_KEY=&#039;&lt;KEY&gt;&#039;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion2:lab6?rev=1740124243&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-21T07:50:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Lab Module 06: Sytem hacking</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion2:lab6?rev=1740124243&amp;do=diff</link>
        <description>Lab Module 06: Sytem hacking

Task 1: Perform Active Online Attack to Crack the System’s Password using Responder

	*  sudo responder -I eth0 -&gt; capturar hash máquina W11 en txt -&gt; hash.txt
	*  john hash.txt -&gt; desencripta la contraseña del hash</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5:lab19?rev=1740138058&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-21T11:40:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Lab Module 19 Cloud Computing</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5:lab19?rev=1740138058&amp;do=diff</link>
        <description>Lab Module 19 Cloud Computing

Lab 1: Perform Reconnaissance on Azure

As an ethical hacker, you need to know how to utilize PowerShell command-based scripting tools for conducting reconnaissance and gathering information. This information can then be used to assess the security posture of other systems within the network.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5:sincara?rev=1740564007&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-26T10:00:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Apuntes SinCara sesión 5</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5:sincara?rev=1740564007&amp;do=diff</link>
        <description>Apuntes SinCara sesión 5

Modulo 18 - IoT Hacking

	*  &lt;https://zumpad.zum.de/p/SinCara-ICS&gt; - ICS
	*  &lt;https://wiki.owasp.org/index.php/OWASP_Internet_of_Things_Project#tab=IoT_Top_10&gt; - OWASP Top 10 IoT 2024
	*  &lt;https://www.fcc.gov/oet/ea/fccid&gt; - FCC ID
	*  &lt;https://www.redeszone.net/noticias/redes/web-of-things-wot-que-es-funcionamiento/&gt; - Web of Things (WoT): una capa que unifica y simplifica la comunicación entre dispositivos, usando tecnologías web como HTTP, REST y JSON.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:monitor?rev=1537865793&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-25T08:56:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>3:46 Monitorización</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:udemy:ansible:modulos:monitor?rev=1537865793&amp;do=diff</link>
        <description>3:46 Monitorización

	*  datalog_event
	*  datalog_monitor
	*  logicmonitor
	*  logicmonitor_facts
	*  monit
	*  nagios
	*  newrelic_deployment : notifica sobre despliegue de aplicaciones en NewRelic
	*  pagerduty : crear ventanas de mantenimiento de en PagerDuty</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/start?rev=1767080490&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-30T07:41:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>★</title>
        <link>https://miguelangel.torresegea.es/wiki/start?rev=1767080490&amp;do=diff</link>
        <description>★

	*  bitacora
	*  pendiente wiki (pendiente +wiki)
	*  bofh
	*  Bootstrap Wrapper Plugin Wiki
	*  &lt;https://www.dokuwiki.org/security#plugin_security&gt;
	*  &lt;https://www.dokuwiki.org/template&gt;
	*  &lt;https://www.dokuwiki.org/search&gt;

Informática

OS

	*  linux
	*  macintosh
	*  WINDOWS
	*  boot

Seguridad / Ciberseguridad

	*  Ciberseguridad

devops

formación

desarrollo

	*  web
	*  code
	*  development

tecnologías

dev

	*  GIT
	*  elasticsearch
	*  ruby
	*  kafka
	*  ELK
	*  regexp (regular ex…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/development:dev-containers?rev=1727080044&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-09-23T08:27:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dev containers</title>
        <link>https://miguelangel.torresegea.es/wiki/development:dev-containers?rev=1727080044&amp;do=diff</link>
        <description>dev containers

	*  &lt;https://www.youtube.com/watch?v=DkKs29etRis&gt;

VS Code

	*  Añadir extensión Dev Containers</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:ingles:start?rev=1522232206&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-03-28T10:16:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ingles</title>
        <link>https://miguelangel.torresegea.es/wiki/info:ingles:start?rev=1522232206&amp;do=diff</link>
        <description>ingles

/vía: &lt;http://www.idiomasgratis.com/ig_view_resource.php?html_code=ig_basico.html&gt;

básico

	*  básico
		*  pronombres personales
		*  artículos determinados
		*  artículos indeterminados
		*  adjetivos
		*  números
		*  días de la semana
		*  meses del año
		*  estaciones del año
		*  colores
		*  familia
		*  animales</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/web:apache:proxy?rev=1581808073&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-15T23:07:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Forward Proxy &amp; Reverse Proxy</title>
        <link>https://miguelangel.torresegea.es/wiki/web:apache:proxy?rev=1581808073&amp;do=diff</link>
        <description>Forward Proxy &amp; Reverse Proxy

/via: &lt;https://www.cloudflare.com/learning/cdn/glossary/reverse-proxy/&gt;

proxy

	*  proxy server, web proxy, forward proxy
	*  servidor que «intercepta» las peticiones de los clientes a los servidores de destino.
	*  utilidad: evitar restricciones en la navegación, bloquear acceso a contenidos, caching, protección de la identidad online</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:hashicorp:vault?rev=1590505947&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-26T15:12:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>HashiCorp Taller de Vault</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:hashicorp:vault?rev=1590505947&amp;do=diff</link>
        <description>HashiCorp Taller de Vault

	*  ponente: Pedro Coca (gerente regional)

introducción modelo operativo cloud

	*  herramientas
		*  vagrant
		*  packer
		*  terraform
		*  vault
		*  consul
		*  nomad

	*  elementos infraestructura
		*  conectividad
		*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:libros:terraform-upandrunning:cap3?rev=1589544364&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-15T12:06:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Chapter 3: How to Manage Terraform State</title>
        <link>https://miguelangel.torresegea.es/wiki/info:libros:terraform-upandrunning:cap3?rev=1589544364&amp;do=diff</link>
        <description>Chapter 3: How to Manage Terraform State

what is?

	*  terraform.tfsate JSON file
	*  output terraform plan is a «diff» with terraform.tfstate
	*  state file is a private API, for internal use of terraform and can change in any moment
		*  to modify,</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:idfo:vmware:s2?rev=1634241820&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-14T20:03:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>VMWare Sesión 2 (2021-10-14)</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:idfo:vmware:s2?rev=1634241820&amp;do=diff</link>
        <description>VMWare Sesión 2 (2021-10-14)

Documentación relacionada

Clase

interfaces de usuario vSphere

	*  &lt;https://ports.vmware.com&gt;
	*  cliente vSphere
		*  conexión a virtual center (HTML5)
		*  https://&lt;host&gt;/ui/app/home

	*  VMWare PowerCLI y ESXCLI
		*  línea de comandos
		*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:itformacion:awsassociate:cloudwatch?rev=1540231743&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-22T18:09:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cloudwatch</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:itformacion:awsassociate:cloudwatch?rev=1540231743&amp;do=diff</link>
        <description>cloudwatch

	*  servicio de monitorización
	*  la mayoría de servicios incorporan de base algún sistema de monitorización de manera automáticamente
	*  se pueden personalizar ($)
	*  High Resolution Custom Metrics
		*  permite métricas cada segundo</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:itformacion:awsassociate:elastic-transcode?rev=1539796495&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-17T17:14:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Elastic Transcode</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:itformacion:awsassociate:elastic-transcode?rev=1539796495&amp;do=diff</link>
        <description>Elastic Transcode

	*  soporte para elementos multimedia, para ser ditribuidos para diferentes disposivos / formato
	*  crea una pipeline donde configuras los datos del fichero multimedia
	*  usa S3</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:itformacion:awsassociate:start?rev=1557906841&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-05-15T07:54:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>AWS Associate</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:itformacion:awsassociate:start?rev=1557906841&amp;do=diff</link>
        <description>AWS Associate

devops cursos

Solution Architect

	*  Formador: 
	*  Empresa: IT Formación
	*  3 cursos: Arquitectura + SysOp + Developer

certificaciones

&lt;https://aws.amazon.com/es/certification&gt;

en este curso:

	*  AWS Certified Solutions Architect - Associate
	*  AWS Certified Solutions SysOps Administrator - Associate</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:mate:seguretat-informatica:ciberseguretat?rev=1741766358&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-12T07:59:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ciberseguretat</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:mate:seguretat-informatica:ciberseguretat?rev=1741766358&amp;do=diff</link>
        <description>ciberseguretat

información

	*  estar informados
		*  &lt;https://www.redeszone.net/&gt; - Tienen una subsección especializada en seguridad. Muy activo.
		*  &lt;https://blog.segu-info.com.ar/&gt; - Argentino, muy activo.
		*  &lt;https://thehackerway.com/&gt; - Español, premiado como mejor blog técnico europeo en 2021 en la categoría de ciberseguridad.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:intro-cloud-computing:contenedores?rev=1530178842&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-06-28T09:40:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>contenedores</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:intro-cloud-computing:contenedores?rev=1530178842&amp;do=diff</link>
        <description>contenedores

Contenedores

ocultar/mostrar

Contenedores (I)



	*  virtualización ligera o de SO
	*  todos los sistemas comparten núcleo (kernel)
	*  usados desde hace mucho en Solaris (Containers y Zones) y FreeBSD (Jails)
		*  hosting compartido</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:vagrant:cli?rev=1530718064&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-07-04T15:27:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Introducción a la línea de comandos</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:openwebinars:vagrant:cli?rev=1530718064&amp;do=diff</link>
        <description>Introducción a la línea de comandos

	*  vagrant list-commands (los más interesantes)
		*  box: manages boxes: installation, removal, etc.
		*  connect: conexión a entorno Vagrant remoto
		*  destroy: stops and deletes all traces of the vagrant machine</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion2?rev=1740124310&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-21T07:51:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ethical Hacker : sesión 2</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion2?rev=1740124310&amp;do=diff</link>
        <description>Ethical Hacker : sesión 2

	*  Ethical Hacker : sesión 2

clase

	*  ASPEN
		*  Modulo 06 - System Hacking
		*  Modulo 07 - Malware
		*  Modulo 08 - Sniffing


Modulo 06, apuntes

Modulo 06 - System Hacking

sección 1

	*  hash
		*  linux con salt
			*  tail -n 1 /etc/shadow | cut -f2 -d: | tr</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5?rev=1740136663&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-21T11:17:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ethical Hacker : sesión 5</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion5?rev=1740136663&amp;do=diff</link>
        <description>Ethical Hacker : sesión 5

	*  Ethical Hacker : sesión 5

clase

	*  Module 18 IoT and OT Hacking
	*  Module 19 Cloud Computing
	*  Module 20 Cryptography

Module 18 IoT and OT Hacking

IoT

	*  Internet of Things (Internet of Everything)
	*  EXAMEN: IoT arcquitectura
	*  Protocolos</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:extras:sincara-xss?rev=1740565887&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-26T10:31:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Apuntes SinCara Extras XSS, CSRF y SSRF</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:extras:sincara-xss?rev=1740565887&amp;do=diff</link>
        <description>Apuntes SinCara Extras XSS, CSRF y SSRF

XSS - Cross-Site Scripting - Secuencia de Comandos en Sitios Cruzados

	*  &lt;https://cwe.mitre.org/data/definitions/79.html&gt; - CWE-79: Improper Neutralization of Input During Web Page Generation (&#039;Cross-site Scripting&#039;). Número 1 del top 25:
		*  &lt;https://cwe.mitre.org/top25/index.html&gt;

	*  A una</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion1:sincara?rev=1740555602&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-26T07:40:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Apuntes SinCara sesión 1</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:ethical-hacker:sesion1:sincara?rev=1740555602&amp;do=diff</link>
        <description>Apuntes SinCara sesión 1

Modulo 01

	*  El CIO (Director de Información), es el gerente de sistemas o director de tecnologías de la información (responsable de TI). Reporta directamente al CEO, y se encarga directamente de las estrategias de la organización que están alineadas con la tecnología de la información para lograr los objetivos planificados.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:1.1?rev=1699217111&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-05T20:45:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1.1 What is PEP?</title>
        <link>https://miguelangel.torresegea.es/wiki/info:cursos:pue:python-pcpp1:m2:1.1?rev=1699217111&amp;do=diff</link>
        <description>1.1 What is PEP?

PEP may refer to several things:

	*  football (soccer) fans will definitely associate it with the famous ex-footballer and football manager, Josep Guardiola, whose nickname is (guess what) Pep;
	*  those who have medical jobs will surely think of post-exposure prophylaxis, which in turn has to do with taking preventive medical measures after contact with pathogens;</description>
    </item>
</rdf:RDF>
