<?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-23T20:47:44+00:00</dc:date>
        <items>
            <rdf:Seq>
                <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/linux:bash:parallel?rev=1778239769&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/linux:aptget:apt?rev=1741600997&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:start?rev=1777033277&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:bash:comandos?rev=1757052655&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:ficherosinicio?rev=1675155487&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:10minutos?rev=1476137592&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:bash:arrays?rev=1539085719&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:docker:start?rev=1581629161&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:sudo:start?rev=1715072349&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:vim:start?rev=1479165291&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/linux:systemd:journalctl:remote?rev=1640200562&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:udisks?rev=1649070557&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:log:log-parsing?rev=1681813390&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:paquetes:pihole?rev=1751908394&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:scripts:home?rev=1654849975&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:protocolobackup?rev=1330366804&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:start?rev=1613914961&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:seguridad:sadservers?rev=1716904318&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/linux:ssh:install?rev=1777966967&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:ubuntu:start?rev=1715085125&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/linux:utils:bat?rev=1764580784&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:utils:find-fd?rev=1763539345&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:vim:comandos?rev=1604787919&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/linux:aptget:aptitude?rev=1566804919&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:background:start?rev=1579346279&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:functions?rev=1539333360&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:grub?rev=1697535310&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:historyexpansion?rev=1579511775&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:indirectreferences?rev=1543427202&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:bash:shellvariables?rev=1727780019&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: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:debian:install-10?rev=1626716772&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:distros:debian-12-bookworm?rev=1747299953&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:fsh:start?rev=1731409382&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:librerias:start?rev=1613257473&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:log:start?rev=1681813259&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/linux:paquetes:fdupes?rev=1529917303&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:pureftpd?rev=1540372183&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:vsftpd?rev=1527955134&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:rsync:start?rev=1727767063&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:phpscript?rev=1328010857&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:seguridad:start?rev=1715770310&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:ssh:keys?rev=1777967067&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:reverse?rev=1776425458&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:tcpip:nmap?rev=1689772815&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:utils:start?rev=1764336448&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:filesystem:glusterfs:vagrantpoc?rev=1637060405&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:log:rsyslogd:start?rev=1479171919&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:java:start?rev=1585937017&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png">
        <title>miguel angel torres egea</title>
        <link>https://miguelangel.torresegea.es/wiki/</link>
        <url>https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png</url>
    </image>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux: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/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: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/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: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: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: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:bash:comandos?rev=1757052655&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-05T06:10:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>comandos bash</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:comandos?rev=1757052655&amp;do=diff</link>
        <description>comandos bash

linux bash

comandos al detalle

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

	*  tr : translate characters (sustitución cadenas sobre la entrada estandard. Uso com filtro en scripts)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:ficherosinicio?rev=1675155487&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-31T08:58:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Los ficheros de inicio de Bash</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:ficherosinicio?rev=1675155487&amp;do=diff</link>
        <description>Los ficheros de inicio de Bash

tipos de shell

	*  Interactivo: permite interactuar, ejecutando comandos introducidos desde el teclado.
	*  No Interactivo: ejecuta los comandos desde un script
	*  De Inicio: los shells que se ejecutan justo después de haberse identificado. Son los que solicitan usuario y contraseña (versus los interactivos que no la solicitan, que no serían de inicio)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux: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: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: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: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:docker:start?rev=1581629161&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-13T21:26:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker (first contact)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:docker:start?rev=1581629161&amp;do=diff</link>
        <description>docker (first contact)

docker

un poco de historia

	*  docker monta un sistema de containerización que permite lanzar nuevas instancias de S.O. aprovechando los recursos (hard) de la máquina Y el kernel del SO ya corriendo, lo que hace más óptimo el aprovechamiendo de recursos que las máquinas virtuales (que recrean un ordenador al completo, con sus propios kernels y sistemas de ficheros)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux: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: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: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: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: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/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/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: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:log:log-parsing?rev=1681813390&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-18T10:23:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>log parsing cheat sheet</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:log:log-parsing?rev=1681813390&amp;do=diff</link>
        <description>log parsing cheat sheet</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: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: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: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/linux:scripts:protocolobackup?rev=1330366804&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-02-27T18:20:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Protocolo de Backup</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:protocolobackup?rev=1330366804&amp;do=diff</link>
        <description>Protocolo de Backup

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

