<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://mainkivi.info:443/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin</id>
	<title>La Wiki de KiVi - Contribuciones del usuario [es]</title>
	<link rel="self" type="application/atom+xml" href="https://mainkivi.info:443/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin"/>
	<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Especial:Contribuciones/Admin"/>
	<updated>2026-06-14T21:41:38Z</updated>
	<subtitle>Contribuciones del usuario</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=575</id>
		<title>Volumen Lógico</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=575"/>
		<updated>2025-12-16T09:33:46Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
Esta entrada no será una entrada detallada, intentaré resumir y explicar lo más sencillo posible qué son &#039;&#039;&#039;grupos de volúmenes, volúmenes físicos y volúmenes lógicos&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Gestión de almacenamiento con LVM en Linux =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM (Logical Volume Manager)&#039;&#039;&#039; es un sistema de gestión de almacenamiento que permite administrar discos y particiones de forma flexible y dinámica en sistemas Linux. En lugar de trabajar directamente con particiones tradicionales, LVM introduce una capa de abstracción que facilita la ampliación y reorganización del espacio en disco.&lt;br /&gt;
&lt;br /&gt;
== Componentes principales ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes físicos (PV - Physical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son los dispositivos de almacenamiento reales, como discos duros o particiones (por ejemplo, /dev/sda1). Estos discos pueden ser de distinta tecnología (HDD, SSD, NVMe) y tamaño.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Grupos de volúmenes (VG - Volume Groups)&#039;&#039;&#039;:&lt;br /&gt;
  Agrupan uno o varios volúmenes físicos y forman un &amp;quot;pool&amp;quot; de almacenamiento unificado, independientemente de la mecánica de los discos que lo componen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes lógicos (LV - Logical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son las unidades finales donde se crean los sistemas de archivos. Funcionan de forma similar a las particiones tradicionales, pero con mayor flexibilidad.&lt;br /&gt;
&lt;br /&gt;
== Beneficios de usar LVM ==&lt;br /&gt;
&lt;br /&gt;
* Permite unificar varios discos físicos en un único espacio lógico, sin importar su tipo o tamaño.&lt;br /&gt;
* Facilita la ampliación o reducción de volúmenes sin necesidad de reinstalar el sistema.&lt;br /&gt;
* Posibilita modificar el tamaño de los volúmenes y de los puntos de montaje en caliente, en muchos casos sin interrumpir el servicio.&lt;br /&gt;
* Permite el uso de cifrado (por ejemplo, mediante LUKS) para proteger los datos almacenados en volúmenes lógicos.&lt;br /&gt;
* Facilita la creación de instantáneas (snapshots) para copias de seguridad o pruebas.&lt;br /&gt;
* Mejora la escalabilidad y el mantenimiento de servidores y sistemas de almacenamiento.&lt;br /&gt;
&lt;br /&gt;
== Ejemplo práctico: añadir un disco para /var/www (comandos reales) ==&lt;br /&gt;
Para simplificar su uso, vamos a trabajar con un ejemplo práctico, tengo un servidor [[Fedora]] al que le hice una instalación por defecto en un disco SSD de, por ejemplo, 120GB, éste se hizo en un &#039;&#039;&#039;LVM&#039;&#039;&#039; por defecto, con un &#039;&#039;&#039;Grupo de volúmenes&#039;&#039;&#039; llamado &amp;quot;&#039;&#039;&#039;fedora&#039;&#039;&#039;&amp;quot;, encriptado con &#039;&#039;&#039;LUKS&#039;&#039;&#039; y en formato &#039;&#039;&#039;XFS&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a añadir un disco duro nuevo SSD de 500GB para el directorio &amp;quot;/var/www&amp;quot;, es decir, el servicio web, también lo encriptaremos y sólo aprovecharemos 100GB, si es necesario, en un futuro, podemos ampliarlo o dedicar el espacio libre para otro punto de montaje. &lt;br /&gt;
&lt;br /&gt;
=== 1. Preparar el nuevo disco ===&lt;br /&gt;
Crear la tabla de particiones y una partición que ocupe todo el disco, a partir de ahora todo como usuario &#039;&#039;&#039;root&#039;&#039;&#039;:&lt;br /&gt;
 parted /dev/sdb -- mklabel gpt  #etiquetarà el disco y, en caso de tener datos, los borrará todos. A parte, pedirà confirmación por parte del usuario, y escribiremos &amp;quot;Yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 parted /dev/sdb -- mkpart primary 0% 100%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comprobar que el sistema ve el disco y la partición:&lt;br /&gt;
 lsblk -f&lt;br /&gt;
&lt;br /&gt;
=== 2. Crear el volumen físico (PV) ===&lt;br /&gt;
Inicializar la partición como volumen físico de LVM:&lt;br /&gt;
 pvcreate /dev/sdb1&lt;br /&gt;
Comprobar el volumen físico:&lt;br /&gt;
 pvs  #muestra datos básicos del volumen&lt;br /&gt;
 PV         VG Fmt  Attr PSize    PFree&lt;br /&gt;
 /dev/sdb1     lvm2 ---  &amp;lt;111,75g &amp;lt;111,75g&lt;br /&gt;
&lt;br /&gt;
 pvdisplay /dev/sdb1  #Muestra datos más extendidos.&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;&amp;lt;111,75 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name&lt;br /&gt;
  PV Size               &amp;lt;111,75 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0&lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               l8bdAp-3biH-c7L0-O4bQ-QITU-FOnC-1RNwTe&lt;br /&gt;
&lt;br /&gt;
=== 3. Añadir el disco al grupo de volúmenes ===&lt;br /&gt;
Añadir el nuevo PV al grupo de volúmenes existente (fedora):&lt;br /&gt;
 vgs #exploramos los grupos de volúmenes existentes, en nuestro caso, recordamos que el grupo por defecto en la instalación es &amp;quot;fedora&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ahora añadimos al Grupo de Volúmenes la nueva partición:&lt;br /&gt;
 vgextend fedora /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para verificar el estado del grupo de volúmenes:&lt;br /&gt;
 vgs&lt;br /&gt;
 vgdisplay fedora&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4. Crear el volumen lógico ===&lt;br /&gt;
&lt;br /&gt;
Crear un volumen lógico de 100 GB para &#039;&#039;&#039;/var/www&#039;&#039;&#039; con el nombre &amp;quot;lv_var_www&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L 100G -n lv_var_www fedora&lt;br /&gt;
&lt;br /&gt;
Comprobar el volumen lógico:&lt;br /&gt;
&lt;br /&gt;
 lvs&lt;br /&gt;
 lvdisplay /dev/fedora/lv_var_www&lt;br /&gt;
&lt;br /&gt;
Es decir, recordemos que hemos creado el grupo de volúmenes &amp;quot;fedora&amp;quot; donde forma parte la partición &amp;quot;/dev/sdb1&amp;quot; y hemos creado, sobre este grupo, un volúmen lógico de 100G, es decir, a partir de ahora, puedo añadir más discos o más particiones a este grupo de volúmnes, pero por ahora sigamos con el ejemplo.&lt;br /&gt;
&lt;br /&gt;
=== 5. Cifrar el volumen lógico ===&lt;br /&gt;
Ahora sigamos con el cifrado del volumen lógico para aumentar su protección.&lt;br /&gt;
Para cifrar el volumen lógico con LUKS:&lt;br /&gt;
 cryptsetup luksFormat /dev/fedora/lv_var_www #para formatear la partición lógica, nos pedirá confirmación y lo haremos escribiendo &amp;quot;YES&amp;quot; (en mayúsculas) y le asignaremos una contraseña ( recomiendo poner la misma que la utilizada en la instalación del sistema operativo).&lt;br /&gt;
 cryptsetup open /dev/fedora/lv_var_www crypt_var_www # pedirá de nuevo la contraseña y esto abrirá el volumen para poder trabajar con el.&lt;br /&gt;
&lt;br /&gt;
Verificar que el volumen cifrado está activo:&lt;br /&gt;
 cryptsetup status crypt_var_www&lt;br /&gt;
NOTA - el volúmen está disponible en /dev/mapper/fedora-lv_var_www, estad muy atentos a &amp;quot;/dev/mapper&amp;quot;, donde estarán disponibles los volúmenes, el resto es el grupo de volúmenes &amp;quot;fedora&amp;quot; y el nombre del volúmen lógico &amp;quot;lv_var_www&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 6. Crear el sistema de archivos ===&lt;br /&gt;
Ahora que ya está creado y abierto, le damos formato a [[XFS]]:&lt;br /&gt;
 mkfs.xfs /dev/mapper/crypt_var_www&lt;br /&gt;
Este procedimiento es rápido dependiendo del tamaño.&lt;br /&gt;
Ahora,que ya está formateado, podemos montarlo, primero, por si no existe el directorio, lo creamos y lo montamos:&lt;br /&gt;
 mkdir -p /var/www&lt;br /&gt;
 mount /dev/mapper/crypt_var_www /var/www&lt;br /&gt;
&lt;br /&gt;
== 7. Persistencia del punto de montaje ==&lt;br /&gt;
Ahora entramos en la parte de montaje persistente, que en Linux con LVM y cifrado implica dos ficheros clave:&lt;br /&gt;
 &#039;&#039;&#039;/etc/crypttab&#039;&#039;&#039; → para abrir volúmenes cifrados al inicio&lt;br /&gt;
 &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; → para montar los sistemas de archivos automáticamente&lt;br /&gt;
&lt;br /&gt;
Te explico paso a paso para este caso (/var/www en un LV cifrado llamado crypt_var_www):&lt;br /&gt;
&lt;br /&gt;
==== 1. Configurar /etc/crypttab ====&lt;br /&gt;
&#039;&#039;&#039;crypttab&#039;&#039;&#039; indica al sistema como desbloquear volúmenes cifrados al inicio.&lt;br /&gt;
&lt;br /&gt;
Añade una línea así en &#039;&#039;&#039;/etc/crypttab&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 crypt_var_www /dev/fedora/lv_var_www none luks&lt;br /&gt;
&lt;br /&gt;
Explicación de cada campo:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;crypt_var_www&#039;&#039;&#039; → nombre del dispositivo mapeado que aparecerá en /dev/mapper/crypt_var_www&lt;br /&gt;
* &#039;&#039;&#039;/dev/fedora/lv_var_www&#039;&#039;&#039; → volumen lógico cifrado&lt;br /&gt;
* &#039;&#039;&#039;none&#039;&#039;&#039; → indica que pedirá contraseña al inicio (o puedes usar un archivo de clave)&lt;br /&gt;
* &#039;&#039;&#039;luks&#039;&#039;&#039; → tipo de cifrado (LUKS)&lt;br /&gt;
&lt;br /&gt;
Después de esto, al arrancar el sistema, te pedirá la contraseña para abrir el volumen, si la contraseña es la misma que el resto de sistema, no será necesaria volverla a poner. &lt;br /&gt;
&lt;br /&gt;
==== 2. Configurar /etc/fstab ====&lt;br /&gt;
&#039;&#039;&#039;fstab&#039;&#039;&#039; monta automáticamente el sistema de archivos en el punto deseado. Para &#039;&#039;&#039;/var/www&#039;&#039;&#039; editamos &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 /dev/mapper/crypt_var_www  /var/www  xfs  defaults  0  2&lt;br /&gt;
&lt;br /&gt;
Explicación de cada campo:&lt;br /&gt;
* &#039;&#039;&#039;/dev/mapper/crypt_var_www&#039;&#039;&#039; → dispositivo ya desbloqueado por crypttab&lt;br /&gt;
* &#039;&#039;&#039;/var/www&#039;&#039;&#039; → punto de montaje&lt;br /&gt;
* &#039;&#039;&#039;xfs&#039;&#039;&#039; → tipo de sistema de archivos&lt;br /&gt;
* &#039;&#039;&#039;defaults&#039;&#039;&#039; → opciones de montaje por defecto&lt;br /&gt;
* &#039;&#039;&#039;0&#039;&#039;&#039; → si se debe volcar con dump (normalmente 0)&lt;br /&gt;
* &#039;&#039;&#039;2&#039;&#039;&#039; → orden de chequeo por fsck (1 = root, 2 = otros)&lt;br /&gt;
&lt;br /&gt;
== Añadir un nuevo disco al volumen lógico ==&lt;br /&gt;
Vamos a seguir con el ejemplo práctico, vamos a añadir un nuevo disco, en este caso no será un disco sólido, sino un disco duro mecánico que teníamos en el almacén, por ejemplo de 2 TB. Primero hay que particionar:&lt;br /&gt;
 parted /dev/sdc -- mklabel gpt  #etiquetarà el disco y, en caso de tener datos, los borrará todos. A parte, pedirà confirmación por parte del usuario, y escribiremos &amp;quot;Yes&amp;quot;&lt;br /&gt;
 parted /dev/sdc -- mkpart primary 0% 100%&lt;br /&gt;
Creamos el volúmen físico:&lt;br /&gt;
 pvcreate /dev/sdc1&lt;br /&gt;
Lo añadimos al mismo grupo de volúmenes &amp;quot;fedora&amp;quot;:&lt;br /&gt;
 vgextend fedora /dev/sdc1&lt;br /&gt;
Y lo podemos comprovar con:&lt;br /&gt;
 vgs&lt;br /&gt;
Ahora, creamos el volúmen lógico, por ahora de 200 GB:&lt;br /&gt;
 lvcreate -L 200G -n lv_srv fedora&lt;br /&gt;
Es decir, del volumen ya creado y con dos discos, llamado fedora, creamos un volumen lógico de 200G, por lo que no va a importar la mecánica del disco, él solo escoge el volumen lógico y, por ejemplo, si teníamos un disco de 250 y otro de 2 TB, ahora tenemos uno de 2&#039;250 TB.&lt;br /&gt;
Solo queda encriptar:&lt;br /&gt;
 cryptsetup luksFormat /dev/fedora/lv_srv #recuerda poner la contraseña, la misma que el resto de encriptaciones si no quieres que la pida en cada inicio.&lt;br /&gt;
 cryptsetup open /dev/fedora/lv_srv crypt_srv &lt;br /&gt;
 cryptsetup status crypt_srv&lt;br /&gt;
Formatear el volumen:&lt;br /&gt;
 mkfs.xfs /dev/mapper/crypt_srv&lt;br /&gt;
Y solo queda persistir, en &#039;&#039;&#039;/etc/crypttab&#039;&#039;&#039;:&lt;br /&gt;
 crypt_srv /dev/fedora/lv_srv none luks&lt;br /&gt;
Y en &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039;:&lt;br /&gt;
 /dev/mapper/crypt_srv  /srv  xfs  defaults  0  2&lt;br /&gt;
&lt;br /&gt;
Podemos comprobar con:&lt;br /&gt;
 mount -a&lt;br /&gt;
O reiniciando.&lt;br /&gt;
&lt;br /&gt;
== Borrando todo lo hecho ==&lt;br /&gt;
Ahora tenemos una noción de cómo trabajar con &amp;quot;PV&amp;quot;, &amp;quot;VG&amp;quot; y &amp;quot;VL&amp;quot;, pero cómo borrarlos? &lt;br /&gt;
&lt;br /&gt;
Primero deberíamos de tener una [[copia de seguridad]], por ejemplo con [[Rsnapshot]], y entonces volvemos sobre nuestros pasos:&lt;br /&gt;
&lt;br /&gt;
* Editar y comentar la correspondiente línea de &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039;.&lt;br /&gt;
* Editar y comentar la correspondiente línea  de &#039;&#039;&#039;/etc/crypttab&#039;&#039;&#039;.&lt;br /&gt;
* Desmontar el directorio reiniciando el equipo o manualmente con: &#039;&#039;&#039;umount /var/www&#039;&#039;&#039; en el cao del primer ejemplo.&lt;br /&gt;
* Eliminado el volumen lógico: &#039;&#039;&#039;sudo lvremove /dev/fedora/lv_var_www&#039;&#039;&#039;&lt;br /&gt;
* Y ya, siendo muy destructivos, y si no tenemos ningún volumen montado y no queremos trabajar más con volúmenes, podemos eliminar el grupo con: &#039;&#039;&#039;sudo vgremove fedora.&#039;&#039;&#039; Esto no es nada recomendable, pero podríamos poner otro ejemplo: tenemos el grupo de volúmenes del sistema &amp;quot;fedora&amp;quot; y otro grupo para datos &amp;quot;vg_datos&amp;quot; y queremos borrar este último. Lo bueno de trabajar con diferentes grupos de volúmenes es que no afectan unos con otros.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=574</id>
		<title>Volumen Lógico</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=574"/>
		<updated>2025-12-16T09:13:25Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Ejemplo práctico: añadir un disco para /var/www (comandos reales) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
Esta entrada no será una entrada detallada, intentaré resumir y explicar lo más sencillo posible qué son &#039;&#039;&#039;grupos de volúmenes, volúmenes físicos y volúmenes lógicos&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Gestión de almacenamiento con LVM en Linux =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM (Logical Volume Manager)&#039;&#039;&#039; es un sistema de gestión de almacenamiento que permite administrar discos y particiones de forma flexible y dinámica en sistemas Linux. En lugar de trabajar directamente con particiones tradicionales, LVM introduce una capa de abstracción que facilita la ampliación y reorganización del espacio en disco.&lt;br /&gt;
&lt;br /&gt;
== Componentes principales ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes físicos (PV - Physical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son los dispositivos de almacenamiento reales, como discos duros o particiones (por ejemplo, /dev/sda1). Estos discos pueden ser de distinta tecnología (HDD, SSD, NVMe) y tamaño.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Grupos de volúmenes (VG - Volume Groups)&#039;&#039;&#039;:&lt;br /&gt;
  Agrupan uno o varios volúmenes físicos y forman un &amp;quot;pool&amp;quot; de almacenamiento unificado, independientemente de la mecánica de los discos que lo componen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes lógicos (LV - Logical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son las unidades finales donde se crean los sistemas de archivos. Funcionan de forma similar a las particiones tradicionales, pero con mayor flexibilidad.&lt;br /&gt;
&lt;br /&gt;
== Beneficios de usar LVM ==&lt;br /&gt;
&lt;br /&gt;
* Permite unificar varios discos físicos en un único espacio lógico, sin importar su tipo o tamaño.&lt;br /&gt;
* Facilita la ampliación o reducción de volúmenes sin necesidad de reinstalar el sistema.&lt;br /&gt;
* Posibilita modificar el tamaño de los volúmenes y de los puntos de montaje en caliente, en muchos casos sin interrumpir el servicio.&lt;br /&gt;
* Permite el uso de cifrado (por ejemplo, mediante LUKS) para proteger los datos almacenados en volúmenes lógicos.&lt;br /&gt;
* Facilita la creación de instantáneas (snapshots) para copias de seguridad o pruebas.&lt;br /&gt;
* Mejora la escalabilidad y el mantenimiento de servidores y sistemas de almacenamiento.&lt;br /&gt;
&lt;br /&gt;
== Ejemplo práctico: añadir un disco para /var/www (comandos reales) ==&lt;br /&gt;
Para simplificar su uso, vamos a trabajar con un ejemplo práctico, tengo un servidor [[Fedora]] al que le hice una instalación por defecto en un disco SSD de, por ejemplo, 120GB, éste se hizo en un &#039;&#039;&#039;LVM&#039;&#039;&#039; por defecto, con un &#039;&#039;&#039;Grupo de volúmenes&#039;&#039;&#039; llamado &amp;quot;&#039;&#039;&#039;fedora&#039;&#039;&#039;&amp;quot;, encriptado con &#039;&#039;&#039;LUKS&#039;&#039;&#039; y en formato &#039;&#039;&#039;XFS&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a añadir un disco duro nuevo SSD de 500GB para el directorio &amp;quot;/var/www&amp;quot;, es decir, el servicio web, también lo encriptaremos y sólo aprovecharemos 100GB, si es necesario, en un futuro, podemos ampliarlo o dedicar el espacio libre para otro punto de montaje. &lt;br /&gt;
&lt;br /&gt;
=== 1. Preparar el nuevo disco ===&lt;br /&gt;
Crear la tabla de particiones y una partición que ocupe todo el disco, a partir de ahora todo como usuario &#039;&#039;&#039;root&#039;&#039;&#039;:&lt;br /&gt;
 parted /dev/sdb -- mklabel gpt  #etiquetarà el disco y, en caso de tener datos, los borrará todos. A parte, pedirà confirmación por parte del usuario, y escribiremos &amp;quot;Yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 parted /dev/sdb -- mkpart primary 0% 100%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comprobar que el sistema ve el disco y la partición:&lt;br /&gt;
 lsblk -f&lt;br /&gt;
&lt;br /&gt;
=== 2. Crear el volumen físico (PV) ===&lt;br /&gt;
Inicializar la partición como volumen físico de LVM:&lt;br /&gt;
 pvcreate /dev/sdb1&lt;br /&gt;
Comprobar el volumen físico:&lt;br /&gt;
 pvs  #muestra datos básicos del volumen&lt;br /&gt;
 PV         VG Fmt  Attr PSize    PFree&lt;br /&gt;
 /dev/sdb1     lvm2 ---  &amp;lt;111,75g &amp;lt;111,75g&lt;br /&gt;
&lt;br /&gt;
 pvdisplay /dev/sdb1  #Muestra datos más extendidos.&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;&amp;lt;111,75 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name&lt;br /&gt;
  PV Size               &amp;lt;111,75 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0&lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               l8bdAp-3biH-c7L0-O4bQ-QITU-FOnC-1RNwTe&lt;br /&gt;
&lt;br /&gt;
=== 3. Añadir el disco al grupo de volúmenes ===&lt;br /&gt;
Añadir el nuevo PV al grupo de volúmenes existente (fedora):&lt;br /&gt;
 vgs #exploramos los grupos de volúmenes existentes, en nuestro caso, recordamos que el grupo por defecto en la instalación es &amp;quot;fedora&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ahora añadimos al Grupo de Volúmenes la nueva partición:&lt;br /&gt;
 vgextend fedora /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para verificar el estado del grupo de volúmenes:&lt;br /&gt;
 vgs&lt;br /&gt;
 vgdisplay fedora&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4. Crear el volumen lógico ===&lt;br /&gt;
&lt;br /&gt;
Crear un volumen lógico de 100 GB para &#039;&#039;&#039;/var/www&#039;&#039;&#039; con el nombre &amp;quot;lv_var_www&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L 100G -n lv_var_www fedora&lt;br /&gt;
&lt;br /&gt;
Comprobar el volumen lógico:&lt;br /&gt;
&lt;br /&gt;
 lvs&lt;br /&gt;
 lvdisplay /dev/fedora/lv_var_www&lt;br /&gt;
&lt;br /&gt;
Es decir, recordemos que hemos creado el grupo de volúmenes &amp;quot;fedora&amp;quot; donde forma parte la partición &amp;quot;/dev/sdb1&amp;quot; y hemos creado, sobre este grupo, un volúmen lógico de 100G, es decir, a partir de ahora, puedo añadir más discos o más particiones a este grupo de volúmnes, pero por ahora sigamos con el ejemplo.&lt;br /&gt;
&lt;br /&gt;
=== 5. Cifrar el volumen lógico ===&lt;br /&gt;
Ahora sigamos con el cifrado del volumen lógico para aumentar su protección.&lt;br /&gt;
Para cifrar el volumen lógico con LUKS:&lt;br /&gt;
 cryptsetup luksFormat /dev/fedora/lv_var_www #para formatear la partición lógica, nos pedirá confirmación y lo haremos escribiendo &amp;quot;YES&amp;quot; (en mayúsculas) y le asignaremos una contraseña ( recomiendo poner la misma que la utilizada en la instalación del sistema operativo).&lt;br /&gt;
 cryptsetup open /dev/fedora/lv_var_www crypt_var_www # pedirá de nuevo la contraseña y esto abrirá el volumen para poder trabajar con el.&lt;br /&gt;
&lt;br /&gt;
Verificar que el volumen cifrado está activo:&lt;br /&gt;
 cryptsetup status crypt_var_www&lt;br /&gt;
NOTA - el volúmen está disponible en /dev/mapper/fedora-lv_var_www, estad muy atentos a &amp;quot;/dev/mapper&amp;quot;, donde estarán disponibles los volúmenes, el resto es el grupo de volúmenes &amp;quot;fedora&amp;quot; y el nombre del volúmen lógico &amp;quot;lv_var_www&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 6. Crear el sistema de archivos ===&lt;br /&gt;
Ahora que ya está creado y abierto, le damos formato a [[XFS]]:&lt;br /&gt;
 mkfs.xfs /dev/mapper/crypt_var_www&lt;br /&gt;
Este procedimiento es rápido dependiendo del tamaño.&lt;br /&gt;
Ahora,que ya está formateado, podemos montarlo, primero, por si no existe el directorio, lo creamos y lo montamos:&lt;br /&gt;
 mkdir -p /var/www&lt;br /&gt;
 mount /dev/mapper/crypt_var_www /var/www&lt;br /&gt;
&lt;br /&gt;
== 7. Persistencia del punto de montaje ==&lt;br /&gt;
Ahora entramos en la parte de montaje persistente, que en Linux con LVM y cifrado implica dos ficheros clave:&lt;br /&gt;
 &#039;&#039;&#039;/etc/crypttab&#039;&#039;&#039; → para abrir volúmenes cifrados al inicio&lt;br /&gt;
 &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; → para montar los sistemas de archivos automáticamente&lt;br /&gt;
&lt;br /&gt;
Te explico paso a paso para este caso (/var/www en un LV cifrado llamado crypt_var_www):&lt;br /&gt;
&lt;br /&gt;
==== 1. Configurar /etc/crypttab ====&lt;br /&gt;
&#039;&#039;&#039;crypttab&#039;&#039;&#039; indica al sistema como desbloquear volúmenes cifrados al inicio.&lt;br /&gt;
&lt;br /&gt;
Añade una línea así en &#039;&#039;&#039;/etc/crypttab&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 crypt_var_www /dev/fedora/lv_var_www none luks&lt;br /&gt;
&lt;br /&gt;
Explicación de cada campo:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;crypt_var_www&#039;&#039;&#039; → nombre del dispositivo mapeado que aparecerá en /dev/mapper/crypt_var_www&lt;br /&gt;
* &#039;&#039;&#039;/dev/fedora/lv_var_www&#039;&#039;&#039; → volumen lógico cifrado&lt;br /&gt;
* &#039;&#039;&#039;none&#039;&#039;&#039; → indica que pedirá contraseña al inicio (o puedes usar un archivo de clave)&lt;br /&gt;
* &#039;&#039;&#039;luks&#039;&#039;&#039; → tipo de cifrado (LUKS)&lt;br /&gt;
&lt;br /&gt;
Después de esto, al arrancar el sistema, te pedirá la contraseña para abrir el volumen, si la contraseña es la misma que el resto de sistema, no será necesaria volverla a poner. &lt;br /&gt;
&lt;br /&gt;
==== 2. Configurar /etc/fstab ====&lt;br /&gt;
&#039;&#039;&#039;fstab&#039;&#039;&#039; monta automáticamente el sistema de archivos en el punto deseado. Para &#039;&#039;&#039;/var/www&#039;&#039;&#039; editamos &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 /dev/mapper/crypt_var_www  /var/www  xfs  defaults  0  2&lt;br /&gt;
&lt;br /&gt;
Explicación de cada campo:&lt;br /&gt;
* &#039;&#039;&#039;/dev/mapper/crypt_var_www&#039;&#039;&#039; → dispositivo ya desbloqueado por crypttab&lt;br /&gt;
* &#039;&#039;&#039;/var/www&#039;&#039;&#039; → punto de montaje&lt;br /&gt;
* &#039;&#039;&#039;xfs&#039;&#039;&#039; → tipo de sistema de archivos&lt;br /&gt;
* &#039;&#039;&#039;defaults&#039;&#039;&#039; → opciones de montaje por defecto&lt;br /&gt;
* &#039;&#039;&#039;0&#039;&#039;&#039; → si se debe volcar con dump (normalmente 0)&lt;br /&gt;
* &#039;&#039;&#039;2&#039;&#039;&#039; → orden de chequeo por fsck (1 = root, 2 = otros)&lt;br /&gt;
&lt;br /&gt;
== Añadir un nuevo disco al volumen lógico ==&lt;br /&gt;
Vamos a seguir con el ejemplo práctico, vamos a añadir un nuevo disco, en este caso no será un disco sólido, sino un disco duro mecánico que teníamos en el almacén, por ejemplo de 2 TB. Primero hay que particionar:&lt;br /&gt;
 parted /dev/sdc -- mklabel gpt  #etiquetarà el disco y, en caso de tener datos, los borrará todos. A parte, pedirà confirmación por parte del usuario, y escribiremos &amp;quot;Yes&amp;quot;&lt;br /&gt;
 parted /dev/sdc -- mkpart primary 0% 100%&lt;br /&gt;
Creamos el volúmen físico:&lt;br /&gt;
 pvcreate /dev/sdc1&lt;br /&gt;
Lo añadimos al mismo grupo de volúmenes &amp;quot;fedora&amp;quot;:&lt;br /&gt;
 vgextend fedora /dev/sdc1&lt;br /&gt;
Y lo podemos comprovar con:&lt;br /&gt;
 vgs&lt;br /&gt;
Ahora, creamos el volúmen lógico, por ahora de 200 GB:&lt;br /&gt;
 lvcreate -L 200G -n lv_srv fedora&lt;br /&gt;
Es decir, del volumen ya creado y con dos discos, llamado fedora, creamos un volumen lógico de 200G, por lo que no va a importar la mecánica del disco, él solo escoge el volumen lógico y, por ejemplo, si teníamos un disco de 250 y otro de 2 TB, ahora tenemos uno de 2&#039;250 TB.&lt;br /&gt;
Solo queda encriptar:&lt;br /&gt;
 cryptsetup luksFormat /dev/fedora/lv_srv #recuerda poner la contraseña, la misma que el resto de encriptaciones si no quieres que la pida en cada inicio.&lt;br /&gt;
 cryptsetup open /dev/fedora/lv_srv crypt_srv &lt;br /&gt;
 cryptsetup status crypt_srv&lt;br /&gt;
Formatear el volumen:&lt;br /&gt;
 mkfs.xfs /dev/mapper/crypt_srv&lt;br /&gt;
Y solo queda persistir, en &#039;&#039;&#039;/etc/crypttab&#039;&#039;&#039;:&lt;br /&gt;
 crypt_srv /dev/fedora/lv_srv none luks&lt;br /&gt;
Y en &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039;:&lt;br /&gt;
 /dev/mapper/crypt_srv  /srv  xfs  defaults  0  2&lt;br /&gt;
&lt;br /&gt;
Podemos comprobar con:&lt;br /&gt;
 mount -a&lt;br /&gt;
O reinciando.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=573</id>
		<title>Volumen Lógico</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=573"/>
		<updated>2025-12-16T08:55:52Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* 1. Configurar /etc/crypttab = */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
Esta entrada no será una entrada detallada, intentaré resumir y explicar lo más sencillo posible qué son &#039;&#039;&#039;grupos de volúmenes, volúmenes físicos y volúmenes lógicos&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Gestión de almacenamiento con LVM en Linux =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM (Logical Volume Manager)&#039;&#039;&#039; es un sistema de gestión de almacenamiento que permite administrar discos y particiones de forma flexible y dinámica en sistemas Linux. En lugar de trabajar directamente con particiones tradicionales, LVM introduce una capa de abstracción que facilita la ampliación y reorganización del espacio en disco.&lt;br /&gt;
&lt;br /&gt;
== Componentes principales ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes físicos (PV - Physical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son los dispositivos de almacenamiento reales, como discos duros o particiones (por ejemplo, /dev/sda1). Estos discos pueden ser de distinta tecnología (HDD, SSD, NVMe) y tamaño.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Grupos de volúmenes (VG - Volume Groups)&#039;&#039;&#039;:&lt;br /&gt;
  Agrupan uno o varios volúmenes físicos y forman un &amp;quot;pool&amp;quot; de almacenamiento unificado, independientemente de la mecánica de los discos que lo componen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes lógicos (LV - Logical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son las unidades finales donde se crean los sistemas de archivos. Funcionan de forma similar a las particiones tradicionales, pero con mayor flexibilidad.&lt;br /&gt;
&lt;br /&gt;
== Beneficios de usar LVM ==&lt;br /&gt;
&lt;br /&gt;
* Permite unificar varios discos físicos en un único espacio lógico, sin importar su tipo o tamaño.&lt;br /&gt;
* Facilita la ampliación o reducción de volúmenes sin necesidad de reinstalar el sistema.&lt;br /&gt;
* Posibilita modificar el tamaño de los volúmenes y de los puntos de montaje en caliente, en muchos casos sin interrumpir el servicio.&lt;br /&gt;
* Permite el uso de cifrado (por ejemplo, mediante LUKS) para proteger los datos almacenados en volúmenes lógicos.&lt;br /&gt;
* Facilita la creación de instantáneas (snapshots) para copias de seguridad o pruebas.&lt;br /&gt;
* Mejora la escalabilidad y el mantenimiento de servidores y sistemas de almacenamiento.&lt;br /&gt;
&lt;br /&gt;
== Ejemplo práctico: añadir un disco para /var/www (comandos reales) ==&lt;br /&gt;
Para simplificar su uso, vamos a trabajar con un ejemplo práctico, tengo un servidor [[Fedora]] al que le hice una instalación por defecto en un disco SSD de, por ejemplo, 120GB, éste se hizo en un &#039;&#039;&#039;LVM&#039;&#039;&#039; por defecto, con un &#039;&#039;&#039;Grupo de volúmenes&#039;&#039;&#039; llamado &amp;quot;&#039;&#039;&#039;fedora&#039;&#039;&#039;&amp;quot;, encriptado con &#039;&#039;&#039;LUKS&#039;&#039;&#039; y en formato &#039;&#039;&#039;XFS&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a añadir un disco duro nuevo SSD de 500GB para el directorio &amp;quot;/var/www&amp;quot;, es decir, el servicio web, también lo encriptaremos y sólo aprovecharemos 100GB, si es necesario, en un futuro, podemos ampliarlo o dedicar el espacio libre para otro punto de montaje. &lt;br /&gt;
&lt;br /&gt;
=== 1. Preparar el nuevo disco ===&lt;br /&gt;
Crear la tabla de particiones y una partición que ocupe todo el disco, a partir de ahora todo como usuario &#039;&#039;&#039;root&#039;&#039;&#039;:&lt;br /&gt;
 parted /dev/sdb -- mklabel gpt  #etiquetarà el disco y, en caso de tener datos, los borrará todos. A parte, pedirà confirmación por parte del usuario, y escribiremos &amp;quot;Yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 parted /dev/sdb -- mkpart primary 0% 100%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comprobar que el sistema ve el disco y la partición:&lt;br /&gt;
 lsblk -f&lt;br /&gt;
&lt;br /&gt;
=== 2. Crear el volumen físico (PV) ===&lt;br /&gt;
Inicializar la partición como volumen físico de LVM:&lt;br /&gt;
 pvcreate /dev/sdb1&lt;br /&gt;
Comprobar el volumen físico:&lt;br /&gt;
 pvs  #muestra datos básicos del volumen&lt;br /&gt;
 PV         VG Fmt  Attr PSize    PFree&lt;br /&gt;
 /dev/sdb1     lvm2 ---  &amp;lt;111,75g &amp;lt;111,75g&lt;br /&gt;
&lt;br /&gt;
 pvdisplay /dev/sdb1  #Muestra datos más extendidos.&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;&amp;lt;111,75 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name&lt;br /&gt;
  PV Size               &amp;lt;111,75 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0&lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               l8bdAp-3biH-c7L0-O4bQ-QITU-FOnC-1RNwTe&lt;br /&gt;
&lt;br /&gt;
=== 3. Añadir el disco al grupo de volúmenes ===&lt;br /&gt;
Añadir el nuevo PV al grupo de volúmenes existente (fedora):&lt;br /&gt;
 vgs #exploramos los grupos de volúmenes existentes, en nuestro caso, recordamos que el grupo por defecto en la instalación es &amp;quot;fedora&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ahora añadimos al Grupo de Volúmenes la nueva partición:&lt;br /&gt;
 vgextend fedora /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para verificar el estado del grupo de volúmenes:&lt;br /&gt;
 vgs&lt;br /&gt;
 vgdisplay fedora&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4. Crear el volumen lógico ===&lt;br /&gt;
&lt;br /&gt;
Crear un volumen lógico de 100 GB para &#039;&#039;&#039;/var/www&#039;&#039;&#039; con el nombre &amp;quot;lv_var_www&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L 100G -n lv_var_www fedora&lt;br /&gt;
&lt;br /&gt;
Comprobar el volumen lógico:&lt;br /&gt;
&lt;br /&gt;
 lvs&lt;br /&gt;
 lvdisplay /dev/fedora/lv_var_www&lt;br /&gt;
&lt;br /&gt;
Es decir, recordemos que hemos creado el grupo de volúmenes &amp;quot;fedora&amp;quot; donde forma parte la partición &amp;quot;/dev/sdb1&amp;quot; y hemos creado, sobre este grupo, un volúmen lógico de 100G, es decir, a partir de ahora, puedo añadir más discos o más particiones a este grupo de volúmnes, pero por ahora sigamos con el ejemplo.&lt;br /&gt;
&lt;br /&gt;
=== 5. Cifrar el volumen lógico ===&lt;br /&gt;
Ahora sigamos con el cifrado del volumen lógico para aumentar su protección.&lt;br /&gt;
Para cifrar el volumen lógico con LUKS:&lt;br /&gt;
 cryptsetup luksFormat /dev/fedora/lv_var_www #para formatear la partición lógica, nos pedirá confirmación y lo haremos escribiendo &amp;quot;YES&amp;quot; (en mayúsculas) y le asignaremos una contraseña ( recomiendo poner la misma que la utilizada en la instalación del sistema operativo).&lt;br /&gt;
 cryptsetup open /dev/fedora/lv_var_www crypt_var_www # pedirá de nuevo la contraseña y esto abrirá el volumen para poder trabajar con el.&lt;br /&gt;
&lt;br /&gt;
Verificar que el volumen cifrado está activo:&lt;br /&gt;
 cryptsetup status crypt_var_www&lt;br /&gt;
NOTA - el volúmen está disponible en /dev/mapper/fedora-lv_var_www, estad muy atentos a &amp;quot;/dev/mapper&amp;quot;, donde estarán disponibles los volúmenes, el resto es el grupo de volúmenes &amp;quot;fedora&amp;quot; y el nombre del volúmen lógico &amp;quot;lv_var_www&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 6. Crear el sistema de archivos ===&lt;br /&gt;
Ahora que ya está creado y abierto, le damos formato a [[XFS]]:&lt;br /&gt;
 mkfs.xfs /dev/mapper/crypt_var_www&lt;br /&gt;
Este procedimiento es rápido dependiendo del tamaño.&lt;br /&gt;
Ahora,que ya está formateado, podemos montarlo, primero, por si no existe el directorio, lo creamos y lo montamos:&lt;br /&gt;
 mkdir -p /var/www&lt;br /&gt;
 mount /dev/mapper/crypt_var_www /var/www&lt;br /&gt;
&lt;br /&gt;
== 7. Persistencia del punto de montaje ==&lt;br /&gt;
Ahora entramos en la parte de montaje persistente, que en Linux con LVM y cifrado implica dos ficheros clave:&lt;br /&gt;
 &#039;&#039;&#039;/etc/crypttab&#039;&#039;&#039; → para abrir volúmenes cifrados al inicio&lt;br /&gt;
 &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; → para montar los sistemas de archivos automáticamente&lt;br /&gt;
&lt;br /&gt;
Te explico paso a paso para este caso (/var/www en un LV cifrado llamado crypt_var_www):&lt;br /&gt;
&lt;br /&gt;
==== 1. Configurar /etc/crypttab ====&lt;br /&gt;
&#039;&#039;&#039;crypttab&#039;&#039;&#039; indica al sistema como desbloquear volúmenes cifrados al inicio.&lt;br /&gt;
&lt;br /&gt;
Añade una línea así en &#039;&#039;&#039;/etc/crypttab&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 crypt_var_www /dev/fedora/lv_var_www none luks&lt;br /&gt;
&lt;br /&gt;
Explicación de cada campo:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;crypt_var_www&#039;&#039;&#039; → nombre del dispositivo mapeado que aparecerá en /dev/mapper/crypt_var_www&lt;br /&gt;
* &#039;&#039;&#039;/dev/fedora/lv_var_www&#039;&#039;&#039; → volumen lógico cifrado&lt;br /&gt;
* &#039;&#039;&#039;none&#039;&#039;&#039; → indica que pedirá contraseña al inicio (o puedes usar un archivo de clave)&lt;br /&gt;
* &#039;&#039;&#039;luks&#039;&#039;&#039; → tipo de cifrado (LUKS)&lt;br /&gt;
&lt;br /&gt;
Después de esto, al arrancar el sistema, te pedirá la contraseña para abrir el volumen, si la contraseña es la misma que el resto de sistema, no será necesaria volverla a poner. &lt;br /&gt;
&lt;br /&gt;
==== 2. Configurar /etc/fstab ====&lt;br /&gt;
&#039;&#039;&#039;fstab&#039;&#039;&#039; monta automáticamente el sistema de archivos en el punto deseado. Para &#039;&#039;&#039;/var/www&#039;&#039;&#039; editamos &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 /dev/mapper/crypt_var_www  /var/www  xfs  defaults  0  2&lt;br /&gt;
&lt;br /&gt;
Explicación de cada campo:&lt;br /&gt;
* &#039;&#039;&#039;/dev/mapper/crypt_var_www&#039;&#039;&#039; → dispositivo ya desbloqueado por crypttab&lt;br /&gt;
* &#039;&#039;&#039;/var/www&#039;&#039;&#039; → punto de montaje&lt;br /&gt;
* &#039;&#039;&#039;xfs&#039;&#039;&#039; → tipo de sistema de archivos&lt;br /&gt;
* &#039;&#039;&#039;defaults&#039;&#039;&#039; → opciones de montaje por defecto&lt;br /&gt;
* &#039;&#039;&#039;0&#039;&#039;&#039; → si se debe volcar con dump (normalmente 0)&lt;br /&gt;
* &#039;&#039;&#039;2&#039;&#039;&#039; → orden de chequeo por fsck (1 = root, 2 = otros)&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=572</id>
		<title>Volumen Lógico</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=572"/>
		<updated>2025-12-16T08:54:57Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
Esta entrada no será una entrada detallada, intentaré resumir y explicar lo más sencillo posible qué son &#039;&#039;&#039;grupos de volúmenes, volúmenes físicos y volúmenes lógicos&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Gestión de almacenamiento con LVM en Linux =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM (Logical Volume Manager)&#039;&#039;&#039; es un sistema de gestión de almacenamiento que permite administrar discos y particiones de forma flexible y dinámica en sistemas Linux. En lugar de trabajar directamente con particiones tradicionales, LVM introduce una capa de abstracción que facilita la ampliación y reorganización del espacio en disco.&lt;br /&gt;
&lt;br /&gt;
== Componentes principales ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes físicos (PV - Physical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son los dispositivos de almacenamiento reales, como discos duros o particiones (por ejemplo, /dev/sda1). Estos discos pueden ser de distinta tecnología (HDD, SSD, NVMe) y tamaño.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Grupos de volúmenes (VG - Volume Groups)&#039;&#039;&#039;:&lt;br /&gt;
  Agrupan uno o varios volúmenes físicos y forman un &amp;quot;pool&amp;quot; de almacenamiento unificado, independientemente de la mecánica de los discos que lo componen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes lógicos (LV - Logical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son las unidades finales donde se crean los sistemas de archivos. Funcionan de forma similar a las particiones tradicionales, pero con mayor flexibilidad.&lt;br /&gt;
&lt;br /&gt;
== Beneficios de usar LVM ==&lt;br /&gt;
&lt;br /&gt;
* Permite unificar varios discos físicos en un único espacio lógico, sin importar su tipo o tamaño.&lt;br /&gt;
* Facilita la ampliación o reducción de volúmenes sin necesidad de reinstalar el sistema.&lt;br /&gt;
* Posibilita modificar el tamaño de los volúmenes y de los puntos de montaje en caliente, en muchos casos sin interrumpir el servicio.&lt;br /&gt;
* Permite el uso de cifrado (por ejemplo, mediante LUKS) para proteger los datos almacenados en volúmenes lógicos.&lt;br /&gt;
* Facilita la creación de instantáneas (snapshots) para copias de seguridad o pruebas.&lt;br /&gt;
* Mejora la escalabilidad y el mantenimiento de servidores y sistemas de almacenamiento.&lt;br /&gt;
&lt;br /&gt;
== Ejemplo práctico: añadir un disco para /var/www (comandos reales) ==&lt;br /&gt;
Para simplificar su uso, vamos a trabajar con un ejemplo práctico, tengo un servidor [[Fedora]] al que le hice una instalación por defecto en un disco SSD de, por ejemplo, 120GB, éste se hizo en un &#039;&#039;&#039;LVM&#039;&#039;&#039; por defecto, con un &#039;&#039;&#039;Grupo de volúmenes&#039;&#039;&#039; llamado &amp;quot;&#039;&#039;&#039;fedora&#039;&#039;&#039;&amp;quot;, encriptado con &#039;&#039;&#039;LUKS&#039;&#039;&#039; y en formato &#039;&#039;&#039;XFS&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a añadir un disco duro nuevo SSD de 500GB para el directorio &amp;quot;/var/www&amp;quot;, es decir, el servicio web, también lo encriptaremos y sólo aprovecharemos 100GB, si es necesario, en un futuro, podemos ampliarlo o dedicar el espacio libre para otro punto de montaje. &lt;br /&gt;
&lt;br /&gt;
=== 1. Preparar el nuevo disco ===&lt;br /&gt;
Crear la tabla de particiones y una partición que ocupe todo el disco, a partir de ahora todo como usuario &#039;&#039;&#039;root&#039;&#039;&#039;:&lt;br /&gt;
 parted /dev/sdb -- mklabel gpt  #etiquetarà el disco y, en caso de tener datos, los borrará todos. A parte, pedirà confirmación por parte del usuario, y escribiremos &amp;quot;Yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 parted /dev/sdb -- mkpart primary 0% 100%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comprobar que el sistema ve el disco y la partición:&lt;br /&gt;
 lsblk -f&lt;br /&gt;
&lt;br /&gt;
=== 2. Crear el volumen físico (PV) ===&lt;br /&gt;
Inicializar la partición como volumen físico de LVM:&lt;br /&gt;
 pvcreate /dev/sdb1&lt;br /&gt;
Comprobar el volumen físico:&lt;br /&gt;
 pvs  #muestra datos básicos del volumen&lt;br /&gt;
 PV         VG Fmt  Attr PSize    PFree&lt;br /&gt;
 /dev/sdb1     lvm2 ---  &amp;lt;111,75g &amp;lt;111,75g&lt;br /&gt;
&lt;br /&gt;
 pvdisplay /dev/sdb1  #Muestra datos más extendidos.&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;&amp;lt;111,75 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name&lt;br /&gt;
  PV Size               &amp;lt;111,75 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0&lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               l8bdAp-3biH-c7L0-O4bQ-QITU-FOnC-1RNwTe&lt;br /&gt;
&lt;br /&gt;
=== 3. Añadir el disco al grupo de volúmenes ===&lt;br /&gt;
Añadir el nuevo PV al grupo de volúmenes existente (fedora):&lt;br /&gt;
 vgs #exploramos los grupos de volúmenes existentes, en nuestro caso, recordamos que el grupo por defecto en la instalación es &amp;quot;fedora&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ahora añadimos al Grupo de Volúmenes la nueva partición:&lt;br /&gt;
 vgextend fedora /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para verificar el estado del grupo de volúmenes:&lt;br /&gt;
 vgs&lt;br /&gt;
 vgdisplay fedora&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4. Crear el volumen lógico ===&lt;br /&gt;
&lt;br /&gt;
Crear un volumen lógico de 100 GB para &#039;&#039;&#039;/var/www&#039;&#039;&#039; con el nombre &amp;quot;lv_var_www&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L 100G -n lv_var_www fedora&lt;br /&gt;
&lt;br /&gt;
Comprobar el volumen lógico:&lt;br /&gt;
&lt;br /&gt;
 lvs&lt;br /&gt;
 lvdisplay /dev/fedora/lv_var_www&lt;br /&gt;
&lt;br /&gt;
Es decir, recordemos que hemos creado el grupo de volúmenes &amp;quot;fedora&amp;quot; donde forma parte la partición &amp;quot;/dev/sdb1&amp;quot; y hemos creado, sobre este grupo, un volúmen lógico de 100G, es decir, a partir de ahora, puedo añadir más discos o más particiones a este grupo de volúmnes, pero por ahora sigamos con el ejemplo.&lt;br /&gt;
&lt;br /&gt;
=== 5. Cifrar el volumen lógico ===&lt;br /&gt;
Ahora sigamos con el cifrado del volumen lógico para aumentar su protección.&lt;br /&gt;
Para cifrar el volumen lógico con LUKS:&lt;br /&gt;
 cryptsetup luksFormat /dev/fedora/lv_var_www #para formatear la partición lógica, nos pedirá confirmación y lo haremos escribiendo &amp;quot;YES&amp;quot; (en mayúsculas) y le asignaremos una contraseña ( recomiendo poner la misma que la utilizada en la instalación del sistema operativo).&lt;br /&gt;
 cryptsetup open /dev/fedora/lv_var_www crypt_var_www # pedirá de nuevo la contraseña y esto abrirá el volumen para poder trabajar con el.&lt;br /&gt;
&lt;br /&gt;
Verificar que el volumen cifrado está activo:&lt;br /&gt;
 cryptsetup status crypt_var_www&lt;br /&gt;
NOTA - el volúmen está disponible en /dev/mapper/fedora-lv_var_www, estad muy atentos a &amp;quot;/dev/mapper&amp;quot;, donde estarán disponibles los volúmenes, el resto es el grupo de volúmenes &amp;quot;fedora&amp;quot; y el nombre del volúmen lógico &amp;quot;lv_var_www&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 6. Crear el sistema de archivos ===&lt;br /&gt;
Ahora que ya está creado y abierto, le damos formato a [[XFS]]:&lt;br /&gt;
 mkfs.xfs /dev/mapper/crypt_var_www&lt;br /&gt;
Este procedimiento es rápido dependiendo del tamaño.&lt;br /&gt;
Ahora,que ya está formateado, podemos montarlo, primero, por si no existe el directorio, lo creamos y lo montamos:&lt;br /&gt;
 mkdir -p /var/www&lt;br /&gt;
 mount /dev/mapper/crypt_var_www /var/www&lt;br /&gt;
&lt;br /&gt;
== 7. Persistencia del punto de montaje ==&lt;br /&gt;
Ahora entramos en la parte de montaje persistente, que en Linux con LVM y cifrado implica dos ficheros clave:&lt;br /&gt;
 &#039;&#039;&#039;/etc/crypttab&#039;&#039;&#039; → para abrir volúmenes cifrados al inicio&lt;br /&gt;
 &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039; → para montar los sistemas de archivos automáticamente&lt;br /&gt;
&lt;br /&gt;
Te explico paso a paso para este caso (/var/www en un LV cifrado llamado crypt_var_www):&lt;br /&gt;
&lt;br /&gt;
=== 1. Configurar /etc/crypttab ====&lt;br /&gt;
&#039;&#039;&#039;crypttab&#039;&#039;&#039; indica al sistema cómo desbloquear volúmenes cifrados al inicio.&lt;br /&gt;
&lt;br /&gt;
Añade una línea así en &#039;&#039;&#039;/etc/crypttab&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 crypt_var_www /dev/fedora/lv_var_www none luks&lt;br /&gt;
&lt;br /&gt;
Explicación de cada campo:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;crypt_var_www&#039;&#039;&#039; → nombre del dispositivo mapeado que aparecerá en /dev/mapper/crypt_var_www&lt;br /&gt;
* &#039;&#039;&#039;/dev/fedora/lv_var_www&#039;&#039;&#039; → volumen lógico cifrado&lt;br /&gt;
* &#039;&#039;&#039;none&#039;&#039;&#039; → indica que pedirá contraseña al inicio (o puedes usar un archivo de clave)&lt;br /&gt;
* &#039;&#039;&#039;luks&#039;&#039;&#039; → tipo de cifrado (LUKS)&lt;br /&gt;
&lt;br /&gt;
Después de esto, al arrancar el sistema, te pedirá la contraseña para abrir el volumen, si la contraseña es la misma que el resto de sistema, no será necesaria volverla a poner. &lt;br /&gt;
&lt;br /&gt;
==== 2. Configurar /etc/fstab ====&lt;br /&gt;
&#039;&#039;&#039;fstab&#039;&#039;&#039; monta automáticamente el sistema de archivos en el punto deseado. Para &#039;&#039;&#039;/var/www&#039;&#039;&#039; editamos &#039;&#039;&#039;/etc/fstab&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 /dev/mapper/crypt_var_www  /var/www  xfs  defaults  0  2&lt;br /&gt;
&lt;br /&gt;
Explicación de cada campo:&lt;br /&gt;
* &#039;&#039;&#039;/dev/mapper/crypt_var_www&#039;&#039;&#039; → dispositivo ya desbloqueado por crypttab&lt;br /&gt;
* &#039;&#039;&#039;/var/www&#039;&#039;&#039; → punto de montaje&lt;br /&gt;
* &#039;&#039;&#039;xfs&#039;&#039;&#039; → tipo de sistema de archivos&lt;br /&gt;
* &#039;&#039;&#039;defaults&#039;&#039;&#039; → opciones de montaje por defecto&lt;br /&gt;
* &#039;&#039;&#039;0&#039;&#039;&#039; → si se debe volcar con dump (normalmente 0)&lt;br /&gt;
* &#039;&#039;&#039;2&#039;&#039;&#039; → orden de chequeo por fsck (1 = root, 2 = otros)&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=571</id>
		<title>Volumen Lógico</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=571"/>
		<updated>2025-12-16T08:42:34Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* 3. Añadir el disco al grupo de volúmenes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
Esta entrada no será una entrada detallada, intentaré resumir y explicar lo más sencillo posible qué son &#039;&#039;&#039;grupos de volúmenes, volúmenes físicos y volúmenes lógicos&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Gestión de almacenamiento con LVM en Linux =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM (Logical Volume Manager)&#039;&#039;&#039; es un sistema de gestión de almacenamiento que permite administrar discos y particiones de forma flexible y dinámica en sistemas Linux. En lugar de trabajar directamente con particiones tradicionales, LVM introduce una capa de abstracción que facilita la ampliación y reorganización del espacio en disco.&lt;br /&gt;
&lt;br /&gt;
== Componentes principales ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes físicos (PV - Physical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son los dispositivos de almacenamiento reales, como discos duros o particiones (por ejemplo, /dev/sda1). Estos discos pueden ser de distinta tecnología (HDD, SSD, NVMe) y tamaño.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Grupos de volúmenes (VG - Volume Groups)&#039;&#039;&#039;:&lt;br /&gt;
  Agrupan uno o varios volúmenes físicos y forman un &amp;quot;pool&amp;quot; de almacenamiento unificado, independientemente de la mecánica de los discos que lo componen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes lógicos (LV - Logical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son las unidades finales donde se crean los sistemas de archivos. Funcionan de forma similar a las particiones tradicionales, pero con mayor flexibilidad.&lt;br /&gt;
&lt;br /&gt;
== Beneficios de usar LVM ==&lt;br /&gt;
&lt;br /&gt;
* Permite unificar varios discos físicos en un único espacio lógico, sin importar su tipo o tamaño.&lt;br /&gt;
* Facilita la ampliación o reducción de volúmenes sin necesidad de reinstalar el sistema.&lt;br /&gt;
* Posibilita modificar el tamaño de los volúmenes y de los puntos de montaje en caliente, en muchos casos sin interrumpir el servicio.&lt;br /&gt;
* Permite el uso de cifrado (por ejemplo, mediante LUKS) para proteger los datos almacenados en volúmenes lógicos.&lt;br /&gt;
* Facilita la creación de instantáneas (snapshots) para copias de seguridad o pruebas.&lt;br /&gt;
* Mejora la escalabilidad y el mantenimiento de servidores y sistemas de almacenamiento.&lt;br /&gt;
&lt;br /&gt;
== Ejemplo práctico: añadir un disco para /var/www (comandos reales) ==&lt;br /&gt;
Para simplificar su uso, vamos a trabajar con un ejemplo práctico, tengo un servidor [[Fedora]] al que le hice una instalación por defecto en un disco SSD de, por ejemplo, 120GB, éste se hizo en un &#039;&#039;&#039;LVM&#039;&#039;&#039; por defecto, con un &#039;&#039;&#039;Grupo de volúmenes&#039;&#039;&#039; llamado &amp;quot;&#039;&#039;&#039;fedora&#039;&#039;&#039;&amp;quot;, encriptado con &#039;&#039;&#039;LUKS&#039;&#039;&#039; y en formato &#039;&#039;&#039;XFS&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a añadir un disco duro nuevo SSD de 500GB para el directorio &amp;quot;/var/www&amp;quot;, es decir, el servicio web, también lo encriptaremos y sólo aprovecharemos 100GB, si es necesario, en un futuro, podemos ampliarlo o dedicar el espacio libre para otro punto de montaje. &lt;br /&gt;
&lt;br /&gt;
=== 1. Preparar el nuevo disco ===&lt;br /&gt;
Crear la tabla de particiones y una partición que ocupe todo el disco, a partir de ahora todo como usuario &#039;&#039;&#039;root&#039;&#039;&#039;:&lt;br /&gt;
 parted /dev/sdb -- mklabel gpt  #etiquetarà el disco y, en caso de tener datos, los borrará todos. A parte, pedirà confirmación por parte del usuario, y escribiremos &amp;quot;Yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 parted /dev/sdb -- mkpart primary 0% 100%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comprobar que el sistema ve el disco y la partición:&lt;br /&gt;
 lsblk -f&lt;br /&gt;
&lt;br /&gt;
=== 2. Crear el volumen físico (PV) ===&lt;br /&gt;
Inicializar la partición como volumen físico de LVM:&lt;br /&gt;
 pvcreate /dev/sdb1&lt;br /&gt;
Comprobar el volumen físico:&lt;br /&gt;
 pvs  #muestra datos básicos del volumen&lt;br /&gt;
 PV         VG Fmt  Attr PSize    PFree&lt;br /&gt;
 /dev/sdb1     lvm2 ---  &amp;lt;111,75g &amp;lt;111,75g&lt;br /&gt;
&lt;br /&gt;
 pvdisplay /dev/sdb1  #Muestra datos más extendidos.&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;&amp;lt;111,75 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name&lt;br /&gt;
  PV Size               &amp;lt;111,75 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0&lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               l8bdAp-3biH-c7L0-O4bQ-QITU-FOnC-1RNwTe&lt;br /&gt;
&lt;br /&gt;
=== 3. Añadir el disco al grupo de volúmenes ===&lt;br /&gt;
Añadir el nuevo PV al grupo de volúmenes existente (fedora):&lt;br /&gt;
 vgs #exploramos los grupos de volúmenes existentes, en nuestro caso, recordamos que el grupo por defecto en la instalación es &amp;quot;fedora&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ahora añadimos al Grupo de Volúmenes la nueva partición:&lt;br /&gt;
 vgextend fedora /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para verificar el estado del grupo de volúmenes:&lt;br /&gt;
 vgs&lt;br /&gt;
 vgdisplay fedora&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4. Crear el volumen lógico ===&lt;br /&gt;
&lt;br /&gt;
Crear un volumen lógico de 100 GB para &#039;&#039;&#039;/var/www&#039;&#039;&#039; con el nombre &amp;quot;lv_var_www&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L 100G -n lv_var_www fedora&lt;br /&gt;
&lt;br /&gt;
Comprobar el volumen lógico:&lt;br /&gt;
&lt;br /&gt;
 lvs&lt;br /&gt;
 lvdisplay /dev/fedora/lv_var_www&lt;br /&gt;
&lt;br /&gt;
Es decir, recordemos que hemos creado el grupo de volúmenes &amp;quot;fedora&amp;quot; donde forma parte la partición &amp;quot;/dev/sdb1&amp;quot; y hemos creado, sobre este grupo, un volúmen lógico de 100G, es decir, a partir de ahora, puedo añadir más discos o más particiones a este grupo de volúmnes, pero por ahora sigamos con el ejemplo.&lt;br /&gt;
&lt;br /&gt;
=== 5. Cifrar el volumen lógico ===&lt;br /&gt;
Ahora sigamos con el cifrado del volumen lógico para aumentar su protección.&lt;br /&gt;
Para cifrar el volumen lógico con LUKS:&lt;br /&gt;
 cryptsetup luksFormat /dev/fedora/lv_var_www #para formatear la partición lógica, nos pedirá confirmación y lo haremos escribiendo &amp;quot;YES&amp;quot; (en mayúsculas) y le asignaremos una contraseña ( recomiendo poner la misma que la utilizada en la instalación del sistema operativo).&lt;br /&gt;
 cryptsetup open /dev/fedora/lv_var_www crypt_var_www # pedirá de nuevo la contraseña y esto abrirá el volumen para poder trabajar con el.&lt;br /&gt;
&lt;br /&gt;
Verificar que el volumen cifrado está activo:&lt;br /&gt;
 cryptsetup status crypt_var_www&lt;br /&gt;
NOTA - el volúmen está disponible en /dev/mapper/fedora-lv_var_www, estad muy atentos a &amp;quot;/dev/mapper&amp;quot;, donde estarán disponibles los volúmenes, el resto es el grupo de volúmenes &amp;quot;fedora&amp;quot; y el nombre del volúmen lógico &amp;quot;lv_var_www&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=570</id>
		<title>Volumen Lógico</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=570"/>
		<updated>2025-12-16T08:21:32Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
Esta entrada no será una entrada detallada, intentaré resumir y explicar lo más sencillo posible qué son &#039;&#039;&#039;grupos de volúmenes, volúmenes físicos y volúmenes lógicos&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Gestión de almacenamiento con LVM en Linux =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM (Logical Volume Manager)&#039;&#039;&#039; es un sistema de gestión de almacenamiento que permite administrar discos y particiones de forma flexible y dinámica en sistemas Linux. En lugar de trabajar directamente con particiones tradicionales, LVM introduce una capa de abstracción que facilita la ampliación y reorganización del espacio en disco.&lt;br /&gt;
&lt;br /&gt;
== Componentes principales ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes físicos (PV - Physical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son los dispositivos de almacenamiento reales, como discos duros o particiones (por ejemplo, /dev/sda1). Estos discos pueden ser de distinta tecnología (HDD, SSD, NVMe) y tamaño.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Grupos de volúmenes (VG - Volume Groups)&#039;&#039;&#039;:&lt;br /&gt;
  Agrupan uno o varios volúmenes físicos y forman un &amp;quot;pool&amp;quot; de almacenamiento unificado, independientemente de la mecánica de los discos que lo componen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes lógicos (LV - Logical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son las unidades finales donde se crean los sistemas de archivos. Funcionan de forma similar a las particiones tradicionales, pero con mayor flexibilidad.&lt;br /&gt;
&lt;br /&gt;
== Beneficios de usar LVM ==&lt;br /&gt;
&lt;br /&gt;
* Permite unificar varios discos físicos en un único espacio lógico, sin importar su tipo o tamaño.&lt;br /&gt;
* Facilita la ampliación o reducción de volúmenes sin necesidad de reinstalar el sistema.&lt;br /&gt;
* Posibilita modificar el tamaño de los volúmenes y de los puntos de montaje en caliente, en muchos casos sin interrumpir el servicio.&lt;br /&gt;
* Permite el uso de cifrado (por ejemplo, mediante LUKS) para proteger los datos almacenados en volúmenes lógicos.&lt;br /&gt;
* Facilita la creación de instantáneas (snapshots) para copias de seguridad o pruebas.&lt;br /&gt;
* Mejora la escalabilidad y el mantenimiento de servidores y sistemas de almacenamiento.&lt;br /&gt;
&lt;br /&gt;
== Ejemplo práctico: añadir un disco para /var/www (comandos reales) ==&lt;br /&gt;
Para simplificar su uso, vamos a trabajar con un ejemplo práctico, tengo un servidor [[Fedora]] al que le hice una instalación por defecto en un disco SSD de, por ejemplo, 120GB, éste se hizo en un &#039;&#039;&#039;LVM&#039;&#039;&#039; por defecto, con un &#039;&#039;&#039;Grupo de volúmenes&#039;&#039;&#039; llamado &amp;quot;&#039;&#039;&#039;fedora&#039;&#039;&#039;&amp;quot;, encriptado con &#039;&#039;&#039;LUKS&#039;&#039;&#039; y en formato &#039;&#039;&#039;XFS&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a añadir un disco duro nuevo SSD de 500GB para el directorio &amp;quot;/var/www&amp;quot;, es decir, el servicio web, también lo encriptaremos y sólo aprovecharemos 100GB, si es necesario, en un futuro, podemos ampliarlo o dedicar el espacio libre para otro punto de montaje. &lt;br /&gt;
&lt;br /&gt;
=== 1. Preparar el nuevo disco ===&lt;br /&gt;
Crear la tabla de particiones y una partición que ocupe todo el disco, a partir de ahora todo como usuario &#039;&#039;&#039;root&#039;&#039;&#039;:&lt;br /&gt;
 parted /dev/sdb -- mklabel gpt  #etiquetarà el disco y, en caso de tener datos, los borrará todos. A parte, pedirà confirmación por parte del usuario, y escribiremos &amp;quot;Yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 parted /dev/sdb -- mkpart primary 0% 100%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comprobar que el sistema ve el disco y la partición:&lt;br /&gt;
 lsblk -f&lt;br /&gt;
&lt;br /&gt;
=== 2. Crear el volumen físico (PV) ===&lt;br /&gt;
Inicializar la partición como volumen físico de LVM:&lt;br /&gt;
 pvcreate /dev/sdb1&lt;br /&gt;
Comprobar el volumen físico:&lt;br /&gt;
 pvs  #muestra datos básicos del volumen&lt;br /&gt;
 PV         VG Fmt  Attr PSize    PFree&lt;br /&gt;
 /dev/sdb1     lvm2 ---  &amp;lt;111,75g &amp;lt;111,75g&lt;br /&gt;
&lt;br /&gt;
 pvdisplay /dev/sdb1  #Muestra datos más extendidos.&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;&amp;lt;111,75 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name&lt;br /&gt;
  PV Size               &amp;lt;111,75 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0&lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               l8bdAp-3biH-c7L0-O4bQ-QITU-FOnC-1RNwTe&lt;br /&gt;
&lt;br /&gt;
=== 3. Añadir el disco al grupo de volúmenes ===&lt;br /&gt;
Añadir el nuevo PV al grupo de volúmenes existente (fedora):&lt;br /&gt;
 vgs #exploramos los grupos de volúmenes existentes, en nuestro caso, recordamos que el grupo por defecto en la instalación es &amp;quot;fedora&amp;quot;&lt;br /&gt;
 VG     #PV #LV #SN Attr   VSize    VFree&lt;br /&gt;
 fedora   1   0   0 wz--n- &amp;lt;111,75g &amp;lt;111,75g&lt;br /&gt;
&lt;br /&gt;
vgextend fedora /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Verificar el estado del grupo de volúmenes:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vgs&lt;br /&gt;
&lt;br /&gt;
vgdisplay fedora&lt;br /&gt;
&lt;br /&gt;
vgcreate fedora /dev/sdb&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=569</id>
		<title>Volumen Lógico</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=569"/>
		<updated>2025-12-16T08:20:57Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
Esta entrada no será una entrada detallada, intentaré resumir y explicar lo más sencillo posible qué son &#039;&#039;&#039;grupos de volúmenes, volúmenes físicos y volúmenes lógicos&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Gestión de almacenamiento con LVM en Linux =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM (Logical Volume Manager)&#039;&#039;&#039; es un sistema de gestión de almacenamiento que permite administrar discos y particiones de forma flexible y dinámica en sistemas Linux. En lugar de trabajar directamente con particiones tradicionales, LVM introduce una capa de abstracción que facilita la ampliación y reorganización del espacio en disco.&lt;br /&gt;
&lt;br /&gt;
== Componentes principales ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes físicos (PV - Physical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son los dispositivos de almacenamiento reales, como discos duros o particiones (por ejemplo, /dev/sda1). Estos discos pueden ser de distinta tecnología (HDD, SSD, NVMe) y tamaño.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Grupos de volúmenes (VG - Volume Groups)&#039;&#039;&#039;:&lt;br /&gt;
  Agrupan uno o varios volúmenes físicos y forman un &amp;quot;pool&amp;quot; de almacenamiento unificado, independientemente de la mecánica de los discos que lo componen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes lógicos (LV - Logical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son las unidades finales donde se crean los sistemas de archivos. Funcionan de forma similar a las particiones tradicionales, pero con mayor flexibilidad.&lt;br /&gt;
&lt;br /&gt;
== Beneficios de usar LVM ==&lt;br /&gt;
&lt;br /&gt;
* Permite unificar varios discos físicos en un único espacio lógico, sin importar su tipo o tamaño.&lt;br /&gt;
* Facilita la ampliación o reducción de volúmenes sin necesidad de reinstalar el sistema.&lt;br /&gt;
* Posibilita modificar el tamaño de los volúmenes y de los puntos de montaje en caliente, en muchos casos sin interrumpir el servicio.&lt;br /&gt;
* Permite el uso de cifrado (por ejemplo, mediante LUKS) para proteger los datos almacenados en volúmenes lógicos.&lt;br /&gt;
* Facilita la creación de instantáneas (snapshots) para copias de seguridad o pruebas.&lt;br /&gt;
* Mejora la escalabilidad y el mantenimiento de servidores y sistemas de almacenamiento.&lt;br /&gt;
&lt;br /&gt;
== Ejemplo práctico: añadir un disco para /var/www (comandos reales) ==&lt;br /&gt;
Para simplificar su uso, vamos a trabajar con un ejemplo práctico, tengo un servidor [[Fedora]] al que le hice una instalación por defecto en un disco SSD de, por ejemplo, 120GB, éste se hizo en un &#039;&#039;&#039;LVM&#039;&#039;&#039; por defecto, con un &#039;&#039;&#039;Grupo de volúmenes&#039;&#039;&#039; llamado &amp;quot;&#039;&#039;&#039;fedora&#039;&#039;&#039;&amp;quot;, encriptado con &#039;&#039;&#039;LUKS&#039;&#039;&#039; y en formato &#039;&#039;&#039;XFS&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a añadir un disco duro nuevo SSD de 500GB para el directorio &amp;quot;/var/www&amp;quot;, es decir, el servicio web, también lo encriptaremos y sólo aprovecharemos 100GB, si es necesario, en un futuro, podemos ampliarlo o dedicar el espacio libre para otro punto de montaje. &lt;br /&gt;
&lt;br /&gt;
=== 1. Preparar el nuevo disco ===&lt;br /&gt;
Crear la tabla de particiones y una partición que ocupe todo el disco, a partir de ahora todo como usuario &#039;&#039;&#039;root&#039;&#039;&#039;:&lt;br /&gt;
 parted /dev/sdb -- mklabel gpt  #etiquetarà el disco y, en caso de tener datos, los borrará todos. A parte, pedirà confirmación por parte del usuario, y escribiremos &amp;quot;Yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 parted /dev/sdb -- mkpart primary 0% 100%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comprobar que el sistema ve el disco y la partición:&lt;br /&gt;
 lsblk -f&lt;br /&gt;
&lt;br /&gt;
=== 2. Crear el volumen físico (PV) ===&lt;br /&gt;
Inicializar la partición como volumen físico de LVM:&lt;br /&gt;
 pvcreate /dev/sdb1&lt;br /&gt;
Comprobar el volumen físico:&lt;br /&gt;
 pvs  #muestra datos básicos del volumen&lt;br /&gt;
 PV         VG Fmt  Attr PSize    PFree&lt;br /&gt;
 /dev/sdb1     lvm2 ---  &amp;lt;111,75g &amp;lt;111,75g&lt;br /&gt;
&lt;br /&gt;
 pvdisplay /dev/sdb1  #Muestra datos más extendidos.&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;&amp;lt;111,75 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name&lt;br /&gt;
  PV Size               &amp;lt;111,75 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0&lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               l8bdAp-3biH-c7L0-O4bQ-QITU-FOnC-1RNwTe&lt;br /&gt;
&lt;br /&gt;
=== 3. Añadir el disco al grupo de volúmenes ===&lt;br /&gt;
Añadir el nuevo PV al grupo de volúmenes existente (fedora):&lt;br /&gt;
 vgs #exploramos los grupos de volúmenes existentes, en nuestro caso, recordamos que el grupo por defecto en la instalación es &amp;quot;fedora&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vgextend fedora /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Verificar el estado del grupo de volúmenes:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vgs&lt;br /&gt;
&lt;br /&gt;
vgdisplay fedora&lt;br /&gt;
&lt;br /&gt;
vgcreate fedora /dev/sdb&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=568</id>
		<title>Volumen Lógico</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=568"/>
		<updated>2025-12-16T08:17:03Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
Esta entrada no será una entrada detallada, intentaré resumir y explicar lo más sencillo posible qué son &#039;&#039;&#039;grupos de volúmenes, volúmenes físicos y volúmenes lógicos&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Gestión de almacenamiento con LVM en Linux =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM (Logical Volume Manager)&#039;&#039;&#039; es un sistema de gestión de almacenamiento que permite administrar discos y particiones de forma flexible y dinámica en sistemas Linux. En lugar de trabajar directamente con particiones tradicionales, LVM introduce una capa de abstracción que facilita la ampliación y reorganización del espacio en disco.&lt;br /&gt;
&lt;br /&gt;
== Componentes principales ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes físicos (PV - Physical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son los dispositivos de almacenamiento reales, como discos duros o particiones (por ejemplo, /dev/sda1). Estos discos pueden ser de distinta tecnología (HDD, SSD, NVMe) y tamaño.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Grupos de volúmenes (VG - Volume Groups)&#039;&#039;&#039;:&lt;br /&gt;
  Agrupan uno o varios volúmenes físicos y forman un &amp;quot;pool&amp;quot; de almacenamiento unificado, independientemente de la mecánica de los discos que lo componen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes lógicos (LV - Logical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son las unidades finales donde se crean los sistemas de archivos. Funcionan de forma similar a las particiones tradicionales, pero con mayor flexibilidad.&lt;br /&gt;
&lt;br /&gt;
== Beneficios de usar LVM ==&lt;br /&gt;
&lt;br /&gt;
* Permite unificar varios discos físicos en un único espacio lógico, sin importar su tipo o tamaño.&lt;br /&gt;
* Facilita la ampliación o reducción de volúmenes sin necesidad de reinstalar el sistema.&lt;br /&gt;
* Posibilita modificar el tamaño de los volúmenes y de los puntos de montaje en caliente, en muchos casos sin interrumpir el servicio.&lt;br /&gt;
* Permite el uso de cifrado (por ejemplo, mediante LUKS) para proteger los datos almacenados en volúmenes lógicos.&lt;br /&gt;
* Facilita la creación de instantáneas (snapshots) para copias de seguridad o pruebas.&lt;br /&gt;
* Mejora la escalabilidad y el mantenimiento de servidores y sistemas de almacenamiento.&lt;br /&gt;
&lt;br /&gt;
== Ejemplo práctico: añadir un disco para /var/www (comandos reales) ==&lt;br /&gt;
Para simplificar su uso, vamos a trabajar con un ejemplo práctico, tengo un servidor [[Fedora]] al que le hice una instalación por defecto en un disco SSD de, por ejemplo, 120GB, éste se hizo en un &#039;&#039;&#039;LVM&#039;&#039;&#039; por defecto, con un &#039;&#039;&#039;Grupo de volúmenes&#039;&#039;&#039; llamado &amp;quot;&#039;&#039;&#039;fedora&#039;&#039;&#039;&amp;quot;, encriptado con &#039;&#039;&#039;LUKS&#039;&#039;&#039; y en formato &#039;&#039;&#039;XFS&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a añadir un disco duro nuevo SSD de 500GB para el directorio &amp;quot;/var/www&amp;quot;, es decir, el servicio web, también lo encriptaremos y sólo aprovecharemos 100GB, si es necesario, en un futuro, podemos ampliarlo o dedicar el espacio libre para otro punto de montaje. &lt;br /&gt;
&lt;br /&gt;
=== 1. Preparar el nuevo disco ===&lt;br /&gt;
Crear la tabla de particiones y una partición que ocupe todo el disco, a partir de ahora todo como usuario &#039;&#039;&#039;root&#039;&#039;&#039;:&lt;br /&gt;
 parted /dev/sdb -- mklabel gpt  #etiquetarà el disco y, en caso de tener datos, los borrará todos. A parte, pedirà confirmación por parte del usuario, y escribiremos &amp;quot;Yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 parted /dev/sdb -- mkpart primary 0% 100%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comprobar que el sistema ve el disco y la partición:&lt;br /&gt;
 lsblk -f&lt;br /&gt;
&lt;br /&gt;
=== 2. Crear el volumen físico (PV) ===&lt;br /&gt;
Inicializar la partición como volumen físico de LVM:&lt;br /&gt;
 pvcreate /dev/sdb1&lt;br /&gt;
Comprobar el volumen físico:&lt;br /&gt;
 pvs  #muestra datos básicos del volumen&lt;br /&gt;
 PV         VG Fmt  Attr PSize    PFree&lt;br /&gt;
 /dev/sdb1     lvm2 ---  &amp;lt;111,75g &amp;lt;111,75g&lt;br /&gt;
&lt;br /&gt;
 pvdisplay /dev/sdb1  #Muestra datos más extendidos.&lt;br /&gt;
  &amp;quot;/dev/sdb1&amp;quot; is a new physical volume of &amp;quot;&amp;lt;111,75 GiB&amp;quot;&lt;br /&gt;
  --- NEW Physical volume ---&lt;br /&gt;
  PV Name               /dev/sdb1&lt;br /&gt;
  VG Name&lt;br /&gt;
  PV Size               &amp;lt;111,75 GiB&lt;br /&gt;
  Allocatable           NO&lt;br /&gt;
  PE Size               0&lt;br /&gt;
  Total PE              0&lt;br /&gt;
  Free PE               0&lt;br /&gt;
  Allocated PE          0&lt;br /&gt;
  PV UUID               l8bdAp-3biH-c7L0-O4bQ-QITU-FOnC-1RNwTe&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=567</id>
		<title>Volumen Lógico</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=567"/>
		<updated>2025-12-16T08:15:49Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
Esta entrada no será una entrada detallada, intentaré resumir y explicar lo más sencillo posible qué son &#039;&#039;&#039;grupos de volúmenes, volúmenes físicos y volúmenes lógicos&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Gestión de almacenamiento con LVM en Linux =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM (Logical Volume Manager)&#039;&#039;&#039; es un sistema de gestión de almacenamiento que permite administrar discos y particiones de forma flexible y dinámica en sistemas Linux. En lugar de trabajar directamente con particiones tradicionales, LVM introduce una capa de abstracción que facilita la ampliación y reorganización del espacio en disco.&lt;br /&gt;
&lt;br /&gt;
== Componentes principales ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes físicos (PV - Physical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son los dispositivos de almacenamiento reales, como discos duros o particiones (por ejemplo, /dev/sda1). Estos discos pueden ser de distinta tecnología (HDD, SSD, NVMe) y tamaño.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Grupos de volúmenes (VG - Volume Groups)&#039;&#039;&#039;:&lt;br /&gt;
  Agrupan uno o varios volúmenes físicos y forman un &amp;quot;pool&amp;quot; de almacenamiento unificado, independientemente de la mecánica de los discos que lo componen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes lógicos (LV - Logical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son las unidades finales donde se crean los sistemas de archivos. Funcionan de forma similar a las particiones tradicionales, pero con mayor flexibilidad.&lt;br /&gt;
&lt;br /&gt;
== Beneficios de usar LVM ==&lt;br /&gt;
&lt;br /&gt;
* Permite unificar varios discos físicos en un único espacio lógico, sin importar su tipo o tamaño.&lt;br /&gt;
* Facilita la ampliación o reducción de volúmenes sin necesidad de reinstalar el sistema.&lt;br /&gt;
* Posibilita modificar el tamaño de los volúmenes y de los puntos de montaje en caliente, en muchos casos sin interrumpir el servicio.&lt;br /&gt;
* Permite el uso de cifrado (por ejemplo, mediante LUKS) para proteger los datos almacenados en volúmenes lógicos.&lt;br /&gt;
* Facilita la creación de instantáneas (snapshots) para copias de seguridad o pruebas.&lt;br /&gt;
* Mejora la escalabilidad y el mantenimiento de servidores y sistemas de almacenamiento.&lt;br /&gt;
&lt;br /&gt;
== Ejemplo práctico: añadir un disco para /var/www (comandos reales) ==&lt;br /&gt;
Para simplificar su uso, vamos a trabajar con un ejemplo práctico, tengo un servidor [[Fedora]] al que le hice una instalación por defecto en un disco SSD de, por ejemplo, 120GB, éste se hizo en un &#039;&#039;&#039;LVM&#039;&#039;&#039; por defecto, con un &#039;&#039;&#039;Grupo de volúmenes&#039;&#039;&#039; llamado &amp;quot;&#039;&#039;&#039;fedora&#039;&#039;&#039;&amp;quot;, encriptado con &#039;&#039;&#039;LUKS&#039;&#039;&#039; y en formato &#039;&#039;&#039;XFS&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a añadir un disco duro nuevo SSD de 500GB para el directorio &amp;quot;/var/www&amp;quot;, es decir, el servicio web, también lo encriptaremos y sólo aprovecharemos 100GB, si es necesario, en un futuro, podemos ampliarlo o dedicar el espacio libre para otro punto de montaje. &lt;br /&gt;
&lt;br /&gt;
=== 1. Preparar el nuevo disco ===&lt;br /&gt;
Crear la tabla de particiones y una partición que ocupe todo el disco, a partir de ahora todo como usuario &#039;&#039;&#039;root&#039;&#039;&#039;:&lt;br /&gt;
 parted /dev/sdb -- mklabel gpt  #etiquetarà el disco y, en caso de tener datos, los borrará todos. A parte, pedirà confirmación por parte del usuario, y escribiremos &amp;quot;Yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 parted /dev/sdb -- mkpart primary 0% 100%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comprobar que el sistema ve el disco y la partición:&lt;br /&gt;
 lsblk -f&lt;br /&gt;
&lt;br /&gt;
=== 2. Crear el volumen físico (PV) ===&lt;br /&gt;
Inicializar la partición como volumen físico de LVM:&lt;br /&gt;
 pvcreate /dev/sdb1&lt;br /&gt;
Comprobar el volumen físico:&lt;br /&gt;
 pvs  #muestra datos básicos del volumen&lt;br /&gt;
   PV         VG Fmt  Attr PSize    PFree&lt;br /&gt;
 /dev/sdb1     lvm2 ---  &amp;lt;111,75g &amp;lt;111,75g&lt;br /&gt;
&lt;br /&gt;
 pvdisplay /dev/sdb1&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=566</id>
		<title>Volumen Lógico</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=566"/>
		<updated>2025-12-16T08:15:30Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
Esta entrada no será una entrada detallada, intentaré resumir y explicar lo más sencillo posible qué son &#039;&#039;&#039;grupos de volúmenes, volúmenes físicos y volúmenes lógicos&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Gestión de almacenamiento con LVM en Linux =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM (Logical Volume Manager)&#039;&#039;&#039; es un sistema de gestión de almacenamiento que permite administrar discos y particiones de forma flexible y dinámica en sistemas Linux. En lugar de trabajar directamente con particiones tradicionales, LVM introduce una capa de abstracción que facilita la ampliación y reorganización del espacio en disco.&lt;br /&gt;
&lt;br /&gt;
== Componentes principales ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes físicos (PV - Physical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son los dispositivos de almacenamiento reales, como discos duros o particiones (por ejemplo, /dev/sda1). Estos discos pueden ser de distinta tecnología (HDD, SSD, NVMe) y tamaño.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Grupos de volúmenes (VG - Volume Groups)&#039;&#039;&#039;:&lt;br /&gt;
  Agrupan uno o varios volúmenes físicos y forman un &amp;quot;pool&amp;quot; de almacenamiento unificado, independientemente de la mecánica de los discos que lo componen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes lógicos (LV - Logical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son las unidades finales donde se crean los sistemas de archivos. Funcionan de forma similar a las particiones tradicionales, pero con mayor flexibilidad.&lt;br /&gt;
&lt;br /&gt;
== Beneficios de usar LVM ==&lt;br /&gt;
&lt;br /&gt;
* Permite unificar varios discos físicos en un único espacio lógico, sin importar su tipo o tamaño.&lt;br /&gt;
* Facilita la ampliación o reducción de volúmenes sin necesidad de reinstalar el sistema.&lt;br /&gt;
* Posibilita modificar el tamaño de los volúmenes y de los puntos de montaje en caliente, en muchos casos sin interrumpir el servicio.&lt;br /&gt;
* Permite el uso de cifrado (por ejemplo, mediante LUKS) para proteger los datos almacenados en volúmenes lógicos.&lt;br /&gt;
* Facilita la creación de instantáneas (snapshots) para copias de seguridad o pruebas.&lt;br /&gt;
* Mejora la escalabilidad y el mantenimiento de servidores y sistemas de almacenamiento.&lt;br /&gt;
&lt;br /&gt;
== Ejemplo práctico: añadir un disco para /var/www (comandos reales) ==&lt;br /&gt;
Para simplificar su uso, vamos a trabajar con un ejemplo práctico, tengo un servidor [[Fedora]] al que le hice una instalación por defecto en un disco SSD de, por ejemplo, 120GB, éste se hizo en un &#039;&#039;&#039;LVM&#039;&#039;&#039; por defecto, con un &#039;&#039;&#039;Grupo de volúmenes&#039;&#039;&#039; llamado &amp;quot;&#039;&#039;&#039;fedora&#039;&#039;&#039;&amp;quot;, encriptado con &#039;&#039;&#039;LUKS&#039;&#039;&#039; y en formato &#039;&#039;&#039;XFS&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
En este caso, vamos a añadir un disco duro nuevo SSD de 500GB para el directorio &amp;quot;/var/www&amp;quot;, es decir, el servicio web, también lo encriptaremos y sólo aprovecharemos 100GB, si es necesario, en un futuro, podemos ampliarlo o dedicar el espacio libre para otro punto de montaje. &lt;br /&gt;
&lt;br /&gt;
=== 1. Preparar el nuevo disco ===&lt;br /&gt;
Crear la tabla de particiones y una partición que ocupe todo el disco, a partir de ahora todo como usuario &#039;&#039;&#039;root&#039;&#039;&#039;:&lt;br /&gt;
 parted /dev/sdb -- mklabel gpt  #etiquetarà el disco y, en caso de tener datos, los borrará todos. A parte, pedirà confirmación por parte del usuario, y escribiremos &amp;quot;Yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 parted /dev/sdb -- mkpart primary 0% 100%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comprobar que el sistema ve el disco y la partición:&lt;br /&gt;
 lsblk -f&lt;br /&gt;
&lt;br /&gt;
=== 2. Crear el volumen físico (PV) ===&lt;br /&gt;
Inicializar la partición como volumen físico de LVM:&lt;br /&gt;
 pvcreate /dev/sdb1&lt;br /&gt;
Comprobar el volumen físico:&lt;br /&gt;
 pvs  #muestra datos básicos del volumen&lt;br /&gt;
&lt;br /&gt;
   PV         VG Fmt  Attr PSize    PFree&lt;br /&gt;
&lt;br /&gt;
 /dev/sdb1     lvm2 ---  &amp;lt;111,75g &amp;lt;111,75g&lt;br /&gt;
&lt;br /&gt;
 pvdisplay /dev/sdb1&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=565</id>
		<title>Volumen Lógico</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=565"/>
		<updated>2025-12-16T07:54:39Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Conclusión */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
Esta entrada no será una entrada detallada, intentaré resumir y explicar lo más sencillo posible qué son &#039;&#039;&#039;grupos de volúmenes, volúmenes físicos y volúmenes lógicos&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Gestión de almacenamiento con LVM en Linux =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM (Logical Volume Manager)&#039;&#039;&#039; es un sistema de gestión de almacenamiento que permite administrar discos y particiones de forma flexible y dinámica en sistemas Linux. En lugar de trabajar directamente con particiones tradicionales, LVM introduce una capa de abstracción que facilita la ampliación y reorganización del espacio en disco.&lt;br /&gt;
&lt;br /&gt;
== Componentes principales ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes físicos (PV - Physical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son los dispositivos de almacenamiento reales, como discos duros o particiones (por ejemplo, /dev/sda1). Estos discos pueden ser de distinta tecnología (HDD, SSD, NVMe) y tamaño.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Grupos de volúmenes (VG - Volume Groups)&#039;&#039;&#039;:&lt;br /&gt;
  Agrupan uno o varios volúmenes físicos y forman un &amp;quot;pool&amp;quot; de almacenamiento unificado, independientemente de la mecánica de los discos que lo componen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes lógicos (LV - Logical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son las unidades finales donde se crean los sistemas de archivos. Funcionan de forma similar a las particiones tradicionales, pero con mayor flexibilidad.&lt;br /&gt;
&lt;br /&gt;
== Beneficios de usar LVM ==&lt;br /&gt;
&lt;br /&gt;
* Permite unificar varios discos físicos en un único espacio lógico, sin importar su tipo o tamaño.&lt;br /&gt;
* Facilita la ampliación o reducción de volúmenes sin necesidad de reinstalar el sistema.&lt;br /&gt;
* Posibilita modificar el tamaño de los volúmenes y de los puntos de montaje en caliente, en muchos casos sin interrumpir el servicio.&lt;br /&gt;
* Permite el uso de cifrado (por ejemplo, mediante LUKS) para proteger los datos almacenados en volúmenes lógicos.&lt;br /&gt;
* Facilita la creación de instantáneas (snapshots) para copias de seguridad o pruebas.&lt;br /&gt;
* Mejora la escalabilidad y el mantenimiento de servidores y sistemas de almacenamiento.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=564</id>
		<title>Volumen Lógico</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Volumen_L%C3%B3gico&amp;diff=564"/>
		<updated>2025-12-16T07:41:07Z</updated>

		<summary type="html">&lt;p&gt;Admin: Página creada con «== Introducción == Esta entrada no será una entrada detallada, intentaré resumir y explicar lo más sencillo posible qué son &amp;#039;&amp;#039;&amp;#039;grupos de volúmenes, volúmenes físicos y volúmenes lógicos&amp;#039;&amp;#039;&amp;#039;.  = Gestión de almacenamiento con LVM en Linux =  &amp;#039;&amp;#039;&amp;#039;LVM (Logical Volume Manager)&amp;#039;&amp;#039;&amp;#039; es un sistema de gestión de almacenamiento que permite administrar discos y particiones de forma flexible y dinámica en sistemas Linux. En lugar de trabajar directamente con particiones…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
Esta entrada no será una entrada detallada, intentaré resumir y explicar lo más sencillo posible qué son &#039;&#039;&#039;grupos de volúmenes, volúmenes físicos y volúmenes lógicos&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Gestión de almacenamiento con LVM en Linux =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM (Logical Volume Manager)&#039;&#039;&#039; es un sistema de gestión de almacenamiento que permite administrar discos y particiones de forma flexible y dinámica en sistemas Linux. En lugar de trabajar directamente con particiones tradicionales, LVM introduce una capa de abstracción que facilita la ampliación y reorganización del espacio en disco.&lt;br /&gt;
&lt;br /&gt;
== Componentes principales ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes físicos (PV - Physical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son los dispositivos de almacenamiento reales, como discos duros o particiones (por ejemplo, /dev/sda1). Estos discos pueden ser de distinta tecnología (HDD, SSD, NVMe) y tamaño.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Grupos de volúmenes (VG - Volume Groups)&#039;&#039;&#039;:&lt;br /&gt;
  Agrupan uno o varios volúmenes físicos y forman un &amp;quot;pool&amp;quot; de almacenamiento unificado, independientemente de la mecánica de los discos que lo componen.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Volúmenes lógicos (LV - Logical Volumes)&#039;&#039;&#039;:&lt;br /&gt;
  Son las unidades finales donde se crean los sistemas de archivos. Funcionan de forma similar a las particiones tradicionales, pero con mayor flexibilidad.&lt;br /&gt;
&lt;br /&gt;
== Beneficios de usar LVM ==&lt;br /&gt;
&lt;br /&gt;
* Permite unificar varios discos físicos en un único espacio lógico, sin importar su tipo o tamaño.&lt;br /&gt;
* Facilita la ampliación o reducción de volúmenes sin necesidad de reinstalar el sistema.&lt;br /&gt;
* Posibilita modificar el tamaño de los volúmenes y de los puntos de montaje en caliente, en muchos casos sin interrumpir el servicio.&lt;br /&gt;
* Permite el uso de cifrado (por ejemplo, mediante LUKS) para proteger los datos almacenados en volúmenes lógicos.&lt;br /&gt;
* Facilita la creación de instantáneas (snapshots) para copias de seguridad o pruebas.&lt;br /&gt;
* Mejora la escalabilidad y el mantenimiento de servidores y sistemas de almacenamiento.&lt;br /&gt;
&lt;br /&gt;
== Conclusión ==&lt;br /&gt;
&lt;br /&gt;
El uso de volúmenes físicos, grupos de volúmenes y volúmenes lógicos proporciona una forma más flexible, segura y potente de gestionar el almacenamiento en Linux, especialmente en entornos donde el crecimiento, la seguridad y los cambios en disco son habituales.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Instalaci%C3%B3n_segura_y_encriptada_de_un_equipo_Linux&amp;diff=563</id>
		<title>Instalación segura y encriptada de un equipo Linux</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Instalaci%C3%B3n_segura_y_encriptada_de_un_equipo_Linux&amp;diff=563"/>
		<updated>2025-12-16T07:22:33Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hoy en día la seguridad en el trabajo y en casa es lo primero, es por eso que hay que tener cuidado con los datos que utilizamos por internet y con los datos que tenemos en nuestro dispositivo. En esta entrada nos preocuparemos por los datos de nuestro disco duro encriptando su contenido.&lt;br /&gt;
&lt;br /&gt;
Imaginemos que tengo mi equipo portátil que llevo conmigo al trabajo, a casa, a la biblioteca… ¿Qué pasaría si, por un descuido, alguien me lo coge y quiere acceder a los datos?&lt;br /&gt;
&lt;br /&gt;
Obviamente, mi sesión tiene contraseña para acceder a él, pero un usuario avanzado sabe que puede desmontar el equipo y colocar el disco en una base y sacar los datos como un usuario root. La solución nos la da la instalación de volúmenes lógicos (LVM) y la encriptación de particiones.&lt;br /&gt;
&lt;br /&gt;
Para ello necesitaremos nuestra distribución Linux (en este caso Fedora) y haremos una instalación limpia, avanzada, en la que asignaremos manualmente las particiones y su formato.&lt;br /&gt;
&lt;br /&gt;
Una instalación base debería tener las siguientes definiciones de particiones:&lt;br /&gt;
&lt;br /&gt;
* /&#039;&#039;&#039;boot&#039;&#039;&#039; – La partición donde se ubicará el kernel del sistema y lo mínimo para iniciar que asignaremos en formato &#039;&#039;&#039;VFAT&#039;&#039;&#039;.&lt;br /&gt;
* /&#039;&#039;&#039;boot/efi&#039;&#039;&#039; – La partición donde se ubicará el kernel compatible con inicio &#039;&#039;&#039;UEFI&#039;&#039;&#039; que tendrá su formato &#039;&#039;&#039;EFI&#039;&#039;&#039;.&lt;br /&gt;
* /&#039;&#039;&#039;swap&#039;&#039;&#039; – La partición de área de intercambio, normalmente el doble de RAM en casos de menos de 8GB de memòria que si encriptaremos en caso de crearla.&lt;br /&gt;
* / – O partición del sistema que crearemos también como &#039;&#039;&#039;[[Volumen Lógico]]&#039;&#039;&#039; de formato &#039;&#039;&#039;ext4&#039;&#039;&#039; que también cifraremos.&lt;br /&gt;
&lt;br /&gt;
Una vez creados los puntos de montaje, el sistema nos pedirá cuál será la frase para validarnos, es decir, la contraseña, esta frase se acumulará en una base de datos interna totalmente segura que servirá para todas las particiones que cifremos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=YnnGPtEMkHY&amp;lt;/youtube&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=562</id>
		<title>TMUX</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=562"/>
		<updated>2025-09-03T13:15:30Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Tmux plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
[https://man.openbsd.org/OpenBSD-current/man1/tmux.1 Tmux] es un multiplexor de terminal donde se pueden crear varias sesiones de &#039;&#039;&#039;shell&#039;&#039;&#039; en tu sistema, cada una ejecutando un proceso distinto. Mantiene las tareas ejecutándose en segundo plano, aceptando que los usuarios continúen su trabajo luego.&lt;br /&gt;
&lt;br /&gt;
Tmux permite crear múltiples sesiones de terminal para una colaboración eficiente. Para mejorar tu flujo de trabajo, también puedes modificar la configuración mediante el archivo tmux.conf.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
Como la mayoría de programas básicos, este lo encontramos en los repositorios. &lt;br /&gt;
&lt;br /&gt;
Para &#039;&#039;&#039;Fedora&#039;&#039;&#039; o distribuciones basadas en &#039;&#039;&#039;RHEL&#039;&#039;&#039; se puede ejecutar:&amp;lt;blockquote&amp;gt;sudo dnf install tmux&amp;lt;/blockquote&amp;gt;O &#039;&#039;&#039;Ubuntu&#039;&#039;&#039; y distribuciones basadas en Debian:&amp;lt;blockquote&amp;gt;sudo apt install tmux&amp;lt;/blockquote&amp;gt;Una vez instalado solo es necesario invocarlo con:&amp;lt;blockquote&amp;gt;tmux&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comandos y atajos ==&lt;br /&gt;
Los atajos de teclado de tmux son esenciales para la gestión de ventanas y paneles. Aquí tienes algunas de las combinaciones de teclas más útiles y sus funciones:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + d:&#039;&#039;&#039; salir de la sesión actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + %:&#039;&#039;&#039; dividir una ventana en paneles superior e inferior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + “:&#039;&#039;&#039; dividir una ventana en dos paneles verticalmente.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + flecha:&#039;&#039;&#039; mover a un panel diferente en una dirección.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + x:&#039;&#039;&#039; cerrar el panel actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + c:&#039;&#039;&#039; crear una nueva ventana.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + n:&#039;&#039;&#039; pasar a la siguiente ventana según el número.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + p:&#039;&#039;&#039; volver a la ventana anterior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + número ID&#039;&#039;&#039;: saltar a una ventana concreta utilizando el número ID.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039;  abrir el modo línea de comandos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + ?:&#039;&#039;&#039; mostrar todos los atajos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + w:&#039;&#039;&#039; lista todas las ventanas de la sesión actual.&lt;br /&gt;
&lt;br /&gt;
Ten en cuenta que los atajos tmux sólo funcionan dentro de una sesión tmux. Además, para que las combinaciones de teclas funcionen, tendrás que pulsar &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; antes de la tecla que quieras utilizar, como se muestra arriba.&lt;br /&gt;
&lt;br /&gt;
NOTA - Si ya tenemos instalado [[byobu]] los atajos predeterminados son los suyos.&lt;br /&gt;
&lt;br /&gt;
== Sesiones ==&lt;br /&gt;
Para iniciar tmux y crear tu primera sesión, ejecuta uno de los siguientes comandos en tu ventana principal de terminal:&amp;lt;blockquote&amp;gt;tmux&lt;br /&gt;
&lt;br /&gt;
tmux new&lt;br /&gt;
&lt;br /&gt;
tmux new-session&amp;lt;/blockquote&amp;gt;Ten en cuenta que debes ejecutar estos comandos en la ventana principal del terminal. Aunque puedes crear una nueva dentro de una sesión existente, no es recomendable y requiere desactivar la variable de entorno &#039;&#039;&#039;$TMUX&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, una nueva sesión tmux utilizará un número ID para identificarse. Sin embargo, puedes darle un nombre personalizado utilizando la opción &#039;&#039;&#039;-s&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;tmux new-session -s [nombre]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Separar y unir sesiones ==&lt;br /&gt;
Después de crear una nueva sesión, se te adjuntará automáticamente a ella. Para desvincularte y abandonar el cliente tmux, pulsa &#039;&#039;&#039;Ctrl-b + d.&#039;&#039;&#039; Para volver a vincularte a la sesión más reciente, utiliza el comando &#039;&#039;&#039;tmux attach-session&#039;&#039;&#039;. También puedes volver a entrar en un shell específico introduciendo:&amp;lt;blockquote&amp;gt;tmux attach-session -t [sesión-nombre]&amp;lt;/blockquote&amp;gt;Alternativamente, vuelve a conectarte a una sesión de destino concreta utilizando su número de &#039;&#039;&#039;ID&#039;&#039;&#039;. Como tmux inicia el orden desde 0 por defecto, introduce lo siguiente para acceder al primer intérprete de órdenes:&amp;lt;blockquote&amp;gt;tmux attach-session -t 0&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestionar sesiones ==&lt;br /&gt;
Para listar todas las sesiones activas, ejecuta cualquiera de los siguientes comandos tmux. Puedes hacerlo dentro del shell principal o virtual:&amp;lt;blockquote&amp;gt;tmux list-sessions&lt;br /&gt;
&lt;br /&gt;
tmux ls&amp;lt;/blockquote&amp;gt;Tu interfaz de línea de comandos mostrará todas las sesiones con detalles como su nombre, ID, número de ventanas y fecha de creación. También verás a cuál estás conectado actualmente.&lt;br /&gt;
&lt;br /&gt;
Si estás en una sesión de terminal virtual, puedes cambiar a otra utilizando el siguiente comando. Al igual que para volver a conectarte, utiliza el nombre o el número de ID:&amp;lt;blockquote&amp;gt;tmux switch -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;Para terminar la sesión actual, introduce &#039;&#039;&#039;exit&#039;&#039;&#039; o pulsa &#039;&#039;&#039;Ctrl-d&#039;&#039;&#039;. Mientras tanto, ejecuta este comando si quieres cerrar una en concreto:&amp;lt;blockquote&amp;gt;tmux kill-session -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Crear y navegar por las ventanas ==&lt;br /&gt;
Por defecto, tu nueva sesión tmux será una única ventana de terminal. Para dividirla en dos, pulsa &#039;&#039;&#039;Ctrl-b + c&#039;&#039;&#039;. La nueva ventana aparecerá en la barra de estado inferior con su nombre y número de identificación.&lt;br /&gt;
&lt;br /&gt;
Tu ventana tmux actual está marcada con un asterisco (&#039;&#039;&#039;*&#039;&#039;&#039;). Puedes pasar a la siguiente ventana pulsando &#039;&#039;&#039;Ctrl-b + n&#039;&#039;&#039; o volver a la anterior utilizando &#039;&#039;&#039;Ctrl-b + p&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
En lugar de alternar entre varias ventanas del terminal, puedes saltar directamente a una concreta pulsando Ctrl-b &#039;&#039;&#039;+ ID numérico&#039;&#039;&#039;. Por ejemplo, pulsa &#039;&#039;&#039;Ctrl-b + 0&#039;&#039;&#039; para volver a la primera ventana.&lt;br /&gt;
&lt;br /&gt;
== Renombrar y organizar ventanas ==&lt;br /&gt;
Por defecto, tmux creará una nueva ventana llamada &#039;&#039;&#039;bash&#039;&#039;&#039; o &#039;&#039;&#039;sh&#039;&#039;&#039;. Si tienes muchos procesos, distinguir entre ellos puede ser difícil, complicando la gestión de tareas.&lt;br /&gt;
&lt;br /&gt;
Asigna a las nuevas ventanas tmux un nombre personalizado para facilitar su identificación. Para ello, navega hasta la que quieras renombrar y pulsa &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039; para entrar en el modo de comandos de tmux. A continuación, ejecuta lo siguiente:&amp;lt;blockquote&amp;gt;rename-window nombre-ventana&amp;lt;/blockquote&amp;gt;Sustituye &#039;&#039;&#039;nombre-ventana&#039;&#039;&#039; por el nombre que desees. Deberías ver cómo cambia la información de la nueva ventana en la barra de estado inferior de la sesión.&lt;br /&gt;
&lt;br /&gt;
== Dividir ventanas en paneles ==&lt;br /&gt;
Para organizar una tarea más específica, divide una ventana en varios paneles. Pulsa &#039;&#039;&#039;Ctrl-b + ”&#039;&#039;&#039; para dividirla horizontalmente o verticalmente utilizando &#039;&#039;&#039;Ctrl-b + %&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Puedes repetir los atajos de división de ventanas para dividir aún más los paneles en áreas de trabajo más pequeñas. &lt;br /&gt;
&lt;br /&gt;
== Navegar y cambiar el tamaño de los paneles ==&lt;br /&gt;
Para navegar entre los paneles, pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; una &#039;&#039;&#039;tecla de flecha&#039;&#039;&#039; según la dirección que prefieras. Tu posición actual se resalta con un borde verde.&lt;br /&gt;
&lt;br /&gt;
También puedes pasar al panel siguiente pulsando &#039;&#039;&#039;Ctrl-b + o&#039;&#039;&#039;, o volver al anterior utilizando el atajo de teclado &#039;&#039;&#039;Ctrl-b + ;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, al dividir una ventana se crearán dos paneles con tamaños idénticos. Para cambiar la dimensión, pulsa &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; y mantén pulsado &#039;&#039;&#039;Alt&#039;&#039;&#039; y el botón de &#039;&#039;&#039;flecha&#039;&#039;&#039; según la dirección para cambiar el tamaño.&lt;br /&gt;
&lt;br /&gt;
Pulsa &#039;&#039;&#039;arriba&#039;&#039;&#039; y &#039;&#039;&#039;abajo&#039;&#039;&#039; para cambiar la altura. Mientras tanto, utiliza la tecla de flecha &#039;&#039;&#039;derecha&#039;&#039;&#039; o &#039;&#039;&#039;izquierda&#039;&#039;&#039; para ajustar la anchura.&lt;br /&gt;
&lt;br /&gt;
== Cerrar paneles ==&lt;br /&gt;
Para cerrar un panel, navega hasta el que quieras cerrar y pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; &amp;amp;. Sin embargo, recomendamos evitar este método, ya que la falta de un mensaje de confirmación lo hace propenso al borrado accidental.&lt;br /&gt;
&lt;br /&gt;
En su lugar, pulsa &#039;&#039;&#039;Ctrl-b + x&#039;&#039;&#039; para cerrar un panel de forma segura. Esto mostrará una ventana de verificación, que deberás confirmar pulsando &#039;&#039;&#039;Y,&#039;&#039;&#039; y pulsando &#039;&#039;&#039;Intro&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Terminar los paneles no afectará a las tareas de otras sesiones. Además, recuerda que este proceso es irreversible.&lt;br /&gt;
&lt;br /&gt;
== Personalizar tmux ==&lt;br /&gt;
Tmux te permite crear un archivo de configuración al que puedes añadir código, personalizando su aspecto y comportamiento. Según el ámbito, puede ser &#039;&#039;&#039;local&#039;&#039;&#039; o &#039;&#039;&#039;global.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
El archivo &#039;&#039;&#039;local&#039;&#039;&#039; se aplica a un usuario concreto y se encuentra en el directorio bash por defecto de la cuenta. Ejecuta lo siguiente para crearlo:&amp;lt;blockquote&amp;gt;sudo touch ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Mientras tanto, la configuración &#039;&#039;&#039;global&#039;&#039;&#039; se aplica a todo el sistema y se encuentra en el directorio &#039;&#039;&#039;/etc&#039;&#039;&#039;. A continuación te explicamos cómo hacer una:&amp;lt;blockquote&amp;gt;sudo touch /etc/tmux.conf&amp;lt;/blockquote&amp;gt;Un ejemplo de configuración que he leído es:  &lt;br /&gt;
&lt;br /&gt;
https://www.hostinger.es/tutoriales/tmux-config&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, el siguiente fragmento cambiará las combinaciones de teclas prefijadas por defecto de &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; a &#039;&#039;&#039;Ctrl -a&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Change prefix from &#039;Ctrl+B&#039; to &#039;Ctrl+A&#039;&lt;br /&gt;
&lt;br /&gt;
unbind C-b&lt;br /&gt;
&lt;br /&gt;
set-option -g prefix C-a&lt;br /&gt;
&lt;br /&gt;
bind-key C-a send-prefix&amp;lt;/blockquote&amp;gt;Además, puedes modificar el número de ID inicial. Por ejemplo, el siguiente código de configuración de tmux lo cambia de &#039;&#039;&#039;0&#039;&#039;&#039; a &#039;&#039;&#039;1&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Start counting pane and window number at 1&lt;br /&gt;
&lt;br /&gt;
set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
setw -g pane-base-index 1&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tweaks y links ==&lt;br /&gt;
Podemos aplicar configuraciones predeterminadas, por ejemplo, podemos editar nuestro fichero de comandos de perfil, por ejemplo: .bashrc o .zshrc, y añadir al final:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;tmux new-session \; split-window -h \; split-window -v \; attach&amp;quot;&lt;br /&gt;
&lt;br /&gt;
alias tmuxClose=&amp;quot;tmux kill-ses -t 0&amp;quot;&amp;lt;/blockquote&amp;gt;Cerramos sesión y recargamos la ruta de perfil, por ejemplo:&amp;lt;blockquote&amp;gt;source .zshrc&amp;lt;/blockquote&amp;gt;Y ejecutamos:&amp;lt;blockquote&amp;gt;tmuxAll&amp;lt;/blockquote&amp;gt;automáticamente se dividirá en dos ventanas verticales y en la ventana de la derecha se divide en dos horizontales.&lt;br /&gt;
&lt;br /&gt;
Para cerrar la sesión ejecutamos el otro alias.&amp;lt;blockquote&amp;gt;tmuxClose&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Estos atajos y más en:&lt;br /&gt;
&lt;br /&gt;
https://tmuxcheatsheet.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
También con un script, por ejemplo:&amp;lt;blockquote&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
SESSION=&amp;quot;System&amp;quot;&lt;br /&gt;
&lt;br /&gt;
HEIGHT=$(tput lines)&lt;br /&gt;
&lt;br /&gt;
PANEL_HTOP=15&lt;br /&gt;
&lt;br /&gt;
PANEL_LOGS=30&lt;br /&gt;
&lt;br /&gt;
tmux has-session -t $SESSION 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
if [ $? != 0 ]; then&lt;br /&gt;
&lt;br /&gt;
  tmux new-session -d -s $SESSION -n Principal &amp;quot;zsh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux split-window -v -t $SESSION:0 -l $PANEL_HTOP &amp;quot;htop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux split-window -v -t $SESSION:0 -l $PANEL_LOGS &amp;quot;journalctl -f&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux select-layout -t $SESSION:0 even-vertical&lt;br /&gt;
&lt;br /&gt;
  tmux set-option -t $SESSION mouse on&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
tmux attach -t $SESSION&amp;lt;/blockquote&amp;gt;Conservamos el fichero como ~/.tmux_start.sh&lt;br /&gt;
&lt;br /&gt;
Damos permisos:&amp;lt;blockquote&amp;gt;chmod +x ~/tmux-start.sh&amp;lt;/blockquote&amp;gt;Y añadimos el alias al intérprete que utilizamos:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;~/tmux-start.sh&amp;quot;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuraciones ===&lt;br /&gt;
&lt;br /&gt;
Se pueden utilizar plantillas de configuración para cambiar colores, barras... por ejemplo, con un fichero &amp;quot;tmux.conf&amp;quot; con el siguiente contenido:&lt;br /&gt;
 # start window index at 1&lt;br /&gt;
&lt;br /&gt;
 set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
 # start pane index at 1&lt;br /&gt;
&lt;br /&gt;
 set -g pane-base-index 1&lt;br /&gt;
&lt;br /&gt;
 # re-number windows when one is closed&lt;br /&gt;
&lt;br /&gt;
 set -g renumber-windows on&lt;br /&gt;
&lt;br /&gt;
 # Remapping prefix&lt;br /&gt;
&lt;br /&gt;
 unbind-key C-b&lt;br /&gt;
&lt;br /&gt;
 set-option -g prefix C-s # setting prefix from C-b to C-s&lt;br /&gt;
&lt;br /&gt;
 bind-key C-s send-prefix # ensure that we can send Ctrl-s to other apps or the shell&lt;br /&gt;
&lt;br /&gt;
 # Split panel with the current path&lt;br /&gt;
&lt;br /&gt;
 unbind % &lt;br /&gt;
&lt;br /&gt;
 unbind &#039;&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
 bind &#039;\&#039; split-window -h -c &#039;#{pane_current_path}&#039;           &lt;br /&gt;
&lt;br /&gt;
 bind &#039;-&#039; split-window -v -c &#039;#{pane_current_path}&#039;&lt;br /&gt;
&lt;br /&gt;
 # Use Alt-arrow keys without prefix key to switch panes&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Left select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Right select-pane -R&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Up select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Down select-pane -D&lt;br /&gt;
&lt;br /&gt;
 # Shift arrow to switch windows&lt;br /&gt;
&lt;br /&gt;
 bind -n S-Left  previous-window&lt;br /&gt;
&lt;br /&gt;
 bind -n S-Right next-window&lt;br /&gt;
&lt;br /&gt;
 # Vim style pane selection&lt;br /&gt;
&lt;br /&gt;
 bind h select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind j select-pane -D&lt;br /&gt;
&lt;br /&gt;
 bind k select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind l select-pane -R&lt;br /&gt;
&lt;br /&gt;
 # Use Alt-vim keys without prefix key to switch panes&lt;br /&gt;
&lt;br /&gt;
 bind -n M-h select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind -n M-j select-pane -D&lt;br /&gt;
&lt;br /&gt;
 bind -n M-k select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind -n M-l select-pane -R&lt;br /&gt;
&lt;br /&gt;
 ## Capture current tmux buffer and copy it to system clipboard with prefix + &#039;Ctrl + c&#039;&lt;br /&gt;
&lt;br /&gt;
 #bind C-c run &amp;quot;tmux save-buffer - | xclip -i -sel clipboard&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 ## Optional - paste from system clipboard to tmux session with prefix + &#039;Ctrl + v&#039;&lt;br /&gt;
&lt;br /&gt;
 #bind C-v run &amp;quot;tmux set-buffer &amp;quot;$(xclip -o -sel clipboard)&amp;quot;; tmux paste-buffer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 #copy and paste vim style&lt;br /&gt;
&lt;br /&gt;
 ## Enable vi-copy-mode&lt;br /&gt;
&lt;br /&gt;
 setw -g mode-keys vi &lt;br /&gt;
&lt;br /&gt;
 # Turn off mouse and use vim keys for navigations&lt;br /&gt;
&lt;br /&gt;
 # turn this on if you want to use touchpad or mouse to scroll through terminal&lt;br /&gt;
&lt;br /&gt;
 setw -g mouse off &lt;br /&gt;
&lt;br /&gt;
 ## changing the key to enter copy mode from `[` to `ESC`&lt;br /&gt;
&lt;br /&gt;
 unbind [&lt;br /&gt;
&lt;br /&gt;
 bind Escape copy-mode&lt;br /&gt;
&lt;br /&gt;
 ## unbind p and set it to paste from buffer&lt;br /&gt;
&lt;br /&gt;
 unbind p&lt;br /&gt;
&lt;br /&gt;
 bind p paste-buffer&lt;br /&gt;
&lt;br /&gt;
 ## set keys for visual mode (v) and yank/copy (y)&lt;br /&gt;
&lt;br /&gt;
 bind-key -Tcopy-mode-vi &#039;v&#039; send -X begin-selection&lt;br /&gt;
&lt;br /&gt;
 bind-key -Tcopy-mode-vi &#039;y&#039; send -X copy-pipe-and-cancel &#039;xclip -in -selection clipboard&#039;&lt;br /&gt;
&lt;br /&gt;
 # unbind r&lt;br /&gt;
&lt;br /&gt;
 # bind r source-file ~/.tmux.conf \; display &amp;quot;Reloaded tmux config!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # Automatically set the window title&lt;br /&gt;
&lt;br /&gt;
 set-window-option -g automatic-rename off&lt;br /&gt;
&lt;br /&gt;
 # activity notifications&lt;br /&gt;
&lt;br /&gt;
 setw -g monitor-activity on&lt;br /&gt;
&lt;br /&gt;
 setw -g visual-activity on&lt;br /&gt;
&lt;br /&gt;
 # Improve terminal colors&lt;br /&gt;
&lt;br /&gt;
 set -g default-terminal &amp;quot;screen-256color&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 set -ga terminal-overrides &amp;quot;,xterm-256color:Tc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # increase scrollback buffer to 10000&lt;br /&gt;
&lt;br /&gt;
 set -g history-limit 10000&lt;br /&gt;
Lo guardamos y lo llamamos con:&amp;lt;blockquote&amp;gt;tmux source tmux.conf&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tmux plugins ===&lt;br /&gt;
Para hacerlo mucho más fácil, podemos descargar y aplicar una serie de complementos del &#039;&#039;&#039;git&#039;&#039;&#039; oficial, primero tenemos que instalar un complemento para copiar y pegar texto del terminal con &#039;&#039;&#039;xclip&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;sudo dnf install -y xclip&amp;lt;/blockquote&amp;gt;Y bajamos con git:&amp;lt;blockquote&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://github.com/tmux-plugins/tpm&amp;lt;/nowiki&amp;gt; ~/.tmux/plugins/tpm&amp;lt;/blockquote&amp;gt;Y modificamos el fichero de configuración:&amp;lt;blockquote&amp;gt;nvim ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Con mi ejemplo:&lt;br /&gt;
 # List of plugins&lt;br /&gt;
&lt;br /&gt;
 set -g mouse on&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;tmux-plugins/tpm&#039;&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;tmux-plugins/tmux-sensible&#039;&lt;br /&gt;
&lt;br /&gt;
 # Other examples:&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &amp;quot;arcticicestudio/nord-tmux&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)&lt;br /&gt;
&lt;br /&gt;
 run -b &#039;~/.tmux/plugins/tpm/tpm&#039;&lt;br /&gt;
Con este ejemplo también aplico un tema que me encanta, el nord o nordly.&lt;br /&gt;
&lt;br /&gt;
Guardamos y abrimos con &amp;quot;tmux&amp;quot; y aplicamos con &amp;quot;CTRL + b + I&amp;quot; ( importante, la &amp;quot;i&amp;quot; es mayúscula).&lt;br /&gt;
[[Archivo:TmuxNord.png|centro|miniaturadeimagen]]Más información del administrador en: https://github.com/tmux-plugins/tpm&lt;br /&gt;
&lt;br /&gt;
Otra referéncia utilizada: https://arcolinux.com/everthing-you-need-to-know-about-tmux-configuration/&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=561</id>
		<title>TMUX</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=561"/>
		<updated>2025-05-29T07:08:28Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
[https://man.openbsd.org/OpenBSD-current/man1/tmux.1 Tmux] es un multiplexor de terminal donde se pueden crear varias sesiones de &#039;&#039;&#039;shell&#039;&#039;&#039; en tu sistema, cada una ejecutando un proceso distinto. Mantiene las tareas ejecutándose en segundo plano, aceptando que los usuarios continúen su trabajo luego.&lt;br /&gt;
&lt;br /&gt;
Tmux permite crear múltiples sesiones de terminal para una colaboración eficiente. Para mejorar tu flujo de trabajo, también puedes modificar la configuración mediante el archivo tmux.conf.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
Como la mayoría de programas básicos, este lo encontramos en los repositorios. &lt;br /&gt;
&lt;br /&gt;
Para &#039;&#039;&#039;Fedora&#039;&#039;&#039; o distribuciones basadas en &#039;&#039;&#039;RHEL&#039;&#039;&#039; se puede ejecutar:&amp;lt;blockquote&amp;gt;sudo dnf install tmux&amp;lt;/blockquote&amp;gt;O &#039;&#039;&#039;Ubuntu&#039;&#039;&#039; y distribuciones basadas en Debian:&amp;lt;blockquote&amp;gt;sudo apt install tmux&amp;lt;/blockquote&amp;gt;Una vez instalado solo es necesario invocarlo con:&amp;lt;blockquote&amp;gt;tmux&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comandos y atajos ==&lt;br /&gt;
Los atajos de teclado de tmux son esenciales para la gestión de ventanas y paneles. Aquí tienes algunas de las combinaciones de teclas más útiles y sus funciones:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + d:&#039;&#039;&#039; salir de la sesión actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + %:&#039;&#039;&#039; dividir una ventana en paneles superior e inferior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + “:&#039;&#039;&#039; dividir una ventana en dos paneles verticalmente.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + flecha:&#039;&#039;&#039; mover a un panel diferente en una dirección.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + x:&#039;&#039;&#039; cerrar el panel actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + c:&#039;&#039;&#039; crear una nueva ventana.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + n:&#039;&#039;&#039; pasar a la siguiente ventana según el número.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + p:&#039;&#039;&#039; volver a la ventana anterior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + número ID&#039;&#039;&#039;: saltar a una ventana concreta utilizando el número ID.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039;  abrir el modo línea de comandos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + ?:&#039;&#039;&#039; mostrar todos los atajos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + w:&#039;&#039;&#039; lista todas las ventanas de la sesión actual.&lt;br /&gt;
&lt;br /&gt;
Ten en cuenta que los atajos tmux sólo funcionan dentro de una sesión tmux. Además, para que las combinaciones de teclas funcionen, tendrás que pulsar &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; antes de la tecla que quieras utilizar, como se muestra arriba.&lt;br /&gt;
&lt;br /&gt;
NOTA - Si ya tenemos instalado [[byobu]] los atajos predeterminados son los suyos.&lt;br /&gt;
&lt;br /&gt;
== Sesiones ==&lt;br /&gt;
Para iniciar tmux y crear tu primera sesión, ejecuta uno de los siguientes comandos en tu ventana principal de terminal:&amp;lt;blockquote&amp;gt;tmux&lt;br /&gt;
&lt;br /&gt;
tmux new&lt;br /&gt;
&lt;br /&gt;
tmux new-session&amp;lt;/blockquote&amp;gt;Ten en cuenta que debes ejecutar estos comandos en la ventana principal del terminal. Aunque puedes crear una nueva dentro de una sesión existente, no es recomendable y requiere desactivar la variable de entorno &#039;&#039;&#039;$TMUX&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, una nueva sesión tmux utilizará un número ID para identificarse. Sin embargo, puedes darle un nombre personalizado utilizando la opción &#039;&#039;&#039;-s&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;tmux new-session -s [nombre]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Separar y unir sesiones ==&lt;br /&gt;
Después de crear una nueva sesión, se te adjuntará automáticamente a ella. Para desvincularte y abandonar el cliente tmux, pulsa &#039;&#039;&#039;Ctrl-b + d.&#039;&#039;&#039; Para volver a vincularte a la sesión más reciente, utiliza el comando &#039;&#039;&#039;tmux attach-session&#039;&#039;&#039;. También puedes volver a entrar en un shell específico introduciendo:&amp;lt;blockquote&amp;gt;tmux attach-session -t [sesión-nombre]&amp;lt;/blockquote&amp;gt;Alternativamente, vuelve a conectarte a una sesión de destino concreta utilizando su número de &#039;&#039;&#039;ID&#039;&#039;&#039;. Como tmux inicia el orden desde 0 por defecto, introduce lo siguiente para acceder al primer intérprete de órdenes:&amp;lt;blockquote&amp;gt;tmux attach-session -t 0&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestionar sesiones ==&lt;br /&gt;
Para listar todas las sesiones activas, ejecuta cualquiera de los siguientes comandos tmux. Puedes hacerlo dentro del shell principal o virtual:&amp;lt;blockquote&amp;gt;tmux list-sessions&lt;br /&gt;
&lt;br /&gt;
tmux ls&amp;lt;/blockquote&amp;gt;Tu interfaz de línea de comandos mostrará todas las sesiones con detalles como su nombre, ID, número de ventanas y fecha de creación. También verás a cuál estás conectado actualmente.&lt;br /&gt;
&lt;br /&gt;
Si estás en una sesión de terminal virtual, puedes cambiar a otra utilizando el siguiente comando. Al igual que para volver a conectarte, utiliza el nombre o el número de ID:&amp;lt;blockquote&amp;gt;tmux switch -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;Para terminar la sesión actual, introduce &#039;&#039;&#039;exit&#039;&#039;&#039; o pulsa &#039;&#039;&#039;Ctrl-d&#039;&#039;&#039;. Mientras tanto, ejecuta este comando si quieres cerrar una en concreto:&amp;lt;blockquote&amp;gt;tmux kill-session -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Crear y navegar por las ventanas ==&lt;br /&gt;
Por defecto, tu nueva sesión tmux será una única ventana de terminal. Para dividirla en dos, pulsa &#039;&#039;&#039;Ctrl-b + c&#039;&#039;&#039;. La nueva ventana aparecerá en la barra de estado inferior con su nombre y número de identificación.&lt;br /&gt;
&lt;br /&gt;
Tu ventana tmux actual está marcada con un asterisco (&#039;&#039;&#039;*&#039;&#039;&#039;). Puedes pasar a la siguiente ventana pulsando &#039;&#039;&#039;Ctrl-b + n&#039;&#039;&#039; o volver a la anterior utilizando &#039;&#039;&#039;Ctrl-b + p&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
En lugar de alternar entre varias ventanas del terminal, puedes saltar directamente a una concreta pulsando Ctrl-b &#039;&#039;&#039;+ ID numérico&#039;&#039;&#039;. Por ejemplo, pulsa &#039;&#039;&#039;Ctrl-b + 0&#039;&#039;&#039; para volver a la primera ventana.&lt;br /&gt;
&lt;br /&gt;
== Renombrar y organizar ventanas ==&lt;br /&gt;
Por defecto, tmux creará una nueva ventana llamada &#039;&#039;&#039;bash&#039;&#039;&#039; o &#039;&#039;&#039;sh&#039;&#039;&#039;. Si tienes muchos procesos, distinguir entre ellos puede ser difícil, complicando la gestión de tareas.&lt;br /&gt;
&lt;br /&gt;
Asigna a las nuevas ventanas tmux un nombre personalizado para facilitar su identificación. Para ello, navega hasta la que quieras renombrar y pulsa &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039; para entrar en el modo de comandos de tmux. A continuación, ejecuta lo siguiente:&amp;lt;blockquote&amp;gt;rename-window nombre-ventana&amp;lt;/blockquote&amp;gt;Sustituye &#039;&#039;&#039;nombre-ventana&#039;&#039;&#039; por el nombre que desees. Deberías ver cómo cambia la información de la nueva ventana en la barra de estado inferior de la sesión.&lt;br /&gt;
&lt;br /&gt;
== Dividir ventanas en paneles ==&lt;br /&gt;
Para organizar una tarea más específica, divide una ventana en varios paneles. Pulsa &#039;&#039;&#039;Ctrl-b + ”&#039;&#039;&#039; para dividirla horizontalmente o verticalmente utilizando &#039;&#039;&#039;Ctrl-b + %&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Puedes repetir los atajos de división de ventanas para dividir aún más los paneles en áreas de trabajo más pequeñas. &lt;br /&gt;
&lt;br /&gt;
== Navegar y cambiar el tamaño de los paneles ==&lt;br /&gt;
Para navegar entre los paneles, pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; una &#039;&#039;&#039;tecla de flecha&#039;&#039;&#039; según la dirección que prefieras. Tu posición actual se resalta con un borde verde.&lt;br /&gt;
&lt;br /&gt;
También puedes pasar al panel siguiente pulsando &#039;&#039;&#039;Ctrl-b + o&#039;&#039;&#039;, o volver al anterior utilizando el atajo de teclado &#039;&#039;&#039;Ctrl-b + ;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, al dividir una ventana se crearán dos paneles con tamaños idénticos. Para cambiar la dimensión, pulsa &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; y mantén pulsado &#039;&#039;&#039;Alt&#039;&#039;&#039; y el botón de &#039;&#039;&#039;flecha&#039;&#039;&#039; según la dirección para cambiar el tamaño.&lt;br /&gt;
&lt;br /&gt;
Pulsa &#039;&#039;&#039;arriba&#039;&#039;&#039; y &#039;&#039;&#039;abajo&#039;&#039;&#039; para cambiar la altura. Mientras tanto, utiliza la tecla de flecha &#039;&#039;&#039;derecha&#039;&#039;&#039; o &#039;&#039;&#039;izquierda&#039;&#039;&#039; para ajustar la anchura.&lt;br /&gt;
&lt;br /&gt;
== Cerrar paneles ==&lt;br /&gt;
Para cerrar un panel, navega hasta el que quieras cerrar y pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; &amp;amp;. Sin embargo, recomendamos evitar este método, ya que la falta de un mensaje de confirmación lo hace propenso al borrado accidental.&lt;br /&gt;
&lt;br /&gt;
En su lugar, pulsa &#039;&#039;&#039;Ctrl-b + x&#039;&#039;&#039; para cerrar un panel de forma segura. Esto mostrará una ventana de verificación, que deberás confirmar pulsando &#039;&#039;&#039;Y,&#039;&#039;&#039; y pulsando &#039;&#039;&#039;Intro&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Terminar los paneles no afectará a las tareas de otras sesiones. Además, recuerda que este proceso es irreversible.&lt;br /&gt;
&lt;br /&gt;
== Personalizar tmux ==&lt;br /&gt;
Tmux te permite crear un archivo de configuración al que puedes añadir código, personalizando su aspecto y comportamiento. Según el ámbito, puede ser &#039;&#039;&#039;local&#039;&#039;&#039; o &#039;&#039;&#039;global.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
El archivo &#039;&#039;&#039;local&#039;&#039;&#039; se aplica a un usuario concreto y se encuentra en el directorio bash por defecto de la cuenta. Ejecuta lo siguiente para crearlo:&amp;lt;blockquote&amp;gt;sudo touch ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Mientras tanto, la configuración &#039;&#039;&#039;global&#039;&#039;&#039; se aplica a todo el sistema y se encuentra en el directorio &#039;&#039;&#039;/etc&#039;&#039;&#039;. A continuación te explicamos cómo hacer una:&amp;lt;blockquote&amp;gt;sudo touch /etc/tmux.conf&amp;lt;/blockquote&amp;gt;Un ejemplo de configuración que he leído es:  &lt;br /&gt;
&lt;br /&gt;
https://www.hostinger.es/tutoriales/tmux-config&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, el siguiente fragmento cambiará las combinaciones de teclas prefijadas por defecto de &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; a &#039;&#039;&#039;Ctrl -a&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Change prefix from &#039;Ctrl+B&#039; to &#039;Ctrl+A&#039;&lt;br /&gt;
&lt;br /&gt;
unbind C-b&lt;br /&gt;
&lt;br /&gt;
set-option -g prefix C-a&lt;br /&gt;
&lt;br /&gt;
bind-key C-a send-prefix&amp;lt;/blockquote&amp;gt;Además, puedes modificar el número de ID inicial. Por ejemplo, el siguiente código de configuración de tmux lo cambia de &#039;&#039;&#039;0&#039;&#039;&#039; a &#039;&#039;&#039;1&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Start counting pane and window number at 1&lt;br /&gt;
&lt;br /&gt;
set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
setw -g pane-base-index 1&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tweaks y links ==&lt;br /&gt;
Podemos aplicar configuraciones predeterminadas, por ejemplo, podemos editar nuestro fichero de comandos de perfil, por ejemplo: .bashrc o .zshrc, y añadir al final:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;tmux new-session \; split-window -h \; split-window -v \; attach&amp;quot;&lt;br /&gt;
&lt;br /&gt;
alias tmuxClose=&amp;quot;tmux kill-ses -t 0&amp;quot;&amp;lt;/blockquote&amp;gt;Cerramos sesión y recargamos la ruta de perfil, por ejemplo:&amp;lt;blockquote&amp;gt;source .zshrc&amp;lt;/blockquote&amp;gt;Y ejecutamos:&amp;lt;blockquote&amp;gt;tmuxAll&amp;lt;/blockquote&amp;gt;automáticamente se dividirá en dos ventanas verticales y en la ventana de la derecha se divide en dos horizontales.&lt;br /&gt;
&lt;br /&gt;
Para cerrar la sesión ejecutamos el otro alias.&amp;lt;blockquote&amp;gt;tmuxClose&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Estos atajos y más en:&lt;br /&gt;
&lt;br /&gt;
https://tmuxcheatsheet.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
También con un script, por ejemplo:&amp;lt;blockquote&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
SESSION=&amp;quot;System&amp;quot;&lt;br /&gt;
&lt;br /&gt;
HEIGHT=$(tput lines)&lt;br /&gt;
&lt;br /&gt;
PANEL_HTOP=15&lt;br /&gt;
&lt;br /&gt;
PANEL_LOGS=30&lt;br /&gt;
&lt;br /&gt;
tmux has-session -t $SESSION 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
if [ $? != 0 ]; then&lt;br /&gt;
&lt;br /&gt;
  tmux new-session -d -s $SESSION -n Principal &amp;quot;zsh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux split-window -v -t $SESSION:0 -l $PANEL_HTOP &amp;quot;htop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux split-window -v -t $SESSION:0 -l $PANEL_LOGS &amp;quot;journalctl -f&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux select-layout -t $SESSION:0 even-vertical&lt;br /&gt;
&lt;br /&gt;
  tmux set-option -t $SESSION mouse on&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
tmux attach -t $SESSION&amp;lt;/blockquote&amp;gt;Conservamos el fichero como ~/.tmux_start.sh&lt;br /&gt;
&lt;br /&gt;
Damos permisos:&amp;lt;blockquote&amp;gt;chmod +x ~/tmux-start.sh&amp;lt;/blockquote&amp;gt;Y añadimos el alias al intérprete que utilizamos:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;~/tmux-start.sh&amp;quot;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuraciones ===&lt;br /&gt;
&lt;br /&gt;
Se pueden utilizar plantillas de configuración para cambiar colores, barras... por ejemplo, con un fichero &amp;quot;tmux.conf&amp;quot; con el siguiente contenido:&lt;br /&gt;
 # start window index at 1&lt;br /&gt;
&lt;br /&gt;
 set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
 # start pane index at 1&lt;br /&gt;
&lt;br /&gt;
 set -g pane-base-index 1&lt;br /&gt;
&lt;br /&gt;
 # re-number windows when one is closed&lt;br /&gt;
&lt;br /&gt;
 set -g renumber-windows on&lt;br /&gt;
&lt;br /&gt;
 # Remapping prefix&lt;br /&gt;
&lt;br /&gt;
 unbind-key C-b&lt;br /&gt;
&lt;br /&gt;
 set-option -g prefix C-s # setting prefix from C-b to C-s&lt;br /&gt;
&lt;br /&gt;
 bind-key C-s send-prefix # ensure that we can send Ctrl-s to other apps or the shell&lt;br /&gt;
&lt;br /&gt;
 # Split panel with the current path&lt;br /&gt;
&lt;br /&gt;
 unbind % &lt;br /&gt;
&lt;br /&gt;
 unbind &#039;&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
 bind &#039;\&#039; split-window -h -c &#039;#{pane_current_path}&#039;           &lt;br /&gt;
&lt;br /&gt;
 bind &#039;-&#039; split-window -v -c &#039;#{pane_current_path}&#039;&lt;br /&gt;
&lt;br /&gt;
 # Use Alt-arrow keys without prefix key to switch panes&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Left select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Right select-pane -R&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Up select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Down select-pane -D&lt;br /&gt;
&lt;br /&gt;
 # Shift arrow to switch windows&lt;br /&gt;
&lt;br /&gt;
 bind -n S-Left  previous-window&lt;br /&gt;
&lt;br /&gt;
 bind -n S-Right next-window&lt;br /&gt;
&lt;br /&gt;
 # Vim style pane selection&lt;br /&gt;
&lt;br /&gt;
 bind h select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind j select-pane -D&lt;br /&gt;
&lt;br /&gt;
 bind k select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind l select-pane -R&lt;br /&gt;
&lt;br /&gt;
 # Use Alt-vim keys without prefix key to switch panes&lt;br /&gt;
&lt;br /&gt;
 bind -n M-h select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind -n M-j select-pane -D&lt;br /&gt;
&lt;br /&gt;
 bind -n M-k select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind -n M-l select-pane -R&lt;br /&gt;
&lt;br /&gt;
 ## Capture current tmux buffer and copy it to system clipboard with prefix + &#039;Ctrl + c&#039;&lt;br /&gt;
&lt;br /&gt;
 #bind C-c run &amp;quot;tmux save-buffer - | xclip -i -sel clipboard&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 ## Optional - paste from system clipboard to tmux session with prefix + &#039;Ctrl + v&#039;&lt;br /&gt;
&lt;br /&gt;
 #bind C-v run &amp;quot;tmux set-buffer &amp;quot;$(xclip -o -sel clipboard)&amp;quot;; tmux paste-buffer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 #copy and paste vim style&lt;br /&gt;
&lt;br /&gt;
 ## Enable vi-copy-mode&lt;br /&gt;
&lt;br /&gt;
 setw -g mode-keys vi &lt;br /&gt;
&lt;br /&gt;
 # Turn off mouse and use vim keys for navigations&lt;br /&gt;
&lt;br /&gt;
 # turn this on if you want to use touchpad or mouse to scroll through terminal&lt;br /&gt;
&lt;br /&gt;
 setw -g mouse off &lt;br /&gt;
&lt;br /&gt;
 ## changing the key to enter copy mode from `[` to `ESC`&lt;br /&gt;
&lt;br /&gt;
 unbind [&lt;br /&gt;
&lt;br /&gt;
 bind Escape copy-mode&lt;br /&gt;
&lt;br /&gt;
 ## unbind p and set it to paste from buffer&lt;br /&gt;
&lt;br /&gt;
 unbind p&lt;br /&gt;
&lt;br /&gt;
 bind p paste-buffer&lt;br /&gt;
&lt;br /&gt;
 ## set keys for visual mode (v) and yank/copy (y)&lt;br /&gt;
&lt;br /&gt;
 bind-key -Tcopy-mode-vi &#039;v&#039; send -X begin-selection&lt;br /&gt;
&lt;br /&gt;
 bind-key -Tcopy-mode-vi &#039;y&#039; send -X copy-pipe-and-cancel &#039;xclip -in -selection clipboard&#039;&lt;br /&gt;
&lt;br /&gt;
 # unbind r&lt;br /&gt;
&lt;br /&gt;
 # bind r source-file ~/.tmux.conf \; display &amp;quot;Reloaded tmux config!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # Automatically set the window title&lt;br /&gt;
&lt;br /&gt;
 set-window-option -g automatic-rename off&lt;br /&gt;
&lt;br /&gt;
 # activity notifications&lt;br /&gt;
&lt;br /&gt;
 setw -g monitor-activity on&lt;br /&gt;
&lt;br /&gt;
 setw -g visual-activity on&lt;br /&gt;
&lt;br /&gt;
 # Improve terminal colors&lt;br /&gt;
&lt;br /&gt;
 set -g default-terminal &amp;quot;screen-256color&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 set -ga terminal-overrides &amp;quot;,xterm-256color:Tc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # increase scrollback buffer to 10000&lt;br /&gt;
&lt;br /&gt;
 set -g history-limit 10000&lt;br /&gt;
Lo guardamos y lo llamamos con:&amp;lt;blockquote&amp;gt;tmux source tmux.conf&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tmux plugins ===&lt;br /&gt;
Para hacerlo mucho más fácil, podemos descargar y aplicar una serie de complementos del &#039;&#039;&#039;git&#039;&#039;&#039; oficial, primero tenemos que instalar un complemento para copiar y pegar texto del terminal con &#039;&#039;&#039;xclip&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;sudo dnf install -y xclip&amp;lt;/blockquote&amp;gt;Y bajamos con git:&amp;lt;blockquote&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://github.com/tmux-plugins/tpm&amp;lt;/nowiki&amp;gt; ~/.tmux/plugins/tpm&amp;lt;/blockquote&amp;gt;Y modificamos el fichero de configuración:&amp;lt;blockquote&amp;gt;nvim ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Con mi ejemplo:&lt;br /&gt;
 # List of plugins&lt;br /&gt;
&lt;br /&gt;
 set -g mouse on&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;tmux-plugins/tpm&#039;&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;tmux-plugins/tmux-sensible&#039;&lt;br /&gt;
&lt;br /&gt;
 # Other examples:&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &amp;quot;arcticicestudio/nord-tmux&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)&lt;br /&gt;
&lt;br /&gt;
 run -b &#039;~/.tmux/plugins/tpm/tpm&#039;&lt;br /&gt;
Con este ejemplo también aplico un tema que me encanta, el nord o nordly.&lt;br /&gt;
&lt;br /&gt;
Guardamos y abrimos con &amp;quot;tmux&amp;quot; y aplicamos con &amp;quot;CTRL + I&amp;quot; ( importante, la &amp;quot;i&amp;quot; es mayúscula).&lt;br /&gt;
[[Archivo:TmuxNord.png|centro|miniaturadeimagen]]Más información del administrador en: https://github.com/tmux-plugins/tpm&lt;br /&gt;
&lt;br /&gt;
Otra referéncia utilizada: https://arcolinux.com/everthing-you-need-to-know-about-tmux-configuration/&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Sensors&amp;diff=560</id>
		<title>Sensors</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Sensors&amp;diff=560"/>
		<updated>2025-05-27T08:59:09Z</updated>

		<summary type="html">&lt;p&gt;Admin: Página creada con «== lm_sensors en Fedora: Monitorizando la Temperatura y el Voltaje de tu Sistema ==  &amp;#039;&amp;#039;&amp;#039;lm_sensors&amp;#039;&amp;#039;&amp;#039; es una suite de herramientas de línea de comandos que te permite monitorear la temperatura de la CPU, GPU, discos duros, y otros sensores en tu sistema Linux, así como el voltaje y la velocidad de los ventiladores. Es una herramienta esencial para la detección de problemas de hardware o para asegurarte de que tu sistema funciona dentro de los rangos de temperatura…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== lm_sensors en Fedora: Monitorizando la Temperatura y el Voltaje de tu Sistema ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;lm_sensors&#039;&#039;&#039; es una suite de herramientas de línea de comandos que te permite monitorear la temperatura de la CPU, GPU, discos duros, y otros sensores en tu sistema Linux, así como el voltaje y la velocidad de los ventiladores. Es una herramienta esencial para la detección de problemas de hardware o para asegurarte de que tu sistema funciona dentro de los rangos de temperatura seguros.&lt;br /&gt;
&lt;br /&gt;
=== Instalación ===&lt;br /&gt;
&lt;br /&gt;
La instalación de lm_sensors en Fedora es un proceso sencillo. Abre una terminal y ejecuta el siguiente comando como usuario root o utilizando `sudo`:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install lm_sensors&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuración Inicial ===&lt;br /&gt;
&lt;br /&gt;
Una vez instalado, necesitarás detectar los sensores de tu sistema. Ejecuta el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo sensors-detect&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Este comando te hará una serie de preguntas. En la mayoría de los casos, puedes presionar &#039;&#039;Enter&#039;&#039; para aceptar las opciones por defecto, que son las más seguras. El proceso intentará identificar los módulos del kernel necesarios para que los sensores funcionen correctamente.&lt;br /&gt;
&lt;br /&gt;
Al finalizar, `sensors-detect` te sugerirá añadir ciertas líneas a `/etc/modules-load.d/sensors.conf` para que los módulos se carguen automáticamente al inicio del sistema. Es recomendable seguir esta sugerencia.&lt;br /&gt;
&lt;br /&gt;
=== Uso Básico ===&lt;br /&gt;
&lt;br /&gt;
Para ver la información de los sensores detectados, simplemente ejecuta el comando `sensors`:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sensors&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esto mostrará una salida similar a la siguiente (la salida exacta variará dependiendo de tu hardware):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
k10temp-pci-00c3&lt;br /&gt;
Adapter: PCI adapter&lt;br /&gt;
temp1:        +35.2°C  (high = +70.0°C)&lt;br /&gt;
&lt;br /&gt;
nvme-pci-0100&lt;br /&gt;
Adapter: PCI adapter&lt;br /&gt;
Composite:    +39.9°C  (low  = -273.1°C, high = +84.8°C)&lt;br /&gt;
                       (crit = +89.8°C)&lt;br /&gt;
Sensor 1:     +39.9°C  (low  = -273.1°C, high = +65.8°C)&lt;br /&gt;
                       (crit = +65.8°C)&lt;br /&gt;
&lt;br /&gt;
nct6798-isa-0290&lt;br /&gt;
Adapter: ISA adapter&lt;br /&gt;
Vcore:        +0.984 V  (min = +0.000 V, max = +1.744 V)&lt;br /&gt;
Vccsa:        +1.000 V  (min = +0.000 V, max = +1.744 V)&lt;br /&gt;
Vccddr:       +1.200 V  (min = +0.000 V, max = +1.744 V)&lt;br /&gt;
CPU Fan:     1200 RPM  (min =    0 RPM)&lt;br /&gt;
System Fan:   900 RPM  (min =    0 RPM)&lt;br /&gt;
temp1:        +29.0°C  (high = +70.0°C, hyst = +68.0°C)&lt;br /&gt;
                       (crit = +80.0°C, hyst = +75.0°C)  sensor = thermistor&lt;br /&gt;
temp2:        +32.0°C  (high = +70.0°C, hyst = +68.0°C)&lt;br /&gt;
                       (crit = +80.0°C, hyst = +75.0°C)  sensor = CPU diode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En esta salida puedes ver:&lt;br /&gt;
* &#039;&#039;&#039;Temperaturas:&#039;&#039;&#039; De tu CPU (`k10temp`), NVMe (`nvme-pci`), y otros sensores de la placa base (`nct6798`).&lt;br /&gt;
* &#039;&#039;&#039;Voltajes:&#039;&#039;&#039; De varios componentes como Vcore (voltaje del núcleo de la CPU).&lt;br /&gt;
* &#039;&#039;&#039;Velocidad de ventiladores:&#039;&#039;&#039; RPM de los ventiladores de la CPU y del sistema.&lt;br /&gt;
&lt;br /&gt;
=== Monitorización Continua (opcional) ===&lt;br /&gt;
&lt;br /&gt;
Si deseas monitorizar los valores de los sensores de forma continua, puedes usar el comando `watch` junto con `sensors`:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
watch -n 2 sensors&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esto actualizará la salida de `sensors` cada 2 segundos, permitiéndote ver los cambios en tiempo real. Para salir, presiona `Ctrl+C`.&lt;br /&gt;
&lt;br /&gt;
=== Integración con herramientas de monitorización ===&lt;br /&gt;
&lt;br /&gt;
Muchos entornos de escritorio y herramientas de monitorización de terceros pueden integrarse con `lm_sensors` para mostrar la información de forma gráfica. Algunas opciones populares incluyen:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;GNOME Shell Extensions:&#039;&#039;&#039; Busca extensiones como &amp;quot;Sensors&amp;quot; o &amp;quot;Vitals&amp;quot; en el sitio web de GNOME Extensions.&lt;br /&gt;
* &#039;&#039;&#039;KDE Plasma Widgets:&#039;&#039;&#039; Plasma ofrece widgets de monitorización del sistema que pueden mostrar datos de sensores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Solución de Problemas ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sensores no detectados:&#039;&#039;&#039; Si después de ejecutar `sensors-detect` no se muestran todos los sensores que esperas, puede que tu hardware no sea totalmente compatible o que necesite un módulo del kernel específico que no se detectó automáticamente. Consulta la documentación de tu placa base o busca en línea por modelos específicos de sensores.&lt;br /&gt;
* &#039;&#039;&#039;Permisos:&#039;&#039;&#039; Asegúrate de ejecutar `sensors-detect` con `sudo` para que tenga los permisos necesarios para sondear el hardware.&lt;br /&gt;
&lt;br /&gt;
Con `lm_sensors` instalado y configurado, tendrás una valiosa herramienta para mantener un ojo en la salud de tu sistema Fedora.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Fedora]]&lt;br /&gt;
[[Categoría:Herramientas de sistema]]&lt;br /&gt;
[[Categoría:Monitorización]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Comandos_Linux&amp;diff=559</id>
		<title>Comandos Linux</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Comandos_Linux&amp;diff=559"/>
		<updated>2025-05-27T08:57:31Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Herramientas de consola */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Es muy importante conocer y trabajar Linux por comandos, es decir, una serie de instrucciones ejecutadas en el terminal del sistema.&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, si hemos instalado nuestro Sistema Operativo con Fedora, podemos acabar la instalación con una serie de comandos, lo explico en la página:&lt;br /&gt;
&lt;br /&gt;
[[Completando la instalación del escritorio Fedora]]&lt;br /&gt;
&lt;br /&gt;
Ahora que entramos en el trabajo de terminal es necesario tener conocimiento de las [[interficies de comandos]] como bash, zsh...&lt;br /&gt;
&lt;br /&gt;
Podemos catalogar los comandos de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
== Comandos básicos ==&lt;br /&gt;
Los [[Comandos básicos en linux]] son una entrada obligatoria para acostumbrarnos al trabajo por consola, como la copia, renombrar, accesos directos, permisos...&lt;br /&gt;
== Permisos en Linux ==&lt;br /&gt;
&lt;br /&gt;
* [[chmod]] - permisos de propiedad, ya explicado en los comandos básicos.&lt;br /&gt;
* [[chown]] - permisos de propietario, ya explicado en los comandos básicos.&lt;br /&gt;
* [[Permisos especiales en Linux]] - persistir la propiedad a un usuario, un grupo u otros.&lt;br /&gt;
&lt;br /&gt;
== Editores de texto ==&lt;br /&gt;
&lt;br /&gt;
* [[nano]] - editor básico y sencillo por consola&lt;br /&gt;
* [[vi]] o [[Vim]] - editor avanzado incluido en todas las distribuciones.&lt;br /&gt;
* [[nvim]] - o NeoVim, como editor avanzado con capacidad de trabajar con complementos que aumentan su productividad.&lt;br /&gt;
&lt;br /&gt;
== Herramientas de consola ==&lt;br /&gt;
Desde la línea de comandos podemos utilizar programas que amplían el mantenimiento de nuestro equipo o servidor. &lt;br /&gt;
&lt;br /&gt;
* [[Gestión de tareas en segundo plano en Linux: Los comandos jobs, bg y fg]]&lt;br /&gt;
* [[Byobu]] - Ejecuta terminales virtuales&lt;br /&gt;
* [[htop]] - Herramienta de monitorizado de los recursos del equipo como el consumo de CPU, RAM, procesos...&lt;br /&gt;
* [[sensors]] - Monitorizando la Temperatura y el Voltaje de tu Sistema.&lt;br /&gt;
&lt;br /&gt;
== Herramientas de búsqueda ==&lt;br /&gt;
&lt;br /&gt;
* [[find]] - es la herramienta más utilizada para hacer búsquedas de ficheros o directorios y ejecutar procesos.&lt;br /&gt;
* awk&lt;br /&gt;
&lt;br /&gt;
== Administración de sistema ==&lt;br /&gt;
Aquí encontramos ficheros y configuraciones importantes para gestionar el servidor:&lt;br /&gt;
&lt;br /&gt;
* [[cron]] - Gestor de tareas programadas.&lt;br /&gt;
* [[journalctl]] - Administrador de informes de equipos bajo [[SystemD]].&lt;br /&gt;
* [[spf]] - o SuPer File explorer como explorador de ficheros y directorios por consola.&lt;br /&gt;
&lt;br /&gt;
== Cortafuegos y arquitectura de seguridad ==&lt;br /&gt;
&lt;br /&gt;
* [[iptables]] -  cortafuegos integrado por kernel en todas las distribuciones.&lt;br /&gt;
* [[firewall-cmd]] - variente de cortafuegos que encontramos en todas las distribuciones basadas en [[Red Hat]]&lt;br /&gt;
* [[SELinux]] - arquitectura de seguridad sobre ficheros desde Kernel.&lt;br /&gt;
* [[namp]] - Mapeo de la red local&lt;br /&gt;
&lt;br /&gt;
== Administración de ficheros ==&lt;br /&gt;
Desde la consola podemos administrar ficheros, directorios y podemos persistir puntos de montaje.&lt;br /&gt;
&lt;br /&gt;
=== Cifrado de particiones ===&lt;br /&gt;
&lt;br /&gt;
* [[LUKS]]&lt;br /&gt;
&lt;br /&gt;
=== Persistiendo montaje ===&lt;br /&gt;
&lt;br /&gt;
* [[AUTOFS]] - herramienta de automatización de montaje de sistemas de archivos que se utiliza para montar automáticamente sistemas de archivos remotos (como NFS, SMB/CIFS, etc.) &lt;br /&gt;
&lt;br /&gt;
== Gestión de paquetes de programas ==&lt;br /&gt;
Los programas pueden ser fácilmente instalados hoy en día por gestores propios de la distribución linux, en Fedora se caracteriza por utilizar DNF y Flatpak, pero podemos encontrar en otras distribuciones basadas en Debian el gestor APT o SNAP.&lt;br /&gt;
&lt;br /&gt;
* [[DNF]] - &#039;&#039;&#039;DNF (Dandified Yum)&#039;&#039;&#039; es un administrador de paquetes de nivel superior utilizado en distribuciones de &#039;&#039;&#039;Linux&#039;&#039;&#039; como &#039;&#039;&#039;Fedora, CentOS y RHEL&#039;&#039;&#039;.&lt;br /&gt;
* [[Flatpak]] - &#039;&#039;&#039;Flatpak&#039;&#039;&#039; es un sistema de paquetes de software que funciona en varias distribuciones de Linux, incluidas &#039;&#039;&#039;Debian, Fedora y Ubuntu&#039;&#039;&#039;.&lt;br /&gt;
* [[Snap]] - &#039;&#039;&#039;Snap&#039;&#039;&#039; es similar a &#039;&#039;&#039;Flatpak&#039;&#039;&#039; en el sentido de que es un sistema de paquetes de software independiente del sistema operativo subyacente.&lt;br /&gt;
&lt;br /&gt;
== Útiles ==&lt;br /&gt;
&lt;br /&gt;
* [[Youtube-dl]] - Descarga videos o música directamente de un enlace de [https://www.youtube.com Youtube].&lt;br /&gt;
&lt;br /&gt;
== Copias de seguridad ==&lt;br /&gt;
Es vital tener copias de seguridad de nuestro equipo o nuestro servidor y más si se pueden hacer a un dispositivo externo o remoto.&lt;br /&gt;
&lt;br /&gt;
Existen numerosos programas, de entre todos ponemos de ejemplo:&lt;br /&gt;
&lt;br /&gt;
*[[rsnapshot]] - un programa sencillo pero potente que utiliza [[rsync]] como núcleo de trabajo y que solo trabaja desde consola.&lt;br /&gt;
*[[BackInTime]] - un programa gráfico sencillo que utiliza [[rsync]] como núcleo de trabajo.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=558</id>
		<title>TMUX</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=558"/>
		<updated>2025-05-27T05:36:04Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Tmux plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
[https://man.openbsd.org/OpenBSD-current/man1/tmux.1 Tmux] es un multiplexor de terminal donde se pueden crear varias sesiones de &#039;&#039;&#039;shell&#039;&#039;&#039; en tu sistema, cada una ejecutando un proceso distinto. Mantiene las tareas ejecutándose en segundo plano, aceptando que los usuarios continúen su trabajo luego.&lt;br /&gt;
&lt;br /&gt;
Tmux permite crear múltiples sesiones de terminal para una colaboración eficiente. Para mejorar tu flujo de trabajo, también puedes modificar la configuración mediante el archivo tmux.conf.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
Como la mayoría de programas básicos, este lo encontramos en los repositorios. &lt;br /&gt;
&lt;br /&gt;
Para &#039;&#039;&#039;Fedora&#039;&#039;&#039; o distribuciones basadas en &#039;&#039;&#039;RHEL&#039;&#039;&#039; se puede ejecutar:&amp;lt;blockquote&amp;gt;sudo dnf install tmux&amp;lt;/blockquote&amp;gt;O &#039;&#039;&#039;Ubuntu&#039;&#039;&#039; y distribuciones basadas en Debian:&amp;lt;blockquote&amp;gt;sudo apt install tmux&amp;lt;/blockquote&amp;gt;Una vez instalado solo es necesario invocarlo con:&amp;lt;blockquote&amp;gt;tmux&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comandos y atajos ==&lt;br /&gt;
Los atajos de teclado de tmux son esenciales para la gestión de ventanas y paneles. Aquí tienes algunas de las combinaciones de teclas más útiles y sus funciones:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + d:&#039;&#039;&#039; salir de la sesión actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + %:&#039;&#039;&#039; dividir una ventana en paneles superior e inferior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + “:&#039;&#039;&#039; dividir una ventana en dos paneles verticalmente.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + flecha:&#039;&#039;&#039; mover a un panel diferente en una dirección.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + x:&#039;&#039;&#039; cerrar el panel actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + c:&#039;&#039;&#039; crear una nueva ventana.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + n:&#039;&#039;&#039; pasar a la siguiente ventana según el número.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + p:&#039;&#039;&#039; volver a la ventana anterior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + número ID&#039;&#039;&#039;: saltar a una ventana concreta utilizando el número ID.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039;  abrir el modo línea de comandos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + ?:&#039;&#039;&#039; mostrar todos los atajos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + w:&#039;&#039;&#039; lista todas las ventanas de la sesión actual.&lt;br /&gt;
&lt;br /&gt;
Ten en cuenta que los atajos tmux sólo funcionan dentro de una sesión tmux. Además, para que las combinaciones de teclas funcionen, tendrás que pulsar &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; antes de la tecla que quieras utilizar, como se muestra arriba.&lt;br /&gt;
&lt;br /&gt;
NOTA - Si ya tenemos instalado [[byobu]] los atajos predeterminados son los suyos.&lt;br /&gt;
&lt;br /&gt;
== Sesiones ==&lt;br /&gt;
Para iniciar tmux y crear tu primera sesión, ejecuta uno de los siguientes comandos en tu ventana principal de terminal:&amp;lt;blockquote&amp;gt;tmux&lt;br /&gt;
&lt;br /&gt;
tmux new&lt;br /&gt;
&lt;br /&gt;
tmux new-session&amp;lt;/blockquote&amp;gt;Ten en cuenta que debes ejecutar estos comandos en la ventana principal del terminal. Aunque puedes crear una nueva dentro de una sesión existente, no es recomendable y requiere desactivar la variable de entorno &#039;&#039;&#039;$TMUX&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, una nueva sesión tmux utilizará un número ID para identificarse. Sin embargo, puedes darle un nombre personalizado utilizando la opción &#039;&#039;&#039;-s&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;tmux new-session -s [nombre]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Separar y unir sesiones ==&lt;br /&gt;
Después de crear una nueva sesión, se te adjuntará automáticamente a ella. Para desvincularte y abandonar el cliente tmux, pulsa &#039;&#039;&#039;Ctrl-b + d.&#039;&#039;&#039; Para volver a vincularte a la sesión más reciente, utiliza el comando &#039;&#039;&#039;tmux attach-session&#039;&#039;&#039;. También puedes volver a entrar en un shell específico introduciendo:&amp;lt;blockquote&amp;gt;tmux attach-session -t [sesión-nombre]&amp;lt;/blockquote&amp;gt;Alternativamente, vuelve a conectarte a una sesión de destino concreta utilizando su número de &#039;&#039;&#039;ID&#039;&#039;&#039;. Como tmux inicia el orden desde 0 por defecto, introduce lo siguiente para acceder al primer intérprete de órdenes:&amp;lt;blockquote&amp;gt;tmux attach-session -t 0&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestionar sesiones ==&lt;br /&gt;
Para listar todas las sesiones activas, ejecuta cualquiera de los siguientes comandos tmux. Puedes hacerlo dentro del shell principal o virtual:&amp;lt;blockquote&amp;gt;tmux list-sessions&lt;br /&gt;
&lt;br /&gt;
tmux ls&amp;lt;/blockquote&amp;gt;Tu interfaz de línea de comandos mostrará todas las sesiones con detalles como su nombre, ID, número de ventanas y fecha de creación. También verás a cuál estás conectado actualmente.&lt;br /&gt;
&lt;br /&gt;
Si estás en una sesión de terminal virtual, puedes cambiar a otra utilizando el siguiente comando. Al igual que para volver a conectarte, utiliza el nombre o el número de ID:&amp;lt;blockquote&amp;gt;tmux switch -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;Para terminar la sesión actual, introduce &#039;&#039;&#039;exit&#039;&#039;&#039; o pulsa &#039;&#039;&#039;Ctrl-d&#039;&#039;&#039;. Mientras tanto, ejecuta este comando si quieres cerrar una en concreto:&amp;lt;blockquote&amp;gt;tmux kill-session -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Crear y navegar por las ventanas ==&lt;br /&gt;
Por defecto, tu nueva sesión tmux será una única ventana de terminal. Para dividirla en dos, pulsa &#039;&#039;&#039;Ctrl-b + c&#039;&#039;&#039;. La nueva ventana aparecerá en la barra de estado inferior con su nombre y número de identificación.&lt;br /&gt;
&lt;br /&gt;
Tu ventana tmux actual está marcada con un asterisco (&#039;&#039;&#039;*&#039;&#039;&#039;). Puedes pasar a la siguiente ventana pulsando &#039;&#039;&#039;Ctrl-b + n&#039;&#039;&#039; o volver a la anterior utilizando &#039;&#039;&#039;Ctrl-b + p&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
En lugar de alternar entre varias ventanas del terminal, puedes saltar directamente a una concreta pulsando Ctrl-b &#039;&#039;&#039;+ ID numérico&#039;&#039;&#039;. Por ejemplo, pulsa &#039;&#039;&#039;Ctrl-b + 0&#039;&#039;&#039; para volver a la primera ventana.&lt;br /&gt;
&lt;br /&gt;
== Renombrar y organizar ventanas ==&lt;br /&gt;
Por defecto, tmux creará una nueva ventana llamada &#039;&#039;&#039;bash&#039;&#039;&#039; o &#039;&#039;&#039;sh&#039;&#039;&#039;. Si tienes muchos procesos, distinguir entre ellos puede ser difícil, complicando la gestión de tareas.&lt;br /&gt;
&lt;br /&gt;
Asigna a las nuevas ventanas tmux un nombre personalizado para facilitar su identificación. Para ello, navega hasta la que quieras renombrar y pulsa &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039; para entrar en el modo de comandos de tmux. A continuación, ejecuta lo siguiente:&amp;lt;blockquote&amp;gt;rename-window nombre-ventana&amp;lt;/blockquote&amp;gt;Sustituye &#039;&#039;&#039;nombre-ventana&#039;&#039;&#039; por el nombre que desees. Deberías ver cómo cambia la información de la nueva ventana en la barra de estado inferior de la sesión.&lt;br /&gt;
&lt;br /&gt;
== Dividir ventanas en paneles ==&lt;br /&gt;
Para organizar una tarea más específica, divide una ventana en varios paneles. Pulsa &#039;&#039;&#039;Ctrl-b + ”&#039;&#039;&#039; para dividirla horizontalmente o verticalmente utilizando &#039;&#039;&#039;Ctrl-b + %&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Puedes repetir los atajos de división de ventanas para dividir aún más los paneles en áreas de trabajo más pequeñas. &lt;br /&gt;
&lt;br /&gt;
== Navegar y cambiar el tamaño de los paneles ==&lt;br /&gt;
Para navegar entre los paneles, pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; una &#039;&#039;&#039;tecla de flecha&#039;&#039;&#039; según la dirección que prefieras. Tu posición actual se resalta con un borde verde.&lt;br /&gt;
&lt;br /&gt;
También puedes pasar al panel siguiente pulsando &#039;&#039;&#039;Ctrl-b + o&#039;&#039;&#039;, o volver al anterior utilizando el atajo de teclado &#039;&#039;&#039;Ctrl-b + ;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, al dividir una ventana se crearán dos paneles con tamaños idénticos. Para cambiar la dimensión, pulsa &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; y mantén pulsado &#039;&#039;&#039;Alt&#039;&#039;&#039; y el botón de &#039;&#039;&#039;flecha&#039;&#039;&#039; según la dirección para cambiar el tamaño.&lt;br /&gt;
&lt;br /&gt;
Pulsa &#039;&#039;&#039;arriba&#039;&#039;&#039; y &#039;&#039;&#039;abajo&#039;&#039;&#039; para cambiar la altura. Mientras tanto, utiliza la tecla de flecha &#039;&#039;&#039;derecha&#039;&#039;&#039; o &#039;&#039;&#039;izquierda&#039;&#039;&#039; para ajustar la anchura.&lt;br /&gt;
&lt;br /&gt;
== Cerrar paneles ==&lt;br /&gt;
Para cerrar un panel, navega hasta el que quieras cerrar y pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; &amp;amp;. Sin embargo, recomendamos evitar este método, ya que la falta de un mensaje de confirmación lo hace propenso al borrado accidental.&lt;br /&gt;
&lt;br /&gt;
En su lugar, pulsa &#039;&#039;&#039;Ctrl-b + x&#039;&#039;&#039; para cerrar un panel de forma segura. Esto mostrará una ventana de verificación, que deberás confirmar pulsando &#039;&#039;&#039;Y,&#039;&#039;&#039; y pulsando &#039;&#039;&#039;Intro&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Terminar los paneles no afectará a las tareas de otras sesiones. Además, recuerda que este proceso es irreversible.&lt;br /&gt;
&lt;br /&gt;
== Personalizar tmux ==&lt;br /&gt;
Tmux te permite crear un archivo de configuración al que puedes añadir código, personalizando su aspecto y comportamiento. Según el ámbito, puede ser &#039;&#039;&#039;local&#039;&#039;&#039; o &#039;&#039;&#039;global.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
El archivo &#039;&#039;&#039;local&#039;&#039;&#039; se aplica a un usuario concreto y se encuentra en el directorio bash por defecto de la cuenta. Ejecuta lo siguiente para crearlo:&amp;lt;blockquote&amp;gt;sudo touch ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Mientras tanto, la configuración &#039;&#039;&#039;global&#039;&#039;&#039; se aplica a todo el sistema y se encuentra en el directorio &#039;&#039;&#039;/etc&#039;&#039;&#039;. A continuación te explicamos cómo hacer una:&amp;lt;blockquote&amp;gt;sudo touch /etc/tmux.conf&amp;lt;/blockquote&amp;gt;Un ejemplo de configuración que he leído es:  &lt;br /&gt;
&lt;br /&gt;
https://www.hostinger.es/tutoriales/tmux-config&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, el siguiente fragmento cambiará las combinaciones de teclas prefijadas por defecto de &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; a &#039;&#039;&#039;Ctrl -a&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Change prefix from &#039;Ctrl+B&#039; to &#039;Ctrl+A&#039;&lt;br /&gt;
&lt;br /&gt;
unbind C-b&lt;br /&gt;
&lt;br /&gt;
set-option -g prefix C-a&lt;br /&gt;
&lt;br /&gt;
bind-key C-a send-prefix&amp;lt;/blockquote&amp;gt;Además, puedes modificar el número de ID inicial. Por ejemplo, el siguiente código de configuración de tmux lo cambia de &#039;&#039;&#039;0&#039;&#039;&#039; a &#039;&#039;&#039;1&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Start counting pane and window number at 1&lt;br /&gt;
&lt;br /&gt;
set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
setw -g pane-base-index 1&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tweaks y links ==&lt;br /&gt;
Podemos aplicar configuraciones predeterminadas, por ejemplo, podemos editar nuestro fichero de comandos de perfil, por ejemplo: .bashrc o .zshrc, y añadir al final:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;tmux new-session \; split-window -h \; split-window -v \; attach&amp;quot;&lt;br /&gt;
&lt;br /&gt;
alias tmuxClose=&amp;quot;tmux kill-ses -t 0&amp;quot;&amp;lt;/blockquote&amp;gt;Cerramos sesión y recargamos la ruta de perfil, por ejemplo:&amp;lt;blockquote&amp;gt;source .zshrc&amp;lt;/blockquote&amp;gt;Y ejecutamos:&amp;lt;blockquote&amp;gt;tmuxAll&amp;lt;/blockquote&amp;gt;automáticamente se dividirá en dos ventanas verticales y en la ventana de la derecha se divide en dos horizontales.&lt;br /&gt;
&lt;br /&gt;
Para cerrar la sesión ejecutamos el otro alias.&amp;lt;blockquote&amp;gt;tmuxClose&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Estos atajos y más en:&lt;br /&gt;
&lt;br /&gt;
https://tmuxcheatsheet.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
También con un script, por ejemplo:&amp;lt;blockquote&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
SESSION=&amp;quot;System&amp;quot;&lt;br /&gt;
&lt;br /&gt;
HEIGHT=$(tput lines)&lt;br /&gt;
&lt;br /&gt;
PANEL_HTOP=15&lt;br /&gt;
&lt;br /&gt;
PANEL_LOGS=30&lt;br /&gt;
&lt;br /&gt;
tmux has-session -t $SESSION 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
if [ $? != 0 ]; then&lt;br /&gt;
&lt;br /&gt;
  tmux new-session -d -s $SESSION -n Principal &amp;quot;zsh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux split-window -v -t $SESSION:0 -l $PANEL_HTOP &amp;quot;htop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux split-window -v -t $SESSION:0 -l $PANEL_LOGS &amp;quot;journalctl -f&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux select-layout -t $SESSION:0 even-vertical&lt;br /&gt;
&lt;br /&gt;
  tmux set-option -t $SESSION mouse on&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
tmux attach -t $SESSION&amp;lt;/blockquote&amp;gt;Conservamos el fichero como ~/.tmux_start.sh&lt;br /&gt;
&lt;br /&gt;
Damos permisos:&amp;lt;blockquote&amp;gt;chmod +x ~/tmux-start.sh&amp;lt;/blockquote&amp;gt;Y añadimos el alias al intérprete que utilizamos:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;~/tmux-start.sh&amp;quot;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuraciones ===&lt;br /&gt;
&lt;br /&gt;
Se pueden utilizar plantillas de configuración para cambiar colores, barras... por ejemplo, con un fichero &amp;quot;tmux.conf&amp;quot; con el siguiente contenido:&lt;br /&gt;
 # start window index at 1&lt;br /&gt;
&lt;br /&gt;
 set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
 # start pane index at 1&lt;br /&gt;
&lt;br /&gt;
 set -g pane-base-index 1&lt;br /&gt;
&lt;br /&gt;
 # re-number windows when one is closed&lt;br /&gt;
&lt;br /&gt;
 set -g renumber-windows on&lt;br /&gt;
&lt;br /&gt;
 # Remapping prefix&lt;br /&gt;
&lt;br /&gt;
 unbind-key C-b&lt;br /&gt;
&lt;br /&gt;
 set-option -g prefix C-s # setting prefix from C-b to C-s&lt;br /&gt;
&lt;br /&gt;
 bind-key C-s send-prefix # ensure that we can send Ctrl-s to other apps or the shell&lt;br /&gt;
&lt;br /&gt;
 # Split panel with the current path&lt;br /&gt;
&lt;br /&gt;
 unbind % &lt;br /&gt;
&lt;br /&gt;
 unbind &#039;&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
 bind &#039;\&#039; split-window -h -c &#039;#{pane_current_path}&#039;           &lt;br /&gt;
&lt;br /&gt;
 bind &#039;-&#039; split-window -v -c &#039;#{pane_current_path}&#039;&lt;br /&gt;
&lt;br /&gt;
 # Use Alt-arrow keys without prefix key to switch panes&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Left select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Right select-pane -R&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Up select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Down select-pane -D&lt;br /&gt;
&lt;br /&gt;
 # Shift arrow to switch windows&lt;br /&gt;
&lt;br /&gt;
 bind -n S-Left  previous-window&lt;br /&gt;
&lt;br /&gt;
 bind -n S-Right next-window&lt;br /&gt;
&lt;br /&gt;
 # Vim style pane selection&lt;br /&gt;
&lt;br /&gt;
 bind h select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind j select-pane -D&lt;br /&gt;
&lt;br /&gt;
 bind k select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind l select-pane -R&lt;br /&gt;
&lt;br /&gt;
 # Use Alt-vim keys without prefix key to switch panes&lt;br /&gt;
&lt;br /&gt;
 bind -n M-h select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind -n M-j select-pane -D&lt;br /&gt;
&lt;br /&gt;
 bind -n M-k select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind -n M-l select-pane -R&lt;br /&gt;
&lt;br /&gt;
 ## Capture current tmux buffer and copy it to system clipboard with prefix + &#039;Ctrl + c&#039;&lt;br /&gt;
&lt;br /&gt;
 #bind C-c run &amp;quot;tmux save-buffer - | xclip -i -sel clipboard&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 ## Optional - paste from system clipboard to tmux session with prefix + &#039;Ctrl + v&#039;&lt;br /&gt;
&lt;br /&gt;
 #bind C-v run &amp;quot;tmux set-buffer &amp;quot;$(xclip -o -sel clipboard)&amp;quot;; tmux paste-buffer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 #copy and paste vim style&lt;br /&gt;
&lt;br /&gt;
 ## Enable vi-copy-mode&lt;br /&gt;
&lt;br /&gt;
 setw -g mode-keys vi &lt;br /&gt;
&lt;br /&gt;
 # Turn off mouse and use vim keys for navigations&lt;br /&gt;
&lt;br /&gt;
 # turn this on if you want to use touchpad or mouse to scroll through terminal&lt;br /&gt;
&lt;br /&gt;
 setw -g mouse off &lt;br /&gt;
&lt;br /&gt;
 ## changing the key to enter copy mode from `[` to `ESC`&lt;br /&gt;
&lt;br /&gt;
 unbind [&lt;br /&gt;
&lt;br /&gt;
 bind Escape copy-mode&lt;br /&gt;
&lt;br /&gt;
 ## unbind p and set it to paste from buffer&lt;br /&gt;
&lt;br /&gt;
 unbind p&lt;br /&gt;
&lt;br /&gt;
 bind p paste-buffer&lt;br /&gt;
&lt;br /&gt;
 ## set keys for visual mode (v) and yank/copy (y)&lt;br /&gt;
&lt;br /&gt;
 bind-key -Tcopy-mode-vi &#039;v&#039; send -X begin-selection&lt;br /&gt;
&lt;br /&gt;
 bind-key -Tcopy-mode-vi &#039;y&#039; send -X copy-pipe-and-cancel &#039;xclip -in -selection clipboard&#039;&lt;br /&gt;
&lt;br /&gt;
 # unbind r&lt;br /&gt;
&lt;br /&gt;
 # bind r source-file ~/.tmux.conf \; display &amp;quot;Reloaded tmux config!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # Automatically set the window title&lt;br /&gt;
&lt;br /&gt;
 set-window-option -g automatic-rename off&lt;br /&gt;
&lt;br /&gt;
 # activity notifications&lt;br /&gt;
&lt;br /&gt;
 setw -g monitor-activity on&lt;br /&gt;
&lt;br /&gt;
 setw -g visual-activity on&lt;br /&gt;
&lt;br /&gt;
 # Improve terminal colors&lt;br /&gt;
&lt;br /&gt;
 set -g default-terminal &amp;quot;screen-256color&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 set -ga terminal-overrides &amp;quot;,xterm-256color:Tc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # increase scrollback buffer to 10000&lt;br /&gt;
&lt;br /&gt;
 set -g history-limit 10000&lt;br /&gt;
Lo guardamos y lo llamamos con:&amp;lt;blockquote&amp;gt;tmux source tmux.conf&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tmux plugins ===&lt;br /&gt;
Para hacerlo mucho más fácil, podemos descargar y aplicar una serie de complementos del &#039;&#039;&#039;git&#039;&#039;&#039; oficial, primero tenemos que instalar un complemento para copiar y pegar texto del terminal con &#039;&#039;&#039;xclip&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;sudo dnf install -y xclip&amp;lt;/blockquote&amp;gt;Y bajamos con git:&amp;lt;blockquote&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://github.com/tmux-plugins/tpm&amp;lt;/nowiki&amp;gt; ~/.tmux/plugins/tpm&amp;lt;/blockquote&amp;gt;Y modificamos el fichero de configuración:&amp;lt;blockquote&amp;gt;nvim ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Con mi ejemplo:&lt;br /&gt;
 # List of plugins&lt;br /&gt;
&lt;br /&gt;
 set -g mouse on&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;tmux-plugins/tpm&#039;&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;tmux-plugins/tmux-sensible&#039;&lt;br /&gt;
&lt;br /&gt;
 # Other examples:&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &amp;quot;arcticicestudio/nord-tmux&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)&lt;br /&gt;
&lt;br /&gt;
 run -b &#039;~/.tmux/plugins/tpm/tpm&#039;&lt;br /&gt;
Con este ejemplo también aplico un tema que me encanta, el nord o nordly.&lt;br /&gt;
&lt;br /&gt;
Guardamos y abrimos con &amp;quot;tmux&amp;quot; y aplicamos con &amp;quot;CTRL + I&amp;quot; ( importante, la &amp;quot;i&amp;quot; es mayúscula).&lt;br /&gt;
[[Archivo:TmuxNord.png|centro|miniaturadeimagen]]Más información del administrador en: https://github.com/tmux-plugins/tpm&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=557</id>
		<title>TMUX</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=557"/>
		<updated>2025-05-26T05:53:22Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Tmux plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
[https://man.openbsd.org/OpenBSD-current/man1/tmux.1 Tmux] es un multiplexor de terminal donde se pueden crear varias sesiones de &#039;&#039;&#039;shell&#039;&#039;&#039; en tu sistema, cada una ejecutando un proceso distinto. Mantiene las tareas ejecutándose en segundo plano, aceptando que los usuarios continúen su trabajo luego.&lt;br /&gt;
&lt;br /&gt;
Tmux permite crear múltiples sesiones de terminal para una colaboración eficiente. Para mejorar tu flujo de trabajo, también puedes modificar la configuración mediante el archivo tmux.conf.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
Como la mayoría de programas básicos, este lo encontramos en los repositorios. &lt;br /&gt;
&lt;br /&gt;
Para &#039;&#039;&#039;Fedora&#039;&#039;&#039; o distribuciones basadas en &#039;&#039;&#039;RHEL&#039;&#039;&#039; se puede ejecutar:&amp;lt;blockquote&amp;gt;sudo dnf install tmux&amp;lt;/blockquote&amp;gt;O &#039;&#039;&#039;Ubuntu&#039;&#039;&#039; y distribuciones basadas en Debian:&amp;lt;blockquote&amp;gt;sudo apt install tmux&amp;lt;/blockquote&amp;gt;Una vez instalado solo es necesario invocarlo con:&amp;lt;blockquote&amp;gt;tmux&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comandos y atajos ==&lt;br /&gt;
Los atajos de teclado de tmux son esenciales para la gestión de ventanas y paneles. Aquí tienes algunas de las combinaciones de teclas más útiles y sus funciones:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + d:&#039;&#039;&#039; salir de la sesión actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + %:&#039;&#039;&#039; dividir una ventana en paneles superior e inferior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + “:&#039;&#039;&#039; dividir una ventana en dos paneles verticalmente.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + flecha:&#039;&#039;&#039; mover a un panel diferente en una dirección.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + x:&#039;&#039;&#039; cerrar el panel actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + c:&#039;&#039;&#039; crear una nueva ventana.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + n:&#039;&#039;&#039; pasar a la siguiente ventana según el número.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + p:&#039;&#039;&#039; volver a la ventana anterior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + número ID&#039;&#039;&#039;: saltar a una ventana concreta utilizando el número ID.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039;  abrir el modo línea de comandos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + ?:&#039;&#039;&#039; mostrar todos los atajos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + w:&#039;&#039;&#039; lista todas las ventanas de la sesión actual.&lt;br /&gt;
&lt;br /&gt;
Ten en cuenta que los atajos tmux sólo funcionan dentro de una sesión tmux. Además, para que las combinaciones de teclas funcionen, tendrás que pulsar &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; antes de la tecla que quieras utilizar, como se muestra arriba.&lt;br /&gt;
&lt;br /&gt;
NOTA - Si ya tenemos instalado [[byobu]] los atajos predeterminados son los suyos.&lt;br /&gt;
&lt;br /&gt;
== Sesiones ==&lt;br /&gt;
Para iniciar tmux y crear tu primera sesión, ejecuta uno de los siguientes comandos en tu ventana principal de terminal:&amp;lt;blockquote&amp;gt;tmux&lt;br /&gt;
&lt;br /&gt;
tmux new&lt;br /&gt;
&lt;br /&gt;
tmux new-session&amp;lt;/blockquote&amp;gt;Ten en cuenta que debes ejecutar estos comandos en la ventana principal del terminal. Aunque puedes crear una nueva dentro de una sesión existente, no es recomendable y requiere desactivar la variable de entorno &#039;&#039;&#039;$TMUX&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, una nueva sesión tmux utilizará un número ID para identificarse. Sin embargo, puedes darle un nombre personalizado utilizando la opción &#039;&#039;&#039;-s&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;tmux new-session -s [nombre]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Separar y unir sesiones ==&lt;br /&gt;
Después de crear una nueva sesión, se te adjuntará automáticamente a ella. Para desvincularte y abandonar el cliente tmux, pulsa &#039;&#039;&#039;Ctrl-b + d.&#039;&#039;&#039; Para volver a vincularte a la sesión más reciente, utiliza el comando &#039;&#039;&#039;tmux attach-session&#039;&#039;&#039;. También puedes volver a entrar en un shell específico introduciendo:&amp;lt;blockquote&amp;gt;tmux attach-session -t [sesión-nombre]&amp;lt;/blockquote&amp;gt;Alternativamente, vuelve a conectarte a una sesión de destino concreta utilizando su número de &#039;&#039;&#039;ID&#039;&#039;&#039;. Como tmux inicia el orden desde 0 por defecto, introduce lo siguiente para acceder al primer intérprete de órdenes:&amp;lt;blockquote&amp;gt;tmux attach-session -t 0&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestionar sesiones ==&lt;br /&gt;
Para listar todas las sesiones activas, ejecuta cualquiera de los siguientes comandos tmux. Puedes hacerlo dentro del shell principal o virtual:&amp;lt;blockquote&amp;gt;tmux list-sessions&lt;br /&gt;
&lt;br /&gt;
tmux ls&amp;lt;/blockquote&amp;gt;Tu interfaz de línea de comandos mostrará todas las sesiones con detalles como su nombre, ID, número de ventanas y fecha de creación. También verás a cuál estás conectado actualmente.&lt;br /&gt;
&lt;br /&gt;
Si estás en una sesión de terminal virtual, puedes cambiar a otra utilizando el siguiente comando. Al igual que para volver a conectarte, utiliza el nombre o el número de ID:&amp;lt;blockquote&amp;gt;tmux switch -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;Para terminar la sesión actual, introduce &#039;&#039;&#039;exit&#039;&#039;&#039; o pulsa &#039;&#039;&#039;Ctrl-d&#039;&#039;&#039;. Mientras tanto, ejecuta este comando si quieres cerrar una en concreto:&amp;lt;blockquote&amp;gt;tmux kill-session -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Crear y navegar por las ventanas ==&lt;br /&gt;
Por defecto, tu nueva sesión tmux será una única ventana de terminal. Para dividirla en dos, pulsa &#039;&#039;&#039;Ctrl-b + c&#039;&#039;&#039;. La nueva ventana aparecerá en la barra de estado inferior con su nombre y número de identificación.&lt;br /&gt;
&lt;br /&gt;
Tu ventana tmux actual está marcada con un asterisco (&#039;&#039;&#039;*&#039;&#039;&#039;). Puedes pasar a la siguiente ventana pulsando &#039;&#039;&#039;Ctrl-b + n&#039;&#039;&#039; o volver a la anterior utilizando &#039;&#039;&#039;Ctrl-b + p&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
En lugar de alternar entre varias ventanas del terminal, puedes saltar directamente a una concreta pulsando Ctrl-b &#039;&#039;&#039;+ ID numérico&#039;&#039;&#039;. Por ejemplo, pulsa &#039;&#039;&#039;Ctrl-b + 0&#039;&#039;&#039; para volver a la primera ventana.&lt;br /&gt;
&lt;br /&gt;
== Renombrar y organizar ventanas ==&lt;br /&gt;
Por defecto, tmux creará una nueva ventana llamada &#039;&#039;&#039;bash&#039;&#039;&#039; o &#039;&#039;&#039;sh&#039;&#039;&#039;. Si tienes muchos procesos, distinguir entre ellos puede ser difícil, complicando la gestión de tareas.&lt;br /&gt;
&lt;br /&gt;
Asigna a las nuevas ventanas tmux un nombre personalizado para facilitar su identificación. Para ello, navega hasta la que quieras renombrar y pulsa &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039; para entrar en el modo de comandos de tmux. A continuación, ejecuta lo siguiente:&amp;lt;blockquote&amp;gt;rename-window nombre-ventana&amp;lt;/blockquote&amp;gt;Sustituye &#039;&#039;&#039;nombre-ventana&#039;&#039;&#039; por el nombre que desees. Deberías ver cómo cambia la información de la nueva ventana en la barra de estado inferior de la sesión.&lt;br /&gt;
&lt;br /&gt;
== Dividir ventanas en paneles ==&lt;br /&gt;
Para organizar una tarea más específica, divide una ventana en varios paneles. Pulsa &#039;&#039;&#039;Ctrl-b + ”&#039;&#039;&#039; para dividirla horizontalmente o verticalmente utilizando &#039;&#039;&#039;Ctrl-b + %&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Puedes repetir los atajos de división de ventanas para dividir aún más los paneles en áreas de trabajo más pequeñas. &lt;br /&gt;
&lt;br /&gt;
== Navegar y cambiar el tamaño de los paneles ==&lt;br /&gt;
Para navegar entre los paneles, pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; una &#039;&#039;&#039;tecla de flecha&#039;&#039;&#039; según la dirección que prefieras. Tu posición actual se resalta con un borde verde.&lt;br /&gt;
&lt;br /&gt;
También puedes pasar al panel siguiente pulsando &#039;&#039;&#039;Ctrl-b + o&#039;&#039;&#039;, o volver al anterior utilizando el atajo de teclado &#039;&#039;&#039;Ctrl-b + ;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, al dividir una ventana se crearán dos paneles con tamaños idénticos. Para cambiar la dimensión, pulsa &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; y mantén pulsado &#039;&#039;&#039;Alt&#039;&#039;&#039; y el botón de &#039;&#039;&#039;flecha&#039;&#039;&#039; según la dirección para cambiar el tamaño.&lt;br /&gt;
&lt;br /&gt;
Pulsa &#039;&#039;&#039;arriba&#039;&#039;&#039; y &#039;&#039;&#039;abajo&#039;&#039;&#039; para cambiar la altura. Mientras tanto, utiliza la tecla de flecha &#039;&#039;&#039;derecha&#039;&#039;&#039; o &#039;&#039;&#039;izquierda&#039;&#039;&#039; para ajustar la anchura.&lt;br /&gt;
&lt;br /&gt;
== Cerrar paneles ==&lt;br /&gt;
Para cerrar un panel, navega hasta el que quieras cerrar y pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; &amp;amp;. Sin embargo, recomendamos evitar este método, ya que la falta de un mensaje de confirmación lo hace propenso al borrado accidental.&lt;br /&gt;
&lt;br /&gt;
En su lugar, pulsa &#039;&#039;&#039;Ctrl-b + x&#039;&#039;&#039; para cerrar un panel de forma segura. Esto mostrará una ventana de verificación, que deberás confirmar pulsando &#039;&#039;&#039;Y,&#039;&#039;&#039; y pulsando &#039;&#039;&#039;Intro&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Terminar los paneles no afectará a las tareas de otras sesiones. Además, recuerda que este proceso es irreversible.&lt;br /&gt;
&lt;br /&gt;
== Personalizar tmux ==&lt;br /&gt;
Tmux te permite crear un archivo de configuración al que puedes añadir código, personalizando su aspecto y comportamiento. Según el ámbito, puede ser &#039;&#039;&#039;local&#039;&#039;&#039; o &#039;&#039;&#039;global.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
El archivo &#039;&#039;&#039;local&#039;&#039;&#039; se aplica a un usuario concreto y se encuentra en el directorio bash por defecto de la cuenta. Ejecuta lo siguiente para crearlo:&amp;lt;blockquote&amp;gt;sudo touch ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Mientras tanto, la configuración &#039;&#039;&#039;global&#039;&#039;&#039; se aplica a todo el sistema y se encuentra en el directorio &#039;&#039;&#039;/etc&#039;&#039;&#039;. A continuación te explicamos cómo hacer una:&amp;lt;blockquote&amp;gt;sudo touch /etc/tmux.conf&amp;lt;/blockquote&amp;gt;Un ejemplo de configuración que he leído es:  &lt;br /&gt;
&lt;br /&gt;
https://www.hostinger.es/tutoriales/tmux-config&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, el siguiente fragmento cambiará las combinaciones de teclas prefijadas por defecto de &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; a &#039;&#039;&#039;Ctrl -a&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Change prefix from &#039;Ctrl+B&#039; to &#039;Ctrl+A&#039;&lt;br /&gt;
&lt;br /&gt;
unbind C-b&lt;br /&gt;
&lt;br /&gt;
set-option -g prefix C-a&lt;br /&gt;
&lt;br /&gt;
bind-key C-a send-prefix&amp;lt;/blockquote&amp;gt;Además, puedes modificar el número de ID inicial. Por ejemplo, el siguiente código de configuración de tmux lo cambia de &#039;&#039;&#039;0&#039;&#039;&#039; a &#039;&#039;&#039;1&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Start counting pane and window number at 1&lt;br /&gt;
&lt;br /&gt;
set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
setw -g pane-base-index 1&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tweaks y links ==&lt;br /&gt;
Podemos aplicar configuraciones predeterminadas, por ejemplo, podemos editar nuestro fichero de comandos de perfil, por ejemplo: .bashrc o .zshrc, y añadir al final:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;tmux new-session \; split-window -h \; split-window -v \; attach&amp;quot;&lt;br /&gt;
&lt;br /&gt;
alias tmuxClose=&amp;quot;tmux kill-ses -t 0&amp;quot;&amp;lt;/blockquote&amp;gt;Cerramos sesión y recargamos la ruta de perfil, por ejemplo:&amp;lt;blockquote&amp;gt;source .zshrc&amp;lt;/blockquote&amp;gt;Y ejecutamos:&amp;lt;blockquote&amp;gt;tmuxAll&amp;lt;/blockquote&amp;gt;automáticamente se dividirá en dos ventanas verticales y en la ventana de la derecha se divide en dos horizontales.&lt;br /&gt;
&lt;br /&gt;
Para cerrar la sesión ejecutamos el otro alias.&amp;lt;blockquote&amp;gt;tmuxClose&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Estos atajos y más en:&lt;br /&gt;
&lt;br /&gt;
https://tmuxcheatsheet.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
También con un script, por ejemplo:&amp;lt;blockquote&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
SESSION=&amp;quot;System&amp;quot;&lt;br /&gt;
&lt;br /&gt;
HEIGHT=$(tput lines)&lt;br /&gt;
&lt;br /&gt;
PANEL_HTOP=15&lt;br /&gt;
&lt;br /&gt;
PANEL_LOGS=30&lt;br /&gt;
&lt;br /&gt;
tmux has-session -t $SESSION 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
if [ $? != 0 ]; then&lt;br /&gt;
&lt;br /&gt;
  tmux new-session -d -s $SESSION -n Principal &amp;quot;zsh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux split-window -v -t $SESSION:0 -l $PANEL_HTOP &amp;quot;htop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux split-window -v -t $SESSION:0 -l $PANEL_LOGS &amp;quot;journalctl -f&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux select-layout -t $SESSION:0 even-vertical&lt;br /&gt;
&lt;br /&gt;
  tmux set-option -t $SESSION mouse on&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
tmux attach -t $SESSION&amp;lt;/blockquote&amp;gt;Conservamos el fichero como ~/.tmux_start.sh&lt;br /&gt;
&lt;br /&gt;
Damos permisos:&amp;lt;blockquote&amp;gt;chmod +x ~/tmux-start.sh&amp;lt;/blockquote&amp;gt;Y añadimos el alias al intérprete que utilizamos:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;~/tmux-start.sh&amp;quot;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuraciones ===&lt;br /&gt;
&lt;br /&gt;
Se pueden utilizar plantillas de configuración para cambiar colores, barras... por ejemplo, con un fichero &amp;quot;tmux.conf&amp;quot; con el siguiente contenido:&lt;br /&gt;
 # start window index at 1&lt;br /&gt;
&lt;br /&gt;
 set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
 # start pane index at 1&lt;br /&gt;
&lt;br /&gt;
 set -g pane-base-index 1&lt;br /&gt;
&lt;br /&gt;
 # re-number windows when one is closed&lt;br /&gt;
&lt;br /&gt;
 set -g renumber-windows on&lt;br /&gt;
&lt;br /&gt;
 # Remapping prefix&lt;br /&gt;
&lt;br /&gt;
 unbind-key C-b&lt;br /&gt;
&lt;br /&gt;
 set-option -g prefix C-s # setting prefix from C-b to C-s&lt;br /&gt;
&lt;br /&gt;
 bind-key C-s send-prefix # ensure that we can send Ctrl-s to other apps or the shell&lt;br /&gt;
&lt;br /&gt;
 # Split panel with the current path&lt;br /&gt;
&lt;br /&gt;
 unbind % &lt;br /&gt;
&lt;br /&gt;
 unbind &#039;&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
 bind &#039;\&#039; split-window -h -c &#039;#{pane_current_path}&#039;           &lt;br /&gt;
&lt;br /&gt;
 bind &#039;-&#039; split-window -v -c &#039;#{pane_current_path}&#039;&lt;br /&gt;
&lt;br /&gt;
 # Use Alt-arrow keys without prefix key to switch panes&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Left select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Right select-pane -R&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Up select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Down select-pane -D&lt;br /&gt;
&lt;br /&gt;
 # Shift arrow to switch windows&lt;br /&gt;
&lt;br /&gt;
 bind -n S-Left  previous-window&lt;br /&gt;
&lt;br /&gt;
 bind -n S-Right next-window&lt;br /&gt;
&lt;br /&gt;
 # Vim style pane selection&lt;br /&gt;
&lt;br /&gt;
 bind h select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind j select-pane -D&lt;br /&gt;
&lt;br /&gt;
 bind k select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind l select-pane -R&lt;br /&gt;
&lt;br /&gt;
 # Use Alt-vim keys without prefix key to switch panes&lt;br /&gt;
&lt;br /&gt;
 bind -n M-h select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind -n M-j select-pane -D&lt;br /&gt;
&lt;br /&gt;
 bind -n M-k select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind -n M-l select-pane -R&lt;br /&gt;
&lt;br /&gt;
 ## Capture current tmux buffer and copy it to system clipboard with prefix + &#039;Ctrl + c&#039;&lt;br /&gt;
&lt;br /&gt;
 #bind C-c run &amp;quot;tmux save-buffer - | xclip -i -sel clipboard&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 ## Optional - paste from system clipboard to tmux session with prefix + &#039;Ctrl + v&#039;&lt;br /&gt;
&lt;br /&gt;
 #bind C-v run &amp;quot;tmux set-buffer &amp;quot;$(xclip -o -sel clipboard)&amp;quot;; tmux paste-buffer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 #copy and paste vim style&lt;br /&gt;
&lt;br /&gt;
 ## Enable vi-copy-mode&lt;br /&gt;
&lt;br /&gt;
 setw -g mode-keys vi &lt;br /&gt;
&lt;br /&gt;
 # Turn off mouse and use vim keys for navigations&lt;br /&gt;
&lt;br /&gt;
 # turn this on if you want to use touchpad or mouse to scroll through terminal&lt;br /&gt;
&lt;br /&gt;
 setw -g mouse off &lt;br /&gt;
&lt;br /&gt;
 ## changing the key to enter copy mode from `[` to `ESC`&lt;br /&gt;
&lt;br /&gt;
 unbind [&lt;br /&gt;
&lt;br /&gt;
 bind Escape copy-mode&lt;br /&gt;
&lt;br /&gt;
 ## unbind p and set it to paste from buffer&lt;br /&gt;
&lt;br /&gt;
 unbind p&lt;br /&gt;
&lt;br /&gt;
 bind p paste-buffer&lt;br /&gt;
&lt;br /&gt;
 ## set keys for visual mode (v) and yank/copy (y)&lt;br /&gt;
&lt;br /&gt;
 bind-key -Tcopy-mode-vi &#039;v&#039; send -X begin-selection&lt;br /&gt;
&lt;br /&gt;
 bind-key -Tcopy-mode-vi &#039;y&#039; send -X copy-pipe-and-cancel &#039;xclip -in -selection clipboard&#039;&lt;br /&gt;
&lt;br /&gt;
 # unbind r&lt;br /&gt;
&lt;br /&gt;
 # bind r source-file ~/.tmux.conf \; display &amp;quot;Reloaded tmux config!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # Automatically set the window title&lt;br /&gt;
&lt;br /&gt;
 set-window-option -g automatic-rename off&lt;br /&gt;
&lt;br /&gt;
 # activity notifications&lt;br /&gt;
&lt;br /&gt;
 setw -g monitor-activity on&lt;br /&gt;
&lt;br /&gt;
 setw -g visual-activity on&lt;br /&gt;
&lt;br /&gt;
 # Improve terminal colors&lt;br /&gt;
&lt;br /&gt;
 set -g default-terminal &amp;quot;screen-256color&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 set -ga terminal-overrides &amp;quot;,xterm-256color:Tc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # increase scrollback buffer to 10000&lt;br /&gt;
&lt;br /&gt;
 set -g history-limit 10000&lt;br /&gt;
Lo guardamos y lo llamamos con:&amp;lt;blockquote&amp;gt;tmux source tmux.conf&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tmux plugins ===&lt;br /&gt;
Para hacerlo mucho más fácil, podemos descargar y aplicar una serie de complementos del &#039;&#039;&#039;git&#039;&#039;&#039; oficial, primero tenemos que instalar un complemento para copiar y pegar texto del terminal con &#039;&#039;&#039;xclip&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;sudo dnf install -y xclip&amp;lt;/blockquote&amp;gt;Y bajamos con git:&amp;lt;blockquote&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://github.com/tmux-plugins/tpm&amp;lt;/nowiki&amp;gt; ~/.tmux/plugins/tpm&amp;lt;/blockquote&amp;gt;Y modificamos el fichero de configuración:&amp;lt;blockquote&amp;gt;nvim ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Con mi ejemplo:&lt;br /&gt;
 # List of plugins&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;tmux-plugins/tpm&#039;&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;tmux-plugins/tmux-sensible&#039;&lt;br /&gt;
&lt;br /&gt;
 # Other examples:&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &amp;quot;arcticicestudio/nord-tmux&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)&lt;br /&gt;
&lt;br /&gt;
 run -b &#039;~/.tmux/plugins/tpm/tpm&#039;&lt;br /&gt;
Con este ejemplo también aplico un tema que me encanta, el nord o nordly.&lt;br /&gt;
&lt;br /&gt;
Guardamos y abrimos con &amp;quot;tmux&amp;quot; y aplicamos con &amp;quot;CTRL + I&amp;quot; ( importante, la &amp;quot;i&amp;quot; es mayúscula).&lt;br /&gt;
[[Archivo:TmuxNord.png|centro|miniaturadeimagen]]Más información del administrador en: https://github.com/tmux-plugins/tpm&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=556</id>
		<title>TMUX</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=556"/>
		<updated>2025-05-26T05:38:56Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Tmux plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
[https://man.openbsd.org/OpenBSD-current/man1/tmux.1 Tmux] es un multiplexor de terminal donde se pueden crear varias sesiones de &#039;&#039;&#039;shell&#039;&#039;&#039; en tu sistema, cada una ejecutando un proceso distinto. Mantiene las tareas ejecutándose en segundo plano, aceptando que los usuarios continúen su trabajo luego.&lt;br /&gt;
&lt;br /&gt;
Tmux permite crear múltiples sesiones de terminal para una colaboración eficiente. Para mejorar tu flujo de trabajo, también puedes modificar la configuración mediante el archivo tmux.conf.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
Como la mayoría de programas básicos, este lo encontramos en los repositorios. &lt;br /&gt;
&lt;br /&gt;
Para &#039;&#039;&#039;Fedora&#039;&#039;&#039; o distribuciones basadas en &#039;&#039;&#039;RHEL&#039;&#039;&#039; se puede ejecutar:&amp;lt;blockquote&amp;gt;sudo dnf install tmux&amp;lt;/blockquote&amp;gt;O &#039;&#039;&#039;Ubuntu&#039;&#039;&#039; y distribuciones basadas en Debian:&amp;lt;blockquote&amp;gt;sudo apt install tmux&amp;lt;/blockquote&amp;gt;Una vez instalado solo es necesario invocarlo con:&amp;lt;blockquote&amp;gt;tmux&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comandos y atajos ==&lt;br /&gt;
Los atajos de teclado de tmux son esenciales para la gestión de ventanas y paneles. Aquí tienes algunas de las combinaciones de teclas más útiles y sus funciones:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + d:&#039;&#039;&#039; salir de la sesión actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + %:&#039;&#039;&#039; dividir una ventana en paneles superior e inferior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + “:&#039;&#039;&#039; dividir una ventana en dos paneles verticalmente.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + flecha:&#039;&#039;&#039; mover a un panel diferente en una dirección.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + x:&#039;&#039;&#039; cerrar el panel actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + c:&#039;&#039;&#039; crear una nueva ventana.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + n:&#039;&#039;&#039; pasar a la siguiente ventana según el número.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + p:&#039;&#039;&#039; volver a la ventana anterior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + número ID&#039;&#039;&#039;: saltar a una ventana concreta utilizando el número ID.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039;  abrir el modo línea de comandos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + ?:&#039;&#039;&#039; mostrar todos los atajos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + w:&#039;&#039;&#039; lista todas las ventanas de la sesión actual.&lt;br /&gt;
&lt;br /&gt;
Ten en cuenta que los atajos tmux sólo funcionan dentro de una sesión tmux. Además, para que las combinaciones de teclas funcionen, tendrás que pulsar &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; antes de la tecla que quieras utilizar, como se muestra arriba.&lt;br /&gt;
&lt;br /&gt;
NOTA - Si ya tenemos instalado [[byobu]] los atajos predeterminados son los suyos.&lt;br /&gt;
&lt;br /&gt;
== Sesiones ==&lt;br /&gt;
Para iniciar tmux y crear tu primera sesión, ejecuta uno de los siguientes comandos en tu ventana principal de terminal:&amp;lt;blockquote&amp;gt;tmux&lt;br /&gt;
&lt;br /&gt;
tmux new&lt;br /&gt;
&lt;br /&gt;
tmux new-session&amp;lt;/blockquote&amp;gt;Ten en cuenta que debes ejecutar estos comandos en la ventana principal del terminal. Aunque puedes crear una nueva dentro de una sesión existente, no es recomendable y requiere desactivar la variable de entorno &#039;&#039;&#039;$TMUX&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, una nueva sesión tmux utilizará un número ID para identificarse. Sin embargo, puedes darle un nombre personalizado utilizando la opción &#039;&#039;&#039;-s&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;tmux new-session -s [nombre]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Separar y unir sesiones ==&lt;br /&gt;
Después de crear una nueva sesión, se te adjuntará automáticamente a ella. Para desvincularte y abandonar el cliente tmux, pulsa &#039;&#039;&#039;Ctrl-b + d.&#039;&#039;&#039; Para volver a vincularte a la sesión más reciente, utiliza el comando &#039;&#039;&#039;tmux attach-session&#039;&#039;&#039;. También puedes volver a entrar en un shell específico introduciendo:&amp;lt;blockquote&amp;gt;tmux attach-session -t [sesión-nombre]&amp;lt;/blockquote&amp;gt;Alternativamente, vuelve a conectarte a una sesión de destino concreta utilizando su número de &#039;&#039;&#039;ID&#039;&#039;&#039;. Como tmux inicia el orden desde 0 por defecto, introduce lo siguiente para acceder al primer intérprete de órdenes:&amp;lt;blockquote&amp;gt;tmux attach-session -t 0&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestionar sesiones ==&lt;br /&gt;
Para listar todas las sesiones activas, ejecuta cualquiera de los siguientes comandos tmux. Puedes hacerlo dentro del shell principal o virtual:&amp;lt;blockquote&amp;gt;tmux list-sessions&lt;br /&gt;
&lt;br /&gt;
tmux ls&amp;lt;/blockquote&amp;gt;Tu interfaz de línea de comandos mostrará todas las sesiones con detalles como su nombre, ID, número de ventanas y fecha de creación. También verás a cuál estás conectado actualmente.&lt;br /&gt;
&lt;br /&gt;
Si estás en una sesión de terminal virtual, puedes cambiar a otra utilizando el siguiente comando. Al igual que para volver a conectarte, utiliza el nombre o el número de ID:&amp;lt;blockquote&amp;gt;tmux switch -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;Para terminar la sesión actual, introduce &#039;&#039;&#039;exit&#039;&#039;&#039; o pulsa &#039;&#039;&#039;Ctrl-d&#039;&#039;&#039;. Mientras tanto, ejecuta este comando si quieres cerrar una en concreto:&amp;lt;blockquote&amp;gt;tmux kill-session -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Crear y navegar por las ventanas ==&lt;br /&gt;
Por defecto, tu nueva sesión tmux será una única ventana de terminal. Para dividirla en dos, pulsa &#039;&#039;&#039;Ctrl-b + c&#039;&#039;&#039;. La nueva ventana aparecerá en la barra de estado inferior con su nombre y número de identificación.&lt;br /&gt;
&lt;br /&gt;
Tu ventana tmux actual está marcada con un asterisco (&#039;&#039;&#039;*&#039;&#039;&#039;). Puedes pasar a la siguiente ventana pulsando &#039;&#039;&#039;Ctrl-b + n&#039;&#039;&#039; o volver a la anterior utilizando &#039;&#039;&#039;Ctrl-b + p&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
En lugar de alternar entre varias ventanas del terminal, puedes saltar directamente a una concreta pulsando Ctrl-b &#039;&#039;&#039;+ ID numérico&#039;&#039;&#039;. Por ejemplo, pulsa &#039;&#039;&#039;Ctrl-b + 0&#039;&#039;&#039; para volver a la primera ventana.&lt;br /&gt;
&lt;br /&gt;
== Renombrar y organizar ventanas ==&lt;br /&gt;
Por defecto, tmux creará una nueva ventana llamada &#039;&#039;&#039;bash&#039;&#039;&#039; o &#039;&#039;&#039;sh&#039;&#039;&#039;. Si tienes muchos procesos, distinguir entre ellos puede ser difícil, complicando la gestión de tareas.&lt;br /&gt;
&lt;br /&gt;
Asigna a las nuevas ventanas tmux un nombre personalizado para facilitar su identificación. Para ello, navega hasta la que quieras renombrar y pulsa &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039; para entrar en el modo de comandos de tmux. A continuación, ejecuta lo siguiente:&amp;lt;blockquote&amp;gt;rename-window nombre-ventana&amp;lt;/blockquote&amp;gt;Sustituye &#039;&#039;&#039;nombre-ventana&#039;&#039;&#039; por el nombre que desees. Deberías ver cómo cambia la información de la nueva ventana en la barra de estado inferior de la sesión.&lt;br /&gt;
&lt;br /&gt;
== Dividir ventanas en paneles ==&lt;br /&gt;
Para organizar una tarea más específica, divide una ventana en varios paneles. Pulsa &#039;&#039;&#039;Ctrl-b + ”&#039;&#039;&#039; para dividirla horizontalmente o verticalmente utilizando &#039;&#039;&#039;Ctrl-b + %&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Puedes repetir los atajos de división de ventanas para dividir aún más los paneles en áreas de trabajo más pequeñas. &lt;br /&gt;
&lt;br /&gt;
== Navegar y cambiar el tamaño de los paneles ==&lt;br /&gt;
Para navegar entre los paneles, pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; una &#039;&#039;&#039;tecla de flecha&#039;&#039;&#039; según la dirección que prefieras. Tu posición actual se resalta con un borde verde.&lt;br /&gt;
&lt;br /&gt;
También puedes pasar al panel siguiente pulsando &#039;&#039;&#039;Ctrl-b + o&#039;&#039;&#039;, o volver al anterior utilizando el atajo de teclado &#039;&#039;&#039;Ctrl-b + ;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, al dividir una ventana se crearán dos paneles con tamaños idénticos. Para cambiar la dimensión, pulsa &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; y mantén pulsado &#039;&#039;&#039;Alt&#039;&#039;&#039; y el botón de &#039;&#039;&#039;flecha&#039;&#039;&#039; según la dirección para cambiar el tamaño.&lt;br /&gt;
&lt;br /&gt;
Pulsa &#039;&#039;&#039;arriba&#039;&#039;&#039; y &#039;&#039;&#039;abajo&#039;&#039;&#039; para cambiar la altura. Mientras tanto, utiliza la tecla de flecha &#039;&#039;&#039;derecha&#039;&#039;&#039; o &#039;&#039;&#039;izquierda&#039;&#039;&#039; para ajustar la anchura.&lt;br /&gt;
&lt;br /&gt;
== Cerrar paneles ==&lt;br /&gt;
Para cerrar un panel, navega hasta el que quieras cerrar y pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; &amp;amp;. Sin embargo, recomendamos evitar este método, ya que la falta de un mensaje de confirmación lo hace propenso al borrado accidental.&lt;br /&gt;
&lt;br /&gt;
En su lugar, pulsa &#039;&#039;&#039;Ctrl-b + x&#039;&#039;&#039; para cerrar un panel de forma segura. Esto mostrará una ventana de verificación, que deberás confirmar pulsando &#039;&#039;&#039;Y,&#039;&#039;&#039; y pulsando &#039;&#039;&#039;Intro&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Terminar los paneles no afectará a las tareas de otras sesiones. Además, recuerda que este proceso es irreversible.&lt;br /&gt;
&lt;br /&gt;
== Personalizar tmux ==&lt;br /&gt;
Tmux te permite crear un archivo de configuración al que puedes añadir código, personalizando su aspecto y comportamiento. Según el ámbito, puede ser &#039;&#039;&#039;local&#039;&#039;&#039; o &#039;&#039;&#039;global.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
El archivo &#039;&#039;&#039;local&#039;&#039;&#039; se aplica a un usuario concreto y se encuentra en el directorio bash por defecto de la cuenta. Ejecuta lo siguiente para crearlo:&amp;lt;blockquote&amp;gt;sudo touch ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Mientras tanto, la configuración &#039;&#039;&#039;global&#039;&#039;&#039; se aplica a todo el sistema y se encuentra en el directorio &#039;&#039;&#039;/etc&#039;&#039;&#039;. A continuación te explicamos cómo hacer una:&amp;lt;blockquote&amp;gt;sudo touch /etc/tmux.conf&amp;lt;/blockquote&amp;gt;Un ejemplo de configuración que he leído es:  &lt;br /&gt;
&lt;br /&gt;
https://www.hostinger.es/tutoriales/tmux-config&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, el siguiente fragmento cambiará las combinaciones de teclas prefijadas por defecto de &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; a &#039;&#039;&#039;Ctrl -a&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Change prefix from &#039;Ctrl+B&#039; to &#039;Ctrl+A&#039;&lt;br /&gt;
&lt;br /&gt;
unbind C-b&lt;br /&gt;
&lt;br /&gt;
set-option -g prefix C-a&lt;br /&gt;
&lt;br /&gt;
bind-key C-a send-prefix&amp;lt;/blockquote&amp;gt;Además, puedes modificar el número de ID inicial. Por ejemplo, el siguiente código de configuración de tmux lo cambia de &#039;&#039;&#039;0&#039;&#039;&#039; a &#039;&#039;&#039;1&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Start counting pane and window number at 1&lt;br /&gt;
&lt;br /&gt;
set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
setw -g pane-base-index 1&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tweaks y links ==&lt;br /&gt;
Podemos aplicar configuraciones predeterminadas, por ejemplo, podemos editar nuestro fichero de comandos de perfil, por ejemplo: .bashrc o .zshrc, y añadir al final:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;tmux new-session \; split-window -h \; split-window -v \; attach&amp;quot;&lt;br /&gt;
&lt;br /&gt;
alias tmuxClose=&amp;quot;tmux kill-ses -t 0&amp;quot;&amp;lt;/blockquote&amp;gt;Cerramos sesión y recargamos la ruta de perfil, por ejemplo:&amp;lt;blockquote&amp;gt;source .zshrc&amp;lt;/blockquote&amp;gt;Y ejecutamos:&amp;lt;blockquote&amp;gt;tmuxAll&amp;lt;/blockquote&amp;gt;automáticamente se dividirá en dos ventanas verticales y en la ventana de la derecha se divide en dos horizontales.&lt;br /&gt;
&lt;br /&gt;
Para cerrar la sesión ejecutamos el otro alias.&amp;lt;blockquote&amp;gt;tmuxClose&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Estos atajos y más en:&lt;br /&gt;
&lt;br /&gt;
https://tmuxcheatsheet.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
También con un script, por ejemplo:&amp;lt;blockquote&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
SESSION=&amp;quot;System&amp;quot;&lt;br /&gt;
&lt;br /&gt;
HEIGHT=$(tput lines)&lt;br /&gt;
&lt;br /&gt;
PANEL_HTOP=15&lt;br /&gt;
&lt;br /&gt;
PANEL_LOGS=30&lt;br /&gt;
&lt;br /&gt;
tmux has-session -t $SESSION 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
if [ $? != 0 ]; then&lt;br /&gt;
&lt;br /&gt;
  tmux new-session -d -s $SESSION -n Principal &amp;quot;zsh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux split-window -v -t $SESSION:0 -l $PANEL_HTOP &amp;quot;htop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux split-window -v -t $SESSION:0 -l $PANEL_LOGS &amp;quot;journalctl -f&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux select-layout -t $SESSION:0 even-vertical&lt;br /&gt;
&lt;br /&gt;
  tmux set-option -t $SESSION mouse on&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
tmux attach -t $SESSION&amp;lt;/blockquote&amp;gt;Conservamos el fichero como ~/.tmux_start.sh&lt;br /&gt;
&lt;br /&gt;
Damos permisos:&amp;lt;blockquote&amp;gt;chmod +x ~/tmux-start.sh&amp;lt;/blockquote&amp;gt;Y añadimos el alias al intérprete que utilizamos:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;~/tmux-start.sh&amp;quot;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuraciones ===&lt;br /&gt;
&lt;br /&gt;
Se pueden utilizar plantillas de configuración para cambiar colores, barras... por ejemplo, con un fichero &amp;quot;tmux.conf&amp;quot; con el siguiente contenido:&lt;br /&gt;
 # start window index at 1&lt;br /&gt;
&lt;br /&gt;
 set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
 # start pane index at 1&lt;br /&gt;
&lt;br /&gt;
 set -g pane-base-index 1&lt;br /&gt;
&lt;br /&gt;
 # re-number windows when one is closed&lt;br /&gt;
&lt;br /&gt;
 set -g renumber-windows on&lt;br /&gt;
&lt;br /&gt;
 # Remapping prefix&lt;br /&gt;
&lt;br /&gt;
 unbind-key C-b&lt;br /&gt;
&lt;br /&gt;
 set-option -g prefix C-s # setting prefix from C-b to C-s&lt;br /&gt;
&lt;br /&gt;
 bind-key C-s send-prefix # ensure that we can send Ctrl-s to other apps or the shell&lt;br /&gt;
&lt;br /&gt;
 # Split panel with the current path&lt;br /&gt;
&lt;br /&gt;
 unbind % &lt;br /&gt;
&lt;br /&gt;
 unbind &#039;&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
 bind &#039;\&#039; split-window -h -c &#039;#{pane_current_path}&#039;           &lt;br /&gt;
&lt;br /&gt;
 bind &#039;-&#039; split-window -v -c &#039;#{pane_current_path}&#039;&lt;br /&gt;
&lt;br /&gt;
 # Use Alt-arrow keys without prefix key to switch panes&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Left select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Right select-pane -R&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Up select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Down select-pane -D&lt;br /&gt;
&lt;br /&gt;
 # Shift arrow to switch windows&lt;br /&gt;
&lt;br /&gt;
 bind -n S-Left  previous-window&lt;br /&gt;
&lt;br /&gt;
 bind -n S-Right next-window&lt;br /&gt;
&lt;br /&gt;
 # Vim style pane selection&lt;br /&gt;
&lt;br /&gt;
 bind h select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind j select-pane -D&lt;br /&gt;
&lt;br /&gt;
 bind k select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind l select-pane -R&lt;br /&gt;
&lt;br /&gt;
 # Use Alt-vim keys without prefix key to switch panes&lt;br /&gt;
&lt;br /&gt;
 bind -n M-h select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind -n M-j select-pane -D&lt;br /&gt;
&lt;br /&gt;
 bind -n M-k select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind -n M-l select-pane -R&lt;br /&gt;
&lt;br /&gt;
 ## Capture current tmux buffer and copy it to system clipboard with prefix + &#039;Ctrl + c&#039;&lt;br /&gt;
&lt;br /&gt;
 #bind C-c run &amp;quot;tmux save-buffer - | xclip -i -sel clipboard&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 ## Optional - paste from system clipboard to tmux session with prefix + &#039;Ctrl + v&#039;&lt;br /&gt;
&lt;br /&gt;
 #bind C-v run &amp;quot;tmux set-buffer &amp;quot;$(xclip -o -sel clipboard)&amp;quot;; tmux paste-buffer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 #copy and paste vim style&lt;br /&gt;
&lt;br /&gt;
 ## Enable vi-copy-mode&lt;br /&gt;
&lt;br /&gt;
 setw -g mode-keys vi &lt;br /&gt;
&lt;br /&gt;
 # Turn off mouse and use vim keys for navigations&lt;br /&gt;
&lt;br /&gt;
 # turn this on if you want to use touchpad or mouse to scroll through terminal&lt;br /&gt;
&lt;br /&gt;
 setw -g mouse off &lt;br /&gt;
&lt;br /&gt;
 ## changing the key to enter copy mode from `[` to `ESC`&lt;br /&gt;
&lt;br /&gt;
 unbind [&lt;br /&gt;
&lt;br /&gt;
 bind Escape copy-mode&lt;br /&gt;
&lt;br /&gt;
 ## unbind p and set it to paste from buffer&lt;br /&gt;
&lt;br /&gt;
 unbind p&lt;br /&gt;
&lt;br /&gt;
 bind p paste-buffer&lt;br /&gt;
&lt;br /&gt;
 ## set keys for visual mode (v) and yank/copy (y)&lt;br /&gt;
&lt;br /&gt;
 bind-key -Tcopy-mode-vi &#039;v&#039; send -X begin-selection&lt;br /&gt;
&lt;br /&gt;
 bind-key -Tcopy-mode-vi &#039;y&#039; send -X copy-pipe-and-cancel &#039;xclip -in -selection clipboard&#039;&lt;br /&gt;
&lt;br /&gt;
 # unbind r&lt;br /&gt;
&lt;br /&gt;
 # bind r source-file ~/.tmux.conf \; display &amp;quot;Reloaded tmux config!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # Automatically set the window title&lt;br /&gt;
&lt;br /&gt;
 set-window-option -g automatic-rename off&lt;br /&gt;
&lt;br /&gt;
 # activity notifications&lt;br /&gt;
&lt;br /&gt;
 setw -g monitor-activity on&lt;br /&gt;
&lt;br /&gt;
 setw -g visual-activity on&lt;br /&gt;
&lt;br /&gt;
 # Improve terminal colors&lt;br /&gt;
&lt;br /&gt;
 set -g default-terminal &amp;quot;screen-256color&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 set -ga terminal-overrides &amp;quot;,xterm-256color:Tc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # increase scrollback buffer to 10000&lt;br /&gt;
&lt;br /&gt;
 set -g history-limit 10000&lt;br /&gt;
Lo guardamos y lo llamamos con:&amp;lt;blockquote&amp;gt;tmux source tmux.conf&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tmux plugins ===&lt;br /&gt;
Para hacerlo mucho más fácil, podemos descargar y aplicar una serie de complementos del &#039;&#039;&#039;git&#039;&#039;&#039; oficial, primero tenemos que instalar un complemento para copiar y pegar texto del terminal con &#039;&#039;&#039;xclip&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;sudo dnf install -y xclip&amp;lt;/blockquote&amp;gt;Y bajamos con git:&amp;lt;blockquote&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://github.com/tmux-plugins/tpm&amp;lt;/nowiki&amp;gt; ~/.tmux/plugins/tp&amp;lt;/blockquote&amp;gt;Y modificamos el fichero de configuración:&amp;lt;blockquote&amp;gt;nvim ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Con mi ejemplo:&lt;br /&gt;
 # List of pluginsset -g @plugin &#039;tmux-plugins/tpm&#039;&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;tmux-plugins/tmux-sensible&#039;&lt;br /&gt;
&lt;br /&gt;
 # Other examples:&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;github_username/plugin_name&#039;&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;git@github.com/user/plugin&#039;&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;git@bitbucket.com/user/plugin&#039;&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &amp;quot;arcticicestudio/nord-tmux&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)&lt;br /&gt;
&lt;br /&gt;
 run -b &#039;~/.tmux/plugins/tpm/tpm&#039;&lt;br /&gt;
Con este ejemplo también aplico un tema que me encanta, el nord o nordly.&lt;br /&gt;
&lt;br /&gt;
Guardamos y abrimos con &amp;quot;tmux&amp;quot; y aplicamos con &amp;quot;CTRL + I&amp;quot; ( importante, la &amp;quot;i&amp;quot; es mayúscula).&lt;br /&gt;
[[Archivo:TmuxNord.png|centro|miniaturadeimagen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=555</id>
		<title>TMUX</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=555"/>
		<updated>2025-05-26T05:38:41Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Tmux plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
[https://man.openbsd.org/OpenBSD-current/man1/tmux.1 Tmux] es un multiplexor de terminal donde se pueden crear varias sesiones de &#039;&#039;&#039;shell&#039;&#039;&#039; en tu sistema, cada una ejecutando un proceso distinto. Mantiene las tareas ejecutándose en segundo plano, aceptando que los usuarios continúen su trabajo luego.&lt;br /&gt;
&lt;br /&gt;
Tmux permite crear múltiples sesiones de terminal para una colaboración eficiente. Para mejorar tu flujo de trabajo, también puedes modificar la configuración mediante el archivo tmux.conf.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
Como la mayoría de programas básicos, este lo encontramos en los repositorios. &lt;br /&gt;
&lt;br /&gt;
Para &#039;&#039;&#039;Fedora&#039;&#039;&#039; o distribuciones basadas en &#039;&#039;&#039;RHEL&#039;&#039;&#039; se puede ejecutar:&amp;lt;blockquote&amp;gt;sudo dnf install tmux&amp;lt;/blockquote&amp;gt;O &#039;&#039;&#039;Ubuntu&#039;&#039;&#039; y distribuciones basadas en Debian:&amp;lt;blockquote&amp;gt;sudo apt install tmux&amp;lt;/blockquote&amp;gt;Una vez instalado solo es necesario invocarlo con:&amp;lt;blockquote&amp;gt;tmux&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comandos y atajos ==&lt;br /&gt;
Los atajos de teclado de tmux son esenciales para la gestión de ventanas y paneles. Aquí tienes algunas de las combinaciones de teclas más útiles y sus funciones:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + d:&#039;&#039;&#039; salir de la sesión actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + %:&#039;&#039;&#039; dividir una ventana en paneles superior e inferior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + “:&#039;&#039;&#039; dividir una ventana en dos paneles verticalmente.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + flecha:&#039;&#039;&#039; mover a un panel diferente en una dirección.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + x:&#039;&#039;&#039; cerrar el panel actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + c:&#039;&#039;&#039; crear una nueva ventana.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + n:&#039;&#039;&#039; pasar a la siguiente ventana según el número.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + p:&#039;&#039;&#039; volver a la ventana anterior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + número ID&#039;&#039;&#039;: saltar a una ventana concreta utilizando el número ID.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039;  abrir el modo línea de comandos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + ?:&#039;&#039;&#039; mostrar todos los atajos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + w:&#039;&#039;&#039; lista todas las ventanas de la sesión actual.&lt;br /&gt;
&lt;br /&gt;
Ten en cuenta que los atajos tmux sólo funcionan dentro de una sesión tmux. Además, para que las combinaciones de teclas funcionen, tendrás que pulsar &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; antes de la tecla que quieras utilizar, como se muestra arriba.&lt;br /&gt;
&lt;br /&gt;
NOTA - Si ya tenemos instalado [[byobu]] los atajos predeterminados son los suyos.&lt;br /&gt;
&lt;br /&gt;
== Sesiones ==&lt;br /&gt;
Para iniciar tmux y crear tu primera sesión, ejecuta uno de los siguientes comandos en tu ventana principal de terminal:&amp;lt;blockquote&amp;gt;tmux&lt;br /&gt;
&lt;br /&gt;
tmux new&lt;br /&gt;
&lt;br /&gt;
tmux new-session&amp;lt;/blockquote&amp;gt;Ten en cuenta que debes ejecutar estos comandos en la ventana principal del terminal. Aunque puedes crear una nueva dentro de una sesión existente, no es recomendable y requiere desactivar la variable de entorno &#039;&#039;&#039;$TMUX&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, una nueva sesión tmux utilizará un número ID para identificarse. Sin embargo, puedes darle un nombre personalizado utilizando la opción &#039;&#039;&#039;-s&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;tmux new-session -s [nombre]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Separar y unir sesiones ==&lt;br /&gt;
Después de crear una nueva sesión, se te adjuntará automáticamente a ella. Para desvincularte y abandonar el cliente tmux, pulsa &#039;&#039;&#039;Ctrl-b + d.&#039;&#039;&#039; Para volver a vincularte a la sesión más reciente, utiliza el comando &#039;&#039;&#039;tmux attach-session&#039;&#039;&#039;. También puedes volver a entrar en un shell específico introduciendo:&amp;lt;blockquote&amp;gt;tmux attach-session -t [sesión-nombre]&amp;lt;/blockquote&amp;gt;Alternativamente, vuelve a conectarte a una sesión de destino concreta utilizando su número de &#039;&#039;&#039;ID&#039;&#039;&#039;. Como tmux inicia el orden desde 0 por defecto, introduce lo siguiente para acceder al primer intérprete de órdenes:&amp;lt;blockquote&amp;gt;tmux attach-session -t 0&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestionar sesiones ==&lt;br /&gt;
Para listar todas las sesiones activas, ejecuta cualquiera de los siguientes comandos tmux. Puedes hacerlo dentro del shell principal o virtual:&amp;lt;blockquote&amp;gt;tmux list-sessions&lt;br /&gt;
&lt;br /&gt;
tmux ls&amp;lt;/blockquote&amp;gt;Tu interfaz de línea de comandos mostrará todas las sesiones con detalles como su nombre, ID, número de ventanas y fecha de creación. También verás a cuál estás conectado actualmente.&lt;br /&gt;
&lt;br /&gt;
Si estás en una sesión de terminal virtual, puedes cambiar a otra utilizando el siguiente comando. Al igual que para volver a conectarte, utiliza el nombre o el número de ID:&amp;lt;blockquote&amp;gt;tmux switch -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;Para terminar la sesión actual, introduce &#039;&#039;&#039;exit&#039;&#039;&#039; o pulsa &#039;&#039;&#039;Ctrl-d&#039;&#039;&#039;. Mientras tanto, ejecuta este comando si quieres cerrar una en concreto:&amp;lt;blockquote&amp;gt;tmux kill-session -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Crear y navegar por las ventanas ==&lt;br /&gt;
Por defecto, tu nueva sesión tmux será una única ventana de terminal. Para dividirla en dos, pulsa &#039;&#039;&#039;Ctrl-b + c&#039;&#039;&#039;. La nueva ventana aparecerá en la barra de estado inferior con su nombre y número de identificación.&lt;br /&gt;
&lt;br /&gt;
Tu ventana tmux actual está marcada con un asterisco (&#039;&#039;&#039;*&#039;&#039;&#039;). Puedes pasar a la siguiente ventana pulsando &#039;&#039;&#039;Ctrl-b + n&#039;&#039;&#039; o volver a la anterior utilizando &#039;&#039;&#039;Ctrl-b + p&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
En lugar de alternar entre varias ventanas del terminal, puedes saltar directamente a una concreta pulsando Ctrl-b &#039;&#039;&#039;+ ID numérico&#039;&#039;&#039;. Por ejemplo, pulsa &#039;&#039;&#039;Ctrl-b + 0&#039;&#039;&#039; para volver a la primera ventana.&lt;br /&gt;
&lt;br /&gt;
== Renombrar y organizar ventanas ==&lt;br /&gt;
Por defecto, tmux creará una nueva ventana llamada &#039;&#039;&#039;bash&#039;&#039;&#039; o &#039;&#039;&#039;sh&#039;&#039;&#039;. Si tienes muchos procesos, distinguir entre ellos puede ser difícil, complicando la gestión de tareas.&lt;br /&gt;
&lt;br /&gt;
Asigna a las nuevas ventanas tmux un nombre personalizado para facilitar su identificación. Para ello, navega hasta la que quieras renombrar y pulsa &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039; para entrar en el modo de comandos de tmux. A continuación, ejecuta lo siguiente:&amp;lt;blockquote&amp;gt;rename-window nombre-ventana&amp;lt;/blockquote&amp;gt;Sustituye &#039;&#039;&#039;nombre-ventana&#039;&#039;&#039; por el nombre que desees. Deberías ver cómo cambia la información de la nueva ventana en la barra de estado inferior de la sesión.&lt;br /&gt;
&lt;br /&gt;
== Dividir ventanas en paneles ==&lt;br /&gt;
Para organizar una tarea más específica, divide una ventana en varios paneles. Pulsa &#039;&#039;&#039;Ctrl-b + ”&#039;&#039;&#039; para dividirla horizontalmente o verticalmente utilizando &#039;&#039;&#039;Ctrl-b + %&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Puedes repetir los atajos de división de ventanas para dividir aún más los paneles en áreas de trabajo más pequeñas. &lt;br /&gt;
&lt;br /&gt;
== Navegar y cambiar el tamaño de los paneles ==&lt;br /&gt;
Para navegar entre los paneles, pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; una &#039;&#039;&#039;tecla de flecha&#039;&#039;&#039; según la dirección que prefieras. Tu posición actual se resalta con un borde verde.&lt;br /&gt;
&lt;br /&gt;
También puedes pasar al panel siguiente pulsando &#039;&#039;&#039;Ctrl-b + o&#039;&#039;&#039;, o volver al anterior utilizando el atajo de teclado &#039;&#039;&#039;Ctrl-b + ;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, al dividir una ventana se crearán dos paneles con tamaños idénticos. Para cambiar la dimensión, pulsa &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; y mantén pulsado &#039;&#039;&#039;Alt&#039;&#039;&#039; y el botón de &#039;&#039;&#039;flecha&#039;&#039;&#039; según la dirección para cambiar el tamaño.&lt;br /&gt;
&lt;br /&gt;
Pulsa &#039;&#039;&#039;arriba&#039;&#039;&#039; y &#039;&#039;&#039;abajo&#039;&#039;&#039; para cambiar la altura. Mientras tanto, utiliza la tecla de flecha &#039;&#039;&#039;derecha&#039;&#039;&#039; o &#039;&#039;&#039;izquierda&#039;&#039;&#039; para ajustar la anchura.&lt;br /&gt;
&lt;br /&gt;
== Cerrar paneles ==&lt;br /&gt;
Para cerrar un panel, navega hasta el que quieras cerrar y pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; &amp;amp;. Sin embargo, recomendamos evitar este método, ya que la falta de un mensaje de confirmación lo hace propenso al borrado accidental.&lt;br /&gt;
&lt;br /&gt;
En su lugar, pulsa &#039;&#039;&#039;Ctrl-b + x&#039;&#039;&#039; para cerrar un panel de forma segura. Esto mostrará una ventana de verificación, que deberás confirmar pulsando &#039;&#039;&#039;Y,&#039;&#039;&#039; y pulsando &#039;&#039;&#039;Intro&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Terminar los paneles no afectará a las tareas de otras sesiones. Además, recuerda que este proceso es irreversible.&lt;br /&gt;
&lt;br /&gt;
== Personalizar tmux ==&lt;br /&gt;
Tmux te permite crear un archivo de configuración al que puedes añadir código, personalizando su aspecto y comportamiento. Según el ámbito, puede ser &#039;&#039;&#039;local&#039;&#039;&#039; o &#039;&#039;&#039;global.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
El archivo &#039;&#039;&#039;local&#039;&#039;&#039; se aplica a un usuario concreto y se encuentra en el directorio bash por defecto de la cuenta. Ejecuta lo siguiente para crearlo:&amp;lt;blockquote&amp;gt;sudo touch ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Mientras tanto, la configuración &#039;&#039;&#039;global&#039;&#039;&#039; se aplica a todo el sistema y se encuentra en el directorio &#039;&#039;&#039;/etc&#039;&#039;&#039;. A continuación te explicamos cómo hacer una:&amp;lt;blockquote&amp;gt;sudo touch /etc/tmux.conf&amp;lt;/blockquote&amp;gt;Un ejemplo de configuración que he leído es:  &lt;br /&gt;
&lt;br /&gt;
https://www.hostinger.es/tutoriales/tmux-config&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, el siguiente fragmento cambiará las combinaciones de teclas prefijadas por defecto de &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; a &#039;&#039;&#039;Ctrl -a&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Change prefix from &#039;Ctrl+B&#039; to &#039;Ctrl+A&#039;&lt;br /&gt;
&lt;br /&gt;
unbind C-b&lt;br /&gt;
&lt;br /&gt;
set-option -g prefix C-a&lt;br /&gt;
&lt;br /&gt;
bind-key C-a send-prefix&amp;lt;/blockquote&amp;gt;Además, puedes modificar el número de ID inicial. Por ejemplo, el siguiente código de configuración de tmux lo cambia de &#039;&#039;&#039;0&#039;&#039;&#039; a &#039;&#039;&#039;1&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Start counting pane and window number at 1&lt;br /&gt;
&lt;br /&gt;
set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
setw -g pane-base-index 1&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tweaks y links ==&lt;br /&gt;
Podemos aplicar configuraciones predeterminadas, por ejemplo, podemos editar nuestro fichero de comandos de perfil, por ejemplo: .bashrc o .zshrc, y añadir al final:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;tmux new-session \; split-window -h \; split-window -v \; attach&amp;quot;&lt;br /&gt;
&lt;br /&gt;
alias tmuxClose=&amp;quot;tmux kill-ses -t 0&amp;quot;&amp;lt;/blockquote&amp;gt;Cerramos sesión y recargamos la ruta de perfil, por ejemplo:&amp;lt;blockquote&amp;gt;source .zshrc&amp;lt;/blockquote&amp;gt;Y ejecutamos:&amp;lt;blockquote&amp;gt;tmuxAll&amp;lt;/blockquote&amp;gt;automáticamente se dividirá en dos ventanas verticales y en la ventana de la derecha se divide en dos horizontales.&lt;br /&gt;
&lt;br /&gt;
Para cerrar la sesión ejecutamos el otro alias.&amp;lt;blockquote&amp;gt;tmuxClose&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Estos atajos y más en:&lt;br /&gt;
&lt;br /&gt;
https://tmuxcheatsheet.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
También con un script, por ejemplo:&amp;lt;blockquote&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
SESSION=&amp;quot;System&amp;quot;&lt;br /&gt;
&lt;br /&gt;
HEIGHT=$(tput lines)&lt;br /&gt;
&lt;br /&gt;
PANEL_HTOP=15&lt;br /&gt;
&lt;br /&gt;
PANEL_LOGS=30&lt;br /&gt;
&lt;br /&gt;
tmux has-session -t $SESSION 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
if [ $? != 0 ]; then&lt;br /&gt;
&lt;br /&gt;
  tmux new-session -d -s $SESSION -n Principal &amp;quot;zsh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux split-window -v -t $SESSION:0 -l $PANEL_HTOP &amp;quot;htop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux split-window -v -t $SESSION:0 -l $PANEL_LOGS &amp;quot;journalctl -f&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux select-layout -t $SESSION:0 even-vertical&lt;br /&gt;
&lt;br /&gt;
  tmux set-option -t $SESSION mouse on&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
tmux attach -t $SESSION&amp;lt;/blockquote&amp;gt;Conservamos el fichero como ~/.tmux_start.sh&lt;br /&gt;
&lt;br /&gt;
Damos permisos:&amp;lt;blockquote&amp;gt;chmod +x ~/tmux-start.sh&amp;lt;/blockquote&amp;gt;Y añadimos el alias al intérprete que utilizamos:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;~/tmux-start.sh&amp;quot;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuraciones ===&lt;br /&gt;
&lt;br /&gt;
Se pueden utilizar plantillas de configuración para cambiar colores, barras... por ejemplo, con un fichero &amp;quot;tmux.conf&amp;quot; con el siguiente contenido:&lt;br /&gt;
 # start window index at 1&lt;br /&gt;
&lt;br /&gt;
 set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
 # start pane index at 1&lt;br /&gt;
&lt;br /&gt;
 set -g pane-base-index 1&lt;br /&gt;
&lt;br /&gt;
 # re-number windows when one is closed&lt;br /&gt;
&lt;br /&gt;
 set -g renumber-windows on&lt;br /&gt;
&lt;br /&gt;
 # Remapping prefix&lt;br /&gt;
&lt;br /&gt;
 unbind-key C-b&lt;br /&gt;
&lt;br /&gt;
 set-option -g prefix C-s # setting prefix from C-b to C-s&lt;br /&gt;
&lt;br /&gt;
 bind-key C-s send-prefix # ensure that we can send Ctrl-s to other apps or the shell&lt;br /&gt;
&lt;br /&gt;
 # Split panel with the current path&lt;br /&gt;
&lt;br /&gt;
 unbind % &lt;br /&gt;
&lt;br /&gt;
 unbind &#039;&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
 bind &#039;\&#039; split-window -h -c &#039;#{pane_current_path}&#039;           &lt;br /&gt;
&lt;br /&gt;
 bind &#039;-&#039; split-window -v -c &#039;#{pane_current_path}&#039;&lt;br /&gt;
&lt;br /&gt;
 # Use Alt-arrow keys without prefix key to switch panes&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Left select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Right select-pane -R&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Up select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Down select-pane -D&lt;br /&gt;
&lt;br /&gt;
 # Shift arrow to switch windows&lt;br /&gt;
&lt;br /&gt;
 bind -n S-Left  previous-window&lt;br /&gt;
&lt;br /&gt;
 bind -n S-Right next-window&lt;br /&gt;
&lt;br /&gt;
 # Vim style pane selection&lt;br /&gt;
&lt;br /&gt;
 bind h select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind j select-pane -D&lt;br /&gt;
&lt;br /&gt;
 bind k select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind l select-pane -R&lt;br /&gt;
&lt;br /&gt;
 # Use Alt-vim keys without prefix key to switch panes&lt;br /&gt;
&lt;br /&gt;
 bind -n M-h select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind -n M-j select-pane -D&lt;br /&gt;
&lt;br /&gt;
 bind -n M-k select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind -n M-l select-pane -R&lt;br /&gt;
&lt;br /&gt;
 ## Capture current tmux buffer and copy it to system clipboard with prefix + &#039;Ctrl + c&#039;&lt;br /&gt;
&lt;br /&gt;
 #bind C-c run &amp;quot;tmux save-buffer - | xclip -i -sel clipboard&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 ## Optional - paste from system clipboard to tmux session with prefix + &#039;Ctrl + v&#039;&lt;br /&gt;
&lt;br /&gt;
 #bind C-v run &amp;quot;tmux set-buffer &amp;quot;$(xclip -o -sel clipboard)&amp;quot;; tmux paste-buffer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 #copy and paste vim style&lt;br /&gt;
&lt;br /&gt;
 ## Enable vi-copy-mode&lt;br /&gt;
&lt;br /&gt;
 setw -g mode-keys vi &lt;br /&gt;
&lt;br /&gt;
 # Turn off mouse and use vim keys for navigations&lt;br /&gt;
&lt;br /&gt;
 # turn this on if you want to use touchpad or mouse to scroll through terminal&lt;br /&gt;
&lt;br /&gt;
 setw -g mouse off &lt;br /&gt;
&lt;br /&gt;
 ## changing the key to enter copy mode from `[` to `ESC`&lt;br /&gt;
&lt;br /&gt;
 unbind [&lt;br /&gt;
&lt;br /&gt;
 bind Escape copy-mode&lt;br /&gt;
&lt;br /&gt;
 ## unbind p and set it to paste from buffer&lt;br /&gt;
&lt;br /&gt;
 unbind p&lt;br /&gt;
&lt;br /&gt;
 bind p paste-buffer&lt;br /&gt;
&lt;br /&gt;
 ## set keys for visual mode (v) and yank/copy (y)&lt;br /&gt;
&lt;br /&gt;
 bind-key -Tcopy-mode-vi &#039;v&#039; send -X begin-selection&lt;br /&gt;
&lt;br /&gt;
 bind-key -Tcopy-mode-vi &#039;y&#039; send -X copy-pipe-and-cancel &#039;xclip -in -selection clipboard&#039;&lt;br /&gt;
&lt;br /&gt;
 # unbind r&lt;br /&gt;
&lt;br /&gt;
 # bind r source-file ~/.tmux.conf \; display &amp;quot;Reloaded tmux config!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # Automatically set the window title&lt;br /&gt;
&lt;br /&gt;
 set-window-option -g automatic-rename off&lt;br /&gt;
&lt;br /&gt;
 # activity notifications&lt;br /&gt;
&lt;br /&gt;
 setw -g monitor-activity on&lt;br /&gt;
&lt;br /&gt;
 setw -g visual-activity on&lt;br /&gt;
&lt;br /&gt;
 # Improve terminal colors&lt;br /&gt;
&lt;br /&gt;
 set -g default-terminal &amp;quot;screen-256color&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 set -ga terminal-overrides &amp;quot;,xterm-256color:Tc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # increase scrollback buffer to 10000&lt;br /&gt;
&lt;br /&gt;
 set -g history-limit 10000&lt;br /&gt;
Lo guardamos y lo llamamos con:&amp;lt;blockquote&amp;gt;tmux source tmux.conf&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tmux plugins ===&lt;br /&gt;
Para hacerlo mucho más fácil, podemos descargar y aplicar una serie de complementos del &#039;&#039;&#039;git&#039;&#039;&#039; oficial, primero tenemos que instalar un complemento para copiar y pegar texto del terminal con &#039;&#039;&#039;xclip&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;sudo dnf install -y xclip&amp;lt;/blockquote&amp;gt;Y bajamos con git:&amp;lt;blockquote&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://github.com/tmux-plugins/tpm&amp;lt;/nowiki&amp;gt; ~/.tmux/plugins/tp&amp;lt;/blockquote&amp;gt;Y modificamos el fichero de configuración:&amp;lt;blockquote&amp;gt;nvim ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Con mi ejemplo:&lt;br /&gt;
 # List of pluginsset -g @plugin &#039;tmux-plugins/tpm&#039;&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;tmux-plugins/tmux-sensible&#039;&lt;br /&gt;
&lt;br /&gt;
 Other examples:&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;github_username/plugin_name&#039;&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;git@github.com/user/plugin&#039;&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;git@bitbucket.com/user/plugin&#039;&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &amp;quot;arcticicestudio/nord-tmux&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 #Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)&lt;br /&gt;
&lt;br /&gt;
 run -b &#039;~/.tmux/plugins/tpm/tpm&#039;&lt;br /&gt;
Con este ejemplo también aplico un tema que me encanta, el nord o nordly.&lt;br /&gt;
&lt;br /&gt;
Guardamos y abrimos con &amp;quot;tmux&amp;quot; y aplicamos con &amp;quot;CTRL + I&amp;quot; ( importante, la &amp;quot;i&amp;quot; es mayúscula).&lt;br /&gt;
[[Archivo:TmuxNord.png|centro|miniaturadeimagen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=554</id>
		<title>TMUX</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=554"/>
		<updated>2025-05-26T05:36:28Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Tmux plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
[https://man.openbsd.org/OpenBSD-current/man1/tmux.1 Tmux] es un multiplexor de terminal donde se pueden crear varias sesiones de &#039;&#039;&#039;shell&#039;&#039;&#039; en tu sistema, cada una ejecutando un proceso distinto. Mantiene las tareas ejecutándose en segundo plano, aceptando que los usuarios continúen su trabajo luego.&lt;br /&gt;
&lt;br /&gt;
Tmux permite crear múltiples sesiones de terminal para una colaboración eficiente. Para mejorar tu flujo de trabajo, también puedes modificar la configuración mediante el archivo tmux.conf.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
Como la mayoría de programas básicos, este lo encontramos en los repositorios. &lt;br /&gt;
&lt;br /&gt;
Para &#039;&#039;&#039;Fedora&#039;&#039;&#039; o distribuciones basadas en &#039;&#039;&#039;RHEL&#039;&#039;&#039; se puede ejecutar:&amp;lt;blockquote&amp;gt;sudo dnf install tmux&amp;lt;/blockquote&amp;gt;O &#039;&#039;&#039;Ubuntu&#039;&#039;&#039; y distribuciones basadas en Debian:&amp;lt;blockquote&amp;gt;sudo apt install tmux&amp;lt;/blockquote&amp;gt;Una vez instalado solo es necesario invocarlo con:&amp;lt;blockquote&amp;gt;tmux&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comandos y atajos ==&lt;br /&gt;
Los atajos de teclado de tmux son esenciales para la gestión de ventanas y paneles. Aquí tienes algunas de las combinaciones de teclas más útiles y sus funciones:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + d:&#039;&#039;&#039; salir de la sesión actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + %:&#039;&#039;&#039; dividir una ventana en paneles superior e inferior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + “:&#039;&#039;&#039; dividir una ventana en dos paneles verticalmente.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + flecha:&#039;&#039;&#039; mover a un panel diferente en una dirección.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + x:&#039;&#039;&#039; cerrar el panel actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + c:&#039;&#039;&#039; crear una nueva ventana.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + n:&#039;&#039;&#039; pasar a la siguiente ventana según el número.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + p:&#039;&#039;&#039; volver a la ventana anterior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + número ID&#039;&#039;&#039;: saltar a una ventana concreta utilizando el número ID.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039;  abrir el modo línea de comandos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + ?:&#039;&#039;&#039; mostrar todos los atajos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + w:&#039;&#039;&#039; lista todas las ventanas de la sesión actual.&lt;br /&gt;
&lt;br /&gt;
Ten en cuenta que los atajos tmux sólo funcionan dentro de una sesión tmux. Además, para que las combinaciones de teclas funcionen, tendrás que pulsar &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; antes de la tecla que quieras utilizar, como se muestra arriba.&lt;br /&gt;
&lt;br /&gt;
NOTA - Si ya tenemos instalado [[byobu]] los atajos predeterminados son los suyos.&lt;br /&gt;
&lt;br /&gt;
== Sesiones ==&lt;br /&gt;
Para iniciar tmux y crear tu primera sesión, ejecuta uno de los siguientes comandos en tu ventana principal de terminal:&amp;lt;blockquote&amp;gt;tmux&lt;br /&gt;
&lt;br /&gt;
tmux new&lt;br /&gt;
&lt;br /&gt;
tmux new-session&amp;lt;/blockquote&amp;gt;Ten en cuenta que debes ejecutar estos comandos en la ventana principal del terminal. Aunque puedes crear una nueva dentro de una sesión existente, no es recomendable y requiere desactivar la variable de entorno &#039;&#039;&#039;$TMUX&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, una nueva sesión tmux utilizará un número ID para identificarse. Sin embargo, puedes darle un nombre personalizado utilizando la opción &#039;&#039;&#039;-s&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;tmux new-session -s [nombre]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Separar y unir sesiones ==&lt;br /&gt;
Después de crear una nueva sesión, se te adjuntará automáticamente a ella. Para desvincularte y abandonar el cliente tmux, pulsa &#039;&#039;&#039;Ctrl-b + d.&#039;&#039;&#039; Para volver a vincularte a la sesión más reciente, utiliza el comando &#039;&#039;&#039;tmux attach-session&#039;&#039;&#039;. También puedes volver a entrar en un shell específico introduciendo:&amp;lt;blockquote&amp;gt;tmux attach-session -t [sesión-nombre]&amp;lt;/blockquote&amp;gt;Alternativamente, vuelve a conectarte a una sesión de destino concreta utilizando su número de &#039;&#039;&#039;ID&#039;&#039;&#039;. Como tmux inicia el orden desde 0 por defecto, introduce lo siguiente para acceder al primer intérprete de órdenes:&amp;lt;blockquote&amp;gt;tmux attach-session -t 0&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestionar sesiones ==&lt;br /&gt;
Para listar todas las sesiones activas, ejecuta cualquiera de los siguientes comandos tmux. Puedes hacerlo dentro del shell principal o virtual:&amp;lt;blockquote&amp;gt;tmux list-sessions&lt;br /&gt;
&lt;br /&gt;
tmux ls&amp;lt;/blockquote&amp;gt;Tu interfaz de línea de comandos mostrará todas las sesiones con detalles como su nombre, ID, número de ventanas y fecha de creación. También verás a cuál estás conectado actualmente.&lt;br /&gt;
&lt;br /&gt;
Si estás en una sesión de terminal virtual, puedes cambiar a otra utilizando el siguiente comando. Al igual que para volver a conectarte, utiliza el nombre o el número de ID:&amp;lt;blockquote&amp;gt;tmux switch -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;Para terminar la sesión actual, introduce &#039;&#039;&#039;exit&#039;&#039;&#039; o pulsa &#039;&#039;&#039;Ctrl-d&#039;&#039;&#039;. Mientras tanto, ejecuta este comando si quieres cerrar una en concreto:&amp;lt;blockquote&amp;gt;tmux kill-session -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Crear y navegar por las ventanas ==&lt;br /&gt;
Por defecto, tu nueva sesión tmux será una única ventana de terminal. Para dividirla en dos, pulsa &#039;&#039;&#039;Ctrl-b + c&#039;&#039;&#039;. La nueva ventana aparecerá en la barra de estado inferior con su nombre y número de identificación.&lt;br /&gt;
&lt;br /&gt;
Tu ventana tmux actual está marcada con un asterisco (&#039;&#039;&#039;*&#039;&#039;&#039;). Puedes pasar a la siguiente ventana pulsando &#039;&#039;&#039;Ctrl-b + n&#039;&#039;&#039; o volver a la anterior utilizando &#039;&#039;&#039;Ctrl-b + p&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
En lugar de alternar entre varias ventanas del terminal, puedes saltar directamente a una concreta pulsando Ctrl-b &#039;&#039;&#039;+ ID numérico&#039;&#039;&#039;. Por ejemplo, pulsa &#039;&#039;&#039;Ctrl-b + 0&#039;&#039;&#039; para volver a la primera ventana.&lt;br /&gt;
&lt;br /&gt;
== Renombrar y organizar ventanas ==&lt;br /&gt;
Por defecto, tmux creará una nueva ventana llamada &#039;&#039;&#039;bash&#039;&#039;&#039; o &#039;&#039;&#039;sh&#039;&#039;&#039;. Si tienes muchos procesos, distinguir entre ellos puede ser difícil, complicando la gestión de tareas.&lt;br /&gt;
&lt;br /&gt;
Asigna a las nuevas ventanas tmux un nombre personalizado para facilitar su identificación. Para ello, navega hasta la que quieras renombrar y pulsa &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039; para entrar en el modo de comandos de tmux. A continuación, ejecuta lo siguiente:&amp;lt;blockquote&amp;gt;rename-window nombre-ventana&amp;lt;/blockquote&amp;gt;Sustituye &#039;&#039;&#039;nombre-ventana&#039;&#039;&#039; por el nombre que desees. Deberías ver cómo cambia la información de la nueva ventana en la barra de estado inferior de la sesión.&lt;br /&gt;
&lt;br /&gt;
== Dividir ventanas en paneles ==&lt;br /&gt;
Para organizar una tarea más específica, divide una ventana en varios paneles. Pulsa &#039;&#039;&#039;Ctrl-b + ”&#039;&#039;&#039; para dividirla horizontalmente o verticalmente utilizando &#039;&#039;&#039;Ctrl-b + %&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Puedes repetir los atajos de división de ventanas para dividir aún más los paneles en áreas de trabajo más pequeñas. &lt;br /&gt;
&lt;br /&gt;
== Navegar y cambiar el tamaño de los paneles ==&lt;br /&gt;
Para navegar entre los paneles, pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; una &#039;&#039;&#039;tecla de flecha&#039;&#039;&#039; según la dirección que prefieras. Tu posición actual se resalta con un borde verde.&lt;br /&gt;
&lt;br /&gt;
También puedes pasar al panel siguiente pulsando &#039;&#039;&#039;Ctrl-b + o&#039;&#039;&#039;, o volver al anterior utilizando el atajo de teclado &#039;&#039;&#039;Ctrl-b + ;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, al dividir una ventana se crearán dos paneles con tamaños idénticos. Para cambiar la dimensión, pulsa &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; y mantén pulsado &#039;&#039;&#039;Alt&#039;&#039;&#039; y el botón de &#039;&#039;&#039;flecha&#039;&#039;&#039; según la dirección para cambiar el tamaño.&lt;br /&gt;
&lt;br /&gt;
Pulsa &#039;&#039;&#039;arriba&#039;&#039;&#039; y &#039;&#039;&#039;abajo&#039;&#039;&#039; para cambiar la altura. Mientras tanto, utiliza la tecla de flecha &#039;&#039;&#039;derecha&#039;&#039;&#039; o &#039;&#039;&#039;izquierda&#039;&#039;&#039; para ajustar la anchura.&lt;br /&gt;
&lt;br /&gt;
== Cerrar paneles ==&lt;br /&gt;
Para cerrar un panel, navega hasta el que quieras cerrar y pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; &amp;amp;. Sin embargo, recomendamos evitar este método, ya que la falta de un mensaje de confirmación lo hace propenso al borrado accidental.&lt;br /&gt;
&lt;br /&gt;
En su lugar, pulsa &#039;&#039;&#039;Ctrl-b + x&#039;&#039;&#039; para cerrar un panel de forma segura. Esto mostrará una ventana de verificación, que deberás confirmar pulsando &#039;&#039;&#039;Y,&#039;&#039;&#039; y pulsando &#039;&#039;&#039;Intro&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Terminar los paneles no afectará a las tareas de otras sesiones. Además, recuerda que este proceso es irreversible.&lt;br /&gt;
&lt;br /&gt;
== Personalizar tmux ==&lt;br /&gt;
Tmux te permite crear un archivo de configuración al que puedes añadir código, personalizando su aspecto y comportamiento. Según el ámbito, puede ser &#039;&#039;&#039;local&#039;&#039;&#039; o &#039;&#039;&#039;global.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
El archivo &#039;&#039;&#039;local&#039;&#039;&#039; se aplica a un usuario concreto y se encuentra en el directorio bash por defecto de la cuenta. Ejecuta lo siguiente para crearlo:&amp;lt;blockquote&amp;gt;sudo touch ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Mientras tanto, la configuración &#039;&#039;&#039;global&#039;&#039;&#039; se aplica a todo el sistema y se encuentra en el directorio &#039;&#039;&#039;/etc&#039;&#039;&#039;. A continuación te explicamos cómo hacer una:&amp;lt;blockquote&amp;gt;sudo touch /etc/tmux.conf&amp;lt;/blockquote&amp;gt;Un ejemplo de configuración que he leído es:  &lt;br /&gt;
&lt;br /&gt;
https://www.hostinger.es/tutoriales/tmux-config&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, el siguiente fragmento cambiará las combinaciones de teclas prefijadas por defecto de &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; a &#039;&#039;&#039;Ctrl -a&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Change prefix from &#039;Ctrl+B&#039; to &#039;Ctrl+A&#039;&lt;br /&gt;
&lt;br /&gt;
unbind C-b&lt;br /&gt;
&lt;br /&gt;
set-option -g prefix C-a&lt;br /&gt;
&lt;br /&gt;
bind-key C-a send-prefix&amp;lt;/blockquote&amp;gt;Además, puedes modificar el número de ID inicial. Por ejemplo, el siguiente código de configuración de tmux lo cambia de &#039;&#039;&#039;0&#039;&#039;&#039; a &#039;&#039;&#039;1&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Start counting pane and window number at 1&lt;br /&gt;
&lt;br /&gt;
set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
setw -g pane-base-index 1&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tweaks y links ==&lt;br /&gt;
Podemos aplicar configuraciones predeterminadas, por ejemplo, podemos editar nuestro fichero de comandos de perfil, por ejemplo: .bashrc o .zshrc, y añadir al final:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;tmux new-session \; split-window -h \; split-window -v \; attach&amp;quot;&lt;br /&gt;
&lt;br /&gt;
alias tmuxClose=&amp;quot;tmux kill-ses -t 0&amp;quot;&amp;lt;/blockquote&amp;gt;Cerramos sesión y recargamos la ruta de perfil, por ejemplo:&amp;lt;blockquote&amp;gt;source .zshrc&amp;lt;/blockquote&amp;gt;Y ejecutamos:&amp;lt;blockquote&amp;gt;tmuxAll&amp;lt;/blockquote&amp;gt;automáticamente se dividirá en dos ventanas verticales y en la ventana de la derecha se divide en dos horizontales.&lt;br /&gt;
&lt;br /&gt;
Para cerrar la sesión ejecutamos el otro alias.&amp;lt;blockquote&amp;gt;tmuxClose&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Estos atajos y más en:&lt;br /&gt;
&lt;br /&gt;
https://tmuxcheatsheet.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
También con un script, por ejemplo:&amp;lt;blockquote&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
SESSION=&amp;quot;System&amp;quot;&lt;br /&gt;
&lt;br /&gt;
HEIGHT=$(tput lines)&lt;br /&gt;
&lt;br /&gt;
PANEL_HTOP=15&lt;br /&gt;
&lt;br /&gt;
PANEL_LOGS=30&lt;br /&gt;
&lt;br /&gt;
tmux has-session -t $SESSION 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
if [ $? != 0 ]; then&lt;br /&gt;
&lt;br /&gt;
  tmux new-session -d -s $SESSION -n Principal &amp;quot;zsh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux split-window -v -t $SESSION:0 -l $PANEL_HTOP &amp;quot;htop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux split-window -v -t $SESSION:0 -l $PANEL_LOGS &amp;quot;journalctl -f&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux select-layout -t $SESSION:0 even-vertical&lt;br /&gt;
&lt;br /&gt;
  tmux set-option -t $SESSION mouse on&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
tmux attach -t $SESSION&amp;lt;/blockquote&amp;gt;Conservamos el fichero como ~/.tmux_start.sh&lt;br /&gt;
&lt;br /&gt;
Damos permisos:&amp;lt;blockquote&amp;gt;chmod +x ~/tmux-start.sh&amp;lt;/blockquote&amp;gt;Y añadimos el alias al intérprete que utilizamos:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;~/tmux-start.sh&amp;quot;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuraciones ===&lt;br /&gt;
&lt;br /&gt;
Se pueden utilizar plantillas de configuración para cambiar colores, barras... por ejemplo, con un fichero &amp;quot;tmux.conf&amp;quot; con el siguiente contenido:&lt;br /&gt;
 # start window index at 1&lt;br /&gt;
&lt;br /&gt;
 set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
 # start pane index at 1&lt;br /&gt;
&lt;br /&gt;
 set -g pane-base-index 1&lt;br /&gt;
&lt;br /&gt;
 # re-number windows when one is closed&lt;br /&gt;
&lt;br /&gt;
 set -g renumber-windows on&lt;br /&gt;
&lt;br /&gt;
 # Remapping prefix&lt;br /&gt;
&lt;br /&gt;
 unbind-key C-b&lt;br /&gt;
&lt;br /&gt;
 set-option -g prefix C-s # setting prefix from C-b to C-s&lt;br /&gt;
&lt;br /&gt;
 bind-key C-s send-prefix # ensure that we can send Ctrl-s to other apps or the shell&lt;br /&gt;
&lt;br /&gt;
 # Split panel with the current path&lt;br /&gt;
&lt;br /&gt;
 unbind % &lt;br /&gt;
&lt;br /&gt;
 unbind &#039;&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
 bind &#039;\&#039; split-window -h -c &#039;#{pane_current_path}&#039;           &lt;br /&gt;
&lt;br /&gt;
 bind &#039;-&#039; split-window -v -c &#039;#{pane_current_path}&#039;&lt;br /&gt;
&lt;br /&gt;
 # Use Alt-arrow keys without prefix key to switch panes&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Left select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Right select-pane -R&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Up select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Down select-pane -D&lt;br /&gt;
&lt;br /&gt;
 # Shift arrow to switch windows&lt;br /&gt;
&lt;br /&gt;
 bind -n S-Left  previous-window&lt;br /&gt;
&lt;br /&gt;
 bind -n S-Right next-window&lt;br /&gt;
&lt;br /&gt;
 # Vim style pane selection&lt;br /&gt;
&lt;br /&gt;
 bind h select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind j select-pane -D&lt;br /&gt;
&lt;br /&gt;
 bind k select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind l select-pane -R&lt;br /&gt;
&lt;br /&gt;
 # Use Alt-vim keys without prefix key to switch panes&lt;br /&gt;
&lt;br /&gt;
 bind -n M-h select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind -n M-j select-pane -D&lt;br /&gt;
&lt;br /&gt;
 bind -n M-k select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind -n M-l select-pane -R&lt;br /&gt;
&lt;br /&gt;
 ## Capture current tmux buffer and copy it to system clipboard with prefix + &#039;Ctrl + c&#039;&lt;br /&gt;
&lt;br /&gt;
 #bind C-c run &amp;quot;tmux save-buffer - | xclip -i -sel clipboard&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 ## Optional - paste from system clipboard to tmux session with prefix + &#039;Ctrl + v&#039;&lt;br /&gt;
&lt;br /&gt;
 #bind C-v run &amp;quot;tmux set-buffer &amp;quot;$(xclip -o -sel clipboard)&amp;quot;; tmux paste-buffer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 #copy and paste vim style&lt;br /&gt;
&lt;br /&gt;
 ## Enable vi-copy-mode&lt;br /&gt;
&lt;br /&gt;
 setw -g mode-keys vi &lt;br /&gt;
&lt;br /&gt;
 # Turn off mouse and use vim keys for navigations&lt;br /&gt;
&lt;br /&gt;
 # turn this on if you want to use touchpad or mouse to scroll through terminal&lt;br /&gt;
&lt;br /&gt;
 setw -g mouse off &lt;br /&gt;
&lt;br /&gt;
 ## changing the key to enter copy mode from `[` to `ESC`&lt;br /&gt;
&lt;br /&gt;
 unbind [&lt;br /&gt;
&lt;br /&gt;
 bind Escape copy-mode&lt;br /&gt;
&lt;br /&gt;
 ## unbind p and set it to paste from buffer&lt;br /&gt;
&lt;br /&gt;
 unbind p&lt;br /&gt;
&lt;br /&gt;
 bind p paste-buffer&lt;br /&gt;
&lt;br /&gt;
 ## set keys for visual mode (v) and yank/copy (y)&lt;br /&gt;
&lt;br /&gt;
 bind-key -Tcopy-mode-vi &#039;v&#039; send -X begin-selection&lt;br /&gt;
&lt;br /&gt;
 bind-key -Tcopy-mode-vi &#039;y&#039; send -X copy-pipe-and-cancel &#039;xclip -in -selection clipboard&#039;&lt;br /&gt;
&lt;br /&gt;
 # unbind r&lt;br /&gt;
&lt;br /&gt;
 # bind r source-file ~/.tmux.conf \; display &amp;quot;Reloaded tmux config!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # Automatically set the window title&lt;br /&gt;
&lt;br /&gt;
 set-window-option -g automatic-rename off&lt;br /&gt;
&lt;br /&gt;
 # activity notifications&lt;br /&gt;
&lt;br /&gt;
 setw -g monitor-activity on&lt;br /&gt;
&lt;br /&gt;
 setw -g visual-activity on&lt;br /&gt;
&lt;br /&gt;
 # Improve terminal colors&lt;br /&gt;
&lt;br /&gt;
 set -g default-terminal &amp;quot;screen-256color&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 set -ga terminal-overrides &amp;quot;,xterm-256color:Tc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # increase scrollback buffer to 10000&lt;br /&gt;
&lt;br /&gt;
 set -g history-limit 10000&lt;br /&gt;
Lo guardamos y lo llamamos con:&amp;lt;blockquote&amp;gt;tmux source tmux.conf&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tmux plugins ===&lt;br /&gt;
Para hacerlo mucho más fácil, podemos descargar y aplicar una serie de complementos del &#039;&#039;&#039;git&#039;&#039;&#039; oficial, primero tenemos que instalar un complemento para copiar y pegar texto del terminal con &#039;&#039;&#039;xclip&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;sudo dnf install -y xclip&amp;lt;/blockquote&amp;gt;Y bajamos con git:&amp;lt;blockquote&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://github.com/tmux-plugins/tpm&amp;lt;/nowiki&amp;gt; ~/.tmux/plugins/tp&amp;lt;/blockquote&amp;gt;Y modificamos el fichero de configuración:&amp;lt;blockquote&amp;gt;nvim ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Con mi ejemplo:&lt;br /&gt;
 # List of pluginsset -g @plugin &#039;tmux-plugins/tpm&#039;&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;tmux-plugins/tmux-sensible&#039;&lt;br /&gt;
&lt;br /&gt;
 Other examples:&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;github_username/plugin_name&#039;&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;git@github.com/user/plugin&#039;&lt;br /&gt;
&lt;br /&gt;
 set -g @plugin &#039;git@bitbucket.com/user/plugin&#039;set -g @plugin &amp;quot;arcticicestudio/nord-tmux&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 #Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)&lt;br /&gt;
&lt;br /&gt;
 run -b &#039;~/.tmux/plugins/tpm/tpm&#039;&lt;br /&gt;
Con este ejemplo también aplico un tema que me encanta, el nord o nordly.&lt;br /&gt;
&lt;br /&gt;
Guardamos y abrimos con &amp;quot;tmux&amp;quot; y aplicamos con &amp;quot;CTRL + I&amp;quot; ( importante, la &amp;quot;i&amp;quot; es mayúscula).&lt;br /&gt;
[[Archivo:TmuxNord.png|centro|miniaturadeimagen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=553</id>
		<title>TMUX</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=553"/>
		<updated>2025-05-25T05:12:45Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Configuraciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
[https://man.openbsd.org/OpenBSD-current/man1/tmux.1 Tmux] es un multiplexor de terminal donde se pueden crear varias sesiones de &#039;&#039;&#039;shell&#039;&#039;&#039; en tu sistema, cada una ejecutando un proceso distinto. Mantiene las tareas ejecutándose en segundo plano, aceptando que los usuarios continúen su trabajo luego.&lt;br /&gt;
&lt;br /&gt;
Tmux permite crear múltiples sesiones de terminal para una colaboración eficiente. Para mejorar tu flujo de trabajo, también puedes modificar la configuración mediante el archivo tmux.conf.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
Como la mayoría de programas básicos, este lo encontramos en los repositorios. &lt;br /&gt;
&lt;br /&gt;
Para &#039;&#039;&#039;Fedora&#039;&#039;&#039; o distribuciones basadas en &#039;&#039;&#039;RHEL&#039;&#039;&#039; se puede ejecutar:&amp;lt;blockquote&amp;gt;sudo dnf install tmux&amp;lt;/blockquote&amp;gt;O &#039;&#039;&#039;Ubuntu&#039;&#039;&#039; y distribuciones basadas en Debian:&amp;lt;blockquote&amp;gt;sudo apt install tmux&amp;lt;/blockquote&amp;gt;Una vez instalado solo es necesario invocarlo con:&amp;lt;blockquote&amp;gt;tmux&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comandos y atajos ==&lt;br /&gt;
Los atajos de teclado de tmux son esenciales para la gestión de ventanas y paneles. Aquí tienes algunas de las combinaciones de teclas más útiles y sus funciones:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + d:&#039;&#039;&#039; salir de la sesión actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + %:&#039;&#039;&#039; dividir una ventana en paneles superior e inferior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + “:&#039;&#039;&#039; dividir una ventana en dos paneles verticalmente.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + flecha:&#039;&#039;&#039; mover a un panel diferente en una dirección.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + x:&#039;&#039;&#039; cerrar el panel actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + c:&#039;&#039;&#039; crear una nueva ventana.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + n:&#039;&#039;&#039; pasar a la siguiente ventana según el número.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + p:&#039;&#039;&#039; volver a la ventana anterior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + número ID&#039;&#039;&#039;: saltar a una ventana concreta utilizando el número ID.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039;  abrir el modo línea de comandos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + ?:&#039;&#039;&#039; mostrar todos los atajos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + w:&#039;&#039;&#039; lista todas las ventanas de la sesión actual.&lt;br /&gt;
&lt;br /&gt;
Ten en cuenta que los atajos tmux sólo funcionan dentro de una sesión tmux. Además, para que las combinaciones de teclas funcionen, tendrás que pulsar &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; antes de la tecla que quieras utilizar, como se muestra arriba.&lt;br /&gt;
&lt;br /&gt;
NOTA - Si ya tenemos instalado [[byobu]] los atajos predeterminados son los suyos.&lt;br /&gt;
&lt;br /&gt;
== Sesiones ==&lt;br /&gt;
Para iniciar tmux y crear tu primera sesión, ejecuta uno de los siguientes comandos en tu ventana principal de terminal:&amp;lt;blockquote&amp;gt;tmux&lt;br /&gt;
&lt;br /&gt;
tmux new&lt;br /&gt;
&lt;br /&gt;
tmux new-session&amp;lt;/blockquote&amp;gt;Ten en cuenta que debes ejecutar estos comandos en la ventana principal del terminal. Aunque puedes crear una nueva dentro de una sesión existente, no es recomendable y requiere desactivar la variable de entorno &#039;&#039;&#039;$TMUX&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, una nueva sesión tmux utilizará un número ID para identificarse. Sin embargo, puedes darle un nombre personalizado utilizando la opción &#039;&#039;&#039;-s&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;tmux new-session -s [nombre]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Separar y unir sesiones ==&lt;br /&gt;
Después de crear una nueva sesión, se te adjuntará automáticamente a ella. Para desvincularte y abandonar el cliente tmux, pulsa &#039;&#039;&#039;Ctrl-b + d.&#039;&#039;&#039; Para volver a vincularte a la sesión más reciente, utiliza el comando &#039;&#039;&#039;tmux attach-session&#039;&#039;&#039;. También puedes volver a entrar en un shell específico introduciendo:&amp;lt;blockquote&amp;gt;tmux attach-session -t [sesión-nombre]&amp;lt;/blockquote&amp;gt;Alternativamente, vuelve a conectarte a una sesión de destino concreta utilizando su número de &#039;&#039;&#039;ID&#039;&#039;&#039;. Como tmux inicia el orden desde 0 por defecto, introduce lo siguiente para acceder al primer intérprete de órdenes:&amp;lt;blockquote&amp;gt;tmux attach-session -t 0&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestionar sesiones ==&lt;br /&gt;
Para listar todas las sesiones activas, ejecuta cualquiera de los siguientes comandos tmux. Puedes hacerlo dentro del shell principal o virtual:&amp;lt;blockquote&amp;gt;tmux list-sessions&lt;br /&gt;
&lt;br /&gt;
tmux ls&amp;lt;/blockquote&amp;gt;Tu interfaz de línea de comandos mostrará todas las sesiones con detalles como su nombre, ID, número de ventanas y fecha de creación. También verás a cuál estás conectado actualmente.&lt;br /&gt;
&lt;br /&gt;
Si estás en una sesión de terminal virtual, puedes cambiar a otra utilizando el siguiente comando. Al igual que para volver a conectarte, utiliza el nombre o el número de ID:&amp;lt;blockquote&amp;gt;tmux switch -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;Para terminar la sesión actual, introduce &#039;&#039;&#039;exit&#039;&#039;&#039; o pulsa &#039;&#039;&#039;Ctrl-d&#039;&#039;&#039;. Mientras tanto, ejecuta este comando si quieres cerrar una en concreto:&amp;lt;blockquote&amp;gt;tmux kill-session -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Crear y navegar por las ventanas ==&lt;br /&gt;
Por defecto, tu nueva sesión tmux será una única ventana de terminal. Para dividirla en dos, pulsa &#039;&#039;&#039;Ctrl-b + c&#039;&#039;&#039;. La nueva ventana aparecerá en la barra de estado inferior con su nombre y número de identificación.&lt;br /&gt;
&lt;br /&gt;
Tu ventana tmux actual está marcada con un asterisco (&#039;&#039;&#039;*&#039;&#039;&#039;). Puedes pasar a la siguiente ventana pulsando &#039;&#039;&#039;Ctrl-b + n&#039;&#039;&#039; o volver a la anterior utilizando &#039;&#039;&#039;Ctrl-b + p&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
En lugar de alternar entre varias ventanas del terminal, puedes saltar directamente a una concreta pulsando Ctrl-b &#039;&#039;&#039;+ ID numérico&#039;&#039;&#039;. Por ejemplo, pulsa &#039;&#039;&#039;Ctrl-b + 0&#039;&#039;&#039; para volver a la primera ventana.&lt;br /&gt;
&lt;br /&gt;
== Renombrar y organizar ventanas ==&lt;br /&gt;
Por defecto, tmux creará una nueva ventana llamada &#039;&#039;&#039;bash&#039;&#039;&#039; o &#039;&#039;&#039;sh&#039;&#039;&#039;. Si tienes muchos procesos, distinguir entre ellos puede ser difícil, complicando la gestión de tareas.&lt;br /&gt;
&lt;br /&gt;
Asigna a las nuevas ventanas tmux un nombre personalizado para facilitar su identificación. Para ello, navega hasta la que quieras renombrar y pulsa &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039; para entrar en el modo de comandos de tmux. A continuación, ejecuta lo siguiente:&amp;lt;blockquote&amp;gt;rename-window nombre-ventana&amp;lt;/blockquote&amp;gt;Sustituye &#039;&#039;&#039;nombre-ventana&#039;&#039;&#039; por el nombre que desees. Deberías ver cómo cambia la información de la nueva ventana en la barra de estado inferior de la sesión.&lt;br /&gt;
&lt;br /&gt;
== Dividir ventanas en paneles ==&lt;br /&gt;
Para organizar una tarea más específica, divide una ventana en varios paneles. Pulsa &#039;&#039;&#039;Ctrl-b + ”&#039;&#039;&#039; para dividirla horizontalmente o verticalmente utilizando &#039;&#039;&#039;Ctrl-b + %&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Puedes repetir los atajos de división de ventanas para dividir aún más los paneles en áreas de trabajo más pequeñas. &lt;br /&gt;
&lt;br /&gt;
== Navegar y cambiar el tamaño de los paneles ==&lt;br /&gt;
Para navegar entre los paneles, pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; una &#039;&#039;&#039;tecla de flecha&#039;&#039;&#039; según la dirección que prefieras. Tu posición actual se resalta con un borde verde.&lt;br /&gt;
&lt;br /&gt;
También puedes pasar al panel siguiente pulsando &#039;&#039;&#039;Ctrl-b + o&#039;&#039;&#039;, o volver al anterior utilizando el atajo de teclado &#039;&#039;&#039;Ctrl-b + ;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, al dividir una ventana se crearán dos paneles con tamaños idénticos. Para cambiar la dimensión, pulsa &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; y mantén pulsado &#039;&#039;&#039;Alt&#039;&#039;&#039; y el botón de &#039;&#039;&#039;flecha&#039;&#039;&#039; según la dirección para cambiar el tamaño.&lt;br /&gt;
&lt;br /&gt;
Pulsa &#039;&#039;&#039;arriba&#039;&#039;&#039; y &#039;&#039;&#039;abajo&#039;&#039;&#039; para cambiar la altura. Mientras tanto, utiliza la tecla de flecha &#039;&#039;&#039;derecha&#039;&#039;&#039; o &#039;&#039;&#039;izquierda&#039;&#039;&#039; para ajustar la anchura.&lt;br /&gt;
&lt;br /&gt;
== Cerrar paneles ==&lt;br /&gt;
Para cerrar un panel, navega hasta el que quieras cerrar y pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; &amp;amp;. Sin embargo, recomendamos evitar este método, ya que la falta de un mensaje de confirmación lo hace propenso al borrado accidental.&lt;br /&gt;
&lt;br /&gt;
En su lugar, pulsa &#039;&#039;&#039;Ctrl-b + x&#039;&#039;&#039; para cerrar un panel de forma segura. Esto mostrará una ventana de verificación, que deberás confirmar pulsando &#039;&#039;&#039;Y,&#039;&#039;&#039; y pulsando &#039;&#039;&#039;Intro&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Terminar los paneles no afectará a las tareas de otras sesiones. Además, recuerda que este proceso es irreversible.&lt;br /&gt;
&lt;br /&gt;
== Personalizar tmux ==&lt;br /&gt;
Tmux te permite crear un archivo de configuración al que puedes añadir código, personalizando su aspecto y comportamiento. Según el ámbito, puede ser &#039;&#039;&#039;local&#039;&#039;&#039; o &#039;&#039;&#039;global.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
El archivo &#039;&#039;&#039;local&#039;&#039;&#039; se aplica a un usuario concreto y se encuentra en el directorio bash por defecto de la cuenta. Ejecuta lo siguiente para crearlo:&amp;lt;blockquote&amp;gt;sudo touch ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Mientras tanto, la configuración &#039;&#039;&#039;global&#039;&#039;&#039; se aplica a todo el sistema y se encuentra en el directorio &#039;&#039;&#039;/etc&#039;&#039;&#039;. A continuación te explicamos cómo hacer una:&amp;lt;blockquote&amp;gt;sudo touch /etc/tmux.conf&amp;lt;/blockquote&amp;gt;Un ejemplo de configuración que he leído es:  &lt;br /&gt;
&lt;br /&gt;
https://www.hostinger.es/tutoriales/tmux-config&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, el siguiente fragmento cambiará las combinaciones de teclas prefijadas por defecto de &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; a &#039;&#039;&#039;Ctrl -a&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Change prefix from &#039;Ctrl+B&#039; to &#039;Ctrl+A&#039;&lt;br /&gt;
&lt;br /&gt;
unbind C-b&lt;br /&gt;
&lt;br /&gt;
set-option -g prefix C-a&lt;br /&gt;
&lt;br /&gt;
bind-key C-a send-prefix&amp;lt;/blockquote&amp;gt;Además, puedes modificar el número de ID inicial. Por ejemplo, el siguiente código de configuración de tmux lo cambia de &#039;&#039;&#039;0&#039;&#039;&#039; a &#039;&#039;&#039;1&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Start counting pane and window number at 1&lt;br /&gt;
&lt;br /&gt;
set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
setw -g pane-base-index 1&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tweaks y links ==&lt;br /&gt;
Podemos aplicar configuraciones predeterminadas, por ejemplo, podemos editar nuestro fichero de comandos de perfil, por ejemplo: .bashrc o .zshrc, y añadir al final:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;tmux new-session \; split-window -h \; split-window -v \; attach&amp;quot;&lt;br /&gt;
&lt;br /&gt;
alias tmuxClose=&amp;quot;tmux kill-ses -t 0&amp;quot;&amp;lt;/blockquote&amp;gt;Cerramos sesión y recargamos la ruta de perfil, por ejemplo:&amp;lt;blockquote&amp;gt;source .zshrc&amp;lt;/blockquote&amp;gt;Y ejecutamos:&amp;lt;blockquote&amp;gt;tmuxAll&amp;lt;/blockquote&amp;gt;automáticamente se dividirá en dos ventanas verticales y en la ventana de la derecha se divide en dos horizontales.&lt;br /&gt;
&lt;br /&gt;
Para cerrar la sesión ejecutamos el otro alias.&amp;lt;blockquote&amp;gt;tmuxClose&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Estos atajos y más en:&lt;br /&gt;
&lt;br /&gt;
https://tmuxcheatsheet.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
También con un script, por ejemplo:&amp;lt;blockquote&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
SESSION=&amp;quot;System&amp;quot;&lt;br /&gt;
&lt;br /&gt;
HEIGHT=$(tput lines)&lt;br /&gt;
&lt;br /&gt;
PANEL_HTOP=15&lt;br /&gt;
&lt;br /&gt;
PANEL_LOGS=30&lt;br /&gt;
&lt;br /&gt;
tmux has-session -t $SESSION 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
if [ $? != 0 ]; then&lt;br /&gt;
&lt;br /&gt;
  tmux new-session -d -s $SESSION -n Principal &amp;quot;zsh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux split-window -v -t $SESSION:0 -l $PANEL_HTOP &amp;quot;htop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux split-window -v -t $SESSION:0 -l $PANEL_LOGS &amp;quot;journalctl -f&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux select-layout -t $SESSION:0 even-vertical&lt;br /&gt;
&lt;br /&gt;
  tmux set-option -t $SESSION mouse on&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
tmux attach -t $SESSION&amp;lt;/blockquote&amp;gt;Conservamos el fichero como ~/.tmux_start.sh&lt;br /&gt;
&lt;br /&gt;
Damos permisos:&amp;lt;blockquote&amp;gt;chmod +x ~/tmux-start.sh&amp;lt;/blockquote&amp;gt;Y añadimos el alias al intérprete que utilizamos:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;~/tmux-start.sh&amp;quot;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuraciones ===&lt;br /&gt;
&lt;br /&gt;
Se pueden utilizar plantillas de configuración para cambiar colores, barras... por ejemplo, con un fichero &amp;quot;tmux.conf&amp;quot; con el siguiente contenido:&lt;br /&gt;
 # start window index at 1&lt;br /&gt;
&lt;br /&gt;
 set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
 # start pane index at 1&lt;br /&gt;
&lt;br /&gt;
 set -g pane-base-index 1&lt;br /&gt;
&lt;br /&gt;
 # re-number windows when one is closed&lt;br /&gt;
&lt;br /&gt;
 set -g renumber-windows on&lt;br /&gt;
&lt;br /&gt;
 # Remapping prefix&lt;br /&gt;
&lt;br /&gt;
 unbind-key C-b&lt;br /&gt;
&lt;br /&gt;
 set-option -g prefix C-s # setting prefix from C-b to C-s&lt;br /&gt;
&lt;br /&gt;
 bind-key C-s send-prefix # ensure that we can send Ctrl-s to other apps or the shell&lt;br /&gt;
&lt;br /&gt;
 # Split panel with the current path&lt;br /&gt;
&lt;br /&gt;
 unbind % &lt;br /&gt;
&lt;br /&gt;
 unbind &#039;&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
 bind &#039;\&#039; split-window -h -c &#039;#{pane_current_path}&#039;           &lt;br /&gt;
&lt;br /&gt;
 bind &#039;-&#039; split-window -v -c &#039;#{pane_current_path}&#039;&lt;br /&gt;
&lt;br /&gt;
 # Use Alt-arrow keys without prefix key to switch panes&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Left select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Right select-pane -R&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Up select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind -n M-Down select-pane -D&lt;br /&gt;
&lt;br /&gt;
 # Shift arrow to switch windows&lt;br /&gt;
&lt;br /&gt;
 bind -n S-Left  previous-window&lt;br /&gt;
&lt;br /&gt;
 bind -n S-Right next-window&lt;br /&gt;
&lt;br /&gt;
 # Vim style pane selection&lt;br /&gt;
&lt;br /&gt;
 bind h select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind j select-pane -D&lt;br /&gt;
&lt;br /&gt;
 bind k select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind l select-pane -R&lt;br /&gt;
&lt;br /&gt;
 # Use Alt-vim keys without prefix key to switch panes&lt;br /&gt;
&lt;br /&gt;
 bind -n M-h select-pane -L&lt;br /&gt;
&lt;br /&gt;
 bind -n M-j select-pane -D&lt;br /&gt;
&lt;br /&gt;
 bind -n M-k select-pane -U&lt;br /&gt;
&lt;br /&gt;
 bind -n M-l select-pane -R&lt;br /&gt;
&lt;br /&gt;
 ## Capture current tmux buffer and copy it to system clipboard with prefix + &#039;Ctrl + c&#039;&lt;br /&gt;
&lt;br /&gt;
 #bind C-c run &amp;quot;tmux save-buffer - | xclip -i -sel clipboard&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 ## Optional - paste from system clipboard to tmux session with prefix + &#039;Ctrl + v&#039;&lt;br /&gt;
&lt;br /&gt;
 #bind C-v run &amp;quot;tmux set-buffer &amp;quot;$(xclip -o -sel clipboard)&amp;quot;; tmux paste-buffer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 #copy and paste vim style&lt;br /&gt;
&lt;br /&gt;
 ## Enable vi-copy-mode&lt;br /&gt;
&lt;br /&gt;
 setw -g mode-keys vi &lt;br /&gt;
&lt;br /&gt;
 # Turn off mouse and use vim keys for navigations&lt;br /&gt;
&lt;br /&gt;
 # turn this on if you want to use touchpad or mouse to scroll through terminal&lt;br /&gt;
&lt;br /&gt;
 setw -g mouse off &lt;br /&gt;
&lt;br /&gt;
 ## changing the key to enter copy mode from `[` to `ESC`&lt;br /&gt;
&lt;br /&gt;
 unbind [&lt;br /&gt;
&lt;br /&gt;
 bind Escape copy-mode&lt;br /&gt;
&lt;br /&gt;
 ## unbind p and set it to paste from buffer&lt;br /&gt;
&lt;br /&gt;
 unbind p&lt;br /&gt;
&lt;br /&gt;
 bind p paste-buffer&lt;br /&gt;
&lt;br /&gt;
 ## set keys for visual mode (v) and yank/copy (y)&lt;br /&gt;
&lt;br /&gt;
 bind-key -Tcopy-mode-vi &#039;v&#039; send -X begin-selection&lt;br /&gt;
&lt;br /&gt;
 bind-key -Tcopy-mode-vi &#039;y&#039; send -X copy-pipe-and-cancel &#039;xclip -in -selection clipboard&#039;&lt;br /&gt;
&lt;br /&gt;
 # unbind r&lt;br /&gt;
&lt;br /&gt;
 # bind r source-file ~/.tmux.conf \; display &amp;quot;Reloaded tmux config!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # Automatically set the window title&lt;br /&gt;
&lt;br /&gt;
 set-window-option -g automatic-rename off&lt;br /&gt;
&lt;br /&gt;
 # activity notifications&lt;br /&gt;
&lt;br /&gt;
 setw -g monitor-activity on&lt;br /&gt;
&lt;br /&gt;
 setw -g visual-activity on&lt;br /&gt;
&lt;br /&gt;
 # Improve terminal colors&lt;br /&gt;
&lt;br /&gt;
 set -g default-terminal &amp;quot;screen-256color&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 set -ga terminal-overrides &amp;quot;,xterm-256color:Tc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # increase scrollback buffer to 10000&lt;br /&gt;
&lt;br /&gt;
 set -g history-limit 10000&lt;br /&gt;
Lo guardamos y lo llamamos con:&amp;lt;blockquote&amp;gt;tmux source tmux.conf&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tmux plugins ===&lt;br /&gt;
Para hacerlo mucho más fácil, podemos descargar y aplicar una serie de complementos del &#039;&#039;&#039;git&#039;&#039;&#039; oficial, primero tenemos que instalar un complemento para copiar y pegar texto del terminal con &#039;&#039;&#039;xclip&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;sudo dnf install -y xclip&amp;lt;/blockquote&amp;gt;Y bajamos con git:&amp;lt;blockquote&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://github.com/tmux-plugins/tpm&amp;lt;/nowiki&amp;gt; ~/.tmux/plugins/tp&amp;lt;/blockquote&amp;gt;Y modificamos el fichero de configuración:&amp;lt;blockquote&amp;gt;nvim ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Con mi ejemplo:&amp;lt;blockquote&amp;gt;# List of plugins&lt;br /&gt;
&lt;br /&gt;
set -g @plugin &#039;tmux-plugins/tpm&#039;&lt;br /&gt;
&lt;br /&gt;
set -g @plugin &#039;tmux-plugins/tmux-sensible&#039;&lt;br /&gt;
&lt;br /&gt;
# Other examples:&lt;br /&gt;
&lt;br /&gt;
# set -g @plugin &#039;github_username/plugin_name&#039;&lt;br /&gt;
&lt;br /&gt;
# set -g @plugin &#039;git@github.com/user/plugin&#039;&lt;br /&gt;
&lt;br /&gt;
# set -g @plugin &#039;git@bitbucket.com/user/plugin&#039;&lt;br /&gt;
&lt;br /&gt;
set -g @plugin &amp;quot;arcticicestudio/nord-tmux&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)&lt;br /&gt;
&lt;br /&gt;
run -b &#039;~/.tmux/plugins/tpm/tpm&#039;&amp;lt;/blockquote&amp;gt;Con este ejemplo también aplico un tema que me encanta, el nord o nordly.&lt;br /&gt;
&lt;br /&gt;
Guardamos y abrimos con &amp;quot;tmux&amp;quot; y aplicamos con &amp;quot;CTRL + I&amp;quot; ( importante, la &amp;quot;i&amp;quot; es mayúscula).&lt;br /&gt;
[[Archivo:TmuxNord.png|centro|miniaturadeimagen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=552</id>
		<title>TMUX</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=552"/>
		<updated>2025-05-25T05:10:48Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Tweaks y links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
[https://man.openbsd.org/OpenBSD-current/man1/tmux.1 Tmux] es un multiplexor de terminal donde se pueden crear varias sesiones de &#039;&#039;&#039;shell&#039;&#039;&#039; en tu sistema, cada una ejecutando un proceso distinto. Mantiene las tareas ejecutándose en segundo plano, aceptando que los usuarios continúen su trabajo luego.&lt;br /&gt;
&lt;br /&gt;
Tmux permite crear múltiples sesiones de terminal para una colaboración eficiente. Para mejorar tu flujo de trabajo, también puedes modificar la configuración mediante el archivo tmux.conf.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
Como la mayoría de programas básicos, este lo encontramos en los repositorios. &lt;br /&gt;
&lt;br /&gt;
Para &#039;&#039;&#039;Fedora&#039;&#039;&#039; o distribuciones basadas en &#039;&#039;&#039;RHEL&#039;&#039;&#039; se puede ejecutar:&amp;lt;blockquote&amp;gt;sudo dnf install tmux&amp;lt;/blockquote&amp;gt;O &#039;&#039;&#039;Ubuntu&#039;&#039;&#039; y distribuciones basadas en Debian:&amp;lt;blockquote&amp;gt;sudo apt install tmux&amp;lt;/blockquote&amp;gt;Una vez instalado solo es necesario invocarlo con:&amp;lt;blockquote&amp;gt;tmux&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comandos y atajos ==&lt;br /&gt;
Los atajos de teclado de tmux son esenciales para la gestión de ventanas y paneles. Aquí tienes algunas de las combinaciones de teclas más útiles y sus funciones:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + d:&#039;&#039;&#039; salir de la sesión actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + %:&#039;&#039;&#039; dividir una ventana en paneles superior e inferior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + “:&#039;&#039;&#039; dividir una ventana en dos paneles verticalmente.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + flecha:&#039;&#039;&#039; mover a un panel diferente en una dirección.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + x:&#039;&#039;&#039; cerrar el panel actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + c:&#039;&#039;&#039; crear una nueva ventana.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + n:&#039;&#039;&#039; pasar a la siguiente ventana según el número.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + p:&#039;&#039;&#039; volver a la ventana anterior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + número ID&#039;&#039;&#039;: saltar a una ventana concreta utilizando el número ID.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039;  abrir el modo línea de comandos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + ?:&#039;&#039;&#039; mostrar todos los atajos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + w:&#039;&#039;&#039; lista todas las ventanas de la sesión actual.&lt;br /&gt;
&lt;br /&gt;
Ten en cuenta que los atajos tmux sólo funcionan dentro de una sesión tmux. Además, para que las combinaciones de teclas funcionen, tendrás que pulsar &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; antes de la tecla que quieras utilizar, como se muestra arriba.&lt;br /&gt;
&lt;br /&gt;
NOTA - Si ya tenemos instalado [[byobu]] los atajos predeterminados son los suyos.&lt;br /&gt;
&lt;br /&gt;
== Sesiones ==&lt;br /&gt;
Para iniciar tmux y crear tu primera sesión, ejecuta uno de los siguientes comandos en tu ventana principal de terminal:&amp;lt;blockquote&amp;gt;tmux&lt;br /&gt;
&lt;br /&gt;
tmux new&lt;br /&gt;
&lt;br /&gt;
tmux new-session&amp;lt;/blockquote&amp;gt;Ten en cuenta que debes ejecutar estos comandos en la ventana principal del terminal. Aunque puedes crear una nueva dentro de una sesión existente, no es recomendable y requiere desactivar la variable de entorno &#039;&#039;&#039;$TMUX&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, una nueva sesión tmux utilizará un número ID para identificarse. Sin embargo, puedes darle un nombre personalizado utilizando la opción &#039;&#039;&#039;-s&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;tmux new-session -s [nombre]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Separar y unir sesiones ==&lt;br /&gt;
Después de crear una nueva sesión, se te adjuntará automáticamente a ella. Para desvincularte y abandonar el cliente tmux, pulsa &#039;&#039;&#039;Ctrl-b + d.&#039;&#039;&#039; Para volver a vincularte a la sesión más reciente, utiliza el comando &#039;&#039;&#039;tmux attach-session&#039;&#039;&#039;. También puedes volver a entrar en un shell específico introduciendo:&amp;lt;blockquote&amp;gt;tmux attach-session -t [sesión-nombre]&amp;lt;/blockquote&amp;gt;Alternativamente, vuelve a conectarte a una sesión de destino concreta utilizando su número de &#039;&#039;&#039;ID&#039;&#039;&#039;. Como tmux inicia el orden desde 0 por defecto, introduce lo siguiente para acceder al primer intérprete de órdenes:&amp;lt;blockquote&amp;gt;tmux attach-session -t 0&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestionar sesiones ==&lt;br /&gt;
Para listar todas las sesiones activas, ejecuta cualquiera de los siguientes comandos tmux. Puedes hacerlo dentro del shell principal o virtual:&amp;lt;blockquote&amp;gt;tmux list-sessions&lt;br /&gt;
&lt;br /&gt;
tmux ls&amp;lt;/blockquote&amp;gt;Tu interfaz de línea de comandos mostrará todas las sesiones con detalles como su nombre, ID, número de ventanas y fecha de creación. También verás a cuál estás conectado actualmente.&lt;br /&gt;
&lt;br /&gt;
Si estás en una sesión de terminal virtual, puedes cambiar a otra utilizando el siguiente comando. Al igual que para volver a conectarte, utiliza el nombre o el número de ID:&amp;lt;blockquote&amp;gt;tmux switch -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;Para terminar la sesión actual, introduce &#039;&#039;&#039;exit&#039;&#039;&#039; o pulsa &#039;&#039;&#039;Ctrl-d&#039;&#039;&#039;. Mientras tanto, ejecuta este comando si quieres cerrar una en concreto:&amp;lt;blockquote&amp;gt;tmux kill-session -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Crear y navegar por las ventanas ==&lt;br /&gt;
Por defecto, tu nueva sesión tmux será una única ventana de terminal. Para dividirla en dos, pulsa &#039;&#039;&#039;Ctrl-b + c&#039;&#039;&#039;. La nueva ventana aparecerá en la barra de estado inferior con su nombre y número de identificación.&lt;br /&gt;
&lt;br /&gt;
Tu ventana tmux actual está marcada con un asterisco (&#039;&#039;&#039;*&#039;&#039;&#039;). Puedes pasar a la siguiente ventana pulsando &#039;&#039;&#039;Ctrl-b + n&#039;&#039;&#039; o volver a la anterior utilizando &#039;&#039;&#039;Ctrl-b + p&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
En lugar de alternar entre varias ventanas del terminal, puedes saltar directamente a una concreta pulsando Ctrl-b &#039;&#039;&#039;+ ID numérico&#039;&#039;&#039;. Por ejemplo, pulsa &#039;&#039;&#039;Ctrl-b + 0&#039;&#039;&#039; para volver a la primera ventana.&lt;br /&gt;
&lt;br /&gt;
== Renombrar y organizar ventanas ==&lt;br /&gt;
Por defecto, tmux creará una nueva ventana llamada &#039;&#039;&#039;bash&#039;&#039;&#039; o &#039;&#039;&#039;sh&#039;&#039;&#039;. Si tienes muchos procesos, distinguir entre ellos puede ser difícil, complicando la gestión de tareas.&lt;br /&gt;
&lt;br /&gt;
Asigna a las nuevas ventanas tmux un nombre personalizado para facilitar su identificación. Para ello, navega hasta la que quieras renombrar y pulsa &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039; para entrar en el modo de comandos de tmux. A continuación, ejecuta lo siguiente:&amp;lt;blockquote&amp;gt;rename-window nombre-ventana&amp;lt;/blockquote&amp;gt;Sustituye &#039;&#039;&#039;nombre-ventana&#039;&#039;&#039; por el nombre que desees. Deberías ver cómo cambia la información de la nueva ventana en la barra de estado inferior de la sesión.&lt;br /&gt;
&lt;br /&gt;
== Dividir ventanas en paneles ==&lt;br /&gt;
Para organizar una tarea más específica, divide una ventana en varios paneles. Pulsa &#039;&#039;&#039;Ctrl-b + ”&#039;&#039;&#039; para dividirla horizontalmente o verticalmente utilizando &#039;&#039;&#039;Ctrl-b + %&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Puedes repetir los atajos de división de ventanas para dividir aún más los paneles en áreas de trabajo más pequeñas. &lt;br /&gt;
&lt;br /&gt;
== Navegar y cambiar el tamaño de los paneles ==&lt;br /&gt;
Para navegar entre los paneles, pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; una &#039;&#039;&#039;tecla de flecha&#039;&#039;&#039; según la dirección que prefieras. Tu posición actual se resalta con un borde verde.&lt;br /&gt;
&lt;br /&gt;
También puedes pasar al panel siguiente pulsando &#039;&#039;&#039;Ctrl-b + o&#039;&#039;&#039;, o volver al anterior utilizando el atajo de teclado &#039;&#039;&#039;Ctrl-b + ;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, al dividir una ventana se crearán dos paneles con tamaños idénticos. Para cambiar la dimensión, pulsa &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; y mantén pulsado &#039;&#039;&#039;Alt&#039;&#039;&#039; y el botón de &#039;&#039;&#039;flecha&#039;&#039;&#039; según la dirección para cambiar el tamaño.&lt;br /&gt;
&lt;br /&gt;
Pulsa &#039;&#039;&#039;arriba&#039;&#039;&#039; y &#039;&#039;&#039;abajo&#039;&#039;&#039; para cambiar la altura. Mientras tanto, utiliza la tecla de flecha &#039;&#039;&#039;derecha&#039;&#039;&#039; o &#039;&#039;&#039;izquierda&#039;&#039;&#039; para ajustar la anchura.&lt;br /&gt;
&lt;br /&gt;
== Cerrar paneles ==&lt;br /&gt;
Para cerrar un panel, navega hasta el que quieras cerrar y pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; &amp;amp;. Sin embargo, recomendamos evitar este método, ya que la falta de un mensaje de confirmación lo hace propenso al borrado accidental.&lt;br /&gt;
&lt;br /&gt;
En su lugar, pulsa &#039;&#039;&#039;Ctrl-b + x&#039;&#039;&#039; para cerrar un panel de forma segura. Esto mostrará una ventana de verificación, que deberás confirmar pulsando &#039;&#039;&#039;Y,&#039;&#039;&#039; y pulsando &#039;&#039;&#039;Intro&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Terminar los paneles no afectará a las tareas de otras sesiones. Además, recuerda que este proceso es irreversible.&lt;br /&gt;
&lt;br /&gt;
== Personalizar tmux ==&lt;br /&gt;
Tmux te permite crear un archivo de configuración al que puedes añadir código, personalizando su aspecto y comportamiento. Según el ámbito, puede ser &#039;&#039;&#039;local&#039;&#039;&#039; o &#039;&#039;&#039;global.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
El archivo &#039;&#039;&#039;local&#039;&#039;&#039; se aplica a un usuario concreto y se encuentra en el directorio bash por defecto de la cuenta. Ejecuta lo siguiente para crearlo:&amp;lt;blockquote&amp;gt;sudo touch ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Mientras tanto, la configuración &#039;&#039;&#039;global&#039;&#039;&#039; se aplica a todo el sistema y se encuentra en el directorio &#039;&#039;&#039;/etc&#039;&#039;&#039;. A continuación te explicamos cómo hacer una:&amp;lt;blockquote&amp;gt;sudo touch /etc/tmux.conf&amp;lt;/blockquote&amp;gt;Un ejemplo de configuración que he leído es:  &lt;br /&gt;
&lt;br /&gt;
https://www.hostinger.es/tutoriales/tmux-config&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, el siguiente fragmento cambiará las combinaciones de teclas prefijadas por defecto de &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; a &#039;&#039;&#039;Ctrl -a&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Change prefix from &#039;Ctrl+B&#039; to &#039;Ctrl+A&#039;&lt;br /&gt;
&lt;br /&gt;
unbind C-b&lt;br /&gt;
&lt;br /&gt;
set-option -g prefix C-a&lt;br /&gt;
&lt;br /&gt;
bind-key C-a send-prefix&amp;lt;/blockquote&amp;gt;Además, puedes modificar el número de ID inicial. Por ejemplo, el siguiente código de configuración de tmux lo cambia de &#039;&#039;&#039;0&#039;&#039;&#039; a &#039;&#039;&#039;1&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Start counting pane and window number at 1&lt;br /&gt;
&lt;br /&gt;
set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
setw -g pane-base-index 1&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tweaks y links ==&lt;br /&gt;
Podemos aplicar configuraciones predeterminadas, por ejemplo, podemos editar nuestro fichero de comandos de perfil, por ejemplo: .bashrc o .zshrc, y añadir al final:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;tmux new-session \; split-window -h \; split-window -v \; attach&amp;quot;&lt;br /&gt;
&lt;br /&gt;
alias tmuxClose=&amp;quot;tmux kill-ses -t 0&amp;quot;&amp;lt;/blockquote&amp;gt;Cerramos sesión y recargamos la ruta de perfil, por ejemplo:&amp;lt;blockquote&amp;gt;source .zshrc&amp;lt;/blockquote&amp;gt;Y ejecutamos:&amp;lt;blockquote&amp;gt;tmuxAll&amp;lt;/blockquote&amp;gt;automáticamente se dividirá en dos ventanas verticales y en la ventana de la derecha se divide en dos horizontales.&lt;br /&gt;
&lt;br /&gt;
Para cerrar la sesión ejecutamos el otro alias.&amp;lt;blockquote&amp;gt;tmuxClose&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Estos atajos y más en:&lt;br /&gt;
&lt;br /&gt;
https://tmuxcheatsheet.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
También con un script, por ejemplo:&amp;lt;blockquote&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
SESSION=&amp;quot;System&amp;quot;&lt;br /&gt;
&lt;br /&gt;
HEIGHT=$(tput lines)&lt;br /&gt;
&lt;br /&gt;
PANEL_HTOP=15&lt;br /&gt;
&lt;br /&gt;
PANEL_LOGS=30&lt;br /&gt;
&lt;br /&gt;
tmux has-session -t $SESSION 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
if [ $? != 0 ]; then&lt;br /&gt;
&lt;br /&gt;
  tmux new-session -d -s $SESSION -n Principal &amp;quot;zsh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux split-window -v -t $SESSION:0 -l $PANEL_HTOP &amp;quot;htop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux split-window -v -t $SESSION:0 -l $PANEL_LOGS &amp;quot;journalctl -f&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  tmux select-layout -t $SESSION:0 even-vertical&lt;br /&gt;
&lt;br /&gt;
  tmux set-option -t $SESSION mouse on&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
tmux attach -t $SESSION&amp;lt;/blockquote&amp;gt;Conservamos el fichero como ~/.tmux_start.sh&lt;br /&gt;
&lt;br /&gt;
Damos permisos:&amp;lt;blockquote&amp;gt;chmod +x ~/tmux-start.sh&amp;lt;/blockquote&amp;gt;Y añadimos el alias al intérprete que utilizamos:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;~/tmux-start.sh&amp;quot;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuraciones ===&lt;br /&gt;
Se pueden utilizar plantillas de configuración para cambiar colores, barras... por ejemplo, con un fichero &amp;quot;tmux.conf&amp;quot; con el siguiente contenido:&amp;lt;blockquote&amp;gt;# start window index at 1&lt;br /&gt;
&lt;br /&gt;
set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
# start pane index at 1&lt;br /&gt;
&lt;br /&gt;
set -g pane-base-index 1&lt;br /&gt;
&lt;br /&gt;
# re-number windows when one is closed&lt;br /&gt;
&lt;br /&gt;
set -g renumber-windows on&lt;br /&gt;
&lt;br /&gt;
# Remapping prefix&lt;br /&gt;
&lt;br /&gt;
unbind-key C-b&lt;br /&gt;
&lt;br /&gt;
set-option -g prefix C-s # setting prefix from C-b to C-s&lt;br /&gt;
&lt;br /&gt;
bind-key C-s send-prefix # ensure that we can send Ctrl-s to other apps or the shell&lt;br /&gt;
&lt;br /&gt;
# Split panel with the current path&lt;br /&gt;
&lt;br /&gt;
unbind % &lt;br /&gt;
&lt;br /&gt;
unbind &#039;&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
bind &#039;\&#039; split-window -h -c &#039;#{pane_current_path}&#039;           &lt;br /&gt;
&lt;br /&gt;
bind &#039;-&#039; split-window -v -c &#039;#{pane_current_path}&#039;&lt;br /&gt;
&lt;br /&gt;
# Use Alt-arrow keys without prefix key to switch panes&lt;br /&gt;
&lt;br /&gt;
bind -n M-Left select-pane -L&lt;br /&gt;
&lt;br /&gt;
bind -n M-Right select-pane -R&lt;br /&gt;
&lt;br /&gt;
bind -n M-Up select-pane -U&lt;br /&gt;
&lt;br /&gt;
bind -n M-Down select-pane -D&lt;br /&gt;
&lt;br /&gt;
# Shift arrow to switch windows&lt;br /&gt;
&lt;br /&gt;
bind -n S-Left  previous-window&lt;br /&gt;
&lt;br /&gt;
bind -n S-Right next-window&lt;br /&gt;
&lt;br /&gt;
# Vim style pane selection&lt;br /&gt;
&lt;br /&gt;
bind h select-pane -L&lt;br /&gt;
&lt;br /&gt;
bind j select-pane -D&lt;br /&gt;
&lt;br /&gt;
bind k select-pane -U&lt;br /&gt;
&lt;br /&gt;
bind l select-pane -R&lt;br /&gt;
&lt;br /&gt;
# Use Alt-vim keys without prefix key to switch panes&lt;br /&gt;
&lt;br /&gt;
bind -n M-h select-pane -L&lt;br /&gt;
&lt;br /&gt;
bind -n M-j select-pane -D&lt;br /&gt;
&lt;br /&gt;
bind -n M-k select-pane -U&lt;br /&gt;
&lt;br /&gt;
bind -n M-l select-pane -R&lt;br /&gt;
&lt;br /&gt;
## Capture current tmux buffer and copy it to system clipboard with prefix + &#039;Ctrl + c&#039;&lt;br /&gt;
&lt;br /&gt;
#bind C-c run &amp;quot;tmux save-buffer - | xclip -i -sel clipboard&amp;quot;&lt;br /&gt;
&lt;br /&gt;
## Optional - paste from system clipboard to tmux session with prefix + &#039;Ctrl + v&#039;&lt;br /&gt;
&lt;br /&gt;
#bind C-v run &amp;quot;tmux set-buffer &amp;quot;$(xclip -o -sel clipboard)&amp;quot;; tmux paste-buffer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#copy and paste vim style&lt;br /&gt;
&lt;br /&gt;
## Enable vi-copy-mode&lt;br /&gt;
&lt;br /&gt;
setw -g mode-keys vi &lt;br /&gt;
&lt;br /&gt;
# Turn off mouse and use vim keys for navigations&lt;br /&gt;
&lt;br /&gt;
# turn this on if you want to use touchpad or mouse to scroll through terminal&lt;br /&gt;
&lt;br /&gt;
setw -g mouse off &lt;br /&gt;
&lt;br /&gt;
## changing the key to enter copy mode from `[` to `ESC`&lt;br /&gt;
&lt;br /&gt;
unbind [&lt;br /&gt;
&lt;br /&gt;
bind Escape copy-mode&lt;br /&gt;
&lt;br /&gt;
## unbind p and set it to paste from buffer&lt;br /&gt;
&lt;br /&gt;
unbind p&lt;br /&gt;
&lt;br /&gt;
bind p paste-buffer&lt;br /&gt;
&lt;br /&gt;
## set keys for visual mode (v) and yank/copy (y)&lt;br /&gt;
&lt;br /&gt;
bind-key -Tcopy-mode-vi &#039;v&#039; send -X begin-selection&lt;br /&gt;
&lt;br /&gt;
bind-key -Tcopy-mode-vi &#039;y&#039; send -X copy-pipe-and-cancel &#039;xclip -in -selection clipboard&#039;&lt;br /&gt;
&lt;br /&gt;
# unbind r&lt;br /&gt;
&lt;br /&gt;
# bind r source-file ~/.tmux.conf \; display &amp;quot;Reloaded tmux config!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Automatically set the window title&lt;br /&gt;
&lt;br /&gt;
set-window-option -g automatic-rename off&lt;br /&gt;
&lt;br /&gt;
# activity notifications&lt;br /&gt;
&lt;br /&gt;
setw -g monitor-activity on&lt;br /&gt;
&lt;br /&gt;
setw -g visual-activity on&lt;br /&gt;
&lt;br /&gt;
# Improve terminal colors&lt;br /&gt;
&lt;br /&gt;
set -g default-terminal &amp;quot;screen-256color&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set -ga terminal-overrides &amp;quot;,xterm-256color:Tc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# increase scrollback buffer to 10000&lt;br /&gt;
&lt;br /&gt;
set -g history-limit 10000&amp;lt;/blockquote&amp;gt;Lo guardamos y lo llamamos con:&amp;lt;blockquote&amp;gt;tmux source tmux.conf&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tmux plugins ===&lt;br /&gt;
Para hacerlo mucho más fácil, podemos descargar y aplicar una serie de complementos del &#039;&#039;&#039;git&#039;&#039;&#039; oficial, primero tenemos que instalar un complemento para copiar y pegar texto del terminal con &#039;&#039;&#039;xclip&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;sudo dnf install -y xclip&amp;lt;/blockquote&amp;gt;Y bajamos con git:&amp;lt;blockquote&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://github.com/tmux-plugins/tpm&amp;lt;/nowiki&amp;gt; ~/.tmux/plugins/tp&amp;lt;/blockquote&amp;gt;Y modificamos el fichero de configuración:&amp;lt;blockquote&amp;gt;nvim ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Con mi ejemplo:&amp;lt;blockquote&amp;gt;# List of plugins&lt;br /&gt;
&lt;br /&gt;
set -g @plugin &#039;tmux-plugins/tpm&#039;&lt;br /&gt;
&lt;br /&gt;
set -g @plugin &#039;tmux-plugins/tmux-sensible&#039;&lt;br /&gt;
&lt;br /&gt;
# Other examples:&lt;br /&gt;
&lt;br /&gt;
# set -g @plugin &#039;github_username/plugin_name&#039;&lt;br /&gt;
&lt;br /&gt;
# set -g @plugin &#039;git@github.com/user/plugin&#039;&lt;br /&gt;
&lt;br /&gt;
# set -g @plugin &#039;git@bitbucket.com/user/plugin&#039;&lt;br /&gt;
&lt;br /&gt;
set -g @plugin &amp;quot;arcticicestudio/nord-tmux&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)&lt;br /&gt;
&lt;br /&gt;
run -b &#039;~/.tmux/plugins/tpm/tpm&#039;&amp;lt;/blockquote&amp;gt;Con este ejemplo también aplico un tema que me encanta, el nord o nordly.&lt;br /&gt;
&lt;br /&gt;
Guardamos y abrimos con &amp;quot;tmux&amp;quot; y aplicamos con &amp;quot;CTRL + I&amp;quot; ( importante, la &amp;quot;i&amp;quot; es mayúscula).&lt;br /&gt;
[[Archivo:TmuxNord.png|centro|miniaturadeimagen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Archivo:TmuxNord.png&amp;diff=551</id>
		<title>Archivo:TmuxNord.png</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Archivo:TmuxNord.png&amp;diff=551"/>
		<updated>2025-05-25T05:10:30Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Configuración &amp;quot;Nord&amp;quot; de tmux.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Virt-manager&amp;diff=550</id>
		<title>Virt-manager</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Virt-manager&amp;diff=550"/>
		<updated>2025-05-22T13:31:14Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Novetats en Fedora 42 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ya expliqué el funcionamiento de [[Gnome-Boxes]], una herramienta muy sencilla para crear máquina virtuales, pero hoy vamos a ir más allá con la virtualización de máquinas con Qemu y KVM, en este caso utilizaremos la herramienta [https://virt-manager.org/ virt-manager] con la que gestionaremos estas máquinas de manera mucho más avanzada.&lt;br /&gt;
&lt;br /&gt;
Entre las ventajas que tendremos será la asignación de red por puente, la posibilidad de montar recursos locales mientras el equipo se enciende (discos duros locales o por USB), montar varios discos virtuales, entre muchas más.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Virt-manager&#039;&#039;&#039;, igual que boxes, permite la creación de instantáneas para realizar tus copias de seguridad.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
La instalación más sencilla es ejecutar:&amp;lt;blockquote&amp;gt;sudo dnf install virt-manager&amp;lt;/blockquote&amp;gt;Y el mismo instalaría las dependencias que faltarían a comparación de la instalación de Gnome-Boxes. Lo siguiente es añadir a nuestro usuario al grupo de virtualización:&lt;br /&gt;
 sudo usermod -a -G libvirt mi_usuario&lt;br /&gt;
Y reiniciamos sesión.&lt;br /&gt;
&lt;br /&gt;
== Tipos de redes ==&lt;br /&gt;
Lo primero a tener en cuenta a la hora de crear una máquina virtual es, en qué red la voy a conectar. Existen dos tipos de redes a la que formaría parte:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;NAT&#039;&#039;&#039;, o Network Address Translation, que es una red interna creada para la comunicación entre las máquinas virtuales y el host.El Gestor de máquinas virtuales ya nos regala una NAT, nos genera una tarjeta de red virtual y un rango de IP que podemos configurar como servicio DHCP o no.&lt;br /&gt;
* &#039;&#039;&#039;DIspositivo puente&#039;&#039;&#039;, o Bridge, que se utilizaría para que la máquina virtual se identifique en la red local como una máquina más mediante una interficie de red. El puente se ha de generar desde el administrador red del sistema ( Network-manager ), normalmente, se utilizan dos tarjetas de red, una para el host y otra para las conexiones puente, de esta manera no influye en el host.Si nuestra intención es generar una red virtual de pruebas, podemos trabajar con la red por defecto, pero si queremos tener máquinas en producción de servicio, debemos montar el dispositivo puente. Al instalar el virt-manager ya se crea una red &#039;&#039;&#039;NAT&#039;&#039;&#039; por defecto con &#039;&#039;&#039;DHCP&#039;&#039;&#039; activado, para todas las máquinas virtuales, de &#039;&#039;&#039;192.168.100.2&#039;&#039;&#039; a &#039;&#039;&#039;192.168.100.254&#039;&#039;&#039; siendo la IP &#039;&#039;&#039;192.168.100.1&#039;&#039;&#039; la puerta de enlace y la IP del host. La gestión de un dispositivo puente es poco más complicado, primero, es recomendable tener una tarjeta de red dedicada, un ejemplo sería, en un equipo convencional, tener la tarjeta integrada en la placa madre del ordenador para conectar el host a la red, y una tarjeta adicional, por ejemplo, adaptador USB a LAN, para definir como dispositivo puente para las máquinas que se crearán.&lt;br /&gt;
&lt;br /&gt;
Para eso, en el sistema hay que eliminar el dispositivo ethernet creado para crear el dispositivo puente con la tarjeta de red, el resto, normalmente, es automático, solo tenemos que reiniciar el equipo para estar más seguros. Una vez iniciado el sistema veremos que ya está creado el dispositivo puente y enlazado con la interficie de red y las redes virtuales. &lt;br /&gt;
[[Archivo:Vm1.png|centro|miniaturadeimagen|Configurando la interficie con el Network – Manager.]]&lt;br /&gt;
[[Archivo:Vm2.png|centro|miniaturadeimagen|Ejemplo de interficies configuradas.]]&lt;br /&gt;
[[Archivo:Vm3.png|centro|miniaturadeimagen|Comprobando con &#039;&#039;&#039;brctl&#039;&#039;&#039;. Una vez creado el puente, solo queda crear o asignar la interface a la máquina virtual.]]&lt;br /&gt;
[[Archivo:Vm4.png|centro|miniaturadeimagen|ejemplo de asignación de la interficie virtual a &#039;&#039;&#039;bridge0&#039;&#039;&#039; ]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTA – la interficie se ha de escribir manualmente&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación, un video práctico.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=HUPD9-uM6lI&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creando máquinas virtuales ==&lt;br /&gt;
En la ventana principal se mostrarán las máquinas virtuales y el uso de CPU aunque puedes añadir más detalles. Una vez aquí puedes acceder a más configuraciones en el menú «&#039;&#039;&#039;Editar&#039;&#039;&#039;«.&lt;br /&gt;
&lt;br /&gt;
=== Detalles de la conexión ===&lt;br /&gt;
En los «Detalles de la conexión» accederemos a diferentes opciones, en «Resumen» veremos datos básicos.&lt;br /&gt;
&lt;br /&gt;
En las «Redes virtuales» veremos las interficies virtuales y sus configuraciones, pudiendo crear más si son necesarias.&lt;br /&gt;
&lt;br /&gt;
Y en «Almacenamiento» podremos acceder al directorio por defecto donde se crean las máquinas virtuales (/var/lib/libvirt/images/), como la opción de crear nuevos puntos de almacenamiento.&lt;br /&gt;
&lt;br /&gt;
=== Detalles de la máquina virtual ===&lt;br /&gt;
Al acceder a esta opción se muestra la máquina seleccionada y la opción de ver todos los detalles que la componen.&lt;br /&gt;
&lt;br /&gt;
=== Eliminar ===&lt;br /&gt;
No cabe decir que es para eliminar la máquina virtual seleccionada y, si es preciso, el fichero que la aloja.&lt;br /&gt;
&lt;br /&gt;
=== Preferencias ===&lt;br /&gt;
En esta opción accedemos con más profundidad a los detalles del programa. En «General» podemos &#039;&#039;&#039;habilitar el icono del programa en área de notificaciones&#039;&#039;&#039; y también podemos &#039;&#039;&#039;habilitar la edición XML&#039;&#039;&#039;, el código fuente de la máquina virtual que viene deshabilitado por defecto.&lt;br /&gt;
&lt;br /&gt;
En la «&#039;&#039;&#039;Encuesta&#039;&#039;&#039;» podremos permitir la visualización de los gráficos de la CPU, Ram etc…&lt;br /&gt;
&lt;br /&gt;
En &#039;&#039;&#039;Nueva VM&#039;&#039;&#039; especificamos cuáles serán los valores por defecto a la hora de crear la máquina como el motor de gráficos, la CPU o el Firmware.&lt;br /&gt;
&lt;br /&gt;
En la &#039;&#039;&#039;Consola&#039;&#039;&#039; accedemos a los detalles de ejecución de la máquina cómo la redirección USB o el escalado de la consola gráfica&lt;br /&gt;
&lt;br /&gt;
Y en &#039;&#039;&#039;Comentarios&#039;&#039;&#039; nos muestra las confirmaciones por defecto a la hora de actuar sobre la ejecución de la máquina virtual, por defecto nos avisará de la Eliminación de un dispositivo o los cambios no aplicados.&lt;br /&gt;
&lt;br /&gt;
== La máquina virtual ==&lt;br /&gt;
Una vez se ejecuta la máquina tenemos la primera opción, una ventana donde primera muestra la &#039;&#039;&#039;consola gráfica,&#039;&#039;&#039; seguido de los &#039;&#039;&#039;detalles de la máquina&#039;&#039;&#039;, la opción de &#039;&#039;&#039;Iniciar, pausar o apagar&#039;&#039;&#039; o forzar el pagado y las &#039;&#039;&#039;Instantáneas&#039;&#039;&#039; que son las capturas de la máquina en marcha.&lt;br /&gt;
En la opción de los &#039;&#039;&#039;Detalles&#039;&#039;&#039; veremos los componentes y configuraciones de la máquina virtual y la opción de poder cambiarlos.&lt;br /&gt;
En cada opción podremos acceder a la pestaña XML donde podremos ver el código fuente y, si es preciso, su modificación.&lt;br /&gt;
Estos y más detalles en el siguiente video explicativo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=Vv9Wses5o2w&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Administrando las interfaces de red locales ==&lt;br /&gt;
¿Y si quiero hacer un equipo con dos tarjetas de red? ¿Y si quiero montar un pequeño taller virtual donde pueda hacer pruebas de cortafuegos o terminales ligeros?&lt;br /&gt;
&lt;br /&gt;
La solución más sencilla es tener una tarjeta de red de configuración NAT y una segunda de configuración interna.&lt;br /&gt;
&lt;br /&gt;
En el esquema se muestra el ejemplo, en el que la máquina virtual 1, el servidor o cortafuegos, tiene dos interficies de red, una de conexión al exterior y otra para las siguientes máquinas virtuales. En este ejemplo tendremos una red interna donde la configuración por DHCP NO se otorgará por el gestor de máquinas virtuales sino por la Máquina Virtual 1, y así también la posible práctica de cortafuegos sin que esto afecte a nuestra red local.&lt;br /&gt;
&lt;br /&gt;
Todo lo podemos hacer desde el mismo administrador en la opción &#039;&#039;&#039;Editar → Detalles de la conexión&#039;&#039;&#039; (obviamente con una máquina seleccionada) de la conexión, dentro de esta ventana iremos a la pestaña «&#039;&#039;&#039;Redes virtuales&#039;&#039;&#039;» donde añadiremos una nueva simplemente clicando en el botón «+» y seguir el asistente.&lt;br /&gt;
&lt;br /&gt;
Una vez añadida la nueva red, solo hace falta&lt;br /&gt;
&lt;br /&gt;
Como vemos en las imágenes, creo una nueva red virtual llamada «&#039;&#039;&#039;red2&#039;&#039;&#039;» de modo &#039;&#039;&#039;NAT&#039;&#039;&#039; con red &#039;&#039;&#039;192.168.200.0/24&#039;&#039;&#039; y que NO tiene la asignación por &#039;&#039;&#039;DHCP&#039;&#039;&#039; activada ( la idea es hablar de este servicio más adelante ).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=JXlpa48-N9Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Arranca la máquina virtual con un disco real ==&lt;br /&gt;
Otra de las muchas utilidades que podemos tener con el Gestor de máquinas virtuales es el redireccionamiento de dispositivos locales a la máquina virtual, es por eso que, por ejemplo, podemos redireccionamiento de un disco por USB a la máquina virtual.&lt;br /&gt;
&lt;br /&gt;
Pongo un ejemplo práctico: un ordenador no inicia, pero me interesa comprobar que el sistema está correctamente y que no es la razón de la avería, o, por otro lado, podemos tener un disco portátil con una configuración segura y encriptada que conectaremos por USB a otro equipo, pero claro, primero necesitamos de un equipo para configurarlo, y eso podemos hacerlo desde el gestor de máquinas virtuales y linux ( que puede ejecutarse en prácticamente cualquier equipo ).&lt;br /&gt;
&lt;br /&gt;
Todos los pasos explicados en el video:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=HUPD9-uM6lI&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Novetats en Fedora 42 ==&lt;br /&gt;
Fedora (i altres distros recents) estan &#039;&#039;&#039;abandonant &amp;lt;code&amp;gt;libvirtd&amp;lt;/code&amp;gt;&#039;&#039;&#039; en favor d’un &#039;&#039;&#039;sistema modular&#039;&#039;&#039;, on cada component és gestionat per un servei separat. Els més comuns són:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;virtqemud.service&amp;lt;/code&amp;gt;: gestiona màquines virtuals QEMU/KVM.&lt;br /&gt;
* &amp;lt;code&amp;gt;virtlogd.service&amp;lt;/code&amp;gt;: gestiona els logs de les VM.&lt;br /&gt;
* &amp;lt;code&amp;gt;virtstoraged.service&amp;lt;/code&amp;gt;: gestiona l’emmagatzematge (storage pools).&lt;br /&gt;
* &amp;lt;code&amp;gt;virtnetworkd.service&amp;lt;/code&amp;gt;: per a xarxes virtuals.&lt;br /&gt;
&lt;br /&gt;
== Problema amb libvirt a Fedora 42 ==&lt;br /&gt;
&lt;br /&gt;
A Fedora 42, el servei tradicional &amp;lt;code&amp;gt;libvirtd.service&amp;lt;/code&amp;gt; pot fallar amb errors com aquest:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
internal error: Failed to load module &#039;/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_rbd.so&#039;: librbd.so.1: no s’ha pogut obrir el fitxer d’objecte compartit: El fitxer o directori no existeix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aquest error sovint es produeix perquè &amp;lt;code&amp;gt;libvirtd&amp;lt;/code&amp;gt; intenta carregar mòduls opcionals (com RBD de Ceph) que no estan instal·lats.&lt;br /&gt;
&lt;br /&gt;
=== Solució recomanada ===&lt;br /&gt;
&lt;br /&gt;
Fedora 42 utilitza ara un esquema modular de libvirt, amb serveis separats. En comptes de &amp;lt;code&amp;gt;libvirtd&amp;lt;/code&amp;gt;, s’hauria de fer servir:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;virtqemud&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;virtlogd&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;virtnetworkd&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;virtstoraged&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Iniciar el servei adequat ===&lt;br /&gt;
&lt;br /&gt;
Per a entorns amb QEMU/KVM, només cal iniciar el servei següent:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl start virtqemud.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Això soluciona el problema i permet iniciar màquines virtuals amb &amp;lt;code&amp;gt;virt-manager&amp;lt;/code&amp;gt; o &amp;lt;code&amp;gt;virsh&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Activar serveis perquè s’iniciïn automàticament ===&lt;br /&gt;
&lt;br /&gt;
És recomanable activar els serveis següents:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable --now virtqemud.service&lt;br /&gt;
sudo systemctl enable --now virtlogd.service&lt;br /&gt;
sudo systemctl enable --now virtnetworkd.service&lt;br /&gt;
sudo systemctl enable --now virtstoraged.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aquests serveis cobreixen:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;virtqemud&amp;lt;/code&amp;gt;: gestió de màquines virtuals QEMU&lt;br /&gt;
* &amp;lt;code&amp;gt;virtlogd&amp;lt;/code&amp;gt;: registre de logs de les VM&lt;br /&gt;
* &amp;lt;code&amp;gt;virtnetworkd&amp;lt;/code&amp;gt;: xarxes virtuals&lt;br /&gt;
* &amp;lt;code&amp;gt;virtstoraged&amp;lt;/code&amp;gt;: emmagatzematge virtual&lt;br /&gt;
&lt;br /&gt;
=== Nota final ===&lt;br /&gt;
&lt;br /&gt;
El servei &amp;lt;code&amp;gt;libvirtd&amp;lt;/code&amp;gt; es manté per compatibilitat però està en desús. Si no es necessita suport per Ceph/RBD, no cal instal·lar &amp;lt;code&amp;gt;ceph-libs&amp;lt;/code&amp;gt;. En sistemes nous es recomana utilitzar únicament el sistema modular.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Virt-manager&amp;diff=549</id>
		<title>Virt-manager</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Virt-manager&amp;diff=549"/>
		<updated>2025-05-22T13:30:37Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Arranca la máquina virtual con un disco real */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ya expliqué el funcionamiento de [[Gnome-Boxes]], una herramienta muy sencilla para crear máquina virtuales, pero hoy vamos a ir más allá con la virtualización de máquinas con Qemu y KVM, en este caso utilizaremos la herramienta [https://virt-manager.org/ virt-manager] con la que gestionaremos estas máquinas de manera mucho más avanzada.&lt;br /&gt;
&lt;br /&gt;
Entre las ventajas que tendremos será la asignación de red por puente, la posibilidad de montar recursos locales mientras el equipo se enciende (discos duros locales o por USB), montar varios discos virtuales, entre muchas más.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Virt-manager&#039;&#039;&#039;, igual que boxes, permite la creación de instantáneas para realizar tus copias de seguridad.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
La instalación más sencilla es ejecutar:&amp;lt;blockquote&amp;gt;sudo dnf install virt-manager&amp;lt;/blockquote&amp;gt;Y el mismo instalaría las dependencias que faltarían a comparación de la instalación de Gnome-Boxes. Lo siguiente es añadir a nuestro usuario al grupo de virtualización:&lt;br /&gt;
 sudo usermod -a -G libvirt mi_usuario&lt;br /&gt;
Y reiniciamos sesión.&lt;br /&gt;
&lt;br /&gt;
== Tipos de redes ==&lt;br /&gt;
Lo primero a tener en cuenta a la hora de crear una máquina virtual es, en qué red la voy a conectar. Existen dos tipos de redes a la que formaría parte:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;NAT&#039;&#039;&#039;, o Network Address Translation, que es una red interna creada para la comunicación entre las máquinas virtuales y el host.El Gestor de máquinas virtuales ya nos regala una NAT, nos genera una tarjeta de red virtual y un rango de IP que podemos configurar como servicio DHCP o no.&lt;br /&gt;
* &#039;&#039;&#039;DIspositivo puente&#039;&#039;&#039;, o Bridge, que se utilizaría para que la máquina virtual se identifique en la red local como una máquina más mediante una interficie de red. El puente se ha de generar desde el administrador red del sistema ( Network-manager ), normalmente, se utilizan dos tarjetas de red, una para el host y otra para las conexiones puente, de esta manera no influye en el host.Si nuestra intención es generar una red virtual de pruebas, podemos trabajar con la red por defecto, pero si queremos tener máquinas en producción de servicio, debemos montar el dispositivo puente. Al instalar el virt-manager ya se crea una red &#039;&#039;&#039;NAT&#039;&#039;&#039; por defecto con &#039;&#039;&#039;DHCP&#039;&#039;&#039; activado, para todas las máquinas virtuales, de &#039;&#039;&#039;192.168.100.2&#039;&#039;&#039; a &#039;&#039;&#039;192.168.100.254&#039;&#039;&#039; siendo la IP &#039;&#039;&#039;192.168.100.1&#039;&#039;&#039; la puerta de enlace y la IP del host. La gestión de un dispositivo puente es poco más complicado, primero, es recomendable tener una tarjeta de red dedicada, un ejemplo sería, en un equipo convencional, tener la tarjeta integrada en la placa madre del ordenador para conectar el host a la red, y una tarjeta adicional, por ejemplo, adaptador USB a LAN, para definir como dispositivo puente para las máquinas que se crearán.&lt;br /&gt;
&lt;br /&gt;
Para eso, en el sistema hay que eliminar el dispositivo ethernet creado para crear el dispositivo puente con la tarjeta de red, el resto, normalmente, es automático, solo tenemos que reiniciar el equipo para estar más seguros. Una vez iniciado el sistema veremos que ya está creado el dispositivo puente y enlazado con la interficie de red y las redes virtuales. &lt;br /&gt;
[[Archivo:Vm1.png|centro|miniaturadeimagen|Configurando la interficie con el Network – Manager.]]&lt;br /&gt;
[[Archivo:Vm2.png|centro|miniaturadeimagen|Ejemplo de interficies configuradas.]]&lt;br /&gt;
[[Archivo:Vm3.png|centro|miniaturadeimagen|Comprobando con &#039;&#039;&#039;brctl&#039;&#039;&#039;. Una vez creado el puente, solo queda crear o asignar la interface a la máquina virtual.]]&lt;br /&gt;
[[Archivo:Vm4.png|centro|miniaturadeimagen|ejemplo de asignación de la interficie virtual a &#039;&#039;&#039;bridge0&#039;&#039;&#039; ]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTA – la interficie se ha de escribir manualmente&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación, un video práctico.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=HUPD9-uM6lI&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creando máquinas virtuales ==&lt;br /&gt;
En la ventana principal se mostrarán las máquinas virtuales y el uso de CPU aunque puedes añadir más detalles. Una vez aquí puedes acceder a más configuraciones en el menú «&#039;&#039;&#039;Editar&#039;&#039;&#039;«.&lt;br /&gt;
&lt;br /&gt;
=== Detalles de la conexión ===&lt;br /&gt;
En los «Detalles de la conexión» accederemos a diferentes opciones, en «Resumen» veremos datos básicos.&lt;br /&gt;
&lt;br /&gt;
En las «Redes virtuales» veremos las interficies virtuales y sus configuraciones, pudiendo crear más si son necesarias.&lt;br /&gt;
&lt;br /&gt;
Y en «Almacenamiento» podremos acceder al directorio por defecto donde se crean las máquinas virtuales (/var/lib/libvirt/images/), como la opción de crear nuevos puntos de almacenamiento.&lt;br /&gt;
&lt;br /&gt;
=== Detalles de la máquina virtual ===&lt;br /&gt;
Al acceder a esta opción se muestra la máquina seleccionada y la opción de ver todos los detalles que la componen.&lt;br /&gt;
&lt;br /&gt;
=== Eliminar ===&lt;br /&gt;
No cabe decir que es para eliminar la máquina virtual seleccionada y, si es preciso, el fichero que la aloja.&lt;br /&gt;
&lt;br /&gt;
=== Preferencias ===&lt;br /&gt;
En esta opción accedemos con más profundidad a los detalles del programa. En «General» podemos &#039;&#039;&#039;habilitar el icono del programa en área de notificaciones&#039;&#039;&#039; y también podemos &#039;&#039;&#039;habilitar la edición XML&#039;&#039;&#039;, el código fuente de la máquina virtual que viene deshabilitado por defecto.&lt;br /&gt;
&lt;br /&gt;
En la «&#039;&#039;&#039;Encuesta&#039;&#039;&#039;» podremos permitir la visualización de los gráficos de la CPU, Ram etc…&lt;br /&gt;
&lt;br /&gt;
En &#039;&#039;&#039;Nueva VM&#039;&#039;&#039; especificamos cuáles serán los valores por defecto a la hora de crear la máquina como el motor de gráficos, la CPU o el Firmware.&lt;br /&gt;
&lt;br /&gt;
En la &#039;&#039;&#039;Consola&#039;&#039;&#039; accedemos a los detalles de ejecución de la máquina cómo la redirección USB o el escalado de la consola gráfica&lt;br /&gt;
&lt;br /&gt;
Y en &#039;&#039;&#039;Comentarios&#039;&#039;&#039; nos muestra las confirmaciones por defecto a la hora de actuar sobre la ejecución de la máquina virtual, por defecto nos avisará de la Eliminación de un dispositivo o los cambios no aplicados.&lt;br /&gt;
&lt;br /&gt;
== La máquina virtual ==&lt;br /&gt;
Una vez se ejecuta la máquina tenemos la primera opción, una ventana donde primera muestra la &#039;&#039;&#039;consola gráfica,&#039;&#039;&#039; seguido de los &#039;&#039;&#039;detalles de la máquina&#039;&#039;&#039;, la opción de &#039;&#039;&#039;Iniciar, pausar o apagar&#039;&#039;&#039; o forzar el pagado y las &#039;&#039;&#039;Instantáneas&#039;&#039;&#039; que son las capturas de la máquina en marcha.&lt;br /&gt;
En la opción de los &#039;&#039;&#039;Detalles&#039;&#039;&#039; veremos los componentes y configuraciones de la máquina virtual y la opción de poder cambiarlos.&lt;br /&gt;
En cada opción podremos acceder a la pestaña XML donde podremos ver el código fuente y, si es preciso, su modificación.&lt;br /&gt;
Estos y más detalles en el siguiente video explicativo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=Vv9Wses5o2w&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Administrando las interfaces de red locales ==&lt;br /&gt;
¿Y si quiero hacer un equipo con dos tarjetas de red? ¿Y si quiero montar un pequeño taller virtual donde pueda hacer pruebas de cortafuegos o terminales ligeros?&lt;br /&gt;
&lt;br /&gt;
La solución más sencilla es tener una tarjeta de red de configuración NAT y una segunda de configuración interna.&lt;br /&gt;
&lt;br /&gt;
En el esquema se muestra el ejemplo, en el que la máquina virtual 1, el servidor o cortafuegos, tiene dos interficies de red, una de conexión al exterior y otra para las siguientes máquinas virtuales. En este ejemplo tendremos una red interna donde la configuración por DHCP NO se otorgará por el gestor de máquinas virtuales sino por la Máquina Virtual 1, y así también la posible práctica de cortafuegos sin que esto afecte a nuestra red local.&lt;br /&gt;
&lt;br /&gt;
Todo lo podemos hacer desde el mismo administrador en la opción &#039;&#039;&#039;Editar → Detalles de la conexión&#039;&#039;&#039; (obviamente con una máquina seleccionada) de la conexión, dentro de esta ventana iremos a la pestaña «&#039;&#039;&#039;Redes virtuales&#039;&#039;&#039;» donde añadiremos una nueva simplemente clicando en el botón «+» y seguir el asistente.&lt;br /&gt;
&lt;br /&gt;
Una vez añadida la nueva red, solo hace falta&lt;br /&gt;
&lt;br /&gt;
Como vemos en las imágenes, creo una nueva red virtual llamada «&#039;&#039;&#039;red2&#039;&#039;&#039;» de modo &#039;&#039;&#039;NAT&#039;&#039;&#039; con red &#039;&#039;&#039;192.168.200.0/24&#039;&#039;&#039; y que NO tiene la asignación por &#039;&#039;&#039;DHCP&#039;&#039;&#039; activada ( la idea es hablar de este servicio más adelante ).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=JXlpa48-N9Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Arranca la máquina virtual con un disco real ==&lt;br /&gt;
Otra de las muchas utilidades que podemos tener con el Gestor de máquinas virtuales es el redireccionamiento de dispositivos locales a la máquina virtual, es por eso que, por ejemplo, podemos redireccionamiento de un disco por USB a la máquina virtual.&lt;br /&gt;
&lt;br /&gt;
Pongo un ejemplo práctico: un ordenador no inicia, pero me interesa comprobar que el sistema está correctamente y que no es la razón de la avería, o, por otro lado, podemos tener un disco portátil con una configuración segura y encriptada que conectaremos por USB a otro equipo, pero claro, primero necesitamos de un equipo para configurarlo, y eso podemos hacerlo desde el gestor de máquinas virtuales y linux ( que puede ejecutarse en prácticamente cualquier equipo ).&lt;br /&gt;
&lt;br /&gt;
Todos los pasos explicados en el video:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=HUPD9-uM6lI&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Novetats en Fedora 42 ==&lt;br /&gt;
Fedora (i altres distros recents) estan &#039;&#039;&#039;abandonant &amp;lt;code&amp;gt;libvirtd&amp;lt;/code&amp;gt;&#039;&#039;&#039; en favor d’un &#039;&#039;&#039;sistema modular&#039;&#039;&#039;, on cada component és gestionat per un servei separat. Els més comuns són:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;virtqemud.service&amp;lt;/code&amp;gt;: gestiona màquines virtuals QEMU/KVM.&lt;br /&gt;
* &amp;lt;code&amp;gt;virtlogd.service&amp;lt;/code&amp;gt;: gestiona els logs de les VM.&lt;br /&gt;
* &amp;lt;code&amp;gt;virtstoraged.service&amp;lt;/code&amp;gt;: gestiona l’emmagatzematge (storage pools).&lt;br /&gt;
* &amp;lt;code&amp;gt;virtnetworkd.service&amp;lt;/code&amp;gt;: per a xarxes virtuals.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Fedora&amp;diff=548</id>
		<title>Fedora</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Fedora&amp;diff=548"/>
		<updated>2025-05-11T15:10:29Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Codecs para la reproducción multimedia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ¿Qué es Fedora Linux? ==&lt;br /&gt;
&#039;&#039;&#039;[https://fedoraproject.org/ Fedora]&#039;&#039;&#039; (AFI: /fəˈdɔrə/) es una distribución GNU/Linux para propósitos generales. Es mantenida por una comunidad internacional de ingenieros, diseñadores y usuarios. Se caracteriza por su estabilidad, pero también por estar a la vanguardia en la adopción de software libre y de código abierto. Cuenta con el patrocinio principal de Red Hat (subsidiaria de IBM desde 2019), además de otras empresas de tecnologías de la información y fabricantes de equipos de cómputo como Dell o Lenovo.&lt;br /&gt;
&lt;br /&gt;
El proyecto no solo busca incluir software libre y de código abierto, sino ser el líder en estos ámbitos tecnológicos.​​ Algo que hay que destacar es que los desarrolladores de Fedora prefieren hacer cambios en las fuentes originales en lugar de aplicar los parches específicos en su distribución, de esta forma se asegura que las actualizaciones estén disponibles para todas las variantes de GNU/Linux.​ Max Spevack en una entrevista afirmó que: &amp;quot;&#039;&#039;Hablar de Fedora es hablar del rápido progreso del software libre y de código abierto&#039;&#039;&amp;quot;​. Durante sus primeras 6 versiones se llamó &#039;&#039;Fedora Core&#039;&#039;, debido a que solo incluía los paquetes más importantes del sistema operativo.&lt;br /&gt;
&lt;br /&gt;
== Escritorio por defecto ==&lt;br /&gt;
El entorno de ventanas por defecto es [[Gnome]] aunque se pueden instalar facilmente otros como [[KDE|KDE.]]&lt;br /&gt;
&lt;br /&gt;
== Actualitzando los programas ==&lt;br /&gt;
El sistema de paquetería de Fedora, igual que CentOS y derivados, se gestiona por YUM o [[DNF]].&lt;br /&gt;
&lt;br /&gt;
El comando más utilizado para actualizar es:&amp;lt;blockquote&amp;gt;sudo dnf update&amp;lt;/blockquote&amp;gt;Esto se conectará a los [[repositorios]] y descargará los programas que tengan nueva versión, como por ejemplo los navegadores o el kernel del sistema.&lt;br /&gt;
&lt;br /&gt;
Otro gestor de programas que incluye es [[Flatpak]] y para hacer la correspondiente actualizacións ejecutaremos:&amp;lt;blockquote&amp;gt;sudo flatpak update&amp;lt;/blockquote&amp;gt;Dependiendo de lo actualizado, se recomienda el reinicio de sistema.&lt;br /&gt;
&lt;br /&gt;
== Cambiando de a una versión actualizada ==&lt;br /&gt;
Fedora actualiza sus versiones ( releases ) cada 6 meses, por lo que es uno de los sistemas con más actualizaciones anuales. Cada actualización de sistema viene acompañada de grandes cambios como [[kernel]]. entorno de escritorio, librerías...&lt;br /&gt;
&lt;br /&gt;
Para estar &amp;quot;a la última&amp;quot; podemos esperar a que el gestor de paquetes nos avise de la nueva versión y seguir los correspondientes pasos, aunque, como viene ser común, los servidores no tienen entorno gráfico y debemos hacerlo por consola. Para ello seguimos los siguientes pasos.&lt;br /&gt;
&lt;br /&gt;
Podemos seguir la documentación oficial: &lt;br /&gt;
&lt;br /&gt;
https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/&lt;br /&gt;
&lt;br /&gt;
Y abriremos una consola y ejecutamos lo siguiente, primero nos aseguramos que nuestro equipo está totalmente actualizado:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf upgrade --refresh&amp;lt;/code&amp;gt;&lt;br /&gt;
Y reiniciamos:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
Seguimos instalando el complemento para [[DNF]] que permite la actualización de sistema:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install dnf-plugin-system-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
Y descargamos los paquetes correspondientes a la distribución &#039;&#039;&#039;42&#039;&#039;&#039;:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf system-upgrade download --releasever=42&amp;lt;/code&amp;gt;&lt;br /&gt;
Y por último ejecutamos el comando que reiniciará el sistema y aplicará los cambios:&amp;lt;code&amp;gt;sudo dnf5 offline reboot&amp;lt;/code&amp;gt;El proceso puede tardar bastante dependiendo de los paquetes ya instalados y reiniciará el equipo hasta poder volver a iniciar sesión.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTA! Si durante la actualización se reinicia el servidor o hay un corte de luz, tendremos que reparar la instalación con:&#039;&#039;&#039;&lt;br /&gt;
 sudo dnf distro-sync --releasever=42 --allowerasing --setopt=protected_packages= --skip-broken&lt;br /&gt;
Una vez acabado, volvemos a reiniciar debería funcionar todo.&lt;br /&gt;
 sudo dnf offline reboot&lt;br /&gt;
Una vez ya tenemos el equipo estable realizaremos los últimos pasos de actualización y limpieza:&lt;br /&gt;
 sudo dnf5 offline clean&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install rpmconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo rpmconf -a&amp;lt;/code&amp;gt;&lt;br /&gt;
Que actualizará el administrador de paquetes. Haremos limpieza de los paquetes retirados:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install remove-retired-packages&lt;br /&gt;
 remove-retired-packages&amp;lt;/code&amp;gt;&lt;br /&gt;
Limpiaremos los paquetes insatisfechos y duplicados:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf repoquery --unsatisfied&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sudo dnf repoquery --duplicates&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Y dejamos que el sistema se encargue de eliminar los paquetes que ya no utilizan:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf autoremove&amp;lt;/code&amp;gt;&lt;br /&gt;
Reiniciamos de nuevo el equipo para comprobar el estado y tendríamos el equipo perfecto para seguir trabajando.&lt;br /&gt;
&lt;br /&gt;
NOTA – no apunto otros pasos como la limpieza de kernels antiguos porque tengo costumbre de seguir utilizándolos en caso de incompatibilidades.&lt;br /&gt;
&lt;br /&gt;
== Completando la instalación ==&lt;br /&gt;
Una vez tenemos el equipo actualizado podemos completar la instalación modificando o añadiendo repositorios, instalado programas... Todos los comando se deberan ejecutar como [[Root]]:&lt;br /&gt;
&lt;br /&gt;
=== Cambiando el nombre del equipo ===&lt;br /&gt;
Basta con el comando&amp;lt;blockquote&amp;gt;hostnamectl set-hostname &amp;quot;SlimbookPC&amp;quot; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Optimizando los repositorios ===&lt;br /&gt;
Podemos configurar [[DNF]] para trabajar con optimizarlo editando el fichero:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
vi /etc/dnf/dnf.conf&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
y añadimos:&amp;lt;blockquote&amp;gt;fastestmirror=True&lt;br /&gt;
deltarpm=True&lt;br /&gt;
max_parallel_downloads=10&lt;br /&gt;
keepcache=True&lt;br /&gt;
defaultyes=True&amp;lt;/blockquote&amp;gt;Y actualizamos el equipo:&amp;lt;blockquote&amp;gt;dnf upgrade --refresh&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Añadir el repositorio de terceros rpmfusion ===&lt;br /&gt;
[https://rpmfusion.org/ rpmfusion] es un repositorio de terceros compatible con Fedora y Redhat y distribuciones basad, que permite instalar librerías y programas de código propietario como los codecs multimedia. Basta con ejecutar:&amp;lt;blockquote&amp;gt;dnf install -y &amp;lt;nowiki&amp;gt;https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm&amp;lt;/nowiki&amp;gt; -E %fedora).noarch.rpm &amp;amp;&amp;amp; dnf install -y &amp;lt;nowiki&amp;gt;https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm&amp;lt;/nowiki&amp;gt; -E %fedora).noarch.rpm &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Codecs para la reproducción multimedia ===&lt;br /&gt;
Estos comandos nos permitirán instalar todos los codecs necesarios para la reproducción de archivos multimedia tanto local como via web y aún siendo de código propietario:&amp;lt;blockquote&amp;gt;dnf install -y vlc &lt;br /&gt;
&lt;br /&gt;
dnf install -y gstreamer1-plugins-{bad-\*,good-\*,base} gstreamer1-plugin-openh264 gstreamer1-libav --exclude=gstreamer1-plugins-bad-free-devel&lt;br /&gt;
&lt;br /&gt;
dnf install -y lame\* --exclude=lame-devel&lt;br /&gt;
&lt;br /&gt;
dnf group install multimedia&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Repositorio Flatpak oficial ===&lt;br /&gt;
En la versión 46 de Fedora, ya se utiliza el repositorio de [[Flatpak]] oficial, pero, en caso se puede añadir el repositorio oficial, y pongo el ejemplo de instalación de tres programas: [[Telegram]], [[Thunderbird]] y [[Chromium Browser]] .&amp;lt;blockquote&amp;gt;flatpak remote-add --if-not-exists flathub &amp;lt;nowiki&amp;gt;https://flathub.org/repo/flathub.flatpakrepo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
flatpak install -y flathub org.telegram.desktop org.mozilla.Thunderbird org.chromium.Chromium com.mattjakeman.ExtensionManager  &lt;br /&gt;
&lt;br /&gt;
flatpak update -y &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instalar fuentes de texto ===&lt;br /&gt;
Fedora ya viene con algunas fuentes de texto preinstaladas, de hecho se pueden instalar [[TTF]] manualmente, pero mendiante repostiorios podemos instalar las fuentes oficiales de Google o Mozilla con:&amp;lt;blockquote&amp;gt;dnf install -y google-roboto-* mozilla-fira-*&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=547</id>
		<title>TMUX</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=547"/>
		<updated>2025-04-30T08:57:56Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Tweaks i links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
[https://man.openbsd.org/OpenBSD-current/man1/tmux.1 Tmux] es un multiplexor de terminal donde se pueden crear varias sesiones de &#039;&#039;&#039;shell&#039;&#039;&#039; en tu sistema, cada una ejecutando un proceso distinto. Mantiene las tareas ejecutándose en segundo plano, aceptando que los usuarios continúen su trabajo luego.&lt;br /&gt;
&lt;br /&gt;
Tmux permite crear múltiples sesiones de terminal para una colaboración eficiente. Para mejorar tu flujo de trabajo, también puedes modificar la configuración mediante el archivo tmux.conf.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
Como la mayoría de programas básicos, este lo encontramos en los repositorios. &lt;br /&gt;
&lt;br /&gt;
Para &#039;&#039;&#039;Fedora&#039;&#039;&#039; o distribuciones basadas en &#039;&#039;&#039;RHEL&#039;&#039;&#039; se puede ejecutar:&amp;lt;blockquote&amp;gt;sudo dnf install tmux&amp;lt;/blockquote&amp;gt;O &#039;&#039;&#039;Ubuntu&#039;&#039;&#039; y distribuciones basadas en Debian:&amp;lt;blockquote&amp;gt;sudo apt install tmux&amp;lt;/blockquote&amp;gt;Una vez instalado solo es necesario invocarlo con:&amp;lt;blockquote&amp;gt;tmux&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comandos y atajos ==&lt;br /&gt;
Los atajos de teclado de tmux son esenciales para la gestión de ventanas y paneles. Aquí tienes algunas de las combinaciones de teclas más útiles y sus funciones:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + d:&#039;&#039;&#039; salir de la sesión actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + %:&#039;&#039;&#039; dividir una ventana en paneles superior e inferior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + “:&#039;&#039;&#039; dividir una ventana en dos paneles verticalmente.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + flecha:&#039;&#039;&#039; mover a un panel diferente en una dirección.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + x:&#039;&#039;&#039; cerrar el panel actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + c:&#039;&#039;&#039; crear una nueva ventana.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + n:&#039;&#039;&#039; pasar a la siguiente ventana según el número.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + p:&#039;&#039;&#039; volver a la ventana anterior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + número ID&#039;&#039;&#039;: saltar a una ventana concreta utilizando el número ID.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039;  abrir el modo línea de comandos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + ?:&#039;&#039;&#039; mostrar todos los atajos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + w:&#039;&#039;&#039; lista todas las ventanas de la sesión actual.&lt;br /&gt;
&lt;br /&gt;
Ten en cuenta que los atajos tmux sólo funcionan dentro de una sesión tmux. Además, para que las combinaciones de teclas funcionen, tendrás que pulsar &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; antes de la tecla que quieras utilizar, como se muestra arriba.&lt;br /&gt;
&lt;br /&gt;
NOTA - Si ya tenemos instalado [[byobu]] los atajos predeterminados son los suyos.&lt;br /&gt;
&lt;br /&gt;
== Sesiones ==&lt;br /&gt;
Para iniciar tmux y crear tu primera sesión, ejecuta uno de los siguientes comandos en tu ventana principal de terminal:&amp;lt;blockquote&amp;gt;tmux&lt;br /&gt;
&lt;br /&gt;
tmux new&lt;br /&gt;
&lt;br /&gt;
tmux new-session&amp;lt;/blockquote&amp;gt;Ten en cuenta que debes ejecutar estos comandos en la ventana principal del terminal. Aunque puedes crear una nueva dentro de una sesión existente, no es recomendable y requiere desactivar la variable de entorno &#039;&#039;&#039;$TMUX&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, una nueva sesión tmux utilizará un número ID para identificarse. Sin embargo, puedes darle un nombre personalizado utilizando la opción &#039;&#039;&#039;-s&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;tmux new-session -s [nombre]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Separar y unir sesiones ==&lt;br /&gt;
Después de crear una nueva sesión, se te adjuntará automáticamente a ella. Para desvincularte y abandonar el cliente tmux, pulsa &#039;&#039;&#039;Ctrl-b + d.&#039;&#039;&#039; Para volver a vincularte a la sesión más reciente, utiliza el comando &#039;&#039;&#039;tmux attach-session&#039;&#039;&#039;. También puedes volver a entrar en un shell específico introduciendo:&amp;lt;blockquote&amp;gt;tmux attach-session -t [sesión-nombre]&amp;lt;/blockquote&amp;gt;Alternativamente, vuelve a conectarte a una sesión de destino concreta utilizando su número de &#039;&#039;&#039;ID&#039;&#039;&#039;. Como tmux inicia el orden desde 0 por defecto, introduce lo siguiente para acceder al primer intérprete de órdenes:&amp;lt;blockquote&amp;gt;tmux attach-session -t 0&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestionar sesiones ==&lt;br /&gt;
Para listar todas las sesiones activas, ejecuta cualquiera de los siguientes comandos tmux. Puedes hacerlo dentro del shell principal o virtual:&amp;lt;blockquote&amp;gt;tmux list-sessions&lt;br /&gt;
&lt;br /&gt;
tmux ls&amp;lt;/blockquote&amp;gt;Tu interfaz de línea de comandos mostrará todas las sesiones con detalles como su nombre, ID, número de ventanas y fecha de creación. También verás a cuál estás conectado actualmente.&lt;br /&gt;
&lt;br /&gt;
Si estás en una sesión de terminal virtual, puedes cambiar a otra utilizando el siguiente comando. Al igual que para volver a conectarte, utiliza el nombre o el número de ID:&amp;lt;blockquote&amp;gt;tmux switch -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;Para terminar la sesión actual, introduce &#039;&#039;&#039;exit&#039;&#039;&#039; o pulsa &#039;&#039;&#039;Ctrl-d&#039;&#039;&#039;. Mientras tanto, ejecuta este comando si quieres cerrar una en concreto:&amp;lt;blockquote&amp;gt;tmux kill-session -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Crear y navegar por las ventanas ==&lt;br /&gt;
Por defecto, tu nueva sesión tmux será una única ventana de terminal. Para dividirla en dos, pulsa &#039;&#039;&#039;Ctrl-b + c&#039;&#039;&#039;. La nueva ventana aparecerá en la barra de estado inferior con su nombre y número de identificación.&lt;br /&gt;
&lt;br /&gt;
Tu ventana tmux actual está marcada con un asterisco (&#039;&#039;&#039;*&#039;&#039;&#039;). Puedes pasar a la siguiente ventana pulsando &#039;&#039;&#039;Ctrl-b + n&#039;&#039;&#039; o volver a la anterior utilizando &#039;&#039;&#039;Ctrl-b + p&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
En lugar de alternar entre varias ventanas del terminal, puedes saltar directamente a una concreta pulsando Ctrl-b &#039;&#039;&#039;+ ID numérico&#039;&#039;&#039;. Por ejemplo, pulsa &#039;&#039;&#039;Ctrl-b + 0&#039;&#039;&#039; para volver a la primera ventana.&lt;br /&gt;
&lt;br /&gt;
== Renombrar y organizar ventanas ==&lt;br /&gt;
Por defecto, tmux creará una nueva ventana llamada &#039;&#039;&#039;bash&#039;&#039;&#039; o &#039;&#039;&#039;sh&#039;&#039;&#039;. Si tienes muchos procesos, distinguir entre ellos puede ser difícil, complicando la gestión de tareas.&lt;br /&gt;
&lt;br /&gt;
Asigna a las nuevas ventanas tmux un nombre personalizado para facilitar su identificación. Para ello, navega hasta la que quieras renombrar y pulsa &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039; para entrar en el modo de comandos de tmux. A continuación, ejecuta lo siguiente:&amp;lt;blockquote&amp;gt;rename-window nombre-ventana&amp;lt;/blockquote&amp;gt;Sustituye &#039;&#039;&#039;nombre-ventana&#039;&#039;&#039; por el nombre que desees. Deberías ver cómo cambia la información de la nueva ventana en la barra de estado inferior de la sesión.&lt;br /&gt;
&lt;br /&gt;
== Dividir ventanas en paneles ==&lt;br /&gt;
Para organizar una tarea más específica, divide una ventana en varios paneles. Pulsa &#039;&#039;&#039;Ctrl-b + ”&#039;&#039;&#039; para dividirla horizontalmente o verticalmente utilizando &#039;&#039;&#039;Ctrl-b + %&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Puedes repetir los atajos de división de ventanas para dividir aún más los paneles en áreas de trabajo más pequeñas. &lt;br /&gt;
&lt;br /&gt;
== Navegar y cambiar el tamaño de los paneles ==&lt;br /&gt;
Para navegar entre los paneles, pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; una &#039;&#039;&#039;tecla de flecha&#039;&#039;&#039; según la dirección que prefieras. Tu posición actual se resalta con un borde verde.&lt;br /&gt;
&lt;br /&gt;
También puedes pasar al panel siguiente pulsando &#039;&#039;&#039;Ctrl-b + o&#039;&#039;&#039;, o volver al anterior utilizando el atajo de teclado &#039;&#039;&#039;Ctrl-b + ;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, al dividir una ventana se crearán dos paneles con tamaños idénticos. Para cambiar la dimensión, pulsa &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; y mantén pulsado &#039;&#039;&#039;Alt&#039;&#039;&#039; y el botón de &#039;&#039;&#039;flecha&#039;&#039;&#039; según la dirección para cambiar el tamaño.&lt;br /&gt;
&lt;br /&gt;
Pulsa &#039;&#039;&#039;arriba&#039;&#039;&#039; y &#039;&#039;&#039;abajo&#039;&#039;&#039; para cambiar la altura. Mientras tanto, utiliza la tecla de flecha &#039;&#039;&#039;derecha&#039;&#039;&#039; o &#039;&#039;&#039;izquierda&#039;&#039;&#039; para ajustar la anchura.&lt;br /&gt;
&lt;br /&gt;
== Cerrar paneles ==&lt;br /&gt;
Para cerrar un panel, navega hasta el que quieras cerrar y pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; &amp;amp;. Sin embargo, recomendamos evitar este método, ya que la falta de un mensaje de confirmación lo hace propenso al borrado accidental.&lt;br /&gt;
&lt;br /&gt;
En su lugar, pulsa &#039;&#039;&#039;Ctrl-b + x&#039;&#039;&#039; para cerrar un panel de forma segura. Esto mostrará una ventana de verificación, que deberás confirmar pulsando &#039;&#039;&#039;Y,&#039;&#039;&#039; y pulsando &#039;&#039;&#039;Intro&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Terminar los paneles no afectará a las tareas de otras sesiones. Además, recuerda que este proceso es irreversible.&lt;br /&gt;
&lt;br /&gt;
== Personalizar tmux ==&lt;br /&gt;
Tmux te permite crear un archivo de configuración al que puedes añadir código, personalizando su aspecto y comportamiento. Según el ámbito, puede ser &#039;&#039;&#039;local&#039;&#039;&#039; o &#039;&#039;&#039;global.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
El archivo &#039;&#039;&#039;local&#039;&#039;&#039; se aplica a un usuario concreto y se encuentra en el directorio bash por defecto de la cuenta. Ejecuta lo siguiente para crearlo:&amp;lt;blockquote&amp;gt;sudo touch ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Mientras tanto, la configuración &#039;&#039;&#039;global&#039;&#039;&#039; se aplica a todo el sistema y se encuentra en el directorio &#039;&#039;&#039;/etc&#039;&#039;&#039;. A continuación te explicamos cómo hacer una:&amp;lt;blockquote&amp;gt;sudo touch /etc/tmux.conf&amp;lt;/blockquote&amp;gt;Un ejemplo de configuración que he leído es:  &lt;br /&gt;
&lt;br /&gt;
https://www.hostinger.es/tutoriales/tmux-config&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, el siguiente fragmento cambiará las combinaciones de teclas prefijadas por defecto de &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; a &#039;&#039;&#039;Ctrl -a&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Change prefix from &#039;Ctrl+B&#039; to &#039;Ctrl+A&#039;&lt;br /&gt;
&lt;br /&gt;
unbind C-b&lt;br /&gt;
&lt;br /&gt;
set-option -g prefix C-a&lt;br /&gt;
&lt;br /&gt;
bind-key C-a send-prefix&amp;lt;/blockquote&amp;gt;Además, puedes modificar el número de ID inicial. Por ejemplo, el siguiente código de configuración de tmux lo cambia de &#039;&#039;&#039;0&#039;&#039;&#039; a &#039;&#039;&#039;1&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Start counting pane and window number at 1&lt;br /&gt;
&lt;br /&gt;
set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
setw -g pane-base-index 1&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tweaks y links ==&lt;br /&gt;
Podemos aplicar configuraciones predeterminadas, por ejemplo, podemos editar nuestro fichero de comandos de perfil, por ejemplo: .bashrc o .zshrc, y añadir al final:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;tmux new-session \; split-window -h \; split-window -v \; attach&amp;quot;&lt;br /&gt;
&lt;br /&gt;
alias tmuxClose=&amp;quot;tmux kill-ses -t 0&amp;quot;&amp;lt;/blockquote&amp;gt;Cerramos sesión y recargamos la ruta de perfil, por ejemplo:&amp;lt;blockquote&amp;gt;source .zshrc&amp;lt;/blockquote&amp;gt;Y ejecutamos:&amp;lt;blockquote&amp;gt;tmuxAll&amp;lt;/blockquote&amp;gt;automáticamente se dividirá en dos ventanas verticales y en la ventana de la derecha se divide en dos horizontales.&lt;br /&gt;
&lt;br /&gt;
Para cerrar la sesión ejecutamos el otro alias.&amp;lt;blockquote&amp;gt;tmuxClose&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Estos atajos y más en:&lt;br /&gt;
&lt;br /&gt;
https://tmuxcheatsheet.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
También con un script, por ejemplo:&amp;lt;blockquote&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
SESSION=&amp;quot;sessio0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
tmux has-session -t $SESSION 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
if [ $? != 0 ]; then&lt;br /&gt;
&lt;br /&gt;
   tmux new-session -d -s $SESSION -n editor &amp;quot;nano&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   tmux split-window -h -t $SESSION:0 &amp;quot;htop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   tmux split-window -v -t $SESSION:0 &amp;quot;tail -f /var/log/messages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   tmux select-layout -t $SESSION:0 tiled&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
tmux attach -t $SESSION&amp;lt;/blockquote&amp;gt;Conservamos el fichero como ~/.tmux_start.sh&lt;br /&gt;
&lt;br /&gt;
Damos permisos:&amp;lt;blockquote&amp;gt;chmod +x ~/tmux-start.sh&amp;lt;/blockquote&amp;gt;Y añadimos el alias al intérprete que utilizamos:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;~/tmux-start.sh&amp;quot;&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Comandos_Linux&amp;diff=546</id>
		<title>Comandos Linux</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Comandos_Linux&amp;diff=546"/>
		<updated>2025-04-25T08:26:33Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Administración de sistema */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Es muy importante conocer y trabajar Linux por comandos, es decir, una serie de instrucciones ejecutadas en el terminal del sistema.&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, si hemos instalado nuestro Sistema Operativo con Fedora, podemos acabar la instalación con una serie de comandos, lo explico en la página:&lt;br /&gt;
&lt;br /&gt;
[[Completando la instalación del escritorio Fedora]]&lt;br /&gt;
&lt;br /&gt;
Ahora que entramos en el trabajo de terminal es necesario tener conocimiento de las [[interficies de comandos]] como bash, zsh...&lt;br /&gt;
&lt;br /&gt;
Podemos catalogar los comandos de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
== Comandos básicos ==&lt;br /&gt;
Los [[Comandos básicos en linux]] son una entrada obligatoria para acostumbrarnos al trabajo por consola, como la copia, renombrar, accesos directos, permisos...&lt;br /&gt;
== Permisos en Linux ==&lt;br /&gt;
&lt;br /&gt;
* [[chmod]] - permisos de propiedad, ya explicado en los comandos básicos.&lt;br /&gt;
* [[chown]] - permisos de propietario, ya explicado en los comandos básicos.&lt;br /&gt;
* [[Permisos especiales en Linux]] - persistir la propiedad a un usuario, un grupo u otros.&lt;br /&gt;
&lt;br /&gt;
== Editores de texto ==&lt;br /&gt;
&lt;br /&gt;
* [[nano]] - editor básico y sencillo por consola&lt;br /&gt;
* [[vi]] o [[Vim]] - editor avanzado incluido en todas las distribuciones.&lt;br /&gt;
* [[nvim]] - o NeoVim, como editor avanzado con capacidad de trabajar con complementos que aumentan su productividad.&lt;br /&gt;
&lt;br /&gt;
== Herramientas de consola ==&lt;br /&gt;
Desde la línea de comandos podemos utilizar programas que amplían el mantenimiento de nuestro equipo o servidor. &lt;br /&gt;
&lt;br /&gt;
* [[Gestión de tareas en segundo plano en Linux: Los comandos jobs, bg y fg]]&lt;br /&gt;
* [[Byobu]] - Ejecuta terminales virtuales&lt;br /&gt;
* [[htop]] - Herramienta de monitorizado de los recursos del equipo como el consumo de CPU, RAM, procesos...&lt;br /&gt;
&lt;br /&gt;
== Herramientas de búsqueda ==&lt;br /&gt;
&lt;br /&gt;
* [[find]] - es la herramienta más utilizada para hacer búsquedas de ficheros o directorios y ejecutar procesos.&lt;br /&gt;
* awk&lt;br /&gt;
&lt;br /&gt;
== Administración de sistema ==&lt;br /&gt;
Aquí encontramos ficheros y configuraciones importantes para gestionar el servidor:&lt;br /&gt;
&lt;br /&gt;
* [[cron]] - Gestor de tareas programadas.&lt;br /&gt;
* [[journalctl]] - Administrador de informes de equipos bajo [[SystemD]].&lt;br /&gt;
* [[spf]] - o SuPer File explorer como explorador de ficheros y directorios por consola.&lt;br /&gt;
&lt;br /&gt;
== Cortafuegos y arquitectura de seguridad ==&lt;br /&gt;
&lt;br /&gt;
* [[iptables]] -  cortafuegos integrado por kernel en todas las distribuciones.&lt;br /&gt;
* [[firewall-cmd]] - variente de cortafuegos que encontramos en todas las distribuciones basadas en [[Red Hat]]&lt;br /&gt;
* [[SELinux]] - arquitectura de seguridad sobre ficheros desde Kernel.&lt;br /&gt;
* [[namp]] - Mapeo de la red local&lt;br /&gt;
&lt;br /&gt;
== Administración de ficheros ==&lt;br /&gt;
Desde la consola podemos administrar ficheros, directorios y podemos persistir puntos de montaje.&lt;br /&gt;
&lt;br /&gt;
=== Cifrado de particiones ===&lt;br /&gt;
&lt;br /&gt;
* [[LUKS]]&lt;br /&gt;
&lt;br /&gt;
=== Persistiendo montaje ===&lt;br /&gt;
&lt;br /&gt;
* [[AUTOFS]] - herramienta de automatización de montaje de sistemas de archivos que se utiliza para montar automáticamente sistemas de archivos remotos (como NFS, SMB/CIFS, etc.) &lt;br /&gt;
&lt;br /&gt;
== Gestión de paquetes de programas ==&lt;br /&gt;
Los programas pueden ser fácilmente instalados hoy en día por gestores propios de la distribución linux, en Fedora se caracteriza por utilizar DNF y Flatpak, pero podemos encontrar en otras distribuciones basadas en Debian el gestor APT o SNAP.&lt;br /&gt;
&lt;br /&gt;
* [[DNF]] - &#039;&#039;&#039;DNF (Dandified Yum)&#039;&#039;&#039; es un administrador de paquetes de nivel superior utilizado en distribuciones de &#039;&#039;&#039;Linux&#039;&#039;&#039; como &#039;&#039;&#039;Fedora, CentOS y RHEL&#039;&#039;&#039;.&lt;br /&gt;
* [[Flatpak]] - &#039;&#039;&#039;Flatpak&#039;&#039;&#039; es un sistema de paquetes de software que funciona en varias distribuciones de Linux, incluidas &#039;&#039;&#039;Debian, Fedora y Ubuntu&#039;&#039;&#039;.&lt;br /&gt;
* [[Snap]] - &#039;&#039;&#039;Snap&#039;&#039;&#039; es similar a &#039;&#039;&#039;Flatpak&#039;&#039;&#039; en el sentido de que es un sistema de paquetes de software independiente del sistema operativo subyacente.&lt;br /&gt;
&lt;br /&gt;
== Útiles ==&lt;br /&gt;
&lt;br /&gt;
* [[Youtube-dl]] - Descarga videos o música directamente de un enlace de [https://www.youtube.com Youtube].&lt;br /&gt;
&lt;br /&gt;
== Copias de seguridad ==&lt;br /&gt;
Es vital tener copias de seguridad de nuestro equipo o nuestro servidor y más si se pueden hacer a un dispositivo externo o remoto.&lt;br /&gt;
&lt;br /&gt;
Existen numerosos programas, de entre todos ponemos de ejemplo:&lt;br /&gt;
&lt;br /&gt;
*[[rsnapshot]] - un programa sencillo pero potente que utiliza [[rsync]] como núcleo de trabajo y que solo trabaja desde consola.&lt;br /&gt;
*[[BackInTime]] - un programa gráfico sencillo que utiliza [[rsync]] como núcleo de trabajo.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Comandos_Linux&amp;diff=545</id>
		<title>Comandos Linux</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Comandos_Linux&amp;diff=545"/>
		<updated>2025-04-25T08:24:09Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Editores de texto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Es muy importante conocer y trabajar Linux por comandos, es decir, una serie de instrucciones ejecutadas en el terminal del sistema.&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, si hemos instalado nuestro Sistema Operativo con Fedora, podemos acabar la instalación con una serie de comandos, lo explico en la página:&lt;br /&gt;
&lt;br /&gt;
[[Completando la instalación del escritorio Fedora]]&lt;br /&gt;
&lt;br /&gt;
Ahora que entramos en el trabajo de terminal es necesario tener conocimiento de las [[interficies de comandos]] como bash, zsh...&lt;br /&gt;
&lt;br /&gt;
Podemos catalogar los comandos de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
== Comandos básicos ==&lt;br /&gt;
Los [[Comandos básicos en linux]] son una entrada obligatoria para acostumbrarnos al trabajo por consola, como la copia, renombrar, accesos directos, permisos...&lt;br /&gt;
== Permisos en Linux ==&lt;br /&gt;
&lt;br /&gt;
* [[chmod]] - permisos de propiedad, ya explicado en los comandos básicos.&lt;br /&gt;
* [[chown]] - permisos de propietario, ya explicado en los comandos básicos.&lt;br /&gt;
* [[Permisos especiales en Linux]] - persistir la propiedad a un usuario, un grupo u otros.&lt;br /&gt;
&lt;br /&gt;
== Editores de texto ==&lt;br /&gt;
&lt;br /&gt;
* [[nano]] - editor básico y sencillo por consola&lt;br /&gt;
* [[vi]] o [[Vim]] - editor avanzado incluido en todas las distribuciones.&lt;br /&gt;
* [[nvim]] - o NeoVim, como editor avanzado con capacidad de trabajar con complementos que aumentan su productividad.&lt;br /&gt;
&lt;br /&gt;
== Herramientas de consola ==&lt;br /&gt;
Desde la línea de comandos podemos utilizar programas que amplían el mantenimiento de nuestro equipo o servidor. &lt;br /&gt;
&lt;br /&gt;
* [[Gestión de tareas en segundo plano en Linux: Los comandos jobs, bg y fg]]&lt;br /&gt;
* [[Byobu]] - Ejecuta terminales virtuales&lt;br /&gt;
* [[htop]] - Herramienta de monitorizado de los recursos del equipo como el consumo de CPU, RAM, procesos...&lt;br /&gt;
&lt;br /&gt;
== Herramientas de búsqueda ==&lt;br /&gt;
&lt;br /&gt;
* [[find]] - es la herramienta más utilizada para hacer búsquedas de ficheros o directorios y ejecutar procesos.&lt;br /&gt;
* awk&lt;br /&gt;
&lt;br /&gt;
== Administración de sistema ==&lt;br /&gt;
Aquí encontramos ficheros y configuraciones importantes para gestionar el servidor:&lt;br /&gt;
&lt;br /&gt;
* [[cron]] - Gestor de tareas programadas.&lt;br /&gt;
* [[journalctl]] - Administrador de informes de equipos bajo [[SystemD]].&lt;br /&gt;
&lt;br /&gt;
== Cortafuegos y arquitectura de seguridad ==&lt;br /&gt;
&lt;br /&gt;
* [[iptables]] -  cortafuegos integrado por kernel en todas las distribuciones.&lt;br /&gt;
* [[firewall-cmd]] - variente de cortafuegos que encontramos en todas las distribuciones basadas en [[Red Hat]]&lt;br /&gt;
* [[SELinux]] - arquitectura de seguridad sobre ficheros desde Kernel.&lt;br /&gt;
* [[namp]] - Mapeo de la red local&lt;br /&gt;
&lt;br /&gt;
== Administración de ficheros ==&lt;br /&gt;
Desde la consola podemos administrar ficheros, directorios y podemos persistir puntos de montaje.&lt;br /&gt;
&lt;br /&gt;
=== Cifrado de particiones ===&lt;br /&gt;
&lt;br /&gt;
* [[LUKS]]&lt;br /&gt;
&lt;br /&gt;
=== Persistiendo montaje ===&lt;br /&gt;
&lt;br /&gt;
* [[AUTOFS]] - herramienta de automatización de montaje de sistemas de archivos que se utiliza para montar automáticamente sistemas de archivos remotos (como NFS, SMB/CIFS, etc.) &lt;br /&gt;
&lt;br /&gt;
== Gestión de paquetes de programas ==&lt;br /&gt;
Los programas pueden ser fácilmente instalados hoy en día por gestores propios de la distribución linux, en Fedora se caracteriza por utilizar DNF y Flatpak, pero podemos encontrar en otras distribuciones basadas en Debian el gestor APT o SNAP.&lt;br /&gt;
&lt;br /&gt;
* [[DNF]] - &#039;&#039;&#039;DNF (Dandified Yum)&#039;&#039;&#039; es un administrador de paquetes de nivel superior utilizado en distribuciones de &#039;&#039;&#039;Linux&#039;&#039;&#039; como &#039;&#039;&#039;Fedora, CentOS y RHEL&#039;&#039;&#039;.&lt;br /&gt;
* [[Flatpak]] - &#039;&#039;&#039;Flatpak&#039;&#039;&#039; es un sistema de paquetes de software que funciona en varias distribuciones de Linux, incluidas &#039;&#039;&#039;Debian, Fedora y Ubuntu&#039;&#039;&#039;.&lt;br /&gt;
* [[Snap]] - &#039;&#039;&#039;Snap&#039;&#039;&#039; es similar a &#039;&#039;&#039;Flatpak&#039;&#039;&#039; en el sentido de que es un sistema de paquetes de software independiente del sistema operativo subyacente.&lt;br /&gt;
&lt;br /&gt;
== Útiles ==&lt;br /&gt;
&lt;br /&gt;
* [[Youtube-dl]] - Descarga videos o música directamente de un enlace de [https://www.youtube.com Youtube].&lt;br /&gt;
&lt;br /&gt;
== Copias de seguridad ==&lt;br /&gt;
Es vital tener copias de seguridad de nuestro equipo o nuestro servidor y más si se pueden hacer a un dispositivo externo o remoto.&lt;br /&gt;
&lt;br /&gt;
Existen numerosos programas, de entre todos ponemos de ejemplo:&lt;br /&gt;
&lt;br /&gt;
*[[rsnapshot]] - un programa sencillo pero potente que utiliza [[rsync]] como núcleo de trabajo y que solo trabaja desde consola.&lt;br /&gt;
*[[BackInTime]] - un programa gráfico sencillo que utiliza [[rsync]] como núcleo de trabajo.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Vi&amp;diff=544</id>
		<title>Vi</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Vi&amp;diff=544"/>
		<updated>2025-04-23T08:35:17Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Mejor y más bonito */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Vi&#039;&#039;&#039; es el editor básico integrado en todas las distribuciones Linux y que se ha ido cambiando a &#039;&#039;&#039;nano&#039;&#039;&#039; por su facilidad de uso.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;vi&#039;&#039;&#039; (&#039;&#039;Visual&#039;&#039;) es un programa que entra en la categoría de los editores de texto, pues a diferencia de un procesador de texto no ofrece herramientas para determinar visualmente cómo quedará el documento impreso. Por esto carece de opciones como centrado o justificación de párrafos, pero permite mover, copiar, eliminar o insertar caracteres con mucha versatilidad. Este tipo de programas es frecuentemente utilizado por programadores para escribir código fuente de software.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vi&#039;&#039;&#039; fue originalmente escrito por Bill Joy en 1976, tomando recursos de &#039;&#039;ed&#039;&#039; y &#039;&#039;ex&#039;&#039;, dos editores de texto para Unix, que trataban de crear y editar archivos, de ahí, la creación de &#039;&#039;vi&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Hay una versión mejorada que se llama [[Vim]], pero &#039;&#039;Vi&#039;&#039; se encuentra en —casi— todo sistema de tipo Unix, de forma que conocer rudimentos de &#039;&#039;Vi&#039;&#039; es una salvaguarda ante operaciones de emergencia en diversos sistemas operativos.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Comando &lt;br /&gt;
!Significado &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Empezar&#039;&#039;&#039; &amp;lt;kbd&amp;gt;vi&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;vi&amp;lt;/kbd&amp;gt; &#039;&#039;&#039;nombre_de_archivo&#039;&#039;&#039;&lt;br /&gt;
|Abrir o crear el archivo &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;&amp;lt;kbd&amp;gt;i&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Abrir un archivo nuevo para nombrarlo más tarde &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;vi&amp;lt;/kbd&amp;gt; &amp;lt;kbd&amp;gt;-r&amp;lt;/kbd&amp;gt; &#039;&#039;&#039;nombre_de_archivo&#039;&#039;&#039;&lt;br /&gt;
|Recuperar un archivo de una caída del sistema &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;view&amp;lt;/kbd&amp;gt; &#039;&#039;&#039;nombre_de_archivo&#039;&#039;&#039; &lt;br /&gt;
|Abrir archivo sólo para leer &lt;br /&gt;
|-&lt;br /&gt;
|Comandos del cursor &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&lt;br /&gt;
|Moverse un carácter hacia la izquierda &lt;br /&gt;
|-&lt;br /&gt;
|j &lt;br /&gt;
|Moverse una línea hacia abajo &lt;br /&gt;
|-&lt;br /&gt;
|k &lt;br /&gt;
|Moverse una línea hacia arriba &lt;br /&gt;
|-&lt;br /&gt;
|l &lt;br /&gt;
|Moverse un carácter a la derecha &lt;br /&gt;
|-&lt;br /&gt;
|w &lt;br /&gt;
|Moverse una palabra a la derecha &lt;br /&gt;
|-&lt;br /&gt;
|W &lt;br /&gt;
|Moverse una palabra a la derecha (pasados los signos de puntuación) &lt;br /&gt;
|-&lt;br /&gt;
|b &lt;br /&gt;
|Moverse una palabra a la izquierda &lt;br /&gt;
|-&lt;br /&gt;
|B &lt;br /&gt;
|Moverse una palabra a la izquierda (pasados los signos de puntuación) &lt;br /&gt;
|-&lt;br /&gt;
|e &lt;br /&gt;
|Moverse al final de la palabra actual &lt;br /&gt;
|-&lt;br /&gt;
|Return &lt;br /&gt;
|Moverse una línea hacia abajo &lt;br /&gt;
|-&lt;br /&gt;
|Back Space &lt;br /&gt;
|Moverse un carácter a la izquierda &lt;br /&gt;
|-&lt;br /&gt;
|Space Bar &lt;br /&gt;
|Moverse un carácter a la derecha &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;H&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Moverse a la parte de arriba de la pantalla &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;M&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Moverse al centro de la pantalla &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;L&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Moverse a la parte inferior de la pantalla &lt;br /&gt;
|-&lt;br /&gt;
|Ctrl-F &lt;br /&gt;
|Paginar una pantalla hacia adelante &lt;br /&gt;
|-&lt;br /&gt;
|Ctrl-D &lt;br /&gt;
|Desplazarse media pantalla hacia adelante &lt;br /&gt;
|-&lt;br /&gt;
|Ctrl-B &lt;br /&gt;
|Paginar una pantalla hacia atrás &lt;br /&gt;
|-&lt;br /&gt;
|Ctrl-U &lt;br /&gt;
|Desplazarse media pantalla hacia atrás &lt;br /&gt;
|-&lt;br /&gt;
|Insertar caracteres y líneas &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;a&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Insertar caracteres a la derecha del cursor &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;A&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Insertar caracteres al final de la línea &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;i&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Insertar caracteres a la izquierda del cursor &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;I&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Insertar caracteres al principio de línea &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;o&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Insertar una línea por debajo el cursor &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;O&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Insertar una línea por encima del cursor &lt;br /&gt;
|-&lt;br /&gt;
|Cambiar texto &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;cw&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Cambiar una palabra (o parte de una palabra) a la derecha del cursor &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;c&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Cambiar una línea &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;C&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Cambiar desde el cursor hasta el final de la línea &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;s&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Sustituir cadena por carácter(es) desde el cursor hacia adelante &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;r&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Reemplazar el carácter marcado por cursor por otro carácter &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;r&amp;lt;/kbd&amp;gt; Return&lt;br /&gt;
|Partir una línea &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;J&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Unir la línea actual con la línea inferior &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;xp&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Transponer el carácter del cursor con el carácter a la derecha &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;~&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Cambiar el tipo de letra (mayúscula o minúscula)    &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;u&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Deshacer el comando anterior &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;U&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Deshacer todos los cambios en la línea actual &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;:u&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Deshacer el comando anterior sobre la línea última &lt;br /&gt;
|-&lt;br /&gt;
|Eliminar texto &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;x&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Eliminar el carácter del cursor &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;X&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Eliminar el carácter a la izquierda del cursor &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;dw&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Eliminar la palabra (o la parte de la palabra a la derecha del cursor) &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;dd&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Eliminar la línea que contiene al cursor &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;D&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Eliminar la parte de la línea a la derecha del cursor &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;dG&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Eliminar hasta el final de línea &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;d1G&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Eliminar desde el principio del archivo hasta el cursor &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;:5,10 d&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Eliminar las líneas de la 5 a la 10 &lt;br /&gt;
|-&lt;br /&gt;
|Copiar y mover texto &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;yy&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Tirar o copiar línea &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;Y&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Tirar o copiar línea &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;p&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Poner la línea tirada o eliminada por debajo de la línea actual &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;P&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Poner la línea tirada o eliminada por encima de la línea actual &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;:1,2 co 3&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Copiar las líneas de la 1 a la 2 y ponerlas después de la línea 3 &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;:4,5 m 6&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Mover las líneas de la 4 a la 5 y ponerlas después de la línea 6 &lt;br /&gt;
|-&lt;br /&gt;
|Ajustar la numeración de las líneas &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;:set nu&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Mostrar los números de las líneas &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;:set nonu&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Esconder los números de las líneas &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Establecer la distinción entre mayúsculas y minúsculas &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;:set ic&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|En la búsqueda se ignora la distinción entre mayúsculas y minúsculas &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;:set noic&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|En la búsqueda se distingue entre mayúsculas y minúsculas &lt;br /&gt;
|-&lt;br /&gt;
|Encontrar una línea &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;G&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Ir a la última línea del archivo &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;1G&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Ir a la primera línea del archivo &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;21G&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Ir a la línea 21 &lt;br /&gt;
|-&lt;br /&gt;
|Buscar y reemplazar &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;/&amp;lt;/kbd&amp;gt;&#039;&#039;&#039;string&#039;&#039;&#039;&lt;br /&gt;
|Búsqueda de &#039;&#039;&#039;cadena de caracteres&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;?&amp;lt;/kbd&amp;gt;&#039;&#039;&#039;string&#039;&#039;&#039;&lt;br /&gt;
|Búsqueda hacia atrás de &#039;&#039;&#039;cadena de caracteres&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;n&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Encontrar la siguiente aparición de &#039;&#039;&#039;string&#039;&#039;&#039; en la dirección de búsqueda&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;N&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Encontrar la aparición previa de la &#039;&#039;&#039;cadena de caracteres&#039;&#039;&#039; en la dirección de búsqueda&lt;br /&gt;
|-&lt;br /&gt;
|:g/&amp;lt;var&amp;gt;search&amp;lt;/var&amp;gt;/s//&amp;lt;var&amp;gt;replace&amp;lt;/var&amp;gt;/g&lt;br /&gt;
|Buscar y reemplazar &lt;br /&gt;
|-&lt;br /&gt;
|:%s/web.com\/test/web.com/g&lt;br /&gt;
|&#039;&#039;&#039;%:&#039;&#039;&#039; Indica que la operación se aplicará a todo el archivo (todas las líneas).&lt;br /&gt;
&#039;&#039;&#039;s:&#039;&#039;&#039; Significa &amp;quot;sustituir&amp;quot; (substitute), &lt;br /&gt;
Definimos el patrón a buscar (antes de la primera &amp;quot;/&amp;quot;) y el texto de reemplazo (después de la segunda &amp;quot;/&amp;quot;). Observa que la barra &amp;quot;/&amp;quot; dentro del patrón debe ser escapada con una barra invertida &amp;quot;\&amp;quot; para que sea interpretada como un carácter literal y no como un delimitador. &lt;br /&gt;
&#039;&#039;&#039;g:&#039;&#039;&#039; Indica que se deben reemplazar &#039;&#039;&#039;todas&#039;&#039;&#039; las ocurrencias en cada línea, no solo la primera.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Limpiar la pantalla&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Ctrl-L &lt;br /&gt;
|Limpiar (actualizar) la pantalla &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Insertar un archivo en otro archivo &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;:r&amp;lt;/kbd&amp;gt; &#039;&#039;&#039;nombre_de_archivo&#039;&#039;&#039;&lt;br /&gt;
|Insertar (leer) el archivo a continuación del cursor &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;:34&amp;lt;/kbd&amp;gt; &amp;lt;kbd&amp;gt;r&amp;lt;/kbd&amp;gt; &#039;&#039;&#039;nombre_de_archivo&#039;&#039;&#039;&lt;br /&gt;
|Insertar el archivo después de la línea 34 &lt;br /&gt;
|-&lt;br /&gt;
|Guardar y salir &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;:w&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Guardar los cambios (escribir el contenido de la memoria intermedia) &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;:w&amp;lt;/kbd&amp;gt; &#039;&#039;&#039;nombre_de_archivo&#039;&#039;&#039;&lt;br /&gt;
|Escribir el contenido de la memoria intermedia a un archivo con nombre &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;:wq&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Guardar los cambios y salir de vi &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;ZZ&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Guardar los cambios y salir de vi &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;kbd&amp;gt;:q!&amp;lt;/kbd&amp;gt;&lt;br /&gt;
|Salir sin guardar los cambios&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mejor y más bonito ==&lt;br /&gt;
Ahora, si queremos darle más potencia y belleza, recomiendo [[Nvim]] y LazyVim.&lt;br /&gt;
&lt;br /&gt;
== Acciones más comunes ==&lt;br /&gt;
&lt;br /&gt;
=== Indexar todo el tetxo ===&lt;br /&gt;
como viene siendo habitual en el código, podemos ordenar o eliminar espacios innecesarios automáticamente, para eso, entramos en modo visual con &amp;quot;&#039;&#039;&#039;v&#039;&#039;&#039;&amp;quot; y escribimos:&amp;lt;blockquote&amp;gt;gg=G&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Comentar o descomentar líneas ===&lt;br /&gt;
Podemos comentar varias línias entrando en modo visual:&amp;lt;blockquote&amp;gt;v&amp;lt;/blockquote&amp;gt;Y seleccionado con el cursor o el puntero del ratón, una vez seleccionadas escribimos:&amp;lt;blockquote&amp;gt;gc&amp;lt;/blockquote&amp;gt;Para descomentar volvemos con:&amp;lt;blockquote&amp;gt;gcc&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Nvim&amp;diff=543</id>
		<title>Nvim</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Nvim&amp;diff=543"/>
		<updated>2025-04-23T08:20:34Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Navegación básica */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descripción =&lt;br /&gt;
[https://neovim.io/ Neovim] es un &#039;&#039;&#039;&#039;&#039;fork&#039;&#039;&#039;&#039;&#039; de [[Vim]] que apunta a mejorar la experiencia del usuario, el ecosistema de extensiones y las interfaces gráficas.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
&lt;br /&gt;
=== Por distribución ===&lt;br /&gt;
En todas las distribuciones existe la posibilidad de su instalación por repositorios, en [[Fedora]] se puede instalar con:&amp;lt;blockquote&amp;gt;sudo dnf install neovim&amp;lt;/blockquote&amp;gt;Y basta con ejecutar con:&amp;lt;blockquote&amp;gt;nvim&amp;lt;/blockquote&amp;gt;El funcionamiento por defecto es calcado a vim aunque podemos configurar extensiones para aumentar su rendimiento. &lt;br /&gt;
&lt;br /&gt;
=== Descarga oficial ===&lt;br /&gt;
Si trabajamos en una distribución más antigua podemos descargar la opción oficial:&amp;lt;blockquote&amp;gt;curl -LO &amp;lt;nowiki&amp;gt;https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sudo rm -rf /opt/nvim&lt;br /&gt;
&lt;br /&gt;
sudo tar -C /opt -xzf nvim-linux64.tar.gz&amp;lt;/blockquote&amp;gt;Y añadimos la ruta al entorno de terminal al final del fichero .bashrc o .zshrc:&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;export PATH=&amp;quot;$PATH:/opt/nvim-linux64/bin&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;Eso hará que se ejecute en nuestra sesión.&lt;br /&gt;
&lt;br /&gt;
Ahora basta ejecutar:&amp;lt;blockquote&amp;gt;nvim&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
[[Archivo:Nvim base.png|centro|miniaturadeimagen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= LazyVim =&lt;br /&gt;
Como su nombre indica, [https://www.lazyvim.org/ LazyVim] es una versión &amp;quot;baga&amp;quot; de modificar vim o neovim de tal manera que ya activa pluguins i temas haciendo que el editor pueda ser una gran alternativa a editores como [https://code.visualstudio.com/ Visual Studio Code] . Entre otras mejoras, permite la revisión de código, la introducción de una función y completarla, la revisión del código escrito...&lt;br /&gt;
&lt;br /&gt;
Puede integrarse con lenguajes como &#039;&#039;&#039;bash, php o python&#039;&#039;&#039; entre otros aunque permite la instalación desde su repositorio.&lt;br /&gt;
&lt;br /&gt;
Para instalarlo partimos que tenemos una instalación de neovim y abrimos un terminal para clonar el [[git]] y situarlo en el directorio de configuración de nvim.:&amp;lt;blockquote&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://github.com/LazyVim/starter&amp;lt;/nowiki&amp;gt; ~/.config/nvim&amp;lt;/blockquote&amp;gt;eliminamos el .git descargado:&amp;lt;blockquote&amp;gt;rm -rf ~/.config/nvim/.git&amp;lt;/blockquote&amp;gt;Y ejecutamos nvim para que salga el configurador:&amp;lt;blockquote&amp;gt;nvim&amp;lt;/blockquote&amp;gt;Por defecto es probable que algunos caracteres no se muestren bien, es por eso que habría que instalar fuentes de texto como se muestra en esta entrada.&lt;br /&gt;
&lt;br /&gt;
En unos segundos se mostraría todos los complementos instalados y si los ha de actualizar:&lt;br /&gt;
[[Archivo:Lazyvim1.png|centro|miniaturadeimagen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez acabado haríamos la tecla de &#039;&#039;&#039;ESC&#039;&#039;&#039; y se mostraría el menú inicial:&lt;br /&gt;
[[Archivo:Lazyvim2.png|centro|miniaturadeimagen]]&lt;br /&gt;
&lt;br /&gt;
=== CheckHealth ===&lt;br /&gt;
Esta es una de las funciones del complemento que permite revisar las posibles dependencias y errores que pueda encontrar, para ejecutarlo solo tenemos que escribir los &amp;quot;:&amp;quot; y en el cuadro de comandos escribir:&lt;br /&gt;
[[Archivo:Lazyvim01.png|centro|miniaturadeimagen]]&lt;br /&gt;
Y esto nos devuelve una revisión con los posibles errores y advertencias de funcionamiento o dependencias. &lt;br /&gt;
[[Archivo:Lazyvim checkhealth.png|centro|miniaturadeimagen]]&lt;br /&gt;
En este ejemplo podemos ver que faltan los programas &amp;quot;fd&amp;quot; y &amp;quot;lazygit&amp;quot;, para instalar el primer lo podemos hacer desde repos con:&amp;lt;blockquote&amp;gt;sudo dnf install fd-find lua luarocks&amp;lt;/blockquote&amp;gt;Y para instalar &amp;quot;lazygit&amp;quot; lo haremos desde el &amp;quot;[https://github.com/jesseduffield/lazygit/releases git]&amp;quot; oficial, en este caso por la versión 0.42 y arquitectura de 64b:&amp;lt;blockquote&amp;gt;wget &amp;lt;nowiki&amp;gt;https://github.com/jesseduffield/lazygit/releases/download/v0.42.0/lazygit_0.42.0_Linux_arm64.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
tar xzvf lazygit_0.42.0_Linux_arm64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo mv lazygit /usr/local/bin/&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;Y comprobamos la versión &amp;lt;blockquote&amp;gt;lazygit -v&amp;lt;/blockquote&amp;gt;Con un resultado como este:&amp;lt;blockquote&amp;gt;commit=6fcb7eb8bb616c170506312870b3bf15f3dbe37c, build date=2024-05-19T10:15:28Z, build source=binaryRelease, version=0.42.0, os=linux, arch=arm64, git version=2.45.2&amp;lt;/blockquote&amp;gt;Volvemos a abrir &amp;quot;nvim&amp;quot;, volvemos a ejecutar el checkhealth y...&lt;br /&gt;
[[Archivo:Lazyvim-checkhealth2.png|centro|miniaturadeimagen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalando herramientas con Mason ===&lt;br /&gt;
Mason nos permite instalar herramientas para nvim, sobretodo para desarrollo, por ejemplo, si estamos creando un script y queremos añadir comandos condicionales como &amp;quot;if&amp;quot; o &amp;quot;case&amp;quot;, basta con escribir el nombre y el genera toda la función. Para eso debemos añadir estas herramientas con el programa abierto y abriendo el &amp;quot;CMDline&amp;quot; con &amp;quot;:&amp;quot; y escribimos:&amp;lt;blockquote&amp;gt;Mason&amp;lt;/blockquote&amp;gt;Esto nos abre una nueva opción con el listado de herramientas instaladas y las disponibles, basta con buscar una ( con CTRL + F ) y seleccionarla con &amp;quot;i&amp;quot;, por ejemplo, quiero instalar herramientas para el desarrollo y programación con bash, pues busco:&amp;lt;blockquote&amp;gt;bash&amp;lt;/blockquote&amp;gt;Y selecciono:&amp;lt;blockquote&amp;gt;beautysh&lt;br /&gt;
&lt;br /&gt;
spellcheck &lt;br /&gt;
&lt;br /&gt;
bash-language-server&amp;lt;/blockquote&amp;gt;Apretando &amp;quot;i&amp;quot; en cada una de ellas y esto lo instalará automáticamente.&lt;br /&gt;
&lt;br /&gt;
= Extra - fuente de texto =&lt;br /&gt;
Para completar la instalación, se recomienda la instalación de [https://www.nerdfonts.com/ Nerd Fonts].&lt;br /&gt;
&lt;br /&gt;
Para instalarlas basta con descargarlas y descomprimirlas, por ejemplo descargamos las &amp;quot;0xProto Nerd Font&amp;quot;:&amp;lt;blockquote&amp;gt;curl -LO https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/0xProto.zip&amp;lt;/blockquote&amp;gt;y descomprimimos:&amp;lt;blockquote&amp;gt;unzip 0xProto.zip&amp;lt;/blockquote&amp;gt;Previamente, podemos crear el directorio personal para las fuentes:&amp;lt;blockquote&amp;gt;mkdir ~/.fonts&amp;lt;/blockquote&amp;gt;Y ahora si podemos copiar el resultado:&amp;lt;blockquote&amp;gt;cp *.ttf ~/.fonts&amp;lt;/blockquote&amp;gt;Ahora podemos configurar en el terminal o el sistema, por ejemplo con el Gnome Terminal podemos modificar las &amp;quot;Preferencias&amp;quot;:&lt;br /&gt;
[[Archivo:GnomeTerminalPreferences.png|centro|miniaturadeimagen]]&lt;br /&gt;
&lt;br /&gt;
== Navegación básica ==&lt;br /&gt;
Aparte de los atajos de [[Vi]] , nos encontramos nuevos detalles que nos facilitarán el uso, el primero es la tecla &amp;quot;leader&amp;quot; que nos lleva a un menú de opciones que nos permite de manera rápida acceder a un depurador, a un árbol lateral de ficheros, un buscador...&lt;br /&gt;
[[Archivo:Lazyvim-leadermenu.png|centro|miniaturadeimagen]]&lt;br /&gt;
Esto, más los atajos de Vi, las opciones que nos da lazyvim y sus complementos, hace de este editor de consola una gran alternativa de otros más profesionales.&lt;br /&gt;
&lt;br /&gt;
== Incidencias ==&lt;br /&gt;
&lt;br /&gt;
=== No puedo copiar texto con el ratón dando un mensaje &amp;quot;Clipboard no provider&amp;quot; ===&lt;br /&gt;
Este mensaje solo aparece cuando abrimos nvim como &amp;quot;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;quot; o como &amp;quot;&#039;&#039;&#039;sudo nvim&#039;&#039;&#039;&amp;quot; eso es debido a que no pasa la variable de entorno gráfica a root, se puede solucionar con &amp;quot;sudo -E nvim&amp;quot;, por ejemplo:&amp;lt;blockquote&amp;gt;sudo -E nvim /etc/fstab&amp;lt;/blockquote&amp;gt;Con esto pasamos las variables de entorno locales al equipo destino.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Fedora&amp;diff=542</id>
		<title>Fedora</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Fedora&amp;diff=542"/>
		<updated>2025-04-22T08:51:06Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Cambiando de a una versión actualizada */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ¿Qué es Fedora Linux? ==&lt;br /&gt;
&#039;&#039;&#039;[https://fedoraproject.org/ Fedora]&#039;&#039;&#039; (AFI: /fəˈdɔrə/) es una distribución GNU/Linux para propósitos generales. Es mantenida por una comunidad internacional de ingenieros, diseñadores y usuarios. Se caracteriza por su estabilidad, pero también por estar a la vanguardia en la adopción de software libre y de código abierto. Cuenta con el patrocinio principal de Red Hat (subsidiaria de IBM desde 2019), además de otras empresas de tecnologías de la información y fabricantes de equipos de cómputo como Dell o Lenovo.&lt;br /&gt;
&lt;br /&gt;
El proyecto no solo busca incluir software libre y de código abierto, sino ser el líder en estos ámbitos tecnológicos.​​ Algo que hay que destacar es que los desarrolladores de Fedora prefieren hacer cambios en las fuentes originales en lugar de aplicar los parches específicos en su distribución, de esta forma se asegura que las actualizaciones estén disponibles para todas las variantes de GNU/Linux.​ Max Spevack en una entrevista afirmó que: &amp;quot;&#039;&#039;Hablar de Fedora es hablar del rápido progreso del software libre y de código abierto&#039;&#039;&amp;quot;​. Durante sus primeras 6 versiones se llamó &#039;&#039;Fedora Core&#039;&#039;, debido a que solo incluía los paquetes más importantes del sistema operativo.&lt;br /&gt;
&lt;br /&gt;
== Escritorio por defecto ==&lt;br /&gt;
El entorno de ventanas por defecto es [[Gnome]] aunque se pueden instalar facilmente otros como [[KDE|KDE.]]&lt;br /&gt;
&lt;br /&gt;
== Actualitzando los programas ==&lt;br /&gt;
El sistema de paquetería de Fedora, igual que CentOS y derivados, se gestiona por YUM o [[DNF]].&lt;br /&gt;
&lt;br /&gt;
El comando más utilizado para actualizar es:&amp;lt;blockquote&amp;gt;sudo dnf update&amp;lt;/blockquote&amp;gt;Esto se conectará a los [[repositorios]] y descargará los programas que tengan nueva versión, como por ejemplo los navegadores o el kernel del sistema.&lt;br /&gt;
&lt;br /&gt;
Otro gestor de programas que incluye es [[Flatpak]] y para hacer la correspondiente actualizacións ejecutaremos:&amp;lt;blockquote&amp;gt;sudo flatpak update&amp;lt;/blockquote&amp;gt;Dependiendo de lo actualizado, se recomienda el reinicio de sistema.&lt;br /&gt;
&lt;br /&gt;
== Cambiando de a una versión actualizada ==&lt;br /&gt;
Fedora actualiza sus versiones ( releases ) cada 6 meses, por lo que es uno de los sistemas con más actualizaciones anuales. Cada actualización de sistema viene acompañada de grandes cambios como [[kernel]]. entorno de escritorio, librerías...&lt;br /&gt;
&lt;br /&gt;
Para estar &amp;quot;a la última&amp;quot; podemos esperar a que el gestor de paquetes nos avise de la nueva versión y seguir los correspondientes pasos, aunque, como viene ser común, los servidores no tienen entorno gráfico y debemos hacerlo por consola. Para ello seguimos los siguientes pasos.&lt;br /&gt;
&lt;br /&gt;
Podemos seguir la documentación oficial: &lt;br /&gt;
&lt;br /&gt;
https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/&lt;br /&gt;
&lt;br /&gt;
Y abriremos una consola y ejecutamos lo siguiente, primero nos aseguramos que nuestro equipo está totalmente actualizado:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf upgrade --refresh&amp;lt;/code&amp;gt;&lt;br /&gt;
Y reiniciamos:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
Seguimos instalando el complemento para [[DNF]] que permite la actualización de sistema:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install dnf-plugin-system-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
Y descargamos los paquetes correspondientes a la distribución &#039;&#039;&#039;42&#039;&#039;&#039;:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf system-upgrade download --releasever=42&amp;lt;/code&amp;gt;&lt;br /&gt;
Y por último ejecutamos el comando que reiniciará el sistema y aplicará los cambios:&amp;lt;code&amp;gt;sudo dnf5 offline reboot&amp;lt;/code&amp;gt;El proceso puede tardar bastante dependiendo de los paquetes ya instalados y reiniciará el equipo hasta poder volver a iniciar sesión.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTA! Si durante la actualización se reinicia el servidor o hay un corte de luz, tendremos que reparar la instalación con:&#039;&#039;&#039;&lt;br /&gt;
 sudo dnf distro-sync --releasever=42 --allowerasing --setopt=protected_packages= --skip-broken&lt;br /&gt;
Una vez acabado, volvemos a reiniciar debería funcionar todo.&lt;br /&gt;
 sudo dnf offline reboot&lt;br /&gt;
Una vez ya tenemos el equipo estable realizaremos los últimos pasos de actualización y limpieza:&lt;br /&gt;
 sudo dnf5 offline clean&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install rpmconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo rpmconf -a&amp;lt;/code&amp;gt;&lt;br /&gt;
Que actualizará el administrador de paquetes. Haremos limpieza de los paquetes retirados:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install remove-retired-packages&lt;br /&gt;
 remove-retired-packages&amp;lt;/code&amp;gt;&lt;br /&gt;
Limpiaremos los paquetes insatisfechos y duplicados:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf repoquery --unsatisfied&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sudo dnf repoquery --duplicates&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Y dejamos que el sistema se encargue de eliminar los paquetes que ya no utilizan:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf autoremove&amp;lt;/code&amp;gt;&lt;br /&gt;
Reiniciamos de nuevo el equipo para comprobar el estado y tendríamos el equipo perfecto para seguir trabajando.&lt;br /&gt;
&lt;br /&gt;
NOTA – no apunto otros pasos como la limpieza de kernels antiguos porque tengo costumbre de seguir utilizándolos en caso de incompatibilidades.&lt;br /&gt;
&lt;br /&gt;
== Completando la instalación ==&lt;br /&gt;
Una vez tenemos el equipo actualizado podemos completar la instalación modificando o añadiendo repositorios, instalado programas... Todos los comando se deberan ejecutar como [[Root]]:&lt;br /&gt;
&lt;br /&gt;
=== Cambiando el nombre del equipo ===&lt;br /&gt;
Basta con el comando&amp;lt;blockquote&amp;gt;hostnamectl set-hostname &amp;quot;SlimbookPC&amp;quot; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Optimizando los repositorios ===&lt;br /&gt;
Podemos configurar [[DNF]] para trabajar con optimizarlo editando el fichero:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
vi /etc/dnf/dnf.conf&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
y añadimos:&amp;lt;blockquote&amp;gt;fastestmirror=True&lt;br /&gt;
deltarpm=True&lt;br /&gt;
max_parallel_downloads=10&lt;br /&gt;
keepcache=True&lt;br /&gt;
defaultyes=True&amp;lt;/blockquote&amp;gt;Y actualizamos el equipo:&amp;lt;blockquote&amp;gt;dnf upgrade --refresh&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Añadir el repositorio de terceros rpmfusion ===&lt;br /&gt;
[https://rpmfusion.org/ rpmfusion] es un repositorio de terceros compatible con Fedora y Redhat y distribuciones basad, que permite instalar librerías y programas de código propietario como los codecs multimedia. Basta con ejecutar:&amp;lt;blockquote&amp;gt;dnf install -y &amp;lt;nowiki&amp;gt;https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm&amp;lt;/nowiki&amp;gt; -E %fedora).noarch.rpm &amp;amp;&amp;amp; dnf install -y &amp;lt;nowiki&amp;gt;https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm&amp;lt;/nowiki&amp;gt; -E %fedora).noarch.rpm &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Codecs para la reproducción multimedia ===&lt;br /&gt;
Estos comandos nos permitirán instalar todos los codecs necesarios para la reproducción de archivos multimedia tanto local como via web y aún siendo de código propietario:&amp;lt;blockquote&amp;gt;dnf install -y vlc &lt;br /&gt;
&lt;br /&gt;
dnf install -y gstreamer1-plugins-{bad-\*,good-\*,base} gstreamer1-plugin-openh264 gstreamer1-libav --exclude=gstreamer1-plugins-bad-free-devel&lt;br /&gt;
&lt;br /&gt;
dnf install -y lame\* --exclude=lame-devel&lt;br /&gt;
&lt;br /&gt;
dnf group upgrade -y --with-optional Multimedia&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Repositorio Flatpak oficial ===&lt;br /&gt;
En la versión 46 de Fedora, ya se utiliza el repositorio de [[Flatpak]] oficial, pero, en caso se puede añadir el repositorio oficial, y pongo el ejemplo de instalación de tres programas: [[Telegram]], [[Thunderbird]] y [[Chromium Browser]] .&amp;lt;blockquote&amp;gt;flatpak remote-add --if-not-exists flathub &amp;lt;nowiki&amp;gt;https://flathub.org/repo/flathub.flatpakrepo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
flatpak install -y flathub org.telegram.desktop org.mozilla.Thunderbird org.chromium.Chromium com.mattjakeman.ExtensionManager  &lt;br /&gt;
&lt;br /&gt;
flatpak update -y &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instalar fuentes de texto ===&lt;br /&gt;
Fedora ya viene con algunas fuentes de texto preinstaladas, de hecho se pueden instalar [[TTF]] manualmente, pero mendiante repostiorios podemos instalar las fuentes oficiales de Google o Mozilla con:&amp;lt;blockquote&amp;gt;dnf install -y google-roboto-* mozilla-fira-*&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Fedora&amp;diff=541</id>
		<title>Fedora</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Fedora&amp;diff=541"/>
		<updated>2025-04-18T08:28:09Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Cambiando de a una versión actualizada */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ¿Qué es Fedora Linux? ==&lt;br /&gt;
&#039;&#039;&#039;[https://fedoraproject.org/ Fedora]&#039;&#039;&#039; (AFI: /fəˈdɔrə/) es una distribución GNU/Linux para propósitos generales. Es mantenida por una comunidad internacional de ingenieros, diseñadores y usuarios. Se caracteriza por su estabilidad, pero también por estar a la vanguardia en la adopción de software libre y de código abierto. Cuenta con el patrocinio principal de Red Hat (subsidiaria de IBM desde 2019), además de otras empresas de tecnologías de la información y fabricantes de equipos de cómputo como Dell o Lenovo.&lt;br /&gt;
&lt;br /&gt;
El proyecto no solo busca incluir software libre y de código abierto, sino ser el líder en estos ámbitos tecnológicos.​​ Algo que hay que destacar es que los desarrolladores de Fedora prefieren hacer cambios en las fuentes originales en lugar de aplicar los parches específicos en su distribución, de esta forma se asegura que las actualizaciones estén disponibles para todas las variantes de GNU/Linux.​ Max Spevack en una entrevista afirmó que: &amp;quot;&#039;&#039;Hablar de Fedora es hablar del rápido progreso del software libre y de código abierto&#039;&#039;&amp;quot;​. Durante sus primeras 6 versiones se llamó &#039;&#039;Fedora Core&#039;&#039;, debido a que solo incluía los paquetes más importantes del sistema operativo.&lt;br /&gt;
&lt;br /&gt;
== Escritorio por defecto ==&lt;br /&gt;
El entorno de ventanas por defecto es [[Gnome]] aunque se pueden instalar facilmente otros como [[KDE|KDE.]]&lt;br /&gt;
&lt;br /&gt;
== Actualitzando los programas ==&lt;br /&gt;
El sistema de paquetería de Fedora, igual que CentOS y derivados, se gestiona por YUM o [[DNF]].&lt;br /&gt;
&lt;br /&gt;
El comando más utilizado para actualizar es:&amp;lt;blockquote&amp;gt;sudo dnf update&amp;lt;/blockquote&amp;gt;Esto se conectará a los [[repositorios]] y descargará los programas que tengan nueva versión, como por ejemplo los navegadores o el kernel del sistema.&lt;br /&gt;
&lt;br /&gt;
Otro gestor de programas que incluye es [[Flatpak]] y para hacer la correspondiente actualizacións ejecutaremos:&amp;lt;blockquote&amp;gt;sudo flatpak update&amp;lt;/blockquote&amp;gt;Dependiendo de lo actualizado, se recomienda el reinicio de sistema.&lt;br /&gt;
&lt;br /&gt;
== Cambiando de a una versión actualizada ==&lt;br /&gt;
Fedora actualiza sus versiones ( releases ) cada 6 meses, por lo que es uno de los sistemas con más actualizaciones anuales. Cada actualización de sistema viene acompañada de grandes cambios como [[kernel]]. entorno de escritorio, librerías...&lt;br /&gt;
&lt;br /&gt;
Para estar &amp;quot;a la última&amp;quot; podemos esperar a que el gestor de paquetes nos avise de la nueva versión y seguir los correspondientes pasos, aunque, como viene ser común, los servidores no tienen entorno gráfico y debemos hacerlo por consola. Para ello seguimos los siguientes pasos.&lt;br /&gt;
&lt;br /&gt;
Podemos seguir la documentación oficial: &lt;br /&gt;
&lt;br /&gt;
https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/&lt;br /&gt;
&lt;br /&gt;
Y abriremos una consola y ejecutamos lo siguiente, primero nos aseguramos que nuestro equipo está totalmente actualizado:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf upgrade --refresh&amp;lt;/code&amp;gt;&lt;br /&gt;
Y reiniciamos:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
Seguimos instalando el complemento para [[DNF]] que permite la actualización de sistema:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install dnf-plugin-system-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
Y descargamos los paquetes correspondientes a la distribución &#039;&#039;&#039;42&#039;&#039;&#039;:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf system-upgrade download --releasever=42&amp;lt;/code&amp;gt;&lt;br /&gt;
Y por último ejecutamos el comando que reiniciará el sistema y aplicará los cambios:&amp;lt;code&amp;gt;sudo dnf5 offline reboot&amp;lt;/code&amp;gt;El proceso puede tardar bastante dependiendo de los paquetes ya instalados y reiniciará el equipo hasta poder volver a iniciar sesión.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTA! Si durante la actualización se reinicia el servidor o hay un corte de luz, tendremos que reparar la instalación con:&#039;&#039;&#039;&lt;br /&gt;
 sudo dnf distro-sync --releasever=42 --allowerasing --setopt=protected_packages= --skip-broken&lt;br /&gt;
Una vez acabado, volvemos a reiniciar debería funcionar todo.&lt;br /&gt;
&lt;br /&gt;
Una vez ya tenemos el equipo estable realizaremos los últimos pasos de actualización y limpieza:&lt;br /&gt;
 sudo dnf5 offline clean&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install rpmconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo rpmconf -a&amp;lt;/code&amp;gt;&lt;br /&gt;
Que actualizará el administrador de paquetes. Haremos limpieza de los paquetes retirados:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install remove-retired-packages&lt;br /&gt;
 remove-retired-packages&amp;lt;/code&amp;gt;&lt;br /&gt;
Limpiaremos los paquetes insatisfechos y duplicados:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf repoquery --unsatisfied&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sudo dnf repoquery --duplicates&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Y dejamos que el sistema se encargue de eliminar los paquetes que ya no utilizan:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf autoremove&amp;lt;/code&amp;gt;&lt;br /&gt;
Reiniciamos de nuevo el equipo para comprobar el estado y tendríamos el equipo perfecto para seguir trabajando.&lt;br /&gt;
&lt;br /&gt;
NOTA – no apunto otros pasos como la limpieza de kernels antiguos porque tengo costumbre de seguir utilizándolos en caso de incompatibilidades.&lt;br /&gt;
&lt;br /&gt;
== Completando la instalación ==&lt;br /&gt;
Una vez tenemos el equipo actualizado podemos completar la instalación modificando o añadiendo repositorios, instalado programas... Todos los comando se deberan ejecutar como [[Root]]:&lt;br /&gt;
&lt;br /&gt;
=== Cambiando el nombre del equipo ===&lt;br /&gt;
Basta con el comando&amp;lt;blockquote&amp;gt;hostnamectl set-hostname &amp;quot;SlimbookPC&amp;quot; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Optimizando los repositorios ===&lt;br /&gt;
Podemos configurar [[DNF]] para trabajar con optimizarlo editando el fichero:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
vi /etc/dnf/dnf.conf&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
y añadimos:&amp;lt;blockquote&amp;gt;fastestmirror=True&lt;br /&gt;
deltarpm=True&lt;br /&gt;
max_parallel_downloads=10&lt;br /&gt;
keepcache=True&lt;br /&gt;
defaultyes=True&amp;lt;/blockquote&amp;gt;Y actualizamos el equipo:&amp;lt;blockquote&amp;gt;dnf upgrade --refresh&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Añadir el repositorio de terceros rpmfusion ===&lt;br /&gt;
[https://rpmfusion.org/ rpmfusion] es un repositorio de terceros compatible con Fedora y Redhat y distribuciones basad, que permite instalar librerías y programas de código propietario como los codecs multimedia. Basta con ejecutar:&amp;lt;blockquote&amp;gt;dnf install -y &amp;lt;nowiki&amp;gt;https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm&amp;lt;/nowiki&amp;gt; -E %fedora).noarch.rpm &amp;amp;&amp;amp; dnf install -y &amp;lt;nowiki&amp;gt;https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm&amp;lt;/nowiki&amp;gt; -E %fedora).noarch.rpm &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Codecs para la reproducción multimedia ===&lt;br /&gt;
Estos comandos nos permitirán instalar todos los codecs necesarios para la reproducción de archivos multimedia tanto local como via web y aún siendo de código propietario:&amp;lt;blockquote&amp;gt;dnf install -y vlc &lt;br /&gt;
&lt;br /&gt;
dnf install -y gstreamer1-plugins-{bad-\*,good-\*,base} gstreamer1-plugin-openh264 gstreamer1-libav --exclude=gstreamer1-plugins-bad-free-devel&lt;br /&gt;
&lt;br /&gt;
dnf install -y lame\* --exclude=lame-devel&lt;br /&gt;
&lt;br /&gt;
dnf group upgrade -y --with-optional Multimedia&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Repositorio Flatpak oficial ===&lt;br /&gt;
En la versión 46 de Fedora, ya se utiliza el repositorio de [[Flatpak]] oficial, pero, en caso se puede añadir el repositorio oficial, y pongo el ejemplo de instalación de tres programas: [[Telegram]], [[Thunderbird]] y [[Chromium Browser]] .&amp;lt;blockquote&amp;gt;flatpak remote-add --if-not-exists flathub &amp;lt;nowiki&amp;gt;https://flathub.org/repo/flathub.flatpakrepo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
flatpak install -y flathub org.telegram.desktop org.mozilla.Thunderbird org.chromium.Chromium com.mattjakeman.ExtensionManager  &lt;br /&gt;
&lt;br /&gt;
flatpak update -y &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instalar fuentes de texto ===&lt;br /&gt;
Fedora ya viene con algunas fuentes de texto preinstaladas, de hecho se pueden instalar [[TTF]] manualmente, pero mendiante repostiorios podemos instalar las fuentes oficiales de Google o Mozilla con:&amp;lt;blockquote&amp;gt;dnf install -y google-roboto-* mozilla-fira-*&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Fedora&amp;diff=540</id>
		<title>Fedora</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Fedora&amp;diff=540"/>
		<updated>2025-04-18T08:27:36Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Cambiando de a una versión actualizada */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ¿Qué es Fedora Linux? ==&lt;br /&gt;
&#039;&#039;&#039;[https://fedoraproject.org/ Fedora]&#039;&#039;&#039; (AFI: /fəˈdɔrə/) es una distribución GNU/Linux para propósitos generales. Es mantenida por una comunidad internacional de ingenieros, diseñadores y usuarios. Se caracteriza por su estabilidad, pero también por estar a la vanguardia en la adopción de software libre y de código abierto. Cuenta con el patrocinio principal de Red Hat (subsidiaria de IBM desde 2019), además de otras empresas de tecnologías de la información y fabricantes de equipos de cómputo como Dell o Lenovo.&lt;br /&gt;
&lt;br /&gt;
El proyecto no solo busca incluir software libre y de código abierto, sino ser el líder en estos ámbitos tecnológicos.​​ Algo que hay que destacar es que los desarrolladores de Fedora prefieren hacer cambios en las fuentes originales en lugar de aplicar los parches específicos en su distribución, de esta forma se asegura que las actualizaciones estén disponibles para todas las variantes de GNU/Linux.​ Max Spevack en una entrevista afirmó que: &amp;quot;&#039;&#039;Hablar de Fedora es hablar del rápido progreso del software libre y de código abierto&#039;&#039;&amp;quot;​. Durante sus primeras 6 versiones se llamó &#039;&#039;Fedora Core&#039;&#039;, debido a que solo incluía los paquetes más importantes del sistema operativo.&lt;br /&gt;
&lt;br /&gt;
== Escritorio por defecto ==&lt;br /&gt;
El entorno de ventanas por defecto es [[Gnome]] aunque se pueden instalar facilmente otros como [[KDE|KDE.]]&lt;br /&gt;
&lt;br /&gt;
== Actualitzando los programas ==&lt;br /&gt;
El sistema de paquetería de Fedora, igual que CentOS y derivados, se gestiona por YUM o [[DNF]].&lt;br /&gt;
&lt;br /&gt;
El comando más utilizado para actualizar es:&amp;lt;blockquote&amp;gt;sudo dnf update&amp;lt;/blockquote&amp;gt;Esto se conectará a los [[repositorios]] y descargará los programas que tengan nueva versión, como por ejemplo los navegadores o el kernel del sistema.&lt;br /&gt;
&lt;br /&gt;
Otro gestor de programas que incluye es [[Flatpak]] y para hacer la correspondiente actualizacións ejecutaremos:&amp;lt;blockquote&amp;gt;sudo flatpak update&amp;lt;/blockquote&amp;gt;Dependiendo de lo actualizado, se recomienda el reinicio de sistema.&lt;br /&gt;
&lt;br /&gt;
== Cambiando de a una versión actualizada ==&lt;br /&gt;
Fedora actualiza sus versiones ( releases ) cada 6 meses, por lo que es uno de los sistemas con más actualizaciones anuales. Cada actualización de sistema viene acompañada de grandes cambios como [[kernel]]. entorno de escritorio, librerías...&lt;br /&gt;
&lt;br /&gt;
Para estar &amp;quot;a la última&amp;quot; podemos esperar a que el gestor de paquetes nos avise de la nueva versión y seguir los correspondientes pasos, aunque, como viene ser común, los servidores no tienen entorno gráfico y debemos hacerlo por consola. Para ello seguimos los siguientes pasos.&lt;br /&gt;
&lt;br /&gt;
Podemos seguir la documentación oficial: &lt;br /&gt;
&lt;br /&gt;
https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/&lt;br /&gt;
&lt;br /&gt;
Y abriremos una consola y ejecutamos lo siguiente, primero nos aseguramos que nuestro equipo está totalmente actualizado:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf upgrade --refresh&amp;lt;/code&amp;gt;&lt;br /&gt;
Y reiniciamos:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
Seguimos instalando el complemento para [[DNF]] que permite la actualización de sistema:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install dnf-plugin-system-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
Y descargamos los paquetes correspondientes a la distribución &#039;&#039;&#039;42&#039;&#039;&#039;:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf system-upgrade download --releasever=42&amp;lt;/code&amp;gt;&lt;br /&gt;
Y por último ejecutamos el comando que reiniciará el sistema y aplicará los cambios:&amp;lt;code&amp;gt;sudo dnf5 offline reboot&amp;lt;/code&amp;gt;El proceso puede tardar bastante dependiendo de los paquetes ya instalados y reiniciará el equipo hasta poder volver a iniciar sesión.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTA! Si durante la actualización se reinicia el servidor o hay un corte de luz, tendremos que reparar la instalación con:&#039;&#039;&#039;&lt;br /&gt;
 sudo dnf distro-sync --releasever=42 --allowerasing --setopt=protected_packages= --skip-broken&lt;br /&gt;
Una vez ya tenemos el equipo estable realizaremos los últimos pasos de actualización y limpieza:&lt;br /&gt;
 sudo dnf5 offline clean&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install rpmconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo rpmconf -a&amp;lt;/code&amp;gt;&lt;br /&gt;
Que actualizará el administrador de paquetes. Haremos limpieza de los paquetes retirados:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install remove-retired-packages&lt;br /&gt;
 remove-retired-packages&amp;lt;/code&amp;gt;&lt;br /&gt;
Limpiaremos los paquetes insatisfechos y duplicados:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf repoquery --unsatisfied&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sudo dnf repoquery --duplicates&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Y dejamos que el sistema se encargue de eliminar los paquetes que ya no utilizan:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf autoremove&amp;lt;/code&amp;gt;&lt;br /&gt;
Reiniciamos de nuevo el equipo para comprobar el estado y tendríamos el equipo perfecto para seguir trabajando.&lt;br /&gt;
&lt;br /&gt;
NOTA – no apunto otros pasos como la limpieza de kernels antiguos porque tengo costumbre de seguir utilizándolos en caso de incompatibilidades.&lt;br /&gt;
&lt;br /&gt;
== Completando la instalación ==&lt;br /&gt;
Una vez tenemos el equipo actualizado podemos completar la instalación modificando o añadiendo repositorios, instalado programas... Todos los comando se deberan ejecutar como [[Root]]:&lt;br /&gt;
&lt;br /&gt;
=== Cambiando el nombre del equipo ===&lt;br /&gt;
Basta con el comando&amp;lt;blockquote&amp;gt;hostnamectl set-hostname &amp;quot;SlimbookPC&amp;quot; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Optimizando los repositorios ===&lt;br /&gt;
Podemos configurar [[DNF]] para trabajar con optimizarlo editando el fichero:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
vi /etc/dnf/dnf.conf&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
y añadimos:&amp;lt;blockquote&amp;gt;fastestmirror=True&lt;br /&gt;
deltarpm=True&lt;br /&gt;
max_parallel_downloads=10&lt;br /&gt;
keepcache=True&lt;br /&gt;
defaultyes=True&amp;lt;/blockquote&amp;gt;Y actualizamos el equipo:&amp;lt;blockquote&amp;gt;dnf upgrade --refresh&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Añadir el repositorio de terceros rpmfusion ===&lt;br /&gt;
[https://rpmfusion.org/ rpmfusion] es un repositorio de terceros compatible con Fedora y Redhat y distribuciones basad, que permite instalar librerías y programas de código propietario como los codecs multimedia. Basta con ejecutar:&amp;lt;blockquote&amp;gt;dnf install -y &amp;lt;nowiki&amp;gt;https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm&amp;lt;/nowiki&amp;gt; -E %fedora).noarch.rpm &amp;amp;&amp;amp; dnf install -y &amp;lt;nowiki&amp;gt;https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm&amp;lt;/nowiki&amp;gt; -E %fedora).noarch.rpm &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Codecs para la reproducción multimedia ===&lt;br /&gt;
Estos comandos nos permitirán instalar todos los codecs necesarios para la reproducción de archivos multimedia tanto local como via web y aún siendo de código propietario:&amp;lt;blockquote&amp;gt;dnf install -y vlc &lt;br /&gt;
&lt;br /&gt;
dnf install -y gstreamer1-plugins-{bad-\*,good-\*,base} gstreamer1-plugin-openh264 gstreamer1-libav --exclude=gstreamer1-plugins-bad-free-devel&lt;br /&gt;
&lt;br /&gt;
dnf install -y lame\* --exclude=lame-devel&lt;br /&gt;
&lt;br /&gt;
dnf group upgrade -y --with-optional Multimedia&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Repositorio Flatpak oficial ===&lt;br /&gt;
En la versión 46 de Fedora, ya se utiliza el repositorio de [[Flatpak]] oficial, pero, en caso se puede añadir el repositorio oficial, y pongo el ejemplo de instalación de tres programas: [[Telegram]], [[Thunderbird]] y [[Chromium Browser]] .&amp;lt;blockquote&amp;gt;flatpak remote-add --if-not-exists flathub &amp;lt;nowiki&amp;gt;https://flathub.org/repo/flathub.flatpakrepo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
flatpak install -y flathub org.telegram.desktop org.mozilla.Thunderbird org.chromium.Chromium com.mattjakeman.ExtensionManager  &lt;br /&gt;
&lt;br /&gt;
flatpak update -y &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instalar fuentes de texto ===&lt;br /&gt;
Fedora ya viene con algunas fuentes de texto preinstaladas, de hecho se pueden instalar [[TTF]] manualmente, pero mendiante repostiorios podemos instalar las fuentes oficiales de Google o Mozilla con:&amp;lt;blockquote&amp;gt;dnf install -y google-roboto-* mozilla-fira-*&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Fedora&amp;diff=539</id>
		<title>Fedora</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Fedora&amp;diff=539"/>
		<updated>2025-04-18T07:16:36Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ¿Qué es Fedora Linux? ==&lt;br /&gt;
&#039;&#039;&#039;[https://fedoraproject.org/ Fedora]&#039;&#039;&#039; (AFI: /fəˈdɔrə/) es una distribución GNU/Linux para propósitos generales. Es mantenida por una comunidad internacional de ingenieros, diseñadores y usuarios. Se caracteriza por su estabilidad, pero también por estar a la vanguardia en la adopción de software libre y de código abierto. Cuenta con el patrocinio principal de Red Hat (subsidiaria de IBM desde 2019), además de otras empresas de tecnologías de la información y fabricantes de equipos de cómputo como Dell o Lenovo.&lt;br /&gt;
&lt;br /&gt;
El proyecto no solo busca incluir software libre y de código abierto, sino ser el líder en estos ámbitos tecnológicos.​​ Algo que hay que destacar es que los desarrolladores de Fedora prefieren hacer cambios en las fuentes originales en lugar de aplicar los parches específicos en su distribución, de esta forma se asegura que las actualizaciones estén disponibles para todas las variantes de GNU/Linux.​ Max Spevack en una entrevista afirmó que: &amp;quot;&#039;&#039;Hablar de Fedora es hablar del rápido progreso del software libre y de código abierto&#039;&#039;&amp;quot;​. Durante sus primeras 6 versiones se llamó &#039;&#039;Fedora Core&#039;&#039;, debido a que solo incluía los paquetes más importantes del sistema operativo.&lt;br /&gt;
&lt;br /&gt;
== Escritorio por defecto ==&lt;br /&gt;
El entorno de ventanas por defecto es [[Gnome]] aunque se pueden instalar facilmente otros como [[KDE|KDE.]]&lt;br /&gt;
&lt;br /&gt;
== Actualitzando los programas ==&lt;br /&gt;
El sistema de paquetería de Fedora, igual que CentOS y derivados, se gestiona por YUM o [[DNF]].&lt;br /&gt;
&lt;br /&gt;
El comando más utilizado para actualizar es:&amp;lt;blockquote&amp;gt;sudo dnf update&amp;lt;/blockquote&amp;gt;Esto se conectará a los [[repositorios]] y descargará los programas que tengan nueva versión, como por ejemplo los navegadores o el kernel del sistema.&lt;br /&gt;
&lt;br /&gt;
Otro gestor de programas que incluye es [[Flatpak]] y para hacer la correspondiente actualizacións ejecutaremos:&amp;lt;blockquote&amp;gt;sudo flatpak update&amp;lt;/blockquote&amp;gt;Dependiendo de lo actualizado, se recomienda el reinicio de sistema.&lt;br /&gt;
&lt;br /&gt;
== Cambiando de a una versión actualizada ==&lt;br /&gt;
Fedora actualiza sus versiones ( releases ) cada 6 meses, por lo que es uno de los sistemas con más actualizaciones anuales. Cada actualización de sistema viene acompañada de grandes cambios como [[kernel]]. entorno de escritorio, librerías...&lt;br /&gt;
&lt;br /&gt;
Para estar &amp;quot;a la última&amp;quot; podemos esperar a que el gestor de paquetes nos avise de la nueva versión y seguir los correspondientes pasos, aunque, como viene ser común, los servidores no tienen entorno gráfico y debemos hacerlo por consola. Para ello seguimos los siguientes pasos.&lt;br /&gt;
&lt;br /&gt;
Podemos seguir la documentación oficial: &lt;br /&gt;
&lt;br /&gt;
https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/&lt;br /&gt;
&lt;br /&gt;
Y abriremos una consola y ejecutamos lo siguiente, primero nos aseguramos que nuestro equipo está totalmente actualizado:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf upgrade --refresh&amp;lt;/code&amp;gt;&lt;br /&gt;
Y reiniciamos:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
Seguimos instalando el complemento para [[DNF]] que permite la actualización de sistema:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install dnf-plugin-system-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
Y descargamos los paquetes correspondientes a la distribución &#039;&#039;&#039;42&#039;&#039;&#039;:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf system-upgrade download --releasever=42&amp;lt;/code&amp;gt;&lt;br /&gt;
Y por último ejecutamos el comando que reiniciará el sistema y aplicará los cambios:&amp;lt;code&amp;gt;sudo dnf5 offline reboot&amp;lt;/code&amp;gt;El proceso puede tardar bastante dependiendo de los paquetes ya instalados y reiniciará el equipo hasta poder volver a iniciar sesión.&lt;br /&gt;
&lt;br /&gt;
Una vez ya tenemos el equipo estable realizaremos los últimos pasos de actualización y limpieza:&lt;br /&gt;
 sudo dnf5 offline clean&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install rpmconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo rpmconf -a&amp;lt;/code&amp;gt;&lt;br /&gt;
Que actualizará el administrador de paquetes. Haremos limpieza de los paquetes retirados:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install remove-retired-packages&lt;br /&gt;
 remove-retired-packages&amp;lt;/code&amp;gt;&lt;br /&gt;
Limpiaremos los paquetes insatisfechos y duplicados:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf repoquery --unsatisfied&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sudo dnf repoquery --duplicates&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Y dejamos que el sistema se encargue de eliminar los paquetes que ya no utilizan:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf autoremove&amp;lt;/code&amp;gt;&lt;br /&gt;
Reiniciamos de nuevo el equipo para comprobar el estado y tendríamos el equipo perfecto para seguir trabajando.&lt;br /&gt;
&lt;br /&gt;
NOTA – no apunto otros pasos como la limpieza de kernels antiguos porque tengo costumbre de seguir utilizándolos en caso de incompatibilidades.&lt;br /&gt;
&lt;br /&gt;
== Completando la instalación ==&lt;br /&gt;
Una vez tenemos el equipo actualizado podemos completar la instalación modificando o añadiendo repositorios, instalado programas... Todos los comando se deberan ejecutar como [[Root]]:&lt;br /&gt;
&lt;br /&gt;
=== Cambiando el nombre del equipo ===&lt;br /&gt;
Basta con el comando&amp;lt;blockquote&amp;gt;hostnamectl set-hostname &amp;quot;SlimbookPC&amp;quot; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Optimizando los repositorios ===&lt;br /&gt;
Podemos configurar [[DNF]] para trabajar con optimizarlo editando el fichero:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
vi /etc/dnf/dnf.conf&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
y añadimos:&amp;lt;blockquote&amp;gt;fastestmirror=True&lt;br /&gt;
deltarpm=True&lt;br /&gt;
max_parallel_downloads=10&lt;br /&gt;
keepcache=True&lt;br /&gt;
defaultyes=True&amp;lt;/blockquote&amp;gt;Y actualizamos el equipo:&amp;lt;blockquote&amp;gt;dnf upgrade --refresh&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Añadir el repositorio de terceros rpmfusion ===&lt;br /&gt;
[https://rpmfusion.org/ rpmfusion] es un repositorio de terceros compatible con Fedora y Redhat y distribuciones basad, que permite instalar librerías y programas de código propietario como los codecs multimedia. Basta con ejecutar:&amp;lt;blockquote&amp;gt;dnf install -y &amp;lt;nowiki&amp;gt;https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm&amp;lt;/nowiki&amp;gt; -E %fedora).noarch.rpm &amp;amp;&amp;amp; dnf install -y &amp;lt;nowiki&amp;gt;https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm&amp;lt;/nowiki&amp;gt; -E %fedora).noarch.rpm &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Codecs para la reproducción multimedia ===&lt;br /&gt;
Estos comandos nos permitirán instalar todos los codecs necesarios para la reproducción de archivos multimedia tanto local como via web y aún siendo de código propietario:&amp;lt;blockquote&amp;gt;dnf install -y vlc &lt;br /&gt;
&lt;br /&gt;
dnf install -y gstreamer1-plugins-{bad-\*,good-\*,base} gstreamer1-plugin-openh264 gstreamer1-libav --exclude=gstreamer1-plugins-bad-free-devel&lt;br /&gt;
&lt;br /&gt;
dnf install -y lame\* --exclude=lame-devel&lt;br /&gt;
&lt;br /&gt;
dnf group upgrade -y --with-optional Multimedia&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Repositorio Flatpak oficial ===&lt;br /&gt;
En la versión 46 de Fedora, ya se utiliza el repositorio de [[Flatpak]] oficial, pero, en caso se puede añadir el repositorio oficial, y pongo el ejemplo de instalación de tres programas: [[Telegram]], [[Thunderbird]] y [[Chromium Browser]] .&amp;lt;blockquote&amp;gt;flatpak remote-add --if-not-exists flathub &amp;lt;nowiki&amp;gt;https://flathub.org/repo/flathub.flatpakrepo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
flatpak install -y flathub org.telegram.desktop org.mozilla.Thunderbird org.chromium.Chromium com.mattjakeman.ExtensionManager  &lt;br /&gt;
&lt;br /&gt;
flatpak update -y &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instalar fuentes de texto ===&lt;br /&gt;
Fedora ya viene con algunas fuentes de texto preinstaladas, de hecho se pueden instalar [[TTF]] manualmente, pero mendiante repostiorios podemos instalar las fuentes oficiales de Google o Mozilla con:&amp;lt;blockquote&amp;gt;dnf install -y google-roboto-* mozilla-fira-*&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Fedora&amp;diff=538</id>
		<title>Fedora</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Fedora&amp;diff=538"/>
		<updated>2025-04-16T07:24:39Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ¿Qué es Fedora Linux? ==&lt;br /&gt;
&#039;&#039;&#039;[https://fedoraproject.org/ Fedora]&#039;&#039;&#039; (AFI: /fəˈdɔrə/) es una distribución GNU/Linux para propósitos generales. Es mantenida por una comunidad internacional de ingenieros, diseñadores y usuarios. Se caracteriza por su estabilidad, pero también por estar a la vanguardia en la adopción de software libre y de código abierto. Cuenta con el patrocinio principal de Red Hat (subsidiaria de IBM desde 2019), además de otras empresas de tecnologías de la información y fabricantes de equipos de cómputo como Dell o Lenovo.&lt;br /&gt;
&lt;br /&gt;
El proyecto no solo busca incluir software libre y de código abierto, sino ser el líder en estos ámbitos tecnológicos.​​ Algo que hay que destacar es que los desarrolladores de Fedora prefieren hacer cambios en las fuentes originales en lugar de aplicar los parches específicos en su distribución, de esta forma se asegura que las actualizaciones estén disponibles para todas las variantes de GNU/Linux.​ Max Spevack en una entrevista afirmó que: &amp;quot;&#039;&#039;Hablar de Fedora es hablar del rápido progreso del software libre y de código abierto&#039;&#039;&amp;quot;​. Durante sus primeras 6 versiones se llamó &#039;&#039;Fedora Core&#039;&#039;, debido a que solo incluía los paquetes más importantes del sistema operativo.&lt;br /&gt;
&lt;br /&gt;
== Escritorio por defecto ==&lt;br /&gt;
El entorno de ventanas por defecto es [[Gnome]] aunque se pueden instalar facilmente otros como [[KDE|KDE.]]&lt;br /&gt;
&lt;br /&gt;
== Actualitzando los programas ==&lt;br /&gt;
El sistema de paquetería de Fedora, igual que CentOS y derivados, se gestiona por YUM o [[DNF]].&lt;br /&gt;
&lt;br /&gt;
El comando más utilizado para actualizar es:&amp;lt;blockquote&amp;gt;sudo dnf update&amp;lt;/blockquote&amp;gt;Esto se conectará a los [[repositorios]] y descargará los programas que tengan nueva versión, como por ejemplo los navegadores o el kernel del sistema.&lt;br /&gt;
&lt;br /&gt;
Otro gestor de programas que incluye es [[Flatpak]] y para hacer la correspondiente actualizacións ejecutaremos:&amp;lt;blockquote&amp;gt;sudo flatpak update&amp;lt;/blockquote&amp;gt;Dependiendo de lo actualizado, se recomienda el reinicio de sistema.&lt;br /&gt;
&lt;br /&gt;
== Cambiando de a una versión actualizada ==&lt;br /&gt;
Fedora actualiza sus versiones ( releases ) cada 6 meses, por lo que es uno de los sistemas con más actualizaciones anuales. Cada actualización de sistema viene acompañada de grandes cambios como [[kernel]]. entorno de escritorio, librerías...&lt;br /&gt;
&lt;br /&gt;
Para estar &amp;quot;a la última&amp;quot; podemos esperar a que el gestor de paquetes nos avise de la nueva versión y seguir los correspondientes pasos, aunque, como viene ser común, los servidores no tienen entorno gráfico y debemos hacerlo por consola. Para ello seguimos los siguientes pasos.&lt;br /&gt;
&lt;br /&gt;
Podemos seguir la documentación oficial: &lt;br /&gt;
&lt;br /&gt;
https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/&lt;br /&gt;
&lt;br /&gt;
Y abriremos una consola y ejecutamos lo siguiente, primero nos aseguramos que nuestro equipo está totalmente actualizado:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf upgrade --refresh&amp;lt;/code&amp;gt;&lt;br /&gt;
Y reiniciamos:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
Seguimos instalando el complemento para [[DNF]] que permite la actualización de sistema:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install dnf-plugin-system-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
Y descargamos los paquetes correspondientes a la distribución &#039;&#039;&#039;40&#039;&#039;&#039;:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf system-upgrade download --releasever=40&amp;lt;/code&amp;gt;&lt;br /&gt;
Y por último ejecutamos el comando que reiniciará el sistema y aplicará los cambios:&amp;lt;code&amp;gt;sudo dnf5 offline reboot&amp;lt;/code&amp;gt;El proceso puede tardar bastante dependiendo de los paquetes ya instalados y reiniciará el equipo hasta poder volver a iniciar sesión.&lt;br /&gt;
&lt;br /&gt;
Una vez ya tenemos el equipo estable realizaremos los últimos pasos de actualización y limpieza:&lt;br /&gt;
 sudo dnf5 offline clean&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install rpmconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo rpmconf -a&amp;lt;/code&amp;gt;&lt;br /&gt;
Que actualizará el administrador de paquetes. Haremos limpieza de los paquetes retirados:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install remove-retired-packages&lt;br /&gt;
 remove-retired-packages&amp;lt;/code&amp;gt;&lt;br /&gt;
Limpiaremos los paquetes insatisfechos y duplicados:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf repoquery --unsatisfied&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sudo dnf repoquery --duplicates&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Y dejamos que el sistema se encargue de eliminar los paquetes que ya no utilizan:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf autoremove&amp;lt;/code&amp;gt;&lt;br /&gt;
Reiniciamos de nuevo el equipo para comprobar el estado y tendríamos el equipo perfecto para seguir trabajando.&lt;br /&gt;
&lt;br /&gt;
NOTA – no apunto otros pasos como la limpieza de kernels antiguos porque tengo costumbre de seguir utilizándolos en caso de incompatibilidades.&lt;br /&gt;
&lt;br /&gt;
== Completando la instalación ==&lt;br /&gt;
Una vez tenemos el equipo actualizado podemos completar la instalación modificando o añadiendo repositorios, instalado programas... Todos los comando se deberan ejecutar como [[Root]]:&lt;br /&gt;
&lt;br /&gt;
=== Cambiando el nombre del equipo ===&lt;br /&gt;
Basta con el comando&amp;lt;blockquote&amp;gt;hostnamectl set-hostname &amp;quot;SlimbookPC&amp;quot; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Optimizando los repositorios ===&lt;br /&gt;
Podemos configurar [[DNF]] para trabajar con optimizarlo editando el fichero:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
vi /etc/dnf/dnf.conf&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
y añadimos:&amp;lt;blockquote&amp;gt;fastestmirror=True&lt;br /&gt;
deltarpm=True&lt;br /&gt;
max_parallel_downloads=10&lt;br /&gt;
keepcache=True&lt;br /&gt;
defaultyes=True&amp;lt;/blockquote&amp;gt;Y actualizamos el equipo:&amp;lt;blockquote&amp;gt;dnf upgrade --refresh&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Añadir el repositorio de terceros rpmfusion ===&lt;br /&gt;
[https://rpmfusion.org/ rpmfusion] es un repositorio de terceros compatible con Fedora y Redhat y distribuciones basad, que permite instalar librerías y programas de código propietario como los codecs multimedia. Basta con ejecutar:&amp;lt;blockquote&amp;gt;dnf install -y &amp;lt;nowiki&amp;gt;https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm&amp;lt;/nowiki&amp;gt; -E %fedora).noarch.rpm &amp;amp;&amp;amp; dnf install -y &amp;lt;nowiki&amp;gt;https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm&amp;lt;/nowiki&amp;gt; -E %fedora).noarch.rpm &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Codecs para la reproducción multimedia ===&lt;br /&gt;
Estos comandos nos permitirán instalar todos los codecs necesarios para la reproducción de archivos multimedia tanto local como via web y aún siendo de código propietario:&amp;lt;blockquote&amp;gt;dnf install -y vlc &lt;br /&gt;
&lt;br /&gt;
dnf install -y gstreamer1-plugins-{bad-\*,good-\*,base} gstreamer1-plugin-openh264 gstreamer1-libav --exclude=gstreamer1-plugins-bad-free-devel&lt;br /&gt;
&lt;br /&gt;
dnf install -y lame\* --exclude=lame-devel&lt;br /&gt;
&lt;br /&gt;
dnf group upgrade -y --with-optional Multimedia&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Repositorio Flatpak oficial ===&lt;br /&gt;
En la versión 46 de Fedora, ya se utiliza el repositorio de [[Flatpak]] oficial, pero, en caso se puede añadir el repositorio oficial, y pongo el ejemplo de instalación de tres programas: [[Telegram]], [[Thunderbird]] y [[Chromium Browser]] .&amp;lt;blockquote&amp;gt;flatpak remote-add --if-not-exists flathub &amp;lt;nowiki&amp;gt;https://flathub.org/repo/flathub.flatpakrepo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
flatpak install -y flathub org.telegram.desktop org.mozilla.Thunderbird org.chromium.Chromium com.mattjakeman.ExtensionManager  &lt;br /&gt;
&lt;br /&gt;
flatpak update -y &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instalar fuentes de texto ===&lt;br /&gt;
Fedora ya viene con algunas fuentes de texto preinstaladas, de hecho se pueden instalar [[TTF]] manualmente, pero mendiante repostiorios podemos instalar las fuentes oficiales de Google o Mozilla con:&amp;lt;blockquote&amp;gt;dnf install -y google-roboto-* mozilla-fira-*&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Apache&amp;diff=537</id>
		<title>Apache</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Apache&amp;diff=537"/>
		<updated>2025-04-08T09:57:55Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Proxy Inverso en Apache */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Esta entrada solo llega a ser un pequeño manual básico del servicio Apache, ya que explicar todo su funcionamiento llevaría a todo un libro, en este caso, aprovecharemos los servicios de WordPress y Nextcloud para explicar el caso práctico, por lo que se considera un seguimiento de las entradas anteriores.&lt;br /&gt;
&lt;br /&gt;
== Primero, ¿qué es Apache? ==&lt;br /&gt;
Su nombre se debe a que alguien quería que tuviese la connotación de algo que es firme y enérgico pero no agresivo, y la tribu Apache fue la última en rendirse al que pronto se convertiría en gobierno de Estados Unidos, y en esos momentos la preocupación de su grupo era que llegasen las empresas y «civilizasen» el paisaje que habían creado los primeros ingenieros de internet.&lt;br /&gt;
&lt;br /&gt;
El servidor Apache es desarrollado y mantenido por una comunidad de usuarios bajo la supervisión de la Apache Software Foundation dentro del proyecto HTTP Server (httpd).&lt;br /&gt;
&lt;br /&gt;
Apache presenta entre otras características altamente configurables, bases de datos de autenticación y negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración.&lt;br /&gt;
&lt;br /&gt;
Apache tiene amplia aceptación en la red: desde 1996, Apache es el servidor HTTP más usado. Jugó un papel fundamental en el desarrollo de la World Wide Web y alcanzó su máxima cuota de mercado en 2005, siendo el servidor empleado en el 70% de los sitios web en el mundo. Sin embargo, ha sufrido un descenso en su cuota de mercado en los últimos años (estadísticas históricas y de uso diario proporcionadas por Netcraft​). En 2009, se convirtió en el primer servidor web que alojó más de 100 millones de sitios web.&lt;br /&gt;
&lt;br /&gt;
La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas tan solo pueden ser aprovechadas por usuarios locales y no remotamente. Sin embargo, algunas se pueden accionar remotamente en ciertas situaciones, o explotar por los usuarios locales maliciosos en las disposiciones de recibimiento compartidas que utilizan PHP como módulo de Apache.&lt;br /&gt;
&lt;br /&gt;
== Instalando el servicio apache ==&lt;br /&gt;
En la entrada Servidor LAMP en Fedora ya expliqué cómo hacer la instalación del servicio y los directorios que genera.&lt;br /&gt;
&lt;br /&gt;
== Explicando la configuración ==&lt;br /&gt;
Como  es habitual, todo fichero de configuración se encuntra en:&lt;br /&gt;
 /etc/httpd/conf/httpd.conf&lt;br /&gt;
El archivo de configuración principal referencia a otros ficheros importantes por medio de “includes”:&lt;br /&gt;
&lt;br /&gt;
* ports.conf → define los puertos a través de los que el sevidor&lt;br /&gt;
* apache trabaja&lt;br /&gt;
* envvars → define variables de entorno fundamentales para&lt;br /&gt;
* el servidor&lt;br /&gt;
* mod-available/&#039;&#039;.conf → configuraciones de módulos disponibles sites-vailable/&#039;&#039;.conf → configuraciones de hosts virtuales&lt;br /&gt;
* conf-availble/*.conf → archivos de configuración extra&lt;br /&gt;
&lt;br /&gt;
== Directivas fundamentales de la configuración ==&lt;br /&gt;
En apache existen muchas directivas aplicables a la configuración, de las más fundamentales son:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ServerRoot&#039;&#039;&#039; – Indica el directorio raíz de los archivos de configuración.&lt;br /&gt;
* &#039;&#039;&#039;User&#039;&#039;&#039; – Determina la cuenta de usuario del proceso Apache.&lt;br /&gt;
* &#039;&#039;&#039;Group&#039;&#039;&#039; – Determina el grupo de servicio propietario de los procesos Apache.&lt;br /&gt;
* &#039;&#039;&#039;ErrorLog&#039;&#039;&#039; – Archivo de registro de errores.&lt;br /&gt;
* &#039;&#039;&#039;CustomLog&#039;&#039;&#039; – Archivo de registro de accesos.&lt;br /&gt;
* &#039;&#039;&#039;Include&#039;&#039;&#039; – Indica un archivo de configuración anexo que se integrará en el archivo apache2.conf.&lt;br /&gt;
* &#039;&#039;&#039;Listen&#039;&#039;&#039; –  Indica el puerto en el que escucha el servidor.&lt;br /&gt;
* &#039;&#039;&#039;DocumentRoot&#039;&#039;&#039; – Indica el directorio que contiene los archivos html.&lt;br /&gt;
&lt;br /&gt;
== Directivas condicionales ==&lt;br /&gt;
Se aplica si una condición se cumple:&lt;br /&gt;
 &amp;lt;IfModule mod_rewrite.c&amp;gt;&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteBase /&lt;br /&gt;
 RewriteRule ^index\.php$ - [L]&lt;br /&gt;
 RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
 RewriteCond %{REQUEST_FILENAME} !-d&lt;br /&gt;
 RewriteRule . /index.php [L]&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestionando el servicio ==&lt;br /&gt;
Una vez instalado el paquete, el servicio está configurado para iniciar en cada inicio, pero se puede iniciar o parar:&lt;br /&gt;
 sudo systemctl star/stop/restart httpd #inicia, para o reinicia el servicio&lt;br /&gt;
Se puede ejecutar el servicio con los parámetros:&lt;br /&gt;
 sudo httpd -t #valida la sintaxis de la configuración y avisa si hay errores&lt;br /&gt;
&lt;br /&gt;
 sudo httpd -k stop #para el servicio&lt;br /&gt;
&lt;br /&gt;
 sudo httpd -k start #Inicia el servicio&lt;br /&gt;
&lt;br /&gt;
== Directorio por defecto ==&lt;br /&gt;
En las distribuciones más comunes, cuando instalas el servicio web, el directorio por defecto es:&lt;br /&gt;
 /var/www/html&lt;br /&gt;
Y se puede alojar de manera sencilla el resto de contenido dentro de este directorio, mientas los atributos sean los correctos:&lt;br /&gt;
 chmod -R 775 * /var/www/html&lt;br /&gt;
 chown -R apache:apache /var/www/hmtl&lt;br /&gt;
&lt;br /&gt;
== Hosts Virtuales ==&lt;br /&gt;
Mediante esta directiva podemos albergar varios sitios distintos de diferentes configuraciones, hasta el hecho de especificar la ubicación del servidor.&lt;br /&gt;
&lt;br /&gt;
Hay dos técnicas de implementación de hosts virtuales:&lt;br /&gt;
&lt;br /&gt;
* VirtualHost por dirección IP  – El servidor dispone de varias IPs y responde de diferente forma según la interfaz a la que llegue cada petición HTTP.&lt;br /&gt;
* VirtualHost por nombre de host – existen tantos sitios virtuales como VirtualHost haya definidos. Suele ser el modo más habitual:&lt;br /&gt;
&lt;br /&gt;
Ejemplos:&lt;br /&gt;
&lt;br /&gt;
Dentro de cada Virtual Host hay varios parámetros de configuración que son importantes:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ServerName&#039;&#039;&#039; → especifica el dominio correspondiente&lt;br /&gt;
* &#039;&#039;&#039;DocumentRoot&#039;&#039;&#039; → especifica la ubicación de los archivos de dicho sitio web&lt;br /&gt;
* &#039;&#039;&#039;ServerAlias&#039;&#039;&#039; → permite especificar otros dominios redirigidos a este&lt;br /&gt;
* &#039;&#039;&#039;ServerAdmin&#039;&#039;&#039; → email del administrador del sitio, de cara a notificaciones&lt;br /&gt;
* &#039;&#039;&#039;Redirect&#039;&#039;&#039; → nos permite redirigir una url a otra dentro del servidor&lt;br /&gt;
Un ejemplo, digamos que, aparte de nuestro dominio, hemos contratado otro y queremos que cargue otra página, es decir, tengo &#039;&#039;&#039;mainkivi.info&#039;&#039;&#039; en el Virtualhost por defecto y quiero acceder a kikevilchez.com pero organizado desde mi mismo servidor, pues tengo que tener un fichero:&amp;lt;blockquote&amp;gt;sudo vi /etc/httpd/conf.d/kikevilchez.com&amp;lt;/blockquote&amp;gt;Y le podemos poner:&amp;lt;blockquote&amp;gt;&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   ServerName kikevilchez.com&lt;br /&gt;
&lt;br /&gt;
   DocumentRoot /var/www/kikevilchez.com&lt;br /&gt;
&lt;br /&gt;
DocumentIndex index.php&lt;br /&gt;
&lt;br /&gt;
ServerAdmin info@kikevilchez.com&lt;br /&gt;
&lt;br /&gt;
RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&amp;lt;/blockquote&amp;gt;Con esto, todas las peticiones a &#039;&#039;&#039;kikevilchez.com&#039;&#039;&#039; por la puerta 80 ( puerto por defecto en apache ), cargarán el contenido del directorio &#039;&#039;&#039;/var/www/kikevilchez.com&#039;&#039;&#039; y también, solo el fichero index.php.&lt;br /&gt;
&lt;br /&gt;
== Alias, contenedor y directivas ==&lt;br /&gt;
Los &#039;&#039;&#039;Alias&#039;&#039;&#039; se utiliza para especificar el nombre del directorio web a la ruta correspondiente, por ejemplo:&lt;br /&gt;
 Alias /wordpress /usr/share/wordpress&lt;br /&gt;
Con lo que en el navegador, al acceder a:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://192.168.1.241/wordpress&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
En realidad accedes al directorio del Alias.&lt;br /&gt;
&lt;br /&gt;
Podemos especificar el directorio que contiene un servicio web específico bajo:&lt;br /&gt;
 &amp;lt;Directory /ruta/directorio&amp;gt;&lt;br /&gt;
   directiva 1&lt;br /&gt;
   directiva 2&lt;br /&gt;
 &amp;lt;/Directory&amp;gt;&lt;br /&gt;
Esto ya lo entramos cuando instalamos WordPress o nextcloud:&lt;br /&gt;
&lt;br /&gt;
== Restricción de acceso ==&lt;br /&gt;
Apache permite la restricción de acceso a hosts a las diferentes áreas del servidor&lt;br /&gt;
&lt;br /&gt;
El módulo que hay que activar es &#039;&#039;&#039;access_mod&#039;&#039;&#039; o &#039;&#039;&#039;access_compat_mod&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Las directivas se especifican con reglas allow, deny, por ejemplo&lt;br /&gt;
 &amp;lt;Directory /var/www/html&amp;gt;&lt;br /&gt;
 Order Deny,Allow&lt;br /&gt;
 Deny from All&lt;br /&gt;
 Allow from 192.168.1.0/255.255.255.0&lt;br /&gt;
 &amp;lt;/Directory&amp;gt;&lt;br /&gt;
En este ejemplo se denegaría el acceso a la página web a todos los equipos que no sean de la red local 192.168.1.0/24.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=YWD-tdE3Pfg&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Acceso a un sitio web por contraseña ==&lt;br /&gt;
Mediante esta configuración podemos «bloquear» el acceso a un directorio web obligando al visitante poner un usuario y contraseña, este procedimiento&lt;br /&gt;
&lt;br /&gt;
Lo primero es ejecutar el comando &#039;&#039;&#039;htpasswd&#039;&#039;&#039; que permite crear la base de datos de cuentas y trabajar con ella, por ejemplo:&lt;br /&gt;
 sudo htpasswd -c /etc/htpasswd enrique&lt;br /&gt;
Esto crea al usuario &#039;&#039;&#039;enrique&#039;&#039;&#039; y le pide contraseña, el resultado se guarda en &#039;&#039;&#039;/etc/httpasswd.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Para  eliminar el usuario ejecutamos:&lt;br /&gt;
 sudo htpasswd -D /etc/htpasswd enrique&lt;br /&gt;
Para listarlos es muy sencillo, solo lee el fichero. Antes de continuar es necesario tener los módulos: &#039;&#039;&#039;auth_basic, authn_file y authz_user,&#039;&#039;&#039; aunque suelen venir por defecto en la instalación de las instalaciones como ya expliqué en la entrada anterior. Lo siguiente es añadir las siguientes directivas: &lt;br /&gt;
 AuthType basic &lt;br /&gt;
&lt;br /&gt;
 AuthUserFile /etc/htpasswd &lt;br /&gt;
&lt;br /&gt;
 AuthName &amp;quot;Se necesita comprobar su identidad&amp;quot; &lt;br /&gt;
&lt;br /&gt;
 Require valid-user&lt;br /&gt;
Comprobamos la configuración:&lt;br /&gt;
 sudo httpd -t&lt;br /&gt;
Y, si todo es correcto y no hay errores, podemos reiniciar el servicio.&lt;br /&gt;
 sudo systemctl restart httpd&lt;br /&gt;
Si cargamos el directorio o sitio web donde hemos aplicado las directivas, debería pedir usuario y contraseña. &lt;br /&gt;
&lt;br /&gt;
== Proxy Inverso en Apache ==&lt;br /&gt;
Solo para este tipo de configuraciones se debería dedicar una entrada entera debido a su complejidad, ya que tiene diferentes funciones esta directiva.  Solo explicaré la configuración más sencilla, en este ejemplo le diremos al servidor que las solicitudes a un directorio de un sitio web se redireccionen a otro servidor, no tiene por qué ser apache, puede ser NGINX, por ejemplo, y este servidor no tienen por qué tener un certificado &#039;&#039;&#039;SSL&#039;&#039;&#039;, ya que lo proveería nuestro servidor. Por ejemplo, en mi servidor principal tengo el servidor web con &#039;&#039;&#039;wordpress&#039;&#039;&#039;, pero me interesa quitarle peso y tener el servidor &#039;&#039;&#039;nextcloud&#039;&#039;&#039; en otro equipo, eso lo logramos con la configuración de &#039;&#039;&#039;Proxy Inverso&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
SPOILER – cuando llegue a hablar de contenedores Docker con Collabora Office u OnlyOffice, introduciremos esta configuración. Obviamente, necesitamos el módulo: &#039;&#039;&#039;mod_proxy,&#039;&#039;&#039; que también viene instalado en nuestra distribución. En la configuración del sitio, por ejemplo:&lt;br /&gt;
 sudo nano /etc/httpd/conf.d/ssl.conf &lt;br /&gt;
Deberíamos poner las directivas dentro de &amp;lt;virtualhost &amp;gt;&lt;br /&gt;
 ServerAdmin mainkivi@gmail.com&lt;br /&gt;
&lt;br /&gt;
 ServerName fedora.mainkivi.info&lt;br /&gt;
&lt;br /&gt;
 ProxyPass           /nextcloud &amp;lt;nowiki&amp;gt;https://192.168.1.241/nextcloud&amp;lt;/nowiki&amp;gt; retry=0&lt;br /&gt;
&lt;br /&gt;
 ProxyPassReverse    /nextcloud &amp;lt;nowiki&amp;gt;https://192.168.1.241/nextcloud&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Con esto, cuando llamemos al web &#039;&#039;&#039;EXISTENTE&#039;&#039;&#039; &amp;lt;nowiki&amp;gt;https://fedora.mainkivi.info/nextcloud&amp;lt;/nowiki&amp;gt;, este accederá al directorio &#039;&#039;&#039;nextcloud&#039;&#039;&#039; del equipo local con IP &#039;&#039;&#039;192.168.1.241&#039;&#039;&#039;, obviamente, esta dirección puede ser un lugar web.&lt;br /&gt;
&lt;br /&gt;
Y con esto cerraremos, por ahora, este tipo de configuraciones del servidor web. Estos pasos se explicaron en el video anterior.&lt;br /&gt;
&lt;br /&gt;
== Compartiendo en un puerto dedicado ==&lt;br /&gt;
Puede darse el caso que queramos exponer un directorio en un puerto dedicado con un certificado diferente, para eso podemos exponer una nuevo fichero de configuración, por ejemplo para [[GLPI]]:&amp;lt;blockquote&amp;gt;sudo vi /etc/httpd/conf.d/glpi.conf&amp;lt;/blockquote&amp;gt;Con el siguiente contenido:&amp;lt;blockquote&amp;gt;Listen 7443 https &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;VirtualHost *:7443&amp;gt; &lt;br /&gt;
&lt;br /&gt;
   ServerName glpi.mainkivi.info&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   DocumentRoot /var/www/glpi/public &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Alias /glpi /var/www/glpi/public &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Directory /var/www/glpi/public&amp;gt; &lt;br /&gt;
&lt;br /&gt;
   Options FollowSymLinks &lt;br /&gt;
&lt;br /&gt;
   AllowOverride All &lt;br /&gt;
&lt;br /&gt;
   Require all granted &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;IfModule mod_rewrite.c&amp;gt; &lt;br /&gt;
&lt;br /&gt;
       RewriteEngine On &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
       # Passar capçalera d&#039;autorització per autenticació externa &lt;br /&gt;
&lt;br /&gt;
       RewriteCond %{HTTP:Authorization} ^(.+)$ &lt;br /&gt;
&lt;br /&gt;
       RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
       # Redirigir tot cap a index.php si no és un fitxer real &lt;br /&gt;
&lt;br /&gt;
       RewriteCond %{REQUEST_FILENAME} !-f &lt;br /&gt;
&lt;br /&gt;
       RewriteCond %{REQUEST_FILENAME} !-d &lt;br /&gt;
&lt;br /&gt;
       RewriteRule ^(.*)$ index.php [QSA,L] &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;/IfModule&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/Directory&amp;gt; &lt;br /&gt;
&lt;br /&gt;
ErrorLog /var/log/httpd/glpi_error.log &lt;br /&gt;
&lt;br /&gt;
CustomLog /var/log/httpd/glpi_access.log combined &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SSLCertificateFile /etc/pki/tls/certs/glpi.pem &lt;br /&gt;
&lt;br /&gt;
SSLCertificateKeyFile /etc/pki/tls/private/glpi.key &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&amp;lt;/blockquote&amp;gt;Obviamente, este certificado ha de existir y se han de abrir el puerto en [[Firewall-cmd]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=536</id>
		<title>TMUX</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=TMUX&amp;diff=536"/>
		<updated>2025-04-03T07:13:52Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Tweaks i links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
[https://man.openbsd.org/OpenBSD-current/man1/tmux.1 Tmux] es un multiplexor de terminal donde se pueden crear varias sesiones de &#039;&#039;&#039;shell&#039;&#039;&#039; en tu sistema, cada una ejecutando un proceso distinto. Mantiene las tareas ejecutándose en segundo plano, aceptando que los usuarios continúen su trabajo luego.&lt;br /&gt;
&lt;br /&gt;
Tmux permite crear múltiples sesiones de terminal para una colaboración eficiente. Para mejorar tu flujo de trabajo, también puedes modificar la configuración mediante el archivo tmux.conf.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
Como la mayoría de programas básicos, este lo encontramos en los repositorios. &lt;br /&gt;
&lt;br /&gt;
Para &#039;&#039;&#039;Fedora&#039;&#039;&#039; o distribuciones basadas en &#039;&#039;&#039;RHEL&#039;&#039;&#039; se puede ejecutar:&amp;lt;blockquote&amp;gt;sudo dnf install tmux&amp;lt;/blockquote&amp;gt;O &#039;&#039;&#039;Ubuntu&#039;&#039;&#039; y distribuciones basadas en Debian:&amp;lt;blockquote&amp;gt;sudo apt install tmux&amp;lt;/blockquote&amp;gt;Una vez instalado solo es necesario invocarlo con:&amp;lt;blockquote&amp;gt;tmux&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comandos y atajos ==&lt;br /&gt;
Los atajos de teclado de tmux son esenciales para la gestión de ventanas y paneles. Aquí tienes algunas de las combinaciones de teclas más útiles y sus funciones:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + d:&#039;&#039;&#039; salir de la sesión actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + %:&#039;&#039;&#039; dividir una ventana en paneles superior e inferior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + “:&#039;&#039;&#039; dividir una ventana en dos paneles verticalmente.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + flecha:&#039;&#039;&#039; mover a un panel diferente en una dirección.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + x:&#039;&#039;&#039; cerrar el panel actual.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + c:&#039;&#039;&#039; crear una nueva ventana.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + n:&#039;&#039;&#039; pasar a la siguiente ventana según el número.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + p:&#039;&#039;&#039; volver a la ventana anterior.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + número ID&#039;&#039;&#039;: saltar a una ventana concreta utilizando el número ID.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039;  abrir el modo línea de comandos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + ?:&#039;&#039;&#039; mostrar todos los atajos.&lt;br /&gt;
* &#039;&#039;&#039;Ctrl-b + w:&#039;&#039;&#039; lista todas las ventanas de la sesión actual.&lt;br /&gt;
&lt;br /&gt;
Ten en cuenta que los atajos tmux sólo funcionan dentro de una sesión tmux. Además, para que las combinaciones de teclas funcionen, tendrás que pulsar &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; antes de la tecla que quieras utilizar, como se muestra arriba.&lt;br /&gt;
&lt;br /&gt;
NOTA - Si ya tenemos instalado [[byobu]] los atajos predeterminados son los suyos.&lt;br /&gt;
&lt;br /&gt;
== Sesiones ==&lt;br /&gt;
Para iniciar tmux y crear tu primera sesión, ejecuta uno de los siguientes comandos en tu ventana principal de terminal:&amp;lt;blockquote&amp;gt;tmux&lt;br /&gt;
&lt;br /&gt;
tmux new&lt;br /&gt;
&lt;br /&gt;
tmux new-session&amp;lt;/blockquote&amp;gt;Ten en cuenta que debes ejecutar estos comandos en la ventana principal del terminal. Aunque puedes crear una nueva dentro de una sesión existente, no es recomendable y requiere desactivar la variable de entorno &#039;&#039;&#039;$TMUX&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, una nueva sesión tmux utilizará un número ID para identificarse. Sin embargo, puedes darle un nombre personalizado utilizando la opción &#039;&#039;&#039;-s&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;tmux new-session -s [nombre]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Separar y unir sesiones ==&lt;br /&gt;
Después de crear una nueva sesión, se te adjuntará automáticamente a ella. Para desvincularte y abandonar el cliente tmux, pulsa &#039;&#039;&#039;Ctrl-b + d.&#039;&#039;&#039; Para volver a vincularte a la sesión más reciente, utiliza el comando &#039;&#039;&#039;tmux attach-session&#039;&#039;&#039;. También puedes volver a entrar en un shell específico introduciendo:&amp;lt;blockquote&amp;gt;tmux attach-session -t [sesión-nombre]&amp;lt;/blockquote&amp;gt;Alternativamente, vuelve a conectarte a una sesión de destino concreta utilizando su número de &#039;&#039;&#039;ID&#039;&#039;&#039;. Como tmux inicia el orden desde 0 por defecto, introduce lo siguiente para acceder al primer intérprete de órdenes:&amp;lt;blockquote&amp;gt;tmux attach-session -t 0&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestionar sesiones ==&lt;br /&gt;
Para listar todas las sesiones activas, ejecuta cualquiera de los siguientes comandos tmux. Puedes hacerlo dentro del shell principal o virtual:&amp;lt;blockquote&amp;gt;tmux list-sessions&lt;br /&gt;
&lt;br /&gt;
tmux ls&amp;lt;/blockquote&amp;gt;Tu interfaz de línea de comandos mostrará todas las sesiones con detalles como su nombre, ID, número de ventanas y fecha de creación. También verás a cuál estás conectado actualmente.&lt;br /&gt;
&lt;br /&gt;
Si estás en una sesión de terminal virtual, puedes cambiar a otra utilizando el siguiente comando. Al igual que para volver a conectarte, utiliza el nombre o el número de ID:&amp;lt;blockquote&amp;gt;tmux switch -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;Para terminar la sesión actual, introduce &#039;&#039;&#039;exit&#039;&#039;&#039; o pulsa &#039;&#039;&#039;Ctrl-d&#039;&#039;&#039;. Mientras tanto, ejecuta este comando si quieres cerrar una en concreto:&amp;lt;blockquote&amp;gt;tmux kill-session -t [nombre-o-id-de-sesión]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Crear y navegar por las ventanas ==&lt;br /&gt;
Por defecto, tu nueva sesión tmux será una única ventana de terminal. Para dividirla en dos, pulsa &#039;&#039;&#039;Ctrl-b + c&#039;&#039;&#039;. La nueva ventana aparecerá en la barra de estado inferior con su nombre y número de identificación.&lt;br /&gt;
&lt;br /&gt;
Tu ventana tmux actual está marcada con un asterisco (&#039;&#039;&#039;*&#039;&#039;&#039;). Puedes pasar a la siguiente ventana pulsando &#039;&#039;&#039;Ctrl-b + n&#039;&#039;&#039; o volver a la anterior utilizando &#039;&#039;&#039;Ctrl-b + p&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
En lugar de alternar entre varias ventanas del terminal, puedes saltar directamente a una concreta pulsando Ctrl-b &#039;&#039;&#039;+ ID numérico&#039;&#039;&#039;. Por ejemplo, pulsa &#039;&#039;&#039;Ctrl-b + 0&#039;&#039;&#039; para volver a la primera ventana.&lt;br /&gt;
&lt;br /&gt;
== Renombrar y organizar ventanas ==&lt;br /&gt;
Por defecto, tmux creará una nueva ventana llamada &#039;&#039;&#039;bash&#039;&#039;&#039; o &#039;&#039;&#039;sh&#039;&#039;&#039;. Si tienes muchos procesos, distinguir entre ellos puede ser difícil, complicando la gestión de tareas.&lt;br /&gt;
&lt;br /&gt;
Asigna a las nuevas ventanas tmux un nombre personalizado para facilitar su identificación. Para ello, navega hasta la que quieras renombrar y pulsa &#039;&#039;&#039;Ctrl-b + :&#039;&#039;&#039; para entrar en el modo de comandos de tmux. A continuación, ejecuta lo siguiente:&amp;lt;blockquote&amp;gt;rename-window nombre-ventana&amp;lt;/blockquote&amp;gt;Sustituye &#039;&#039;&#039;nombre-ventana&#039;&#039;&#039; por el nombre que desees. Deberías ver cómo cambia la información de la nueva ventana en la barra de estado inferior de la sesión.&lt;br /&gt;
&lt;br /&gt;
== Dividir ventanas en paneles ==&lt;br /&gt;
Para organizar una tarea más específica, divide una ventana en varios paneles. Pulsa &#039;&#039;&#039;Ctrl-b + ”&#039;&#039;&#039; para dividirla horizontalmente o verticalmente utilizando &#039;&#039;&#039;Ctrl-b + %&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Puedes repetir los atajos de división de ventanas para dividir aún más los paneles en áreas de trabajo más pequeñas. &lt;br /&gt;
&lt;br /&gt;
== Navegar y cambiar el tamaño de los paneles ==&lt;br /&gt;
Para navegar entre los paneles, pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; una &#039;&#039;&#039;tecla de flecha&#039;&#039;&#039; según la dirección que prefieras. Tu posición actual se resalta con un borde verde.&lt;br /&gt;
&lt;br /&gt;
También puedes pasar al panel siguiente pulsando &#039;&#039;&#039;Ctrl-b + o&#039;&#039;&#039;, o volver al anterior utilizando el atajo de teclado &#039;&#039;&#039;Ctrl-b + ;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, al dividir una ventana se crearán dos paneles con tamaños idénticos. Para cambiar la dimensión, pulsa &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; y mantén pulsado &#039;&#039;&#039;Alt&#039;&#039;&#039; y el botón de &#039;&#039;&#039;flecha&#039;&#039;&#039; según la dirección para cambiar el tamaño.&lt;br /&gt;
&lt;br /&gt;
Pulsa &#039;&#039;&#039;arriba&#039;&#039;&#039; y &#039;&#039;&#039;abajo&#039;&#039;&#039; para cambiar la altura. Mientras tanto, utiliza la tecla de flecha &#039;&#039;&#039;derecha&#039;&#039;&#039; o &#039;&#039;&#039;izquierda&#039;&#039;&#039; para ajustar la anchura.&lt;br /&gt;
&lt;br /&gt;
== Cerrar paneles ==&lt;br /&gt;
Para cerrar un panel, navega hasta el que quieras cerrar y pulsa &#039;&#039;&#039;Ctrl-b +&#039;&#039;&#039; &amp;amp;. Sin embargo, recomendamos evitar este método, ya que la falta de un mensaje de confirmación lo hace propenso al borrado accidental.&lt;br /&gt;
&lt;br /&gt;
En su lugar, pulsa &#039;&#039;&#039;Ctrl-b + x&#039;&#039;&#039; para cerrar un panel de forma segura. Esto mostrará una ventana de verificación, que deberás confirmar pulsando &#039;&#039;&#039;Y,&#039;&#039;&#039; y pulsando &#039;&#039;&#039;Intro&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Terminar los paneles no afectará a las tareas de otras sesiones. Además, recuerda que este proceso es irreversible.&lt;br /&gt;
&lt;br /&gt;
== Personalizar tmux ==&lt;br /&gt;
Tmux te permite crear un archivo de configuración al que puedes añadir código, personalizando su aspecto y comportamiento. Según el ámbito, puede ser &#039;&#039;&#039;local&#039;&#039;&#039; o &#039;&#039;&#039;global.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
El archivo &#039;&#039;&#039;local&#039;&#039;&#039; se aplica a un usuario concreto y se encuentra en el directorio bash por defecto de la cuenta. Ejecuta lo siguiente para crearlo:&amp;lt;blockquote&amp;gt;sudo touch ~/.tmux.conf&amp;lt;/blockquote&amp;gt;Mientras tanto, la configuración &#039;&#039;&#039;global&#039;&#039;&#039; se aplica a todo el sistema y se encuentra en el directorio &#039;&#039;&#039;/etc&#039;&#039;&#039;. A continuación te explicamos cómo hacer una:&amp;lt;blockquote&amp;gt;sudo touch /etc/tmux.conf&amp;lt;/blockquote&amp;gt;Un ejemplo de configuración que he leído es:  &lt;br /&gt;
&lt;br /&gt;
https://www.hostinger.es/tutoriales/tmux-config&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, el siguiente fragmento cambiará las combinaciones de teclas prefijadas por defecto de &#039;&#039;&#039;Ctrl-b&#039;&#039;&#039; a &#039;&#039;&#039;Ctrl -a&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Change prefix from &#039;Ctrl+B&#039; to &#039;Ctrl+A&#039;&lt;br /&gt;
&lt;br /&gt;
unbind C-b&lt;br /&gt;
&lt;br /&gt;
set-option -g prefix C-a&lt;br /&gt;
&lt;br /&gt;
bind-key C-a send-prefix&amp;lt;/blockquote&amp;gt;Además, puedes modificar el número de ID inicial. Por ejemplo, el siguiente código de configuración de tmux lo cambia de &#039;&#039;&#039;0&#039;&#039;&#039; a &#039;&#039;&#039;1&#039;&#039;&#039;:&amp;lt;blockquote&amp;gt;# Start counting pane and window number at 1&lt;br /&gt;
&lt;br /&gt;
set -g base-index 1&lt;br /&gt;
&lt;br /&gt;
setw -g pane-base-index 1&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tweaks i links ==&lt;br /&gt;
Podem aplicar configuracions predeterminades, per exemple, podem editar el nostre fitxer de comandes de perfil, per exemple .bashrc o .zshrc i afegir al final:&amp;lt;blockquote&amp;gt;alias tmuxAll=&amp;quot;tmux new-session \; split-window -h \; split-window -v \; attach&amp;quot;&lt;br /&gt;
alias tmuxClose=&amp;quot;tmux kill-ses -t 0&amp;quot;&amp;lt;/blockquote&amp;gt;Tanquem sessió i tornem a obrir i podem executar:&amp;lt;blockquote&amp;gt;tmuxAll&amp;lt;/blockquote&amp;gt;i automàticament es dividiria en dues finestres verticals i la finestra de la dreta es dividirà en dues horitzontals.&lt;br /&gt;
&lt;br /&gt;
Executant:&amp;lt;blockquote&amp;gt;tmuxClose&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es tancaran. &lt;br /&gt;
&lt;br /&gt;
Aquestes i altres dreceres i configuracions les podeu trobar en:&lt;br /&gt;
&lt;br /&gt;
https://tmuxcheatsheet.com/&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=KDE&amp;diff=535</id>
		<title>KDE</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=KDE&amp;diff=535"/>
		<updated>2025-03-30T14:58:54Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Personalizando el escritorio KDE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== ¿Qué es KDE? ==&lt;br /&gt;
KDE es un entorno de escritorio de &#039;&#039;&#039;Linux&#039;&#039;&#039; diseñado en librerías Qt, creado en 1996 con la intención de crear un entorno unificado para Linux que fuese «molón», de ahí la «K» de «cool», de hecho, la mayoría de programas suelen empezar o contener una «K», por ejemplo «Kmail», «Kontac», «Kompozer»…&lt;br /&gt;
&lt;br /&gt;
El entorno de escritorio de KDE no se comporta de un modo predefinido, sino que permite al usuario adecuar el sistema a su gusto y comodidad. Esto no impide que el mismo resulte fácil de usar para nuevos usuarios, detalle al que se le da mucha importancia.&lt;br /&gt;
&lt;br /&gt;
A partir del año 2015 se publicó KDE5 también conocido como «Plasma» caracterizado por su libertad y facilidad de personalización.&lt;br /&gt;
&lt;br /&gt;
La distribución oficial de &#039;&#039;&#039;KDE&#039;&#039;&#039; es KDE Neon, una distribución basada en Ubuntu con las últimas actualizaciones y novedades y disponible su instalación con un escritorio «&#039;&#039;on the box&#039;&#039;«, es decir, sin añadidos de programas o capas de personalización.&lt;br /&gt;
&lt;br /&gt;
Obviamente, el resto de distribuciones también pueden disponer de este Entorno de Escritorio, solamente hace falta instalarlo por separado. Por ejemplo, como viene siendo habitual en este blog, en Fedora, la instalación se hace por grupo mediante consola con DNF.&lt;br /&gt;
 sudo dnf group install kde-desktop-environment&lt;br /&gt;
Con esto, se instalará la versión de programas KDE en el sistema con las versiones de programas más populares. Es importante recordar que, en la mayoría de distribuciones, las versiones de los programas son las que están revisadas y comprobada su estabilidad en sus sistemas, es por eso que la versión de KDE, por ejemplo, no es la última liberada, pero si la más estable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=mFItfi1y35E&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cambio de Administrador de Display ==&lt;br /&gt;
El Administrador de Display o DM es el encargado de preguntar por el usuario de inicio de sesión y su gestor de escritorio, por ejemplo, inicio sesión usuario &amp;quot;alumno&amp;quot; y escritorio &amp;quot;Plasma&amp;quot; para KDM o Mate.&lt;br /&gt;
&lt;br /&gt;
En el caso de escritorio Plasma, el administrador es SDDM:&amp;lt;blockquote&amp;gt;sudo systemctl enable --force sddm.service&amp;lt;/blockquote&amp;gt;Automáticamente se desactiva el anterior administrador y, la próxima vez que inicie el sistema, lo hará con SDDM.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Personalizando el escritorio KDE ==&lt;br /&gt;
KDE es un escritorio que, sobre todo, se caracteriza por su personalización.&lt;br /&gt;
La manera de organizar su entorno es mediante «Elementos gráficos», de hecho, el mismo panel está compuesto por elementos gráficos. Estos elementos se pueden poner en cualquier punto del escritorio sin ninguna dificultad, solo  hay que hacer botón derecho del ratón sobre el escritorio o la barra y «Añadir elementos gráficos…» y seleccionar el que deseemos y, si no está disponible, también se puede descargar de internet directamente.&lt;br /&gt;
&lt;br /&gt;
Igualmente, podemos añadir temas de colores, plasma y colores desde el repositorio de KDE y desde consola con los paquetes DNF.&lt;br /&gt;
 sudo dnf search kde theme&lt;br /&gt;
Por ejemplo:&lt;br /&gt;
 sudo dnf install arc-kde arc-kde-kvantum&lt;br /&gt;
Con lo que instalará el tema de colores de plasma y ventanas llamado «arc». Que por cierto, es necesario el administrador de ventanas Kvantum:&lt;br /&gt;
 sudo dnf install kvantum&lt;br /&gt;
Para añadir iconos podemos buscar:&lt;br /&gt;
 sudo dnf search icon theme&lt;br /&gt;
Yo recomiendo:&lt;br /&gt;
 sudo dnf install papirus-icon-theme&lt;br /&gt;
Igualmente, podemos añadir fuentes tipográficas, es decir, el estilo de texto de las ventanas. En este ejemplo añadimos el tipo de fuente de Google y Android:&lt;br /&gt;
 sudo dnf install google-roboto-fonts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=9f2FhczBunc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Opcionales y extras ==&lt;br /&gt;
&lt;br /&gt;
=== Desinstalar [[Gnome]] y así hacer el traslado al 100% ===&lt;br /&gt;
Para eso tenemos que hacer el cambio en [[Dnf]] con:&amp;lt;blockquote&amp;gt;sudo &#039;&#039;&#039;dnf&#039;&#039;&#039; swap fedora-release-identity-workstation.noarch fedora-release-identity-kde.noarch&amp;lt;/blockquote&amp;gt;Y por último desinstalar todo lo relacionado Gnome:&amp;lt;blockquote&amp;gt;sudo &#039;&#039;&#039;dnf&#039;&#039;&#039; remove gnome-\*&amp;lt;/blockquote&amp;gt;Y por último cambiamos al selector de usuarios de [[GDM]] a [[SDDM]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;sudo dnf install sddm&lt;br /&gt;
&lt;br /&gt;
sudo systemctl disable gdm&lt;br /&gt;
&lt;br /&gt;
sudo systemctl enable sddm&amp;lt;/blockquote&amp;gt;Por último se recomienda reiniciar.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Nextcloud&amp;diff=534</id>
		<title>Nextcloud</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Nextcloud&amp;diff=534"/>
		<updated>2025-03-24T11:01:08Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Nextcloud Office */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://nextcloud.com Nextcloud] se puede resumir a como una alternativa a otros servicios de almacenamiento y edición en la nube, como puede ser Google Drive, OneDrive, Dropbox… Pero su principal característica es que es gratuito y de código abierto y puedes descargarlo e instalarlo en tu propio servidor, así acceder a tu propio «disco» desde cualquier punto del mundo con solo el navegador o la aplicación de sincronización de escritorio o teléfono y muchas opciones más.&lt;br /&gt;
&lt;br /&gt;
Nextcloud es una bifurcación de OwnCloud, es decir, parte del grupo de programadores que quisieron hacer su propia versión del servicio  pero con más añadidos.&lt;br /&gt;
&lt;br /&gt;
= Instalación desde los repositorios de Fedora =&lt;br /&gt;
Siguiendo la instalación de servicios en Fedora, podemos instalar el programa desde repositorios oficiales.&lt;br /&gt;
 sudo dnf install nextcloud&lt;br /&gt;
Esto ya genera los directorios de servicio en /usr/share y los de configuración en /etc, por ejemplo, el fichero de configuración de Apache.&lt;br /&gt;
&lt;br /&gt;
El siguiente paso es crear la base de dato, primero accedemos a mysql:&lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
y creamos la base de datos como en la entrada anterior:&lt;br /&gt;
 CREATE DATABASE IF NOT EXISTS nextcloud;&lt;br /&gt;
Y, si no queremos crear otro usuario, podemos aprovechar el mismo que la entrada anterior:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON nextcloud.* TO &#039;admin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;F3d0r4-01&#039;;&lt;br /&gt;
&lt;br /&gt;
 FLUSH PRIVILEGES;&lt;br /&gt;
Ahora que ya tenemos la base de datos, vamos a realizar la instalación de nextcloud, en este caso, este, tiene un instalador por PHP que nos va de perlas y que utilizáramos para la mayoría de las operaciones:&lt;br /&gt;
 cd /usr/share/nextcloud&lt;br /&gt;
&lt;br /&gt;
 sudo -u apache php occ maintenance:install --data-dir /var/lib/nextcloud/data/ --database &amp;quot;mysql&amp;quot; --database-name &amp;quot;nextcloud&amp;quot; --database-user &amp;quot;admin&amp;quot; --database-pass &amp;quot;F3d0r4-01&amp;quot; --admin-user &amp;quot;admin&amp;quot; --admin-pass &amp;quot;F3d0r4-01&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ln -s /etc/httpd/conf.d/nextcloud-access.conf.avail /etc/httpd/conf.d/z-nextcloud-access.conf&lt;br /&gt;
Con esto haremos le indicamos el directorio donde se ubicaran los datos, el tipo de servidor de base de datos, el nombre de la base de datos que hemos indicado anteriormente, junto con el usuario y contraseña y, por último, el usuario y contraseña de administración del sitio que, por defecto, pongo el mismo que la base de datos para hacerlo más fácil.&lt;br /&gt;
&lt;br /&gt;
También tenemos que permitir que el sitio sea accesible desde fuera del equipo local editando :&lt;br /&gt;
 sudo nano /etc/httpd/conf.d/nextcloud-auth-local.inc&lt;br /&gt;
Y toca cambiar el «Require» para permitir todo el acceso que no sea local:&lt;br /&gt;
&lt;br /&gt;
Cerramos el editor guardando los cambios y reiniciamos el servicio:&lt;br /&gt;
 sudo systemctl restart httpd&lt;br /&gt;
De hecho ya podemos hacer la prueba accediendo al navegador:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://192.168.1.241/nextcloud&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hecho esto ya podemos acceder a la interficie web, pero queda añadir otro apunte en seguridad y es el dominio de confianza, ya que, por seguridad, limita el acceso a redes desconocidas. Sin salir del directorio de instalación escribimos:&lt;br /&gt;
&lt;br /&gt;
Nextcloud se puede resumir a como una alternativa a otros servicios de almacenamiento y edición en la nube, como puede ser Google Drive, OneDrive, Dropbox… Pero su principal característica es que es gratuito y de código abierto y puedes descargarlo e instalarlo en tu propio servidor, así acceder a tu propio «disco» desde cualquier punto del mundo con solo el navegador o la aplicación de sincronización de escritorio o teléfono y muchas opciones más.&lt;br /&gt;
&lt;br /&gt;
Nextcloud es una bifurcación de OwnCloud, es decir, parte del grupo de programadores que quisieron hacer su propia versión del servicio  pero con más añadidos.&lt;br /&gt;
&lt;br /&gt;
Siguiendo la instalación de servicios en Fedora, podemos instalar el programa desde repositorios oficiales.&lt;br /&gt;
 sudo dnf install nextcloud&lt;br /&gt;
Esto ya genera los directorios de servicio en /usr/share y los de configuración en /etc, por ejemplo, el fichero de configuración de Apache.&lt;br /&gt;
&lt;br /&gt;
El siguiente paso es crear la base de dato, primero accedemos a mysql:&lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
y creamos la base de datos como en la entrada anterior:&lt;br /&gt;
 CREATE DATABASE IF NOT EXISTS nextcloud;&lt;br /&gt;
Y, si no queremos crear otro usuario, podemos aprovechar el mismo que la entrada anterior:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON nextcloud.* TO &#039;admin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;F3d0r4-01&#039;;&lt;br /&gt;
&lt;br /&gt;
 FLUSH PRIVILEGES;&lt;br /&gt;
Ahora que ya tenemos la base de datos, vamos a realizar la instalación de nextcloud, en este caso, este, tiene un instalador por PHP que nos va de perlas y que utilizáramos para la mayoría de las operaciones:&lt;br /&gt;
 cd /usr/share/nextcloud&lt;br /&gt;
&lt;br /&gt;
 sudo -u apache php occ maintenance:install --data-dir /var/lib/nextcloud/data/ --database &amp;quot;mysql&amp;quot; --database-name &amp;quot;nextcloud&amp;quot; --database-user &amp;quot;admin&amp;quot; --database-pass &amp;quot;F3d0r4-01&amp;quot; --admin-user &amp;quot;admin&amp;quot; --admin-pass &amp;quot;F3d0r4-01&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ln -s /etc/httpd/conf.d/nextcloud-access.conf.avail /etc/httpd/conf.d/z-nextcloud-access.conf&lt;br /&gt;
Con esto haremos le indicamos el directorio donde se ubicaran los datos, el tipo de servidor de base de datos, el nombre de la base de datos que hemos indicado anteriormente, junto con el usuario y contraseña y, por último, el usuario y contraseña de administración del sitio que, por defecto, pongo el mismo que la base de datos para hacerlo más fácil.&lt;br /&gt;
&lt;br /&gt;
También tenemos que permitir que el sitio sea accesible desde fuera del equipo local editando :&lt;br /&gt;
 sudo nano /etc/httpd/conf.d/nextcloud-auth-local.inc&lt;br /&gt;
Y toca cambiar el «Require» para permitir todo el acceso que [https://nextcloud.com Nextcloud]no sea local:&lt;br /&gt;
&lt;br /&gt;
Cerramos el editor guardando los cambios y reiniciamos el servicio:&lt;br /&gt;
 sudo systemctl restart httpd&lt;br /&gt;
De hecho ya podemos hacer la prueba accediendo al navegador:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://192.168.1.241/nextcloud&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hecho esto ya podemos acceder a la interficie web, pero queda añadir otro apunte en seguridad y es el dominio de confianza, ya que, por seguridad, limita el acceso a redes desconocidas. Sin salir del directorio de instalación escribimos:&lt;br /&gt;
 sudo -u apache php occ config:system:get trusted_domains&lt;br /&gt;
Así vemos la lista de dominios de confianza, para añadir nuevos, añadir POR ORDEN, la IP o el nombre de acceso:&lt;br /&gt;
 sudo -u apache php occ config:system:set trusted_domains 1 --value=&amp;quot;192.168.1.241&amp;quot;&lt;br /&gt;
Resumen de directorios en el servidor:&lt;br /&gt;
&lt;br /&gt;
* /usr/share/nextcloud – directorio de instalación&lt;br /&gt;
* /etc/nextcloud – directorio donde se ubica la configuración&lt;br /&gt;
* /etc/httpd/conf.d/ – directorio del servidor apache donde se ubican las configuraciones del servidor web&lt;br /&gt;
* /var/lib/nextcloud/data – directorio donde se ubicará el contenido de los usuarios&lt;br /&gt;
&lt;br /&gt;
Video explicativo&lt;br /&gt;
 sudo -u apache php occ config:system:get trusted_domains&lt;br /&gt;
Así vemos la lista de dominios de confianza, para añadir nuevos, añadir POR ORDEN, la IP o el nombre de acceso:&lt;br /&gt;
 sudo -u apache php occ config:system:set trusted_domains 1 --value=&amp;quot;192.168.1.241&amp;quot;&lt;br /&gt;
Resumen de directorios en el servidor:&lt;br /&gt;
&lt;br /&gt;
* /usr/share/nextcloud – directorio de instalación&lt;br /&gt;
* /etc/nextcloud – directorio donde se ubica la configuración&lt;br /&gt;
* /etc/httpd/conf.d/ – directorio del servidor apache donde se ubican las configuraciones del servidor web&lt;br /&gt;
* /var/lib/nextcloud/data – directorio donde se ubicará el conte[https://nextcloud.com Nextcloud]nido de los usuarios&lt;br /&gt;
&lt;br /&gt;
Video explicativo&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=QFoZIdsOLkM&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Instalación manual oficial =&lt;br /&gt;
&lt;br /&gt;
Varias razones nos pueden llevar a esta decisión: puede que no os agrade la instalación de repositorios, queremos tener una instalación actualizada, hay un problema con los repositorios o incompatibilidad o simplemente, hemos cambiado de distribución o hacemos una instalación limpia.&lt;br /&gt;
&lt;br /&gt;
Obviamente, la instalación es un poco más costosa, pero intentaremos resumirla y hacerla lo más sencilla posible.&lt;br /&gt;
&lt;br /&gt;
En este caso la configuración será similar a la de repositorio, vamos a tener un directorio ( /var/www/nextcloud ) y una configuración apache ( &amp;lt;nowiki&amp;gt;https://192.168.100.241/nextcloud&amp;lt;/nowiki&amp;gt; ) y aquí se alojará nuestro disco en la nube.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANTE&#039;&#039;&#039; – antes de hacer la instalación, para evitar conflictos, si ya hicimos la instalación por repositorio, tenemos que desinstalarla.&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf remove nextcloud&amp;lt;/code&amp;gt;&lt;br /&gt;
Por seguridad, el mismo sistema guarda los ficheros de configuración cambiando la extensión y, al no borrar la base de datos, conservaremos los usuarios, contraseñas, grupos….&lt;br /&gt;
&lt;br /&gt;
Ahora, hagamos la instalación, primero preparamos las dependencias (en el caso de ser una instalación nueva, también instalamos el servicio web y base de datos):&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install @&amp;quot;Web Server&amp;quot; mariadb-server php-mysqlnd phpunit composer php-opcache php-pecl-imagick&amp;lt;/code&amp;gt;&lt;br /&gt;
Recordemos la instalación del servidor LAMP para configurar Apache y MariaDB. Y la creación de la base de datos en la siguiente entrada.&lt;br /&gt;
&lt;br /&gt;
Descarga y extrae Nextcloud en el directorio &#039;&#039;/var/www&#039;&#039;:&lt;br /&gt;
 &amp;lt;code&amp;gt;cd /var/www&lt;br /&gt;
 sudo wget &amp;lt;nowiki&amp;gt;https://download.nextcloud.com/server/releases/latest.tar.bz2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 sudo tar -xvjf latest.tar.bz2&amp;lt;/code&amp;gt;&lt;br /&gt;
Creamos el directorio para los datos:&lt;br /&gt;
 &amp;lt;code&amp;gt;mkdir -p /var/www/nextcloud/data&amp;lt;/code&amp;gt;&lt;br /&gt;
Si tenemos activado el SELinux ( ya lo explicaré), debemos darle contexto al directorio y sus archivos:&lt;br /&gt;
 &amp;lt;code&amp;gt;semanage fcontext -a -t httpd_sys_rw_content_t &#039;/var/www/nextcloud/data(/.*)?&#039;&lt;br /&gt;
 semanage fcontext -a -t httpd_sys_rw_content_t &#039;/var/www/nextcloud/config(/.*)?&#039;&lt;br /&gt;
 semanage fcontext -a -t httpd_sys_rw_content_t &#039;/var/www/nextcloud/apps(/.*)?&#039;&lt;br /&gt;
 semanage fcontext -a -t httpd_sys_rw_content_t &#039;/var/www/nextcloud/data(/.*)?&#039;&lt;br /&gt;
 semanage fcontext -a -t httpd_sys_rw_content_t &#039;/var/www/nextcloud/.htaccess&#039;&lt;br /&gt;
 semanage fcontext -a -t httpd_sys_rw_content_t &#039;/var/www/nextcloud/.user.ini&#039;&lt;br /&gt;
 semanage fcontext -a -t httpd_sys_rw_content_t &#039;/var/www/nextcloud/3rdparty/aws/aws-sdk-php/src/data/logs(/.*)?&#039;&lt;br /&gt;
 &lt;br /&gt;
 restorecon -Rv &#039;/var/www/nextcloud/&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
Y, por seguridad, damos los permisos al directorio:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo chown -R apache:apache /var/www/nextcloud&lt;br /&gt;
 sudo chmod -R 770 /var/www/nextcloud&amp;lt;/code&amp;gt;&lt;br /&gt;
Seguimos con la configuración del archivo de host de Apache:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo nano /etc/httpd/conf.d/nextcloud.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
Con el siguiente contenido:&lt;br /&gt;
 &amp;lt;code&amp;gt;Alias /nextcloud &amp;quot;/var/www/nextcloud/&amp;quot;&lt;br /&gt;
 &amp;lt;Directory /var/www/nextcloud/&amp;gt;&lt;br /&gt;
   Options +FollowSymlinks&lt;br /&gt;
   AllowOverride All&lt;br /&gt;
   Require all granted&lt;br /&gt;
   &amp;lt;IfModule mod_dav.c&amp;gt;&lt;br /&gt;
     Dav off&lt;br /&gt;
   &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
   SetEnv HOME /var/www/nextcloud&lt;br /&gt;
   SetEnv HTTP_HOME /var/www/nextcloud&lt;br /&gt;
 &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 # Encabezados de seguridad para evitar ataques de inyección de contenido (XSS).&lt;br /&gt;
 &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
   Header set X-Content-Type-Options &amp;quot;nosniff&amp;quot;&lt;br /&gt;
   Header set X-Frame-Options &amp;quot;SAMEORIGIN&amp;quot;&lt;br /&gt;
   Header set X-XSS-Protection &amp;quot;1; mode=block&amp;quot;&lt;br /&gt;
   Header set X-Robots-Tag &amp;quot;none&amp;quot;&lt;br /&gt;
   Header set X-Download-Options &amp;quot;noopen&amp;quot;&lt;br /&gt;
   Header set X-Permitted-Cross-Domain-Policies &amp;quot;none&amp;quot;&lt;br /&gt;
   Header always set Strict-Transport-Security &amp;quot;max-age=15768000; includeSubDomains; preload&amp;quot;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 #Logs&lt;br /&gt;
 ErrorLog &amp;quot;/var/log/httpd/nextcloud_error.log&amp;quot;&lt;br /&gt;
 CustomLog &amp;quot;/var/log/httpd/nextcloud_access.log&amp;quot; combined&lt;br /&gt;
 &lt;br /&gt;
 # Configuración de redireccionamiento &lt;br /&gt;
 Redirect 301 /.well-known/carddav &amp;lt;nowiki&amp;gt;https://192.168.100.241/nextcloud/remote.php/dav&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Redirect 301 /.well-known/caldav &amp;lt;nowiki&amp;gt;https://192.168.100.241/nextcloud/remote.php/dav&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Redirect 301 /.well-known/webfinger &amp;lt;nowiki&amp;gt;https://192.168.100.241/nextcloud/index.php/.well-known/webfinger&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Redirect 301 /.well-known/nodeinfo &amp;lt;nowiki&amp;gt;https://192.168.100.241/nextcloud/index.php/.well-known/nodeinfo&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Añado las últimas líneas de redireccionamiento de prevención a los servicios «DAV» de calendario o contactos.&lt;br /&gt;
&lt;br /&gt;
Reiniciamos apache para que los cambios tengan efecto:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo systemctl restart httpd&amp;lt;/code&amp;gt;&lt;br /&gt;
Y accedemos a la página que reside nextcloud:&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://192.168.100.241/nextcloud&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Y procedemos con la instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=x1lKUmSF2Gk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Completando la instalación de Nextcloud =&lt;br /&gt;
En la entrada anterior instalamos Nextcloud fácilmente desde los repositorios de Fedora, peró el proceso está lejos de acabar, antes, quedan varios procesos.&lt;br /&gt;
&lt;br /&gt;
=== Límite de memoria en PHP ===&lt;br /&gt;
Este proceso es necesario en otros servicios para poder gestionar procesos por PHP, como por ejemplo, subir ficheros. Para ello, debemos editar el fichero:&lt;br /&gt;
 sudo nano /etc/php.ini&lt;br /&gt;
Y debemos buscar la línea:&lt;br /&gt;
 memory_limit = 128M&lt;br /&gt;
Por defecto viene a un valor de 128 Megas, mínimo, debemos cambiarlo a 512M:&lt;br /&gt;
 memory_limit = 512M&lt;br /&gt;
Hecho esto, cerramos el editor y reiniciamos el servicio apache:&lt;br /&gt;
 sudo systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
=== PHP configuration option output_buffering must be disabled ===&lt;br /&gt;
Para comprobar la salud de nuestro servicio, podemos acceder al Administrador de configuraciones y veremos qué nos puede faltar o fallar, por ejemplo, el output_buffering de la configuración de php, debe estar deshabilitado. Este mensaje es un bug que genera esta advertencia y será reparado por los desarrolladores.&lt;br /&gt;
&lt;br /&gt;
Mientras podemos crear el fichero:&lt;br /&gt;
 sudo nano /usr/share/nextcloud/.user.ini&lt;br /&gt;
Con la linia:&lt;br /&gt;
 output_buffering=0&lt;br /&gt;
&lt;br /&gt;
=== Cacheando la memoria ===&lt;br /&gt;
Otra de las advertencias que nos podemos encontrar es el «memory_caching» que influye en el rendimiento del servicio. Por defecto, no viene configurado y hay que configurarlo.&lt;br /&gt;
&lt;br /&gt;
Hay tres maneras de cachear la memoria como se muestra en la página de soporte oficial, pero he optado por la más sencilla. Para ello instalaremos:&lt;br /&gt;
 sudo dnf install php-pecl-apcu&lt;br /&gt;
Editamos el fichero de configuración de Nextcloud&lt;br /&gt;
 sudo nano /etc/nextcloud/config.php&lt;br /&gt;
y añadimos a la penúltima línea:&lt;br /&gt;
 &#039;memcache.local&#039; =&amp;gt; &#039;\OC\Memcache\APCu&#039;,&lt;br /&gt;
Ahora tenemos que editar el fichero:&lt;br /&gt;
 sudo nano /etc/php.d/40-apcu.ini&lt;br /&gt;
Y dejamos el valor:&lt;br /&gt;
 apc.enable_cli=1&lt;br /&gt;
Cerramos y reiniciamos los servicios:&lt;br /&gt;
 sudo systemctl restart httpd php-fpm&lt;br /&gt;
&lt;br /&gt;
=== Instalar los módulos php gmp i bcmath ===&lt;br /&gt;
No son obligatorios, pero si recomendables estar estos dos módulos, los instalamos con:&lt;br /&gt;
 sudo dnf install php-gmp php-bcmath&lt;br /&gt;
Y reiniciamos el servicio:&lt;br /&gt;
 sudo systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
=== Región del teléfono ===&lt;br /&gt;
Otro parámetro que no es obligatorio es la región del teléfono por defecto, para configurarlo editamos:&lt;br /&gt;
 sudo nano /etc/nextcloud/config.php&lt;br /&gt;
Y en la penúltima línea añadimos:&lt;br /&gt;
 &#039;default_phone_region&#039; =&amp;gt; &#039;ES&#039;,&lt;br /&gt;
&lt;br /&gt;
=== Configurando el correo electrónico ===&lt;br /&gt;
Otro de los ajustes básicos es el envío de correos electrónicos, en mi caso utilizo una contraseña maestra de gmail y los parámetros quedan:&lt;br /&gt;
&lt;br /&gt;
Es importante «Enviar mensaje» una vez hechas las configuraciones para acabar el proceso.&lt;br /&gt;
&lt;br /&gt;
=== Instalando aplicaciones por consola ===&lt;br /&gt;
Podemos instalar aplicaciones por administrador del navegador, pero es mucho más rápido administrar por consola con occ. Unos ejemplos:&lt;br /&gt;
&lt;br /&gt;
cd /usr/share/nextcloud&lt;br /&gt;
 sudo -u apache php occ app:install bookmarks #Instala el gestor de marcadores&lt;br /&gt;
 sudo -u apache php occ app:install passwords #Instala el gestor de contraseñas&lt;br /&gt;
 sudo -u apache php occ app:install tasks #instala un gestor de tareas que se adapta a calendar &lt;br /&gt;
 sudo -u apache php occ app:install notes #un gestor de notas básico&lt;br /&gt;
 sudo -u apache php occ app:install deck  #Un gestor de tareas avanzado&lt;br /&gt;
 sudo -u apache php occ app:install groupfolders  #Permite la gestión de grupos a las carpetas&lt;br /&gt;
 sudo -u apache php occ app:install richdocumentscode #Instala un editor de documentos integrado CODE&lt;br /&gt;
 sudo -u apache php occ app:install richdocuments  #Necesario con el complemento anterior.&lt;br /&gt;
 sudo -u apache php occ app:install forms   #Instala un generador de formularios que guarda los datos en una hoja&lt;br /&gt;
 sudo -u apache php occ app:install mail      #Cliente de correo electrónico web&lt;br /&gt;
 sudo -u apache php occ app:install calendar  #Un gestor de calendario comparable a Google Calendar&lt;br /&gt;
 sudo -u apache php occ app:install contacts  #Un gestor de contactos que se integra a el resto de complementos&lt;br /&gt;
 sudo -u apache php occ app:install text           #Un editor de texto básico&lt;br /&gt;
 sudo -u apache php occ app:install spreed           #Un cliente de chat entre los contactos que permite llamadas y conferencias por video.&lt;br /&gt;
 sudo -u apache php occ app:install recognize #Permite reconoce en tus fotos a animales, caras...&lt;br /&gt;
&lt;br /&gt;
=== Reparar los ficheros por consola ===&lt;br /&gt;
Puede darse el caso que falte un fichero o que no permita borrarlos, eso se debe a un error en la base de datos, se puede reparar fácilmente con:&lt;br /&gt;
 sudo -u apache php occ files:scan --all&lt;br /&gt;
&lt;br /&gt;
=== Gestión de usuarios y grupos ===&lt;br /&gt;
Lista de usuarios&lt;br /&gt;
 sudo -u apache php ./occ user:list&lt;br /&gt;
Lista los grupos y sus usuarios&lt;br /&gt;
 sudo -u www-data php occ group:list&lt;br /&gt;
Crea un usuario&lt;br /&gt;
 sudo -u apache php occ user:add --display-name=&amp;quot;Usuario1&amp;quot; --group=&amp;quot;users&amp;quot; --group=&amp;quot;Grupo1&amp;quot; usuario1&lt;br /&gt;
Borra un usuario&lt;br /&gt;
 sudo -u apache php ./occ user:delete usuario1&lt;br /&gt;
Consulta la configuración del usuario&lt;br /&gt;
 sudo -u apache php ./occ user:setting usuario2&lt;br /&gt;
Configura el usuario, asigna un correo electrónico:&lt;br /&gt;
 sudo -u apache php ./occ user:setting usuario2 settings email &amp;quot;usuario2@mainkivi.info&amp;quot;&lt;br /&gt;
Asigna una quota de disco al usuario&lt;br /&gt;
 sudo -u apache php ./occ user:setting usuario2 files quota 10GB&lt;br /&gt;
Resetea la contraseña del usuario&lt;br /&gt;
 sudo -u apache php occ user:resetpassword usuario2&lt;br /&gt;
Estas y más instrucciones en: &amp;lt;nowiki&amp;gt;https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/occ_command.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Para complementar la entrada, adjunto un video: ===&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=lXGXDcpWKyo&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Extra - Herramienta externa para reparar la indexación de ficheros y datos ===&lt;br /&gt;
Recientemente he tenido graves problemas con la migración y en los foros oficiales enconté esta maravilla:&lt;br /&gt;
&lt;br /&gt;
[https://quynnbell.com/how-i-survived-a-nextcloud-update-disaster/ nc-integrity-fix]&lt;br /&gt;
&lt;br /&gt;
Y se descarga y ejecuta:&amp;lt;blockquote&amp;gt;sudo wget -O /usr/local/bin/nc-integrity-fix &amp;lt;nowiki&amp;gt;https://global-social.net/script/nc-integrity-fix&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sudo chmod +x /usr/local/bin/nc-integrity-fix&lt;br /&gt;
&lt;br /&gt;
sudo nc-integrity-fix&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Nextcloud Office ==&lt;br /&gt;
Si lo deseamos, también podemos interar el Nextcloud Office, una extensión que permite a Collabora Office ( LibreOffice ) convertir nuestro servidor en un editor de Ofimática desde internet. &lt;br /&gt;
&lt;br /&gt;
A parte de habilitar la extensión, en nuestro servidor [[Fedora]] debemos habilitar a [[SELinux]] el trabajo de ejecución en memoria temporal:&lt;br /&gt;
 sudo setsebool -P httpd_execmem on&lt;br /&gt;
&lt;br /&gt;
 sudo setsebool -P httpd_use_fusefs on&lt;br /&gt;
&lt;br /&gt;
 sudo setsebool -P httpd_tmp_exec on&lt;br /&gt;
Por último:&amp;lt;blockquote&amp;gt;sudo ausearch -c &#039;php-fpm&#039; --raw | audit2allow -M mi-phpfpm&lt;br /&gt;
&lt;br /&gt;
sudo ausearch -c &#039;docbroker_00e&#039; --raw | audit2allow -M my-docbroker00e&lt;br /&gt;
&lt;br /&gt;
sudo ausearch -c &#039;kitbroker_00e&#039; --raw | audit2allow -M my-kitbroker00e&lt;br /&gt;
&lt;br /&gt;
sudo ausearch -c &#039;cp&#039; --raw |audit2allow -M my-cp&lt;br /&gt;
&lt;br /&gt;
sudo ausearch -c &#039;admin&#039; --raw | audit2allow -M my-admin&lt;br /&gt;
&lt;br /&gt;
sudo ausearch -c &#039;bash&#039; --raw | audit2allow -M my-bash&lt;br /&gt;
&lt;br /&gt;
sudo semodule -i mi-phpfpm.pp&lt;br /&gt;
&lt;br /&gt;
sudo semodule -i my-docbroker00e.pp&lt;br /&gt;
&lt;br /&gt;
sudo semodule -i my-cp.pp&lt;br /&gt;
&lt;br /&gt;
sudo semodule -i my-admin.pp&lt;br /&gt;
&lt;br /&gt;
sudo semodule -i my-bash.pp&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Nextcloud&amp;diff=533</id>
		<title>Nextcloud</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Nextcloud&amp;diff=533"/>
		<updated>2025-03-20T15:55:31Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://nextcloud.com Nextcloud] se puede resumir a como una alternativa a otros servicios de almacenamiento y edición en la nube, como puede ser Google Drive, OneDrive, Dropbox… Pero su principal característica es que es gratuito y de código abierto y puedes descargarlo e instalarlo en tu propio servidor, así acceder a tu propio «disco» desde cualquier punto del mundo con solo el navegador o la aplicación de sincronización de escritorio o teléfono y muchas opciones más.&lt;br /&gt;
&lt;br /&gt;
Nextcloud es una bifurcación de OwnCloud, es decir, parte del grupo de programadores que quisieron hacer su propia versión del servicio  pero con más añadidos.&lt;br /&gt;
&lt;br /&gt;
= Instalación desde los repositorios de Fedora =&lt;br /&gt;
Siguiendo la instalación de servicios en Fedora, podemos instalar el programa desde repositorios oficiales.&lt;br /&gt;
 sudo dnf install nextcloud&lt;br /&gt;
Esto ya genera los directorios de servicio en /usr/share y los de configuración en /etc, por ejemplo, el fichero de configuración de Apache.&lt;br /&gt;
&lt;br /&gt;
El siguiente paso es crear la base de dato, primero accedemos a mysql:&lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
y creamos la base de datos como en la entrada anterior:&lt;br /&gt;
 CREATE DATABASE IF NOT EXISTS nextcloud;&lt;br /&gt;
Y, si no queremos crear otro usuario, podemos aprovechar el mismo que la entrada anterior:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON nextcloud.* TO &#039;admin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;F3d0r4-01&#039;;&lt;br /&gt;
&lt;br /&gt;
 FLUSH PRIVILEGES;&lt;br /&gt;
Ahora que ya tenemos la base de datos, vamos a realizar la instalación de nextcloud, en este caso, este, tiene un instalador por PHP que nos va de perlas y que utilizáramos para la mayoría de las operaciones:&lt;br /&gt;
 cd /usr/share/nextcloud&lt;br /&gt;
&lt;br /&gt;
 sudo -u apache php occ maintenance:install --data-dir /var/lib/nextcloud/data/ --database &amp;quot;mysql&amp;quot; --database-name &amp;quot;nextcloud&amp;quot; --database-user &amp;quot;admin&amp;quot; --database-pass &amp;quot;F3d0r4-01&amp;quot; --admin-user &amp;quot;admin&amp;quot; --admin-pass &amp;quot;F3d0r4-01&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ln -s /etc/httpd/conf.d/nextcloud-access.conf.avail /etc/httpd/conf.d/z-nextcloud-access.conf&lt;br /&gt;
Con esto haremos le indicamos el directorio donde se ubicaran los datos, el tipo de servidor de base de datos, el nombre de la base de datos que hemos indicado anteriormente, junto con el usuario y contraseña y, por último, el usuario y contraseña de administración del sitio que, por defecto, pongo el mismo que la base de datos para hacerlo más fácil.&lt;br /&gt;
&lt;br /&gt;
También tenemos que permitir que el sitio sea accesible desde fuera del equipo local editando :&lt;br /&gt;
 sudo nano /etc/httpd/conf.d/nextcloud-auth-local.inc&lt;br /&gt;
Y toca cambiar el «Require» para permitir todo el acceso que no sea local:&lt;br /&gt;
&lt;br /&gt;
Cerramos el editor guardando los cambios y reiniciamos el servicio:&lt;br /&gt;
 sudo systemctl restart httpd&lt;br /&gt;
De hecho ya podemos hacer la prueba accediendo al navegador:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://192.168.1.241/nextcloud&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hecho esto ya podemos acceder a la interficie web, pero queda añadir otro apunte en seguridad y es el dominio de confianza, ya que, por seguridad, limita el acceso a redes desconocidas. Sin salir del directorio de instalación escribimos:&lt;br /&gt;
&lt;br /&gt;
Nextcloud se puede resumir a como una alternativa a otros servicios de almacenamiento y edición en la nube, como puede ser Google Drive, OneDrive, Dropbox… Pero su principal característica es que es gratuito y de código abierto y puedes descargarlo e instalarlo en tu propio servidor, así acceder a tu propio «disco» desde cualquier punto del mundo con solo el navegador o la aplicación de sincronización de escritorio o teléfono y muchas opciones más.&lt;br /&gt;
&lt;br /&gt;
Nextcloud es una bifurcación de OwnCloud, es decir, parte del grupo de programadores que quisieron hacer su propia versión del servicio  pero con más añadidos.&lt;br /&gt;
&lt;br /&gt;
Siguiendo la instalación de servicios en Fedora, podemos instalar el programa desde repositorios oficiales.&lt;br /&gt;
 sudo dnf install nextcloud&lt;br /&gt;
Esto ya genera los directorios de servicio en /usr/share y los de configuración en /etc, por ejemplo, el fichero de configuración de Apache.&lt;br /&gt;
&lt;br /&gt;
El siguiente paso es crear la base de dato, primero accedemos a mysql:&lt;br /&gt;
 mysql -u root -p &lt;br /&gt;
y creamos la base de datos como en la entrada anterior:&lt;br /&gt;
 CREATE DATABASE IF NOT EXISTS nextcloud;&lt;br /&gt;
Y, si no queremos crear otro usuario, podemos aprovechar el mismo que la entrada anterior:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON nextcloud.* TO &#039;admin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;F3d0r4-01&#039;;&lt;br /&gt;
&lt;br /&gt;
 FLUSH PRIVILEGES;&lt;br /&gt;
Ahora que ya tenemos la base de datos, vamos a realizar la instalación de nextcloud, en este caso, este, tiene un instalador por PHP que nos va de perlas y que utilizáramos para la mayoría de las operaciones:&lt;br /&gt;
 cd /usr/share/nextcloud&lt;br /&gt;
&lt;br /&gt;
 sudo -u apache php occ maintenance:install --data-dir /var/lib/nextcloud/data/ --database &amp;quot;mysql&amp;quot; --database-name &amp;quot;nextcloud&amp;quot; --database-user &amp;quot;admin&amp;quot; --database-pass &amp;quot;F3d0r4-01&amp;quot; --admin-user &amp;quot;admin&amp;quot; --admin-pass &amp;quot;F3d0r4-01&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ln -s /etc/httpd/conf.d/nextcloud-access.conf.avail /etc/httpd/conf.d/z-nextcloud-access.conf&lt;br /&gt;
Con esto haremos le indicamos el directorio donde se ubicaran los datos, el tipo de servidor de base de datos, el nombre de la base de datos que hemos indicado anteriormente, junto con el usuario y contraseña y, por último, el usuario y contraseña de administración del sitio que, por defecto, pongo el mismo que la base de datos para hacerlo más fácil.&lt;br /&gt;
&lt;br /&gt;
También tenemos que permitir que el sitio sea accesible desde fuera del equipo local editando :&lt;br /&gt;
 sudo nano /etc/httpd/conf.d/nextcloud-auth-local.inc&lt;br /&gt;
Y toca cambiar el «Require» para permitir todo el acceso que [https://nextcloud.com Nextcloud]no sea local:&lt;br /&gt;
&lt;br /&gt;
Cerramos el editor guardando los cambios y reiniciamos el servicio:&lt;br /&gt;
 sudo systemctl restart httpd&lt;br /&gt;
De hecho ya podemos hacer la prueba accediendo al navegador:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://192.168.1.241/nextcloud&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hecho esto ya podemos acceder a la interficie web, pero queda añadir otro apunte en seguridad y es el dominio de confianza, ya que, por seguridad, limita el acceso a redes desconocidas. Sin salir del directorio de instalación escribimos:&lt;br /&gt;
 sudo -u apache php occ config:system:get trusted_domains&lt;br /&gt;
Así vemos la lista de dominios de confianza, para añadir nuevos, añadir POR ORDEN, la IP o el nombre de acceso:&lt;br /&gt;
 sudo -u apache php occ config:system:set trusted_domains 1 --value=&amp;quot;192.168.1.241&amp;quot;&lt;br /&gt;
Resumen de directorios en el servidor:&lt;br /&gt;
&lt;br /&gt;
* /usr/share/nextcloud – directorio de instalación&lt;br /&gt;
* /etc/nextcloud – directorio donde se ubica la configuración&lt;br /&gt;
* /etc/httpd/conf.d/ – directorio del servidor apache donde se ubican las configuraciones del servidor web&lt;br /&gt;
* /var/lib/nextcloud/data – directorio donde se ubicará el contenido de los usuarios&lt;br /&gt;
&lt;br /&gt;
Video explicativo&lt;br /&gt;
 sudo -u apache php occ config:system:get trusted_domains&lt;br /&gt;
Así vemos la lista de dominios de confianza, para añadir nuevos, añadir POR ORDEN, la IP o el nombre de acceso:&lt;br /&gt;
 sudo -u apache php occ config:system:set trusted_domains 1 --value=&amp;quot;192.168.1.241&amp;quot;&lt;br /&gt;
Resumen de directorios en el servidor:&lt;br /&gt;
&lt;br /&gt;
* /usr/share/nextcloud – directorio de instalación&lt;br /&gt;
* /etc/nextcloud – directorio donde se ubica la configuración&lt;br /&gt;
* /etc/httpd/conf.d/ – directorio del servidor apache donde se ubican las configuraciones del servidor web&lt;br /&gt;
* /var/lib/nextcloud/data – directorio donde se ubicará el conte[https://nextcloud.com Nextcloud]nido de los usuarios&lt;br /&gt;
&lt;br /&gt;
Video explicativo&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=QFoZIdsOLkM&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Instalación manual oficial =&lt;br /&gt;
&lt;br /&gt;
Varias razones nos pueden llevar a esta decisión: puede que no os agrade la instalación de repositorios, queremos tener una instalación actualizada, hay un problema con los repositorios o incompatibilidad o simplemente, hemos cambiado de distribución o hacemos una instalación limpia.&lt;br /&gt;
&lt;br /&gt;
Obviamente, la instalación es un poco más costosa, pero intentaremos resumirla y hacerla lo más sencilla posible.&lt;br /&gt;
&lt;br /&gt;
En este caso la configuración será similar a la de repositorio, vamos a tener un directorio ( /var/www/nextcloud ) y una configuración apache ( &amp;lt;nowiki&amp;gt;https://192.168.100.241/nextcloud&amp;lt;/nowiki&amp;gt; ) y aquí se alojará nuestro disco en la nube.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANTE&#039;&#039;&#039; – antes de hacer la instalación, para evitar conflictos, si ya hicimos la instalación por repositorio, tenemos que desinstalarla.&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf remove nextcloud&amp;lt;/code&amp;gt;&lt;br /&gt;
Por seguridad, el mismo sistema guarda los ficheros de configuración cambiando la extensión y, al no borrar la base de datos, conservaremos los usuarios, contraseñas, grupos….&lt;br /&gt;
&lt;br /&gt;
Ahora, hagamos la instalación, primero preparamos las dependencias (en el caso de ser una instalación nueva, también instalamos el servicio web y base de datos):&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install @&amp;quot;Web Server&amp;quot; mariadb-server php-mysqlnd phpunit composer php-opcache php-pecl-imagick&amp;lt;/code&amp;gt;&lt;br /&gt;
Recordemos la instalación del servidor LAMP para configurar Apache y MariaDB. Y la creación de la base de datos en la siguiente entrada.&lt;br /&gt;
&lt;br /&gt;
Descarga y extrae Nextcloud en el directorio &#039;&#039;/var/www&#039;&#039;:&lt;br /&gt;
 &amp;lt;code&amp;gt;cd /var/www&lt;br /&gt;
 sudo wget &amp;lt;nowiki&amp;gt;https://download.nextcloud.com/server/releases/latest.tar.bz2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 sudo tar -xvjf latest.tar.bz2&amp;lt;/code&amp;gt;&lt;br /&gt;
Creamos el directorio para los datos:&lt;br /&gt;
 &amp;lt;code&amp;gt;mkdir -p /var/www/nextcloud/data&amp;lt;/code&amp;gt;&lt;br /&gt;
Si tenemos activado el SELinux ( ya lo explicaré), debemos darle contexto al directorio y sus archivos:&lt;br /&gt;
 &amp;lt;code&amp;gt;semanage fcontext -a -t httpd_sys_rw_content_t &#039;/var/www/nextcloud/data(/.*)?&#039;&lt;br /&gt;
 semanage fcontext -a -t httpd_sys_rw_content_t &#039;/var/www/nextcloud/config(/.*)?&#039;&lt;br /&gt;
 semanage fcontext -a -t httpd_sys_rw_content_t &#039;/var/www/nextcloud/apps(/.*)?&#039;&lt;br /&gt;
 semanage fcontext -a -t httpd_sys_rw_content_t &#039;/var/www/nextcloud/data(/.*)?&#039;&lt;br /&gt;
 semanage fcontext -a -t httpd_sys_rw_content_t &#039;/var/www/nextcloud/.htaccess&#039;&lt;br /&gt;
 semanage fcontext -a -t httpd_sys_rw_content_t &#039;/var/www/nextcloud/.user.ini&#039;&lt;br /&gt;
 semanage fcontext -a -t httpd_sys_rw_content_t &#039;/var/www/nextcloud/3rdparty/aws/aws-sdk-php/src/data/logs(/.*)?&#039;&lt;br /&gt;
 &lt;br /&gt;
 restorecon -Rv &#039;/var/www/nextcloud/&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
Y, por seguridad, damos los permisos al directorio:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo chown -R apache:apache /var/www/nextcloud&lt;br /&gt;
 sudo chmod -R 770 /var/www/nextcloud&amp;lt;/code&amp;gt;&lt;br /&gt;
Seguimos con la configuración del archivo de host de Apache:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo nano /etc/httpd/conf.d/nextcloud.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
Con el siguiente contenido:&lt;br /&gt;
 &amp;lt;code&amp;gt;Alias /nextcloud &amp;quot;/var/www/nextcloud/&amp;quot;&lt;br /&gt;
 &amp;lt;Directory /var/www/nextcloud/&amp;gt;&lt;br /&gt;
   Options +FollowSymlinks&lt;br /&gt;
   AllowOverride All&lt;br /&gt;
   Require all granted&lt;br /&gt;
   &amp;lt;IfModule mod_dav.c&amp;gt;&lt;br /&gt;
     Dav off&lt;br /&gt;
   &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
   SetEnv HOME /var/www/nextcloud&lt;br /&gt;
   SetEnv HTTP_HOME /var/www/nextcloud&lt;br /&gt;
 &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 # Encabezados de seguridad para evitar ataques de inyección de contenido (XSS).&lt;br /&gt;
 &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
   Header set X-Content-Type-Options &amp;quot;nosniff&amp;quot;&lt;br /&gt;
   Header set X-Frame-Options &amp;quot;SAMEORIGIN&amp;quot;&lt;br /&gt;
   Header set X-XSS-Protection &amp;quot;1; mode=block&amp;quot;&lt;br /&gt;
   Header set X-Robots-Tag &amp;quot;none&amp;quot;&lt;br /&gt;
   Header set X-Download-Options &amp;quot;noopen&amp;quot;&lt;br /&gt;
   Header set X-Permitted-Cross-Domain-Policies &amp;quot;none&amp;quot;&lt;br /&gt;
   Header always set Strict-Transport-Security &amp;quot;max-age=15768000; includeSubDomains; preload&amp;quot;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 #Logs&lt;br /&gt;
 ErrorLog &amp;quot;/var/log/httpd/nextcloud_error.log&amp;quot;&lt;br /&gt;
 CustomLog &amp;quot;/var/log/httpd/nextcloud_access.log&amp;quot; combined&lt;br /&gt;
 &lt;br /&gt;
 # Configuración de redireccionamiento &lt;br /&gt;
 Redirect 301 /.well-known/carddav &amp;lt;nowiki&amp;gt;https://192.168.100.241/nextcloud/remote.php/dav&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Redirect 301 /.well-known/caldav &amp;lt;nowiki&amp;gt;https://192.168.100.241/nextcloud/remote.php/dav&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Redirect 301 /.well-known/webfinger &amp;lt;nowiki&amp;gt;https://192.168.100.241/nextcloud/index.php/.well-known/webfinger&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Redirect 301 /.well-known/nodeinfo &amp;lt;nowiki&amp;gt;https://192.168.100.241/nextcloud/index.php/.well-known/nodeinfo&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Añado las últimas líneas de redireccionamiento de prevención a los servicios «DAV» de calendario o contactos.&lt;br /&gt;
&lt;br /&gt;
Reiniciamos apache para que los cambios tengan efecto:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo systemctl restart httpd&amp;lt;/code&amp;gt;&lt;br /&gt;
Y accedemos a la página que reside nextcloud:&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://192.168.100.241/nextcloud&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Y procedemos con la instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=x1lKUmSF2Gk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Completando la instalación de Nextcloud =&lt;br /&gt;
En la entrada anterior instalamos Nextcloud fácilmente desde los repositorios de Fedora, peró el proceso está lejos de acabar, antes, quedan varios procesos.&lt;br /&gt;
&lt;br /&gt;
=== Límite de memoria en PHP ===&lt;br /&gt;
Este proceso es necesario en otros servicios para poder gestionar procesos por PHP, como por ejemplo, subir ficheros. Para ello, debemos editar el fichero:&lt;br /&gt;
 sudo nano /etc/php.ini&lt;br /&gt;
Y debemos buscar la línea:&lt;br /&gt;
 memory_limit = 128M&lt;br /&gt;
Por defecto viene a un valor de 128 Megas, mínimo, debemos cambiarlo a 512M:&lt;br /&gt;
 memory_limit = 512M&lt;br /&gt;
Hecho esto, cerramos el editor y reiniciamos el servicio apache:&lt;br /&gt;
 sudo systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
=== PHP configuration option output_buffering must be disabled ===&lt;br /&gt;
Para comprobar la salud de nuestro servicio, podemos acceder al Administrador de configuraciones y veremos qué nos puede faltar o fallar, por ejemplo, el output_buffering de la configuración de php, debe estar deshabilitado. Este mensaje es un bug que genera esta advertencia y será reparado por los desarrolladores.&lt;br /&gt;
&lt;br /&gt;
Mientras podemos crear el fichero:&lt;br /&gt;
 sudo nano /usr/share/nextcloud/.user.ini&lt;br /&gt;
Con la linia:&lt;br /&gt;
 output_buffering=0&lt;br /&gt;
&lt;br /&gt;
=== Cacheando la memoria ===&lt;br /&gt;
Otra de las advertencias que nos podemos encontrar es el «memory_caching» que influye en el rendimiento del servicio. Por defecto, no viene configurado y hay que configurarlo.&lt;br /&gt;
&lt;br /&gt;
Hay tres maneras de cachear la memoria como se muestra en la página de soporte oficial, pero he optado por la más sencilla. Para ello instalaremos:&lt;br /&gt;
 sudo dnf install php-pecl-apcu&lt;br /&gt;
Editamos el fichero de configuración de Nextcloud&lt;br /&gt;
 sudo nano /etc/nextcloud/config.php&lt;br /&gt;
y añadimos a la penúltima línea:&lt;br /&gt;
 &#039;memcache.local&#039; =&amp;gt; &#039;\OC\Memcache\APCu&#039;,&lt;br /&gt;
Ahora tenemos que editar el fichero:&lt;br /&gt;
 sudo nano /etc/php.d/40-apcu.ini&lt;br /&gt;
Y dejamos el valor:&lt;br /&gt;
 apc.enable_cli=1&lt;br /&gt;
Cerramos y reiniciamos los servicios:&lt;br /&gt;
 sudo systemctl restart httpd php-fpm&lt;br /&gt;
&lt;br /&gt;
=== Instalar los módulos php gmp i bcmath ===&lt;br /&gt;
No son obligatorios, pero si recomendables estar estos dos módulos, los instalamos con:&lt;br /&gt;
 sudo dnf install php-gmp php-bcmath&lt;br /&gt;
Y reiniciamos el servicio:&lt;br /&gt;
 sudo systemctl restart httpd&lt;br /&gt;
&lt;br /&gt;
=== Región del teléfono ===&lt;br /&gt;
Otro parámetro que no es obligatorio es la región del teléfono por defecto, para configurarlo editamos:&lt;br /&gt;
 sudo nano /etc/nextcloud/config.php&lt;br /&gt;
Y en la penúltima línea añadimos:&lt;br /&gt;
 &#039;default_phone_region&#039; =&amp;gt; &#039;ES&#039;,&lt;br /&gt;
&lt;br /&gt;
=== Configurando el correo electrónico ===&lt;br /&gt;
Otro de los ajustes básicos es el envío de correos electrónicos, en mi caso utilizo una contraseña maestra de gmail y los parámetros quedan:&lt;br /&gt;
&lt;br /&gt;
Es importante «Enviar mensaje» una vez hechas las configuraciones para acabar el proceso.&lt;br /&gt;
&lt;br /&gt;
=== Instalando aplicaciones por consola ===&lt;br /&gt;
Podemos instalar aplicaciones por administrador del navegador, pero es mucho más rápido administrar por consola con occ. Unos ejemplos:&lt;br /&gt;
&lt;br /&gt;
cd /usr/share/nextcloud&lt;br /&gt;
 sudo -u apache php occ app:install bookmarks #Instala el gestor de marcadores&lt;br /&gt;
 sudo -u apache php occ app:install passwords #Instala el gestor de contraseñas&lt;br /&gt;
 sudo -u apache php occ app:install tasks #instala un gestor de tareas que se adapta a calendar &lt;br /&gt;
 sudo -u apache php occ app:install notes #un gestor de notas básico&lt;br /&gt;
 sudo -u apache php occ app:install deck  #Un gestor de tareas avanzado&lt;br /&gt;
 sudo -u apache php occ app:install groupfolders  #Permite la gestión de grupos a las carpetas&lt;br /&gt;
 sudo -u apache php occ app:install richdocumentscode #Instala un editor de documentos integrado CODE&lt;br /&gt;
 sudo -u apache php occ app:install richdocuments  #Necesario con el complemento anterior.&lt;br /&gt;
 sudo -u apache php occ app:install forms   #Instala un generador de formularios que guarda los datos en una hoja&lt;br /&gt;
 sudo -u apache php occ app:install mail      #Cliente de correo electrónico web&lt;br /&gt;
 sudo -u apache php occ app:install calendar  #Un gestor de calendario comparable a Google Calendar&lt;br /&gt;
 sudo -u apache php occ app:install contacts  #Un gestor de contactos que se integra a el resto de complementos&lt;br /&gt;
 sudo -u apache php occ app:install text           #Un editor de texto básico&lt;br /&gt;
 sudo -u apache php occ app:install spreed           #Un cliente de chat entre los contactos que permite llamadas y conferencias por video.&lt;br /&gt;
 sudo -u apache php occ app:install recognize #Permite reconoce en tus fotos a animales, caras...&lt;br /&gt;
&lt;br /&gt;
=== Reparar los ficheros por consola ===&lt;br /&gt;
Puede darse el caso que falte un fichero o que no permita borrarlos, eso se debe a un error en la base de datos, se puede reparar fácilmente con:&lt;br /&gt;
 sudo -u apache php occ files:scan --all&lt;br /&gt;
&lt;br /&gt;
=== Gestión de usuarios y grupos ===&lt;br /&gt;
Lista de usuarios&lt;br /&gt;
 sudo -u apache php ./occ user:list&lt;br /&gt;
Lista los grupos y sus usuarios&lt;br /&gt;
 sudo -u www-data php occ group:list&lt;br /&gt;
Crea un usuario&lt;br /&gt;
 sudo -u apache php occ user:add --display-name=&amp;quot;Usuario1&amp;quot; --group=&amp;quot;users&amp;quot; --group=&amp;quot;Grupo1&amp;quot; usuario1&lt;br /&gt;
Borra un usuario&lt;br /&gt;
 sudo -u apache php ./occ user:delete usuario1&lt;br /&gt;
Consulta la configuración del usuario&lt;br /&gt;
 sudo -u apache php ./occ user:setting usuario2&lt;br /&gt;
Configura el usuario, asigna un correo electrónico:&lt;br /&gt;
 sudo -u apache php ./occ user:setting usuario2 settings email &amp;quot;usuario2@mainkivi.info&amp;quot;&lt;br /&gt;
Asigna una quota de disco al usuario&lt;br /&gt;
 sudo -u apache php ./occ user:setting usuario2 files quota 10GB&lt;br /&gt;
Resetea la contraseña del usuario&lt;br /&gt;
 sudo -u apache php occ user:resetpassword usuario2&lt;br /&gt;
Estas y más instrucciones en: &amp;lt;nowiki&amp;gt;https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/occ_command.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Para complementar la entrada, adjunto un video: ===&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=lXGXDcpWKyo&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Extra - Herramienta externa para reparar la indexación de ficheros y datos ===&lt;br /&gt;
Recientemente he tenido graves problemas con la migración y en los foros oficiales enconté esta maravilla:&lt;br /&gt;
&lt;br /&gt;
[https://quynnbell.com/how-i-survived-a-nextcloud-update-disaster/ nc-integrity-fix]&lt;br /&gt;
&lt;br /&gt;
Y se descarga y ejecuta:&amp;lt;blockquote&amp;gt;sudo wget -O /usr/local/bin/nc-integrity-fix &amp;lt;nowiki&amp;gt;https://global-social.net/script/nc-integrity-fix&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sudo chmod +x /usr/local/bin/nc-integrity-fix&lt;br /&gt;
&lt;br /&gt;
sudo nc-integrity-fix&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Nextcloud Office ==&lt;br /&gt;
Si lo deseamos, también podemos interar el Nextcloud Office, una extensión que permite a Collabora Office ( LibreOffice ) convertir nuestro servidor en un editor de Ofimática desde internet. &lt;br /&gt;
&lt;br /&gt;
A parte de habilitar la extensión, en nuestro servidor [[Fedora]] debemos habilitar a [[SELinux]] el trabajo de ejecución en memoria temporal:&lt;br /&gt;
 sudo setsebool -P httpd_execmem on&lt;br /&gt;
&lt;br /&gt;
 sudo setsebool -P httpd_use_fusefs on&lt;br /&gt;
&lt;br /&gt;
 sudo setsebool -P httpd_tmp_exec on&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Dnsmasq&amp;diff=532</id>
		<title>Dnsmasq</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Dnsmasq&amp;diff=532"/>
		<updated>2025-03-02T14:23:48Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Instalación y configuración de dnsmasq en Fedora ==&lt;br /&gt;
&lt;br /&gt;
=== ¿Qué es dnsmasq y por qué usarlo? ===&lt;br /&gt;
&amp;lt;code&amp;gt;dnsmasq&amp;lt;/code&amp;gt; es un servicio ligero que proporciona funcionalidades de DNS, DHCP y TFTP, ideal para redes pequeñas y medianas. Su simplicidad y eficiencia lo convierten en una excelente opción para gestionar la resolución de nombres y asignación de direcciones IP en entornos controlados. En un servidor Fedora, es especialmente útil para configurar un proxy transparente o para dar servicio a múltiples clientes con una configuración mínima.&lt;br /&gt;
&lt;br /&gt;
Es una herramienta recomendada porque:&lt;br /&gt;
&lt;br /&gt;
* Es fácil de instalar y configurar.&lt;br /&gt;
* Consume pocos recursos.&lt;br /&gt;
* Permite resolver nombres locales sin depender de DNS externos.&lt;br /&gt;
* Integra DHCP y DNS en un solo servicio, facilitando la administración de la red.&lt;br /&gt;
&lt;br /&gt;
=== Instalación de dnsmasq ===&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo dnf install dnsmasq -y&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Desactivar systemd-resolved ===&lt;br /&gt;
Por defecto, Fedora usa &amp;lt;code&amp;gt;systemd-resolved&amp;lt;/code&amp;gt;, que puede entrar en conflicto con dnsmasq. Para desactivarlo:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo systemctl disable --now systemd-resolved&amp;lt;/code&amp;gt;&lt;br /&gt;
Luego, edita el archivo &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt; para apuntar a tu servidor DNS local (por ejemplo, la IP interna de tu servidor):&lt;br /&gt;
 &amp;lt;code&amp;gt;echo &amp;quot;nameserver 127.0.0.1&amp;quot; | sudo tee /etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
Asegúrate de que no se sobrescriba:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo chattr +i /etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuración básica de dnsmasq ===&lt;br /&gt;
Edita el archivo principal de configuración:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo nano /etc/dnsmasq.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
Configuración mínima para DNS y DHCP:&lt;br /&gt;
 &amp;lt;code&amp;gt;# Escuchar en la interfaz interna&lt;br /&gt;
 interface=eno2&lt;br /&gt;
 &lt;br /&gt;
 # Rango de direcciones IP para clientes DHCP&lt;br /&gt;
 dhcp-range=10.0.1.50,10.0.1.100,12h&lt;br /&gt;
 &lt;br /&gt;
 # Servidores DNS a usar&lt;br /&gt;
 server=8.8.8.8&lt;br /&gt;
 server=1.1.1.1&lt;br /&gt;
 &lt;br /&gt;
 # Dominio local&lt;br /&gt;
 domain=red.local&lt;br /&gt;
 &lt;br /&gt;
 # Registro de hosts&lt;br /&gt;
 dhcp-host=AA:BB:CC:DD:EE:FF,10.0.1.10,host1,12h&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuración del cortafuegos ===&lt;br /&gt;
Añade las reglas necesarias para permitir tráfico DNS y DHCP:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo firewall-cmd --permanent --add-service=dns&lt;br /&gt;
 sudo firewall-cmd --permanent --add-service=dhcp&lt;br /&gt;
 sudo firewall-cmd --reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Habilitar y arrancar dnsmasq ===&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo systemctl enable --now dnsmasq&amp;lt;/code&amp;gt;&lt;br /&gt;
Verificar el estado del servicio:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo systemctl status dnsmasq&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Prueba de funcionamiento ===&lt;br /&gt;
Verifica que resuelve nombres:&lt;br /&gt;
 &amp;lt;code&amp;gt;dig google.com @127.0.0.1&amp;lt;/code&amp;gt;&lt;br /&gt;
Y que asigna direcciones IP:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo journalctl -u dnsmasq | grep DHCP&amp;lt;/code&amp;gt;&lt;br /&gt;
Con esta configuración, tu servidor Fedora estará listo para servir como DNS y DHCP en tu red interna. &lt;br /&gt;
&lt;br /&gt;
== Ejemplo de configuración: ==&lt;br /&gt;
sudo nvim /etc/dnsmasq.d/01_mainkivi.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
listen-address=127.0.0.1&lt;br /&gt;
&lt;br /&gt;
domain-needed&lt;br /&gt;
&lt;br /&gt;
bogus-priv&lt;br /&gt;
&lt;br /&gt;
no-resolv&lt;br /&gt;
&lt;br /&gt;
server=208.67.222.222&lt;br /&gt;
&lt;br /&gt;
server=208.67.220.220&lt;br /&gt;
&lt;br /&gt;
local=/mainkivi.info/&lt;br /&gt;
&lt;br /&gt;
listen-address=::1,127.0.0.1,192.168.1.3&lt;br /&gt;
&lt;br /&gt;
expand-hosts&lt;br /&gt;
&lt;br /&gt;
domain=mainkiivi.info&lt;br /&gt;
&lt;br /&gt;
dhcp-range=192.168.1.100,192.168.1.200,24h&lt;br /&gt;
&lt;br /&gt;
dhcp-option=option:router,192.168.1.1&lt;br /&gt;
&lt;br /&gt;
dhcp-authoritative&lt;br /&gt;
&lt;br /&gt;
dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Dnsmasq&amp;diff=531</id>
		<title>Dnsmasq</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Dnsmasq&amp;diff=531"/>
		<updated>2025-03-02T12:33:11Z</updated>

		<summary type="html">&lt;p&gt;Admin: Página creada con «sudo dnf install dnsmasq   sudo systemctl stop systemd-resolved\nsudo systemctl disable systemd-resolved\nsudo systemctl mask systemd-resolved  sudo firewall-cmd --zone=external --add-service=dns  sudo firewall-cmd --zone=external --add-service=dhcp  sudo firewall-cmd --relad  sudo nvim /etc/dnsmasq.d/01_mainkivi.conf   listen-address=127.0.0.1  domain-needed  bogus-priv  no-resolv  server=208.67.222.222  server=208.67.220.220  local=/mainkivi.info/  listen-address=::…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;sudo dnf install dnsmasq&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo systemctl stop systemd-resolved\nsudo systemctl disable systemd-resolved\nsudo systemctl mask systemd-resolved&lt;br /&gt;
&lt;br /&gt;
sudo firewall-cmd --zone=external --add-service=dns&lt;br /&gt;
&lt;br /&gt;
sudo firewall-cmd --zone=external --add-service=dhcp&lt;br /&gt;
&lt;br /&gt;
sudo firewall-cmd --relad&lt;br /&gt;
&lt;br /&gt;
sudo nvim /etc/dnsmasq.d/01_mainkivi.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
listen-address=127.0.0.1&lt;br /&gt;
&lt;br /&gt;
domain-needed&lt;br /&gt;
&lt;br /&gt;
bogus-priv&lt;br /&gt;
&lt;br /&gt;
no-resolv&lt;br /&gt;
&lt;br /&gt;
server=208.67.222.222&lt;br /&gt;
&lt;br /&gt;
server=208.67.220.220&lt;br /&gt;
&lt;br /&gt;
local=/mainkivi.info/&lt;br /&gt;
&lt;br /&gt;
listen-address=::1,127.0.0.1,192.168.1.3&lt;br /&gt;
&lt;br /&gt;
expand-hosts&lt;br /&gt;
&lt;br /&gt;
domain=mainkiivi.info&lt;br /&gt;
&lt;br /&gt;
dhcp-range=192.168.1.100,192.168.1.200,24h&lt;br /&gt;
&lt;br /&gt;
dhcp-option=option:router,192.168.1.1&lt;br /&gt;
&lt;br /&gt;
dhcp-authoritative&lt;br /&gt;
&lt;br /&gt;
dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo systemctl enable dnsmaq&lt;br /&gt;
&lt;br /&gt;
sudo systemctl start dnsmaq&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Firewall-cmd&amp;diff=530</id>
		<title>Firewall-cmd</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Firewall-cmd&amp;diff=530"/>
		<updated>2025-01-24T07:12:51Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Añadir puertos a una zona */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;El &#039;&#039;&#039;firewall&#039;&#039;&#039; es esencial para controlar el flujo de tráfico de red que entra y sale del servidor Linux. En este artículo, mostrará, agregará y eliminará reglas de &#039;&#039;&#039;firewalld&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Nuestro mundo nunca ha estado más conectado que ahora. Cada persona, empresa, gobierno, etc. utiliza la web para comunicarse, intercambiar moneda y datos y, en general, realizar los movimientos de la vida y las operaciones diarias. Sin embargo, estas conexiones no son intrínsecamente seguras y, debido a esto, debemos implementar medidas defensivas para mantener nuestra ubicación, información y dinero protegidos. En el pasado, cuando alguien quería asegurar sus posesiones, erigía puertas y vallas para mantener a distancia a los intrusos. Hoy en día, logramos estos mismos objetivos con el uso de firewalls. La mayoría de los sistemas Linux utilizaban la utilidad &#039;&#039;&#039;[[iptables]]&#039;&#039;&#039;; sin embargo, había una nueva tecnología en el horizonte.&lt;br /&gt;
&lt;br /&gt;
Con la introducción de &#039;&#039;&#039;Red Hat Enterprise Linux 7.0&#039;&#039;&#039; (RHEL) en 2011, iptables fue reemplazado cuando nació &#039;&#039;&#039;firewalld&#039;&#039;&#039;. En esencia, &#039;&#039;&#039;firewalld&#039;&#039;&#039; es un firewall basado en zonas. Los firewalls basados en zonas son sistemas de seguridad de red que monitorean el tráfico y toman acciones basadas en un conjunto de reglas definidas que se aplican a los paquetes entrantes/salientes.&lt;br /&gt;
&lt;br /&gt;
== Las zonas ==&lt;br /&gt;
Las zonas son configuraciones independientes que se pueden aplicar sobre el servidor con diversas normas ya aplicadas, para listarlas ejecutaremos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo firewall-cmd --get-zones&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con un resultado similar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FedoraServer FedoraWorkstation block dmz drop external home internal libvirt libvirt-routed nm-shared public trusted work&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En la que vemos diferentes zonas ya creadas y cada una de ellas con una finalidad y normas, por ejemplo, ¿qué normas tiene la zona «&#039;&#039;&#039;FedoraServer&#039;&#039;&#039;«?&lt;br /&gt;
&lt;br /&gt;
Ejecutamos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo firewall-cmd --zone=FedoraServer --list-all&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con el resultado similar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FedoraServer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target: default&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ingress-priority: 0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;egress-priority: 0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;icmp-block-inversion: no&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;interfaces:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sources:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;services: cockpit dhcpv6-client ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ports:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;protocols:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;forward: yes&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;masquerade: no&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;forward-ports:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;source-ports:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;icmp-blocks:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;rich rules:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Este resultado es de una instalación limpia en el que permite el acceso al programa «cockpit«, permite el tráfico via «SSH» y ser cliente DHCP.&lt;br /&gt;
&lt;br /&gt;
Un resultado más práctico en un servidor configurado:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FedoraServer (active)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;target: default&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;icmp-block-inversion: no&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;interfaces: eno1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sources:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;services: cockpit dhcpv6-client http https imap mountd nfs nfs3 pop3 rpc-bind samba samba-client samba-dc smtp ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ports: 10443/tcp 1080/tcp 6379/tcp 11211/tcp 9980/tcp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;protocols:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;forward: yes&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;masquerade: no&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;forward-ports:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;source-ports:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;icmp-blocks:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;rich rules:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aquí ya vemos servicios activos ( samba, nfs, ssh, http…. ), así como puertos específicos (10443, 9980…).&lt;br /&gt;
&lt;br /&gt;
Y, ¿cual es la zona por defecto? Para eso le preguntamos con:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo firewall-cmd --get-default-zone&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
por ejemplo, en el caso actual respondería la zona:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FedoraServer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para cambiar la zona por defecto:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo firewall-cmd --set-default-zone=public&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En la que especificamos el conjunto «&#039;&#039;&#039;public&#039;&#039;&#039;«&lt;br /&gt;
&lt;br /&gt;
== Añadir puertos a una zona ==&lt;br /&gt;
Para añadir puertos de forma permanente podemos hacerlo especificando el puerto:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo firewall-cmd --zone=FedoraServer --add-port=8080/tcp --permanent&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;--zone=FedoraServer&#039;&#039;&#039;&amp;lt;/code&amp;gt;: Esto especifica que deseas añadir el puerto a la zona &amp;lt;code&amp;gt;&#039;&#039;&#039;FedoraServer&#039;&#039;&#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;--add-port=8080/tcp&#039;&#039;&#039;&amp;lt;/code&amp;gt;: Indica que deseas abrir el puerto &#039;&#039;&#039;8080&#039;&#039;&#039; y especifica el protocolo &#039;&#039;&#039;TCP&#039;&#039;&#039;. Puedes ajustar el número de puerto y el protocolo según tus necesidades.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;--permanent&#039;&#039;&#039;&amp;lt;/code&amp;gt;: Hace que la regla sea persistente a través de reinicios.&lt;br /&gt;
&lt;br /&gt;
Si prefieres añadir un servicio en lugar de un puerto a la zona &amp;lt;code&amp;gt;&#039;&#039;&#039;FedoraServer&#039;&#039;&#039;&amp;lt;/code&amp;gt;, puedes hacerlo de la siguiente manera. Por ejemplo, para permitir el servicio &#039;&#039;&#039;SSH&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo firewall-cmd --zone=FedoraServer --add-service=ssh --permanent&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;--zone=FedoraServer&#039;&#039;&#039;&amp;lt;/code&amp;gt;: Esto especifica que deseas añadir el servicio a la zona &amp;lt;code&amp;gt;&#039;&#039;&#039;FedoraServer&#039;&#039;&#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;--add-service=ssh&#039;&#039;&#039;&amp;lt;/code&amp;gt;: Indica que deseas permitir el servicio &#039;&#039;&#039;SSH&#039;&#039;&#039; en la zona.&lt;br /&gt;
&lt;br /&gt;
También podemos añadir un rango de puertos, por ejemplo, un rango de 21114 a 21119 de protocolo TCP de la zona externa:&lt;br /&gt;
 sudo firewall-cmd --zone=external --add-port=21114-21119/tcp&lt;br /&gt;
Por cierto, para saber todos los servicios disponibles, ejecutemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo firewall-cmd --list-services&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y la lista puede cambiar según los servicios instalados en el equipo.&lt;br /&gt;
&lt;br /&gt;
Y por último aplicamos las normas:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo firewall-cmd --reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Y como elimino puertos o servicios? ==&lt;br /&gt;
Para eliminarlo podemos ejecutar:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo firewall-cmd --remove-port=8888/tcp&amp;lt;/code&amp;gt;&lt;br /&gt;
O para eliminar el servicio, por ejemplo «plex»&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo firewall-cmd --remove-service=plex&amp;lt;/code&amp;gt;&lt;br /&gt;
O de una zona específica:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo firewall-cmd --zone=NOMBRE_DE_LA_ZONA --remove-port=PUERTO/tcp&amp;lt;/code&amp;gt;&lt;br /&gt;
Y por último solo falta recargarlo:&lt;br /&gt;
 &amp;lt;code&amp;gt;sudo firewall-cmd --reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NOTA FINAL ==&lt;br /&gt;
Es importante recalcar que en esta entrada se explica lo mínimo para conocer su funcionamiento y que se recomienda explorar con calma el manual del comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;man firewall-cmd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enlace oficial:&lt;br /&gt;
&lt;br /&gt;
https://www.redhat.com/sysadmin/beginners-guide-firewalld&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=ANSIBLE&amp;diff=529</id>
		<title>ANSIBLE</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=ANSIBLE&amp;diff=529"/>
		<updated>2025-01-16T15:38:25Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Enlaces */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
&#039;&#039;&#039;Ansible&#039;&#039;&#039; es una plataforma de software libre para configurar y administrar ordenadores. Combina instalación multi-nodo (es decir: permite desplegar configuraciones de servidores y servicios por lotes), ejecuciones de tareas ad hoc y administración de configuraciones. Adicionalmente, Ansible es categorizado como una herramienta de orquestación.​ Gestiona nodos a través de [[SSH]] y no requiere ningún software remoto adicional (excepto Python 2.4 o posterior​) para instalarlo. Dispone de módulos que trabajan sobre JSON y la salida estándar puede ser escrita en cualquier lenguaje. Nativamente utiliza YAML para describir configuraciones re-usables de los sistemas.&lt;br /&gt;
&lt;br /&gt;
En resumen, ansible se ejecuta desde un equipo y se conecta por SSH al resto de una serie de equipos definidos en un fichero de inventario y sin necesitar de tener ningún cliente previamente configurado. Con Ansible podremos instalar programas, guardar configuraciones de los equipos clientes.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
Siguiendo con la base de un servidor [[Fedora]] o similar basado en RHEL ejecutamos:&amp;lt;blockquote&amp;gt;sudo dnf installl ansible -y&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuraciones previas en los nodos gestionados ==&lt;br /&gt;
Los nodos gestionados son los equipos que recibirán las peticiones por &#039;&#039;&#039;ansible&#039;&#039;&#039; mediante [[SSH]], un protocolo común en todos los equipos, y perfiles elevados con [[sudo]] o [[root]]. &lt;br /&gt;
&lt;br /&gt;
=== Configuración SSH ===&lt;br /&gt;
Recordemos que [[SSH]] es un protocolo de comunicación seguro común en todas las distribuciones y que ya se explicó como instalar en equipos clientes y que ya viene integrado en todos los servidores. &lt;br /&gt;
&lt;br /&gt;
En esta práctica sí que es importante que podamos acceder sin necesidad de llave, cosa que [[SSH#Conexión con llave digital (sin contraseña)|ya se explica en esta misma wiki]]. &lt;br /&gt;
&lt;br /&gt;
=== Configuración sudoers ===&lt;br /&gt;
Un usuario &#039;&#039;&#039;sudoer&#039;&#039;&#039; es aquel que puede ejecutar comandos de root poniendo un &amp;quot;sudo&amp;quot; delante, por ejemplo, &amp;quot;&#039;&#039;dnf update&#039;&#039;&amp;quot; como tal no podríamos ejecutarlo sin ser &#039;&#039;&#039;root&#039;&#039;&#039; al no tener permisos, pero &amp;quot;&#039;&#039;sudo dnf update&#039;&#039;&amp;quot; permite elevar el usuario a ejecutar un comando como &amp;quot;&#039;&#039;&#039;su&#039;&#039;&#039;&amp;quot;, de ahí &amp;quot;&#039;&#039;&#039;sudo&#039;&#039;&#039;&amp;quot; o &amp;quot;&#039;&#039;&#039;super user do&#039;&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, el primer usuario de una instalación ya tiene estos permisos, pero para llevarlo a esta práctica, vamos a crear un usuario común y que tenga permisos de administración y, por seguridad, no habilitaremos el usuario &amp;quot;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Vamos a crear un usuario común llamado &amp;quot;&#039;&#039;&#039;suport&#039;&#039;&#039;&amp;quot; (en el caso de no haberlo creado durante la instalación y que será común en todos los nodos):&amp;lt;blockquote&amp;gt;sudo useradd suport&amp;lt;/blockquote&amp;gt;I asignamos una contraseña:&amp;lt;blockquote&amp;gt;sudo passwd suport&amp;lt;/blockquote&amp;gt;Ahora, le añadimos los grupos de administración:&amp;lt;blockquote&amp;gt;sudo usermod -a -G adm,wheel suport&amp;lt;/blockquote&amp;gt;Y con esto, el usuario ya es administrador, ahora, por último, le permitiremos que el usuario pueda ejecutar comandos de &amp;quot;sudo&amp;quot; sin necesidad de volver a añadir la contraseña, considerando el riesgo de seguridad que conlleva, aunque es mejor que dar acceso libre al usuario root. Para eso editaremos el fichero de sudoers con:&amp;lt;blockquote&amp;gt;sudo visudo&amp;lt;/blockquote&amp;gt;Esto abrirá el editor de sistema y añadiremos, al final, por ejemplo, la línea:&amp;lt;blockquote&amp;gt;suport   ALL=(ALL)  NOPASSWD:ALL&amp;lt;/blockquote&amp;gt;Con esto le otorgamos acceso a TODOS los comandos y a ninguno pedirá contraseña.&lt;br /&gt;
&lt;br /&gt;
Ahora basta con cerrar sesión, iniciar de nuevo son &amp;quot;suport&amp;quot; y ejecutar cualquier comando con &amp;quot;sudo&amp;quot; y veremos que no pide la contraseña, por ejemplo:&amp;lt;blockquote&amp;gt;sudo dnf update --refresh -y&amp;lt;/blockquote&amp;gt;Que permite la actualización del sistema. &lt;br /&gt;
&lt;br /&gt;
== El inventario ==&lt;br /&gt;
Primero vamos a generar un fichero donde tendremos un &#039;&#039;&#039;inventario&#039;&#039;&#039; de los equipos por nombre o IP a los que aplicaremos los comandos o módulos. Un ejemplo sería el fichero &amp;quot;maquinas&amp;quot; con un contenido similar:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[REHL]&lt;br /&gt;
&lt;br /&gt;
rocky9&lt;br /&gt;
&lt;br /&gt;
fedorawks&lt;br /&gt;
&lt;br /&gt;
[Ubuntu]&lt;br /&gt;
&lt;br /&gt;
lkservidor&lt;br /&gt;
&lt;br /&gt;
lkedu22&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANTE&#039;&#039;&#039; - estos equipos han de responder a ping y acceso por &#039;&#039;&#039;SSH&#039;&#039;&#039; para poder acceder.&lt;br /&gt;
&lt;br /&gt;
En este fichero estoy dando dos tipos de grupos, con dos equipos de distribución basados correspondientes. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039; - Si no tenemos acceso por nombre y si por IP podemos configurar el fichero &amp;quot;&#039;&#039;&#039;/etc/hosts&#039;&#039;&#039;&amp;quot; del equipo ansible con un añadido:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
192.168.122.10  rocky9&lt;br /&gt;
&lt;br /&gt;
192.168.122.11  fedorawks&lt;br /&gt;
&lt;br /&gt;
192.168.122.12  lkedu22&lt;br /&gt;
&lt;br /&gt;
192.168.122.240 lkservidor&amp;lt;/blockquote&amp;gt;De esta manera podremos &amp;quot;llamar&amp;quot; a los equipos por su nombre.&lt;br /&gt;
&lt;br /&gt;
== Comandos ad-hoc ==&lt;br /&gt;
&#039;&#039;&#039;Los comandos ad-hoc&#039;&#039;&#039; en &#039;&#039;&#039;Ansible&#039;&#039;&#039; son una forma rápida y sencilla de ejecutar una tarea única en uno o varios hosts de tu inventario. Imagina que necesitas instalar un paquete específico en todos tus servidores de producción. En lugar de crear un playbook completo, puedes utilizar un comando ad-hoc para realizar esta tarea de manera inmediata.&lt;br /&gt;
&lt;br /&gt;
=== Ejemplo con una máquina ===&lt;br /&gt;
La primera prueba es un comando sobre una sola máquina:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
ansible -i maquinas rocky9 -m ping -u suport&amp;lt;/blockquote&amp;gt;En este caso llamamos al inventario del ejemplo anterior &amp;quot;maquinas&amp;quot; y de este fichero al equipo &amp;quot;rocky9&amp;quot; del que cargamos el módulo &amp;quot;ping&amp;quot; y mediante el usuario &amp;quot;suport&amp;quot; &lt;br /&gt;
&lt;br /&gt;
El procedimiento es conectarse por SSH con usario &amp;quot;suport&amp;quot; (y así nos aseguramos la conexión) y éste realiza un ping devolviendo:&amp;lt;blockquote&amp;gt;rocky9 | SUCCESS =&amp;gt; {&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;ansible_facts&amp;quot;: {&lt;br /&gt;
&lt;br /&gt;
       &amp;quot;discovered_interpreter_python&amp;quot;: &amp;quot;/usr/bin/python&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   },&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;changed&amp;quot;: false,&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;ping&amp;quot;: &amp;quot;pong&amp;quot;&lt;br /&gt;
&lt;br /&gt;
}&amp;lt;/blockquote&amp;gt;Conforme confirma que ha hecho el ping con un &amp;quot;SUCCESS&amp;quot; y no han habido cambios.&lt;br /&gt;
&lt;br /&gt;
=== Ejemplo con varias máquinas ===&lt;br /&gt;
Podemos ejecutar el mismo comando para todas las máquinas del inventario:&amp;lt;blockquote&amp;gt;ansible -i maquinas all -m ping -u suport&amp;lt;/blockquote&amp;gt;Donde se ejecutaría sobre todas las máquinas del inventario.&lt;br /&gt;
&lt;br /&gt;
IMPORTANTE - el orden de las respuestas varía según la respuesta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ejemplo de comandos/shell ===&lt;br /&gt;
Los siguientes ejemplos son para lanzar comandos o script sobre equipos inventariados, por ejemplo&amp;lt;blockquote&amp;gt;ansible -i maquinas rocky9 -m command -a &amp;quot;date&amp;quot; -u suport&amp;lt;/blockquote&amp;gt;En este caso lanzamos a un ordenador del inventario &amp;quot;maquinas&amp;quot; el módulo de comandos con el argumento &amp;quot;date&amp;quot; mediante el usuario &amp;quot;suport&amp;quot;. El resultado sería:&amp;lt;blockquote&amp;gt;rocky9 | CHANGED | rc=0 &amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wed Nov  6 12:41:36 CET 2024&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
CHANGED, que ha aplicado el comando, rc=0 indica que no han habido errores y por último, el dia y la hora.&lt;br /&gt;
ATENCIÓN - en el módulo de comando no podemos lanzar concatenaciones, por ejemplo si lanzamos:&amp;lt;blockquote&amp;gt;ansible -i maquinas rocky9 -m command -a &amp;quot;ls -l / | grep p&amp;quot; -u suport&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Devolverá el listado de la raíz del sistema y un error de desconocimiento de &amp;quot;grep&amp;quot; y &amp;quot;p&amp;quot;, ya que las tuberías son comandos irreconocibles, otra cosa es utilizar el módulo shell: &amp;lt;blockquote&amp;gt;ansible -i maquinas rocky9 -m shell -a &amp;quot;ls -l / | grep p&amp;quot; -u suport &amp;lt;/blockquote&amp;gt;Y ahora si que resolverá correctamente el resultado devolviendo todos los directorios que contenga el carácter &amp;quot;p&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Ejemplos de módulo setup ===&lt;br /&gt;
Con el siguiente módulo podemos obtener un inventario en versión &amp;quot;json&amp;quot; del equipos o los equipos del fichero de inventario, para eso, y siguiendo los ejemplos anteriores, ejecutamos:&amp;lt;blockquote&amp;gt;ansible -i maquinas rocky9 -m setup -u suport&amp;lt;/blockquote&amp;gt;Entre tantos datos nos devuelve los datos de IP, CPU, versión del sistema.... Estos datos se presentan en variables &amp;quot;facts&amp;quot; o variables de hecho que se pueden utilizar más adelante.&lt;br /&gt;
&lt;br /&gt;
=== Ejemplos de copia de ficheros ===&lt;br /&gt;
Con el siguiente ejemplo podemos copiar ficheros o directorios de nuestro equipo a todos los inventariados resolviendo la potencia de ansible. Este módulo resulta de &amp;quot;ansible.builtin.copy&amp;quot;, de hecho, es uno de los módulos ya integrados en el sistema.&amp;lt;blockquote&amp;gt;&lt;br /&gt;
ansible -i maquinas rocky9 -m  copy -a &amp;quot;src=/srv/datos/fstab dest=/tmp/fstab.rocky9 &amp;quot; -u suport&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Con esto vamos a copiar el fichero &#039;&#039;&#039;fstab&#039;&#039;&#039; de directorio &#039;&#039;&#039;/srv/datos&#039;&#039;&#039; al directorio &#039;&#039;&#039;/tmp/&#039;&#039;&#039; de la máquina &#039;&#039;&#039;roky9&#039;&#039;&#039; bajo el nombre &#039;&#039;&#039;fstab.rocky9,&#039;&#039;&#039; demostrando que podemos cambiar el nombre del fichero destino una vez copiado.&lt;br /&gt;
&lt;br /&gt;
 Lo mismo pasaría copiando directorios, por ejemplo:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
 ansible -i maquinas rocky9 -m  copy -a &amp;quot;src=/srv/datos/ dest=/tmp/ &amp;quot; -u suport&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
En este caso va a copiar todo el directorio &#039;&#039;&#039;/srv/datos&#039;&#039;&#039; a &#039;&#039;&#039;/tmp&#039;&#039;&#039; de &#039;&#039;&#039;rocky9&#039;&#039;&#039; y, como el directorio datos no existe, el resultado va a quedar en /tmp/datos, ya que, además, la copia va a ser recursiva.&lt;br /&gt;
Por último, vamos a copiar un fichero y lo vamos a cambiar el nombre, además de cambiar las propiedades (podéis mirar la sección de [[Comandos básicos en linux]]):&amp;lt;blockquote&amp;gt;ansible -i maquinas rocky9 -m  copy -a &amp;quot;src=/srv/datos/fstab dest=/tmp/fstab.rocky9  mode=0775&amp;quot; -u suport&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ejemplo de trabajo con DNF o YUM y servicios ===&lt;br /&gt;
Existe el módulo de dnf como yum para poder instalar y ejecutar servicios, por ejemplo, queremos instalarle al servidor el paquete [[Apache]] para crear el servicio web, para eso podemos utilitzar:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
ansible -i maquinas rocky9 -m dnf -a &amp;quot;name=&#039;httpd&#039; state=present&amp;quot; -u suport -b&amp;lt;/blockquote&amp;gt;Con esto vamos a instalar el paquete httpd a la versión actualizada mediante el usuario suport y lo elevamos a &amp;quot;sudo&amp;quot; con -b. Con este comando se instalará el servicio, pero no estará activo, para eso tenemos que añadir el &amp;quot;servicio&amp;quot;:&amp;lt;blockquote&amp;gt;ansible -i maquinas rocky9 -m service -a &amp;quot;name=&#039;httpd&#039; state=started&amp;quot; -u suport -b&amp;lt;/blockquote&amp;gt;Es decir, siguiendo con la instalación, vamos a darle un inicio al estado del servicio.&lt;br /&gt;
 NOTA - En caso de no haber configurado el destino para acceder sin contraseña, le podemos decir que pregunte por ella con:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
ansible -i maquinas rocky9 -m dnf -a &amp;quot;name=&#039;httpd&#039; state=present&amp;quot; -u suport -b --ask-become&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
De esta manera se conectará por SSH, como viene siendo habitual, y nos preguntará por la contraseña de &amp;quot;sudo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Fichero de configuración global ==&lt;br /&gt;
Se pueden especificar configuraciones globales de usuario como, por ejemplo, el inventario y otras variables que se aplicarán por defecto en la llamada a los playbooks.&lt;br /&gt;
Este fichero se encuentra en la raid del usuario:&amp;lt;blockquote&amp;gt;vi ~/.ansible.cfg&amp;lt;/blockquote&amp;gt;Y puede tener un valor como este:&amp;lt;blockquote&amp;gt;[defaults]&lt;br /&gt;
&lt;br /&gt;
inventory=./Utils/ansible/maquinesvm.yaml&amp;lt;/blockquote&amp;gt;En el que defino la ruta del inventario por plantilla desde la raiz del usuario.&lt;br /&gt;
&lt;br /&gt;
== Trabajando con plantillas o playbooks. ==&lt;br /&gt;
Las plantillas son ficheros que van a resumir ciertas acciones o inventarios, por ejemplo tengo el siguiente fichero de inventario:&lt;br /&gt;
&lt;br /&gt;
Siguiendo el caso del fichero de configuración global, tenemos el contenido del fichero:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
vi ~/Utils/ansible/maquiensvm.yaml&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Con el siguiente inventario:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
all:&lt;br /&gt;
&lt;br /&gt;
  hosts:&lt;br /&gt;
&lt;br /&gt;
   mainkivi.info:&lt;br /&gt;
&lt;br /&gt;
     ansible_port: 22103&lt;br /&gt;
&lt;br /&gt;
  children:&lt;br /&gt;
&lt;br /&gt;
   rehl:&lt;br /&gt;
&lt;br /&gt;
     hosts:&lt;br /&gt;
&lt;br /&gt;
       rocky9:&lt;br /&gt;
&lt;br /&gt;
       mainkivi.info:&lt;br /&gt;
&lt;br /&gt;
       fedorawks:&lt;br /&gt;
&lt;br /&gt;
ubuntu:&lt;br /&gt;
&lt;br /&gt;
hosts:&lt;br /&gt;
&lt;br /&gt;
ubuntu1:&lt;br /&gt;
&lt;br /&gt;
ubuntu2:&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
En este fichero tengo un inventario con tres máquinas, una de ellas con un puerto específico de conexión por [[SSH]] y también tengo dos grupos de equipos ( children ), estos grupos son &amp;quot;rehl&amp;quot; con tres equipos y &amp;quot;ubuntu&amp;quot; con dos equipos.&lt;br /&gt;
&lt;br /&gt;
Para llamar a este inventario, lo mejor es tener un fichero de configuración global de usuario &amp;quot;ansible.conf&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enlaces ==&lt;br /&gt;
&lt;br /&gt;
* [https://es.wikipedia.org/wiki/Ansible_(software) Definición en wikipedia.]&lt;br /&gt;
* [https://www.ansible.com/ Página oficial.]&lt;br /&gt;
* [https://docs.ansible.com/ansible/latest/ Documentación de la comunidad oficial]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Byobu&amp;diff=528</id>
		<title>Byobu</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Byobu&amp;diff=528"/>
		<updated>2025-01-16T09:43:14Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Atajos oficiales */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.byobu.org/ Byobu] es un programa sencillo y completo que permite generar terminales virtuales y puedes aprovechar mediante conexiones SSH a otros equipos que, aunque pierdas la conexión, se puede recuperar de manera sencilla.&lt;br /&gt;
&lt;br /&gt;
Byobu se basa en los programas [[TMUX|Tmux]] y &#039;&#039;&#039;[https://www.gnu.org/software/screen/manual/screen.html Screen]&#039;&#039;&#039; que permiten crear &amp;quot;ventanas&amp;quot; y &amp;quot;sesiones&amp;quot; sobre un terminal.&lt;br /&gt;
&lt;br /&gt;
Para instalarlo solo hay que ejecutar:&lt;br /&gt;
 sudo dnf install byobu&lt;br /&gt;
Y ejecutarlo es tan sencillo como escribir:&lt;br /&gt;
 byobu&lt;br /&gt;
Este comando lo utilizaremos para ejecutar el programa como para recuperar los terminales ejecutados. Una vez ejecutado veremos la consola abierta y en la parte inferior veremos por orden:&lt;br /&gt;
&lt;br /&gt;
El sistema o icono de la distribución, la versión de la distribución, los terminales abiertos (por números), datos del sistema como el tiempo que lleva encendido, el equipo, estado del los procesadores, la RAM, SWAP y por último el día y la hora actual.&lt;br /&gt;
&lt;br /&gt;
Este programa, personalmente, lo utilizo para tener un terminal con el monitorio del sistema, por ejemplo &#039;&#039;&#039;btop&#039;&#039;&#039; o &#039;&#039;&#039;htop&#039;&#039;&#039;, otro terminal para ejecutar ciertas órdenes, otro que genere informes de registros…&lt;br /&gt;
&lt;br /&gt;
Para navegar por el programa tenemos los comandos más comunes:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Shift + F1&#039;&#039;&#039; – muestra el menú de ayuda.&lt;br /&gt;
* &#039;&#039;&#039;CTRL + a + C&#039;&#039;&#039; – crea un terminal nuevo&lt;br /&gt;
* &#039;&#039;&#039;CTRL + a + «número de terminal»&#039;&#039;&#039; – por ejemplo, CTRL + A + 1 te llevaría al terminal 1&lt;br /&gt;
* &#039;&#039;&#039;CTRL + a + «&#039;&#039;&#039; – lista los terminales abiertos&lt;br /&gt;
&lt;br /&gt;
Aquí os dejo mi resumen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=V6JKoDsafCE&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Atajos oficiales ==&lt;br /&gt;
Igualmente, byobu ya permite ver sus atajaos con solo las teclas &amp;quot;MAY + F1&amp;quot;.&lt;br /&gt;
[[Archivo:Byobu atajos oficiales.png|centro|miniaturadeimagen]]&lt;br /&gt;
Siguiendo este ejemplo podemos tener una &amp;quot;ventana&amp;quot; con dos ventanas verticales y una horizontal para poder monitorizar el sistema y tener la opción de ejecutar más comandos como el ejemplo:&lt;br /&gt;
[[Archivo:Byobu ventanas.png|centro|miniaturadeimagen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primero dividiremos la ventana en dos horizontales con &amp;quot;MAY + F2&amp;quot;, ahora volvemos a la ventana de arriba con &amp;quot; MAY + cursor izq.&amp;quot; y creamos una ventana vertical con &amp;quot;CTRL + F2&amp;quot; y para movernos entre las ventanas solo tenemos que utilizar la tecla &amp;quot;MAYÚSCULA&amp;quot; y el cursor correspondiente. &lt;br /&gt;
&lt;br /&gt;
Para cerrar las ventanas activas podemos escribir &amp;quot;exit&amp;quot; o las teclas &amp;quot;CTRL + F6&amp;quot; como se muestra en la ayuda.&lt;br /&gt;
&lt;br /&gt;
== Configuraciones adicionales ==&lt;br /&gt;
Cambiar el [[shell]] por defecto a [[Zsh]] [[Byobu]].&lt;br /&gt;
&lt;br /&gt;
Solo edita el fichero &amp;lt;blockquote&amp;gt;~.byobu/.tmux.conf&amp;lt;/blockquote&amp;gt;Añadiendo:&amp;lt;blockquote&amp;gt;set -g default-shell /bin/zsh&lt;br /&gt;
&lt;br /&gt;
set -g default-command /bin/zsh&amp;lt;/blockquote&amp;gt;Cierra las sesiones y vuelve a abrir.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=Nvim&amp;diff=527</id>
		<title>Nvim</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=Nvim&amp;diff=527"/>
		<updated>2025-01-14T15:47:57Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* CheckHealth */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Descripción =&lt;br /&gt;
[https://neovim.io/ Neovim] es un &#039;&#039;&#039;&#039;&#039;fork&#039;&#039;&#039;&#039;&#039; de [[Vim]] que apunta a mejorar la experiencia del usuario, el ecosistema de extensiones y las interfaces gráficas.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
&lt;br /&gt;
=== Por distribución ===&lt;br /&gt;
En todas las distribuciones existe la posibilidad de su instalación por repositorios, en [[Fedora]] se puede instalar con:&amp;lt;blockquote&amp;gt;sudo dnf install neovim&amp;lt;/blockquote&amp;gt;Y basta con ejecutar con:&amp;lt;blockquote&amp;gt;nvim&amp;lt;/blockquote&amp;gt;El funcionamiento por defecto es calcado a vim aunque podemos configurar extensiones para aumentar su rendimiento. &lt;br /&gt;
&lt;br /&gt;
=== Descarga oficial ===&lt;br /&gt;
Si trabajamos en una distribución más antigua podemos descargar la opción oficial:&amp;lt;blockquote&amp;gt;curl -LO &amp;lt;nowiki&amp;gt;https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sudo rm -rf /opt/nvim&lt;br /&gt;
&lt;br /&gt;
sudo tar -C /opt -xzf nvim-linux64.tar.gz&amp;lt;/blockquote&amp;gt;Y añadimos la ruta al entorno de terminal al final del fichero .bashrc o .zshrc:&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;export PATH=&amp;quot;$PATH:/opt/nvim-linux64/bin&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;Eso hará que se ejecute en nuestra sesión.&lt;br /&gt;
&lt;br /&gt;
Ahora basta ejecutar:&amp;lt;blockquote&amp;gt;nvim&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
[[Archivo:Nvim base.png|centro|miniaturadeimagen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= LazyVim =&lt;br /&gt;
Como su nombre indica, [https://www.lazyvim.org/ LazyVim] es una versión &amp;quot;baga&amp;quot; de modificar vim o neovim de tal manera que ya activa pluguins i temas haciendo que el editor pueda ser una gran alternativa a editores como [https://code.visualstudio.com/ Visual Studio Code] . Entre otras mejoras, permite la revisión de código, la introducción de una función y completarla, la revisión del código escrito...&lt;br /&gt;
&lt;br /&gt;
Puede integrarse con lenguajes como &#039;&#039;&#039;bash, php o python&#039;&#039;&#039; entre otros aunque permite la instalación desde su repositorio.&lt;br /&gt;
&lt;br /&gt;
Para instalarlo partimos que tenemos una instalación de neovim y abrimos un terminal para clonar el [[git]] y situarlo en el directorio de configuración de nvim.:&amp;lt;blockquote&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://github.com/LazyVim/starter&amp;lt;/nowiki&amp;gt; ~/.config/nvim&amp;lt;/blockquote&amp;gt;eliminamos el .git descargado:&amp;lt;blockquote&amp;gt;rm -rf ~/.config/nvim/.git&amp;lt;/blockquote&amp;gt;Y ejecutamos nvim para que salga el configurador:&amp;lt;blockquote&amp;gt;nvim&amp;lt;/blockquote&amp;gt;Por defecto es probable que algunos caracteres no se muestren bien, es por eso que habría que instalar fuentes de texto como se muestra en esta entrada.&lt;br /&gt;
&lt;br /&gt;
En unos segundos se mostraría todos los complementos instalados y si los ha de actualizar:&lt;br /&gt;
[[Archivo:Lazyvim1.png|centro|miniaturadeimagen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez acabado haríamos la tecla de &#039;&#039;&#039;ESC&#039;&#039;&#039; y se mostraría el menú inicial:&lt;br /&gt;
[[Archivo:Lazyvim2.png|centro|miniaturadeimagen]]&lt;br /&gt;
&lt;br /&gt;
=== CheckHealth ===&lt;br /&gt;
Esta es una de las funciones del complemento que permite revisar las posibles dependencias y errores que pueda encontrar, para ejecutarlo solo tenemos que escribir los &amp;quot;:&amp;quot; y en el cuadro de comandos escribir:&lt;br /&gt;
[[Archivo:Lazyvim01.png|centro|miniaturadeimagen]]&lt;br /&gt;
Y esto nos devuelve una revisión con los posibles errores y advertencias de funcionamiento o dependencias. &lt;br /&gt;
[[Archivo:Lazyvim checkhealth.png|centro|miniaturadeimagen]]&lt;br /&gt;
En este ejemplo podemos ver que faltan los programas &amp;quot;fd&amp;quot; y &amp;quot;lazygit&amp;quot;, para instalar el primer lo podemos hacer desde repos con:&amp;lt;blockquote&amp;gt;sudo dnf install fd-find lua luarocks&amp;lt;/blockquote&amp;gt;Y para instalar &amp;quot;lazygit&amp;quot; lo haremos desde el &amp;quot;[https://github.com/jesseduffield/lazygit/releases git]&amp;quot; oficial, en este caso por la versión 0.42 y arquitectura de 64b:&amp;lt;blockquote&amp;gt;wget &amp;lt;nowiki&amp;gt;https://github.com/jesseduffield/lazygit/releases/download/v0.42.0/lazygit_0.42.0_Linux_arm64.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
tar xzvf lazygit_0.42.0_Linux_arm64.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo mv lazygit /usr/local/bin/&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;Y comprobamos la versión &amp;lt;blockquote&amp;gt;lazygit -v&amp;lt;/blockquote&amp;gt;Con un resultado como este:&amp;lt;blockquote&amp;gt;commit=6fcb7eb8bb616c170506312870b3bf15f3dbe37c, build date=2024-05-19T10:15:28Z, build source=binaryRelease, version=0.42.0, os=linux, arch=arm64, git version=2.45.2&amp;lt;/blockquote&amp;gt;Volvemos a abrir &amp;quot;nvim&amp;quot;, volvemos a ejecutar el checkhealth y...&lt;br /&gt;
[[Archivo:Lazyvim-checkhealth2.png|centro|miniaturadeimagen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalando herramientas con Mason ===&lt;br /&gt;
Mason nos permite instalar herramientas para nvim, sobretodo para desarrollo, por ejemplo, si estamos creando un script y queremos añadir comandos condicionales como &amp;quot;if&amp;quot; o &amp;quot;case&amp;quot;, basta con escribir el nombre y el genera toda la función. Para eso debemos añadir estas herramientas con el programa abierto y abriendo el &amp;quot;CMDline&amp;quot; con &amp;quot;:&amp;quot; y escribimos:&amp;lt;blockquote&amp;gt;Mason&amp;lt;/blockquote&amp;gt;Esto nos abre una nueva opción con el listado de herramientas instaladas y las disponibles, basta con buscar una ( con CTRL + F ) y seleccionarla con &amp;quot;i&amp;quot;, por ejemplo, quiero instalar herramientas para el desarrollo y programación con bash, pues busco:&amp;lt;blockquote&amp;gt;bash&amp;lt;/blockquote&amp;gt;Y selecciono:&amp;lt;blockquote&amp;gt;beautysh&lt;br /&gt;
&lt;br /&gt;
spellcheck &lt;br /&gt;
&lt;br /&gt;
bash-language-server&amp;lt;/blockquote&amp;gt;Apretando &amp;quot;i&amp;quot; en cada una de ellas y esto lo instalará automáticamente.&lt;br /&gt;
&lt;br /&gt;
= Extra - fuente de texto =&lt;br /&gt;
Para completar la instalación, se recomienda la instalación de [https://www.nerdfonts.com/ Nerd Fonts].&lt;br /&gt;
&lt;br /&gt;
Para instalarlas basta con descargarlas y descomprimirlas, por ejemplo descargamos las &amp;quot;0xProto Nerd Font&amp;quot;:&amp;lt;blockquote&amp;gt;curl -LO https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/0xProto.zip&amp;lt;/blockquote&amp;gt;y descomprimimos:&amp;lt;blockquote&amp;gt;unzip 0xProto.zip&amp;lt;/blockquote&amp;gt;Previamente, podemos crear el directorio personal para las fuentes:&amp;lt;blockquote&amp;gt;mkdir ~/.fonts&amp;lt;/blockquote&amp;gt;Y ahora si podemos copiar el resultado:&amp;lt;blockquote&amp;gt;cp *.ttf ~/.fonts&amp;lt;/blockquote&amp;gt;Ahora podemos configurar en el terminal o el sistema, por ejemplo con el Gnome Terminal podemos modificar las &amp;quot;Preferencias&amp;quot;:&lt;br /&gt;
[[Archivo:GnomeTerminalPreferences.png|centro|miniaturadeimagen]]&lt;br /&gt;
&lt;br /&gt;
== Navegación básica ==&lt;br /&gt;
Aparte de los atajos de [[Vi]] , nos encontramos nuevos detalles que nos facilitarán el uso, el primero es la tecla &amp;quot;leader&amp;quot; que nos lleva a un menú de opciones que nos permite de manera rápida acceder a un depurador, a un árbol lateral de ficheros, un buscador...&lt;br /&gt;
[[Archivo:Lazyvim-leadermenu.png|centro|miniaturadeimagen]]&lt;br /&gt;
Esto, más los atajos de Vi, las opciones que nos da lazyvim y sus complementos, hace de este editor de consola una gran alternativa de otros más profesionales.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mainkivi.info:443/wiki/index.php?title=ANSIBLE&amp;diff=526</id>
		<title>ANSIBLE</title>
		<link rel="alternate" type="text/html" href="https://mainkivi.info:443/wiki/index.php?title=ANSIBLE&amp;diff=526"/>
		<updated>2025-01-12T17:45:58Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
&#039;&#039;&#039;Ansible&#039;&#039;&#039; es una plataforma de software libre para configurar y administrar ordenadores. Combina instalación multi-nodo (es decir: permite desplegar configuraciones de servidores y servicios por lotes), ejecuciones de tareas ad hoc y administración de configuraciones. Adicionalmente, Ansible es categorizado como una herramienta de orquestación.​ Gestiona nodos a través de [[SSH]] y no requiere ningún software remoto adicional (excepto Python 2.4 o posterior​) para instalarlo. Dispone de módulos que trabajan sobre JSON y la salida estándar puede ser escrita en cualquier lenguaje. Nativamente utiliza YAML para describir configuraciones re-usables de los sistemas.&lt;br /&gt;
&lt;br /&gt;
En resumen, ansible se ejecuta desde un equipo y se conecta por SSH al resto de una serie de equipos definidos en un fichero de inventario y sin necesitar de tener ningún cliente previamente configurado. Con Ansible podremos instalar programas, guardar configuraciones de los equipos clientes.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
Siguiendo con la base de un servidor [[Fedora]] o similar basado en RHEL ejecutamos:&amp;lt;blockquote&amp;gt;sudo dnf installl ansible -y&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuraciones previas en los nodos gestionados ==&lt;br /&gt;
Los nodos gestionados son los equipos que recibirán las peticiones por &#039;&#039;&#039;ansible&#039;&#039;&#039; mediante [[SSH]], un protocolo común en todos los equipos, y perfiles elevados con [[sudo]] o [[root]]. &lt;br /&gt;
&lt;br /&gt;
=== Configuración SSH ===&lt;br /&gt;
Recordemos que [[SSH]] es un protocolo de comunicación seguro común en todas las distribuciones y que ya se explicó como instalar en equipos clientes y que ya viene integrado en todos los servidores. &lt;br /&gt;
&lt;br /&gt;
En esta práctica sí que es importante que podamos acceder sin necesidad de llave, cosa que [[SSH#Conexión con llave digital (sin contraseña)|ya se explica en esta misma wiki]]. &lt;br /&gt;
&lt;br /&gt;
=== Configuración sudoers ===&lt;br /&gt;
Un usuario &#039;&#039;&#039;sudoer&#039;&#039;&#039; es aquel que puede ejecutar comandos de root poniendo un &amp;quot;sudo&amp;quot; delante, por ejemplo, &amp;quot;&#039;&#039;dnf update&#039;&#039;&amp;quot; como tal no podríamos ejecutarlo sin ser &#039;&#039;&#039;root&#039;&#039;&#039; al no tener permisos, pero &amp;quot;&#039;&#039;sudo dnf update&#039;&#039;&amp;quot; permite elevar el usuario a ejecutar un comando como &amp;quot;&#039;&#039;&#039;su&#039;&#039;&#039;&amp;quot;, de ahí &amp;quot;&#039;&#039;&#039;sudo&#039;&#039;&#039;&amp;quot; o &amp;quot;&#039;&#039;&#039;super user do&#039;&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Por defecto, el primer usuario de una instalación ya tiene estos permisos, pero para llevarlo a esta práctica, vamos a crear un usuario común y que tenga permisos de administración y, por seguridad, no habilitaremos el usuario &amp;quot;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Vamos a crear un usuario común llamado &amp;quot;&#039;&#039;&#039;suport&#039;&#039;&#039;&amp;quot; (en el caso de no haberlo creado durante la instalación y que será común en todos los nodos):&amp;lt;blockquote&amp;gt;sudo useradd suport&amp;lt;/blockquote&amp;gt;I asignamos una contraseña:&amp;lt;blockquote&amp;gt;sudo passwd suport&amp;lt;/blockquote&amp;gt;Ahora, le añadimos los grupos de administración:&amp;lt;blockquote&amp;gt;sudo usermod -a -G adm,wheel suport&amp;lt;/blockquote&amp;gt;Y con esto, el usuario ya es administrador, ahora, por último, le permitiremos que el usuario pueda ejecutar comandos de &amp;quot;sudo&amp;quot; sin necesidad de volver a añadir la contraseña, considerando el riesgo de seguridad que conlleva, aunque es mejor que dar acceso libre al usuario root. Para eso editaremos el fichero de sudoers con:&amp;lt;blockquote&amp;gt;sudo visudo&amp;lt;/blockquote&amp;gt;Esto abrirá el editor de sistema y añadiremos, al final, por ejemplo, la línea:&amp;lt;blockquote&amp;gt;suport   ALL=(ALL)  NOPASSWD:ALL&amp;lt;/blockquote&amp;gt;Con esto le otorgamos acceso a TODOS los comandos y a ninguno pedirá contraseña.&lt;br /&gt;
&lt;br /&gt;
Ahora basta con cerrar sesión, iniciar de nuevo son &amp;quot;suport&amp;quot; y ejecutar cualquier comando con &amp;quot;sudo&amp;quot; y veremos que no pide la contraseña, por ejemplo:&amp;lt;blockquote&amp;gt;sudo dnf update --refresh -y&amp;lt;/blockquote&amp;gt;Que permite la actualización del sistema. &lt;br /&gt;
&lt;br /&gt;
== El inventario ==&lt;br /&gt;
Primero vamos a generar un fichero donde tendremos un &#039;&#039;&#039;inventario&#039;&#039;&#039; de los equipos por nombre o IP a los que aplicaremos los comandos o módulos. Un ejemplo sería el fichero &amp;quot;maquinas&amp;quot; con un contenido similar:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
[REHL]&lt;br /&gt;
&lt;br /&gt;
rocky9&lt;br /&gt;
&lt;br /&gt;
fedorawks&lt;br /&gt;
&lt;br /&gt;
[Ubuntu]&lt;br /&gt;
&lt;br /&gt;
lkservidor&lt;br /&gt;
&lt;br /&gt;
lkedu22&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANTE&#039;&#039;&#039; - estos equipos han de responder a ping y acceso por &#039;&#039;&#039;SSH&#039;&#039;&#039; para poder acceder.&lt;br /&gt;
&lt;br /&gt;
En este fichero estoy dando dos tipos de grupos, con dos equipos de distribución basados correspondientes. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039; - Si no tenemos acceso por nombre y si por IP podemos configurar el fichero &amp;quot;&#039;&#039;&#039;/etc/hosts&#039;&#039;&#039;&amp;quot; del equipo ansible con un añadido:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
192.168.122.10  rocky9&lt;br /&gt;
&lt;br /&gt;
192.168.122.11  fedorawks&lt;br /&gt;
&lt;br /&gt;
192.168.122.12  lkedu22&lt;br /&gt;
&lt;br /&gt;
192.168.122.240 lkservidor&amp;lt;/blockquote&amp;gt;De esta manera podremos &amp;quot;llamar&amp;quot; a los equipos por su nombre.&lt;br /&gt;
&lt;br /&gt;
== Comandos ad-hoc ==&lt;br /&gt;
&#039;&#039;&#039;Los comandos ad-hoc&#039;&#039;&#039; en &#039;&#039;&#039;Ansible&#039;&#039;&#039; son una forma rápida y sencilla de ejecutar una tarea única en uno o varios hosts de tu inventario. Imagina que necesitas instalar un paquete específico en todos tus servidores de producción. En lugar de crear un playbook completo, puedes utilizar un comando ad-hoc para realizar esta tarea de manera inmediata.&lt;br /&gt;
&lt;br /&gt;
=== Ejemplo con una máquina ===&lt;br /&gt;
La primera prueba es un comando sobre una sola máquina:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
ansible -i maquinas rocky9 -m ping -u suport&amp;lt;/blockquote&amp;gt;En este caso llamamos al inventario del ejemplo anterior &amp;quot;maquinas&amp;quot; y de este fichero al equipo &amp;quot;rocky9&amp;quot; del que cargamos el módulo &amp;quot;ping&amp;quot; y mediante el usuario &amp;quot;suport&amp;quot; &lt;br /&gt;
&lt;br /&gt;
El procedimiento es conectarse por SSH con usario &amp;quot;suport&amp;quot; (y así nos aseguramos la conexión) y éste realiza un ping devolviendo:&amp;lt;blockquote&amp;gt;rocky9 | SUCCESS =&amp;gt; {&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;ansible_facts&amp;quot;: {&lt;br /&gt;
&lt;br /&gt;
       &amp;quot;discovered_interpreter_python&amp;quot;: &amp;quot;/usr/bin/python&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   },&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;changed&amp;quot;: false,&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;ping&amp;quot;: &amp;quot;pong&amp;quot;&lt;br /&gt;
&lt;br /&gt;
}&amp;lt;/blockquote&amp;gt;Conforme confirma que ha hecho el ping con un &amp;quot;SUCCESS&amp;quot; y no han habido cambios.&lt;br /&gt;
&lt;br /&gt;
=== Ejemplo con varias máquinas ===&lt;br /&gt;
Podemos ejecutar el mismo comando para todas las máquinas del inventario:&amp;lt;blockquote&amp;gt;ansible -i maquinas all -m ping -u suport&amp;lt;/blockquote&amp;gt;Donde se ejecutaría sobre todas las máquinas del inventario.&lt;br /&gt;
&lt;br /&gt;
IMPORTANTE - el orden de las respuestas varía según la respuesta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ejemplo de comandos/shell ===&lt;br /&gt;
Los siguientes ejemplos son para lanzar comandos o script sobre equipos inventariados, por ejemplo&amp;lt;blockquote&amp;gt;ansible -i maquinas rocky9 -m command -a &amp;quot;date&amp;quot; -u suport&amp;lt;/blockquote&amp;gt;En este caso lanzamos a un ordenador del inventario &amp;quot;maquinas&amp;quot; el módulo de comandos con el argumento &amp;quot;date&amp;quot; mediante el usuario &amp;quot;suport&amp;quot;. El resultado sería:&amp;lt;blockquote&amp;gt;rocky9 | CHANGED | rc=0 &amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wed Nov  6 12:41:36 CET 2024&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
CHANGED, que ha aplicado el comando, rc=0 indica que no han habido errores y por último, el dia y la hora.&lt;br /&gt;
ATENCIÓN - en el módulo de comando no podemos lanzar concatenaciones, por ejemplo si lanzamos:&amp;lt;blockquote&amp;gt;ansible -i maquinas rocky9 -m command -a &amp;quot;ls -l / | grep p&amp;quot; -u suport&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Devolverá el listado de la raíz del sistema y un error de desconocimiento de &amp;quot;grep&amp;quot; y &amp;quot;p&amp;quot;, ya que las tuberías son comandos irreconocibles, otra cosa es utilizar el módulo shell: &amp;lt;blockquote&amp;gt;ansible -i maquinas rocky9 -m shell -a &amp;quot;ls -l / | grep p&amp;quot; -u suport &amp;lt;/blockquote&amp;gt;Y ahora si que resolverá correctamente el resultado devolviendo todos los directorios que contenga el carácter &amp;quot;p&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Ejemplos de módulo setup ===&lt;br /&gt;
Con el siguiente módulo podemos obtener un inventario en versión &amp;quot;json&amp;quot; del equipos o los equipos del fichero de inventario, para eso, y siguiendo los ejemplos anteriores, ejecutamos:&amp;lt;blockquote&amp;gt;ansible -i maquinas rocky9 -m setup -u suport&amp;lt;/blockquote&amp;gt;Entre tantos datos nos devuelve los datos de IP, CPU, versión del sistema.... Estos datos se presentan en variables &amp;quot;facts&amp;quot; o variables de hecho que se pueden utilizar más adelante.&lt;br /&gt;
&lt;br /&gt;
=== Ejemplos de copia de ficheros ===&lt;br /&gt;
Con el siguiente ejemplo podemos copiar ficheros o directorios de nuestro equipo a todos los inventariados resolviendo la potencia de ansible. Este módulo resulta de &amp;quot;ansible.builtin.copy&amp;quot;, de hecho, es uno de los módulos ya integrados en el sistema.&amp;lt;blockquote&amp;gt;&lt;br /&gt;
ansible -i maquinas rocky9 -m  copy -a &amp;quot;src=/srv/datos/fstab dest=/tmp/fstab.rocky9 &amp;quot; -u suport&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Con esto vamos a copiar el fichero &#039;&#039;&#039;fstab&#039;&#039;&#039; de directorio &#039;&#039;&#039;/srv/datos&#039;&#039;&#039; al directorio &#039;&#039;&#039;/tmp/&#039;&#039;&#039; de la máquina &#039;&#039;&#039;roky9&#039;&#039;&#039; bajo el nombre &#039;&#039;&#039;fstab.rocky9,&#039;&#039;&#039; demostrando que podemos cambiar el nombre del fichero destino una vez copiado.&lt;br /&gt;
&lt;br /&gt;
 Lo mismo pasaría copiando directorios, por ejemplo:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
 ansible -i maquinas rocky9 -m  copy -a &amp;quot;src=/srv/datos/ dest=/tmp/ &amp;quot; -u suport&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
En este caso va a copiar todo el directorio &#039;&#039;&#039;/srv/datos&#039;&#039;&#039; a &#039;&#039;&#039;/tmp&#039;&#039;&#039; de &#039;&#039;&#039;rocky9&#039;&#039;&#039; y, como el directorio datos no existe, el resultado va a quedar en /tmp/datos, ya que, además, la copia va a ser recursiva.&lt;br /&gt;
Por último, vamos a copiar un fichero y lo vamos a cambiar el nombre, además de cambiar las propiedades (podéis mirar la sección de [[Comandos básicos en linux]]):&amp;lt;blockquote&amp;gt;ansible -i maquinas rocky9 -m  copy -a &amp;quot;src=/srv/datos/fstab dest=/tmp/fstab.rocky9  mode=0775&amp;quot; -u suport&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ejemplo de trabajo con DNF o YUM y servicios ===&lt;br /&gt;
Existe el módulo de dnf como yum para poder instalar y ejecutar servicios, por ejemplo, queremos instalarle al servidor el paquete [[Apache]] para crear el servicio web, para eso podemos utilitzar:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
ansible -i maquinas rocky9 -m dnf -a &amp;quot;name=&#039;httpd&#039; state=present&amp;quot; -u suport -b&amp;lt;/blockquote&amp;gt;Con esto vamos a instalar el paquete httpd a la versión actualizada mediante el usuario suport y lo elevamos a &amp;quot;sudo&amp;quot; con -b. Con este comando se instalará el servicio, pero no estará activo, para eso tenemos que añadir el &amp;quot;servicio&amp;quot;:&amp;lt;blockquote&amp;gt;ansible -i maquinas rocky9 -m service -a &amp;quot;name=&#039;httpd&#039; state=started&amp;quot; -u suport -b&amp;lt;/blockquote&amp;gt;Es decir, siguiendo con la instalación, vamos a darle un inicio al estado del servicio.&lt;br /&gt;
&lt;br /&gt;
NOTA - En caso de no haber configurado el destino para acceder sin contraseña, le podemos decir que pregunte por ella con:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
ansible -i maquinas rocky9 -m dnf -a &amp;quot;name=&#039;httpd&#039; state=present&amp;quot; -u suport -b --ask-become&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
De esta manera se conectará por SSH, como viene siendo habitual, y nos preguntará por la contraseña de &amp;quot;sudo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enlaces ==&lt;br /&gt;
&lt;br /&gt;
* [https://es.wikipedia.org/wiki/Ansible_(software) Definición en wikipedia.]&lt;br /&gt;
* [https://www.ansible.com/ Página oficial.]&lt;br /&gt;
* [https://docs.ansible.com/ansible/latest/ Documentación de la comunidad oficial]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>