esclavo

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

linux bash

parámetro

	*  getopts

generales

	*  /home/user/.xxxx
	*  script sencillo de hack de Kenneth Peiruza
	*  recopilación del sistema
	*  scripts alta usuarios en vsFTP
	*  control de flujo / testing
	*  ejecutar el primer o último día del mes
	*  Ejecución script PHP con CRON sin problemas

interacción

	*  select
	*  array loop
	*  linux for-folders

el mundo del backup

	*  backup del sistema (correo, BDD MySQL, home, etc)
	*  backup de file system
	*  mysqldump, backups de…</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: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/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/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: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: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/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/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/linux:utils:find-fd?rev=1763539345&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-19T08:02:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>find - fd</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:utils:find-fd?rev=1763539345&amp;do=diff</link>
        <description>find - fd

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

install


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


regexp

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

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


parámetros

	*  --ignore-case
		*  por defecto: todo minúsculas, no distingue. Si alguna mayúscula, distingue.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:vim: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/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/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: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:background:start?rev=1579346279&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-18T11:17:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>comandos &quot;background&quot;</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:background:start?rev=1579346279&amp;do=diff</link>
        <description>comandos &quot;background&quot;



Trabajos en segundo plano

	*  &lt;comando&gt;&lt;param&gt; &amp;
	*  &lt;comando&gt;&lt;param&gt; y a posterior, ^Z y entonces $ bg
	*  bg
	*  jobs -&gt; lista de trabajos en segundo plano
		*  jobs -l -&gt; lista de trabajos con PID
		*  jobs -p -&gt; lista de trabajos con ID solo</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:functions?rev=1539333360&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-12T08:36:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Funciones</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:functions?rev=1539333360&amp;do=diff</link>
        <description>Funciones

	*  pasando parámentros a funciones: &lt;https://stackoverflow.com/questions/6212219/passing-parameters-to-a-bash-function&gt;
		*  &lt;http://tldp.org/LDP/abs/html/complexfunct.html&gt;

	*  variables locales en funciones: &lt;http://tldp.org/LDP/abs/html/localvar.html&gt;
	*  retorno de valores: &lt;https://www.linuxjournal.com/content/return-values-bash-functions&gt;</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: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:bash:historyexpansion?rev=1579511775&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-20T09:16:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>history expansion</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:historyexpansion?rev=1579511775&amp;do=diff</link>
        <description>history expansion

linux bash
 shortcut   descripción  eventos    !                  Indica que empieza la sustitución  !!                 Último comando -&gt; !-1 !n                 enésimo comando  !-n                último comando menos n  !string</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash: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: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: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: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: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: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: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: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:fsh:start?rev=1731409382&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-12T11:03:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Filesystem Hierarchy Standard</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:fsh:start?rev=1731409382&amp;do=diff</link>
        <description>Filesystem Hierarchy Standard

linux bash

(basado en debian)

/proc

	*  /proc/cpuinfo
	*  /proc/version
	*  /proc/1/comm
	*  /proc/sys/kernel/random/uuid
	*  echo n &gt;/proc/sys/vm/drop_caches
		*  n = 1 -&gt; Clears only the page cache.
		*  n = 2 -&gt; Clears dentries and inodes.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:librerias:start?rev=1613257473&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-13T23:04:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Linux dynamic libraries, librerias compartidas</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:librerias:start?rev=1613257473&amp;do=diff</link>
        <description>Linux dynamic libraries, librerias compartidas

	*  Shared Objects .so: ficheros de objetos sin bloque main
	*  todos los programas compilados son vinculados a libc
		*  eliminar esta librería supone la caída del sistema

	*  ld.so: aka ld-linux-so</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:log:start?rev=1681813259&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-18T10:20:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>logs</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:log:start?rev=1681813259&amp;do=diff</link>
        <description>logs

visualización

	*  LNAV : paquete para consultar logs con herramientas avanzadas

gestión de logs

	*  rsyslogd
	*  loganalyzer
	*  logstatsh
	*  logrotate
	*  log parsing cheat sheet

usuario

para ver el contenido de estos ficheros (binarios) se puede usar utmpdump

	*  /var/log/wtmp -&gt; últimos accesos al sistema</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/linux:paquetes:fdupes?rev=1529917303&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-06-25T09:01:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fdupes, ficheros repetidos</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:fdupes?rev=1529917303&amp;do=diff</link>
        <description>fdupes, ficheros repetidos

busca ficheros repetidos en diferentes ubicaciones, recursivamente, con posibilidad de ir eliminando

usa hash MD5 y después una comparación byte a byte

funcionamiento

	*  opciones:
		*  -r : recursivo dirs
		*  -S : muestra tamaño</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:pureftpd?rev=1540372183&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-24T09:09:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>pure-ftpd</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:pureftpd?rev=1540372183&amp;do=diff</link>
        <description>pure-ftpd

enlaces de interés

	*  &lt;http://linuxdev.dk/articles/pureftpd-over-tls&gt;
	*  &lt;http://wiki.openwrt.org/doc/uci/pure-ftpd&gt;
	*  comandos/opciones: &lt;http://edoceo.com/howto/pure-ftpd&gt;
	*  instalación + webui: &lt;http://www.debianhelp.co.uk/pureftp.htm&gt;
	*  otro webui: &lt;https://pure-ftpd-webui.org/&gt;
	*  &lt;https://help.ubuntu.com/community/PureFTP&gt;

instalación

	*  apt-get install pure-ftpd pure-ftp-common
	*  crear usuario/grupo:
		*  groupadd ftpgroup
		*  useradd -g ftpgroup -d /dev/null -s…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:vsftpd?rev=1527955134&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-06-02T15:58:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vsftpd (ftp server)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:vsftpd?rev=1527955134&amp;do=diff</link>
        <description>vsftpd (ftp server)

instalación

sudo apt-get install vsftpd

configuración

	*  /etc/vsftpd.conf -&gt; &lt;https://wiki.debian.org/vsftpd&gt;
	*  &lt;http://www.alcancelibre.org/staticpages/index.php/09-como-vsftpd&gt;
	*  &lt;http://www.linuxhispano.net/2010/09/14/configurar-servidor-ftp-en-linux-con-vsftpd/&gt;

solución de problemas

no deja hacer un CHROOT de un usuario local

	*  el usuario no ha de tener permisos de escritura en su /home/usuario</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: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: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: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: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: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: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:ssh:keys?rev=1777967067&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:44:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>authorized_keys</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:keys?rev=1777967067&amp;do=diff</link>
        <description>authorized_keys

linux ssh

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

	*  from=«xxx.xxx.xxx.xxx» ssh-dss.... -&gt; restricción por IP
	*  no-pty ssh-dss... -&gt; evita obtener una shell</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux: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: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/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: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: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: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: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: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/linux:log:rsyslogd:start?rev=1479171919&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-11-15T01:05:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rsyslogd</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:log:rsyslogd:start?rev=1479171919&amp;do=diff</link>
        <description>rsyslogd

paso 1

preparar a nuestro demonio para recibir logs del exterior

rsyslogd (paso 1)


/via: &lt;https://aelog.org/use-the-raspberry-pi-as-a-syslog-server-using-rsyslog/&gt;


paso 2

preparar cliente para enviar datos a nuestro demonio

rsyslogd (paso 2)


En este enlace también explica como volcar los datos a un servidor BDD/via: &lt;http://www.alcancelibre.org/staticpages/index.php/configuracion-rsyslog&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:java:start?rev=1585937017&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-03T18:03:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>java</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:java:start?rev=1585937017&amp;do=diff</link>
        <description>java

debian 8, jre 8

	*  &lt;http://openjdk.java.net/install/&gt;
	*  &lt;https://wiki.debian.org/JavaPackage&gt; 

instalación

	*  $ sudo apt-get install default-jre
	*  $ sudo apt-get install default-jdk
	*  $ sudo apt-get install openjdk-7-jre
	*  sudo apt-get install python-software-propertiessudo add-apt-repository ppa:webupd8team/java</description>
    </item>
</rdf:RDF>
