12 de enero de 2026

Guía Gentoo 2026: Cómo usar Overlays sin romper tu sistema (El Método del Aislamiento)

En Gentoo, la tentación de añadir repositorios (overlays) para obtener versiones más recientes o paquetes exóticos es grande. Sin embargo, overlays populares como guru, gentoo-zh o bentoo pueden intentar sustituir paquetes críticos del sistema, provocando errores de compilación masivos.

Hoy aprenderemos a configurar nuestro sistema para que solo acepte un paquete específico de un overlay, manteniendo el resto del repositorio bloqueado.

El problema: La "contaminación" de paquetes

Cuando añadimos un overlay, Portage lo trata como una fuente válida para cualquier actualización. Si el overlay tiene una versión de openssl o gcc más alta que el repo oficial, Portage la instalará, rompiendo a menudo la estabilidad.

La solución: Bloqueo global y excepciones puntuales

Usaremos como ejemplo el editor antigravity del overlay gentoo-zh, pero este método sirve para Tilix u OneDrive.

Paso 1: Configurar la prioridad del repositorio

Debemos asegurarnos de que el repositorio oficial siempre tenga la última palabra. Editamos el archivo de configuración del overlay en /etc/portage/repos.conf/nombre-del-repo.conf:

vim /etc/portage/repos.conf/gentoo-zh-repo.conf:
[gentoo-zh]
priority = 50
location = /var/db/repos/gentoo-zh
sync-type = git
sync-uri = github.com
Usa el código con precaución.

Nota: El repositorio oficial tiene prioridad 1000 por defecto. Al poner 50, le decimos a Portage que este repo es secundario.

Paso 2: El Escudo Protector (Bloqueo Total)

Para evitar que Portage instale nada de este repositorio por accidente, vamos a enmascararlo completamente.

Crea el archivo /etc/portage/package.mask/overlays:

sudo vim /etc/portage/package.mask/gentoo-zh
# Bloqueamos todos los paquetes de estos repositorios
*/*::gentoo-zh

Usa el código con precaución.

Desde este momento, para Portage es como si esos repositorios estuvieran vacíos.

Paso 3: Crear el "agujero" en el escudo (Excepciones)

Ahora desenmascaramos únicamente los paquetes que necesitamos. Esto se hace en /etc/portage/package.unmask/.

Crea un archivo por cada paquete o uno general: 

sudo vim /etc/portage/package.unmask/antigravity 
app-editors/antigravity::gentoo-zh

Usa el código con precaución.

Paso 4: Verificación técnica

Antes de compilar, verificamos el estado con emerge -pv. Deberías ver algo así:

sudo emerge -pv  app-editors/antigravity  
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 1.83 s (backtrack: 0/20).
[ebuild   R   #] app-editors/antigravity-1.13.3::gentoo-zh  USE="egl wayland -kerberos" L10N="es es-419 -af -am -ar -bg -bn -ca -cs -da -de -el -en-GB -et -fa -fi -fil -fr -gu -he -hi -hr -hu -id -it -ja -kn -ko -lt -lv -ml -mr -ms -nb -nl -pl -pt-BR -pt-PT -ro -ru -sk -sl -sr -sv -sw -ta -te -th -tr -uk -ur -vi -zh-CN -zh-TW" 150.341 KiB
Total: 1 package (1 reinstall), Size of downloads: 150.341 KiB
 * IMPORTANT: 31 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.

Usa el código con precaución.

El símbolo # indica que el paquete está técnicamente enmascarado por el archivo que creamos en el Paso 2, pero Portage lo permite gracias a la excepción del Paso 3. ¡Es el estado perfecto!

Bonus: ¿Qué pasa si el paquete pide dependencias del mismo overlay?

Si al intentar instalar Tilix te da errores de dependencias no encontradas, simplemente añade esas dependencias específicas al archivo de package.unmask siguiendo el mismo formato. Nunca quites la máscara global */*.

Conclusión

Este método nos permite disfrutar de lo mejor de ambos mundos:

  1. Estabilidad total: El 99% de tu sistema sigue el repositorio oficial de Gentoo.
  2. Flexibilidad: Puedes tener ese editor o herramienta que solo existe en un overlay sin riesgo de que una actualización de "rutina" rompa tu entorno gráfico o tu compilador.

Resumen de comandos útiles para el post:

  • Listar repos activos: eselect repository list
  • Sincronizar: emaint sync -a
  • Ver origen de un paquete: equery list -p paquete 

27 de noviembre de 2025

📝 Guía Rápida: Cómo extender un volumen LVM en Linux (sin reiniciar)

¿Te ha pasado esto? Aumentas el tamaño de un disco virtual (en VMware, Proxmox, AWS, etc.), pero cuando entras a tu servidor Linux, el sistema de archivos sigue igual.

Si usas LVM (Logical Volume Manager), el proceso para reclamar ese espacio nuevo consta de tres capas: Partición Física → Volumen Físico (PV) → Volumen Lógico (LV).

Aquí tienes los pasos exactos para hacerlo en caliente usando parted, sin necesidad de reiniciar el servidor.


1. Diagnóstico: Identificar el espacio perdido

Primero, verificamos la situación. Usamos lsblk para ver la discrepancia entre el disco físico y la partición.


lsblk

Lo que verás: Es probable que veas que el disco (disk) tiene el tamaño nuevo (ej. 500G), pero la partición (part) sigue con el tamaño viejo (ej. 400G).

Plaintext
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sdb               8:16   0  500G  0 disk 
└─sdb1            8:17   0  400G  0 part 
  ├─vg_data-lv1 254:0    0  263G  0 lvm  /data

2. Capa 1: Extender la Partición (con Parted)

A diferencia de fdisk, la herramienta parted nos permite redimensionar particiones montadas de forma más segura y directa.

Vamos a decirle a la partición número 1 del disco /dev/sdb que ocupe el 100% del espacio disponible.


# Sintaxis: parted [DISCO] resizepart [NUMERO_PARTICION] [FIN]
sudo parted /dev/sdb resizepart 1 100%

Nota: Si te da un error o advertencia, asegúrate de que estás seleccionando el disco correcto.


3. Capa 2: Actualizar el Volumen Físico (PV)

Ahora que la partición (/dev/sdb1) ya mide 500G, debemos avisarle a LVM que su contenedor ha crecido.


sudo pvresize /dev/sdb1

Verificamos que el Grupo de Volúmenes (vg) ahora tenga espacio libre:

sudo vgs
# Deberías ver el espacio nuevo en la columna "VFree"

4. Capa 3: Extender el Volumen Lógico (LV)

Con el espacio libre disponible en el grupo, extendemos el volumen lógico donde están nuestros datos (por ejemplo, zb_data).

Opción A: Asignar TODO el espacio libre disponible

sudo lvextend -l +100%FREE /dev/vg_zb_00/zb_data

Opción B: Asignar una cantidad específica (ej. 50GB)

sudo lvextend -L +50G /dev/vg_zb_00/zb_data

5. Paso Final: Redimensionar el Sistema de Archivos

Este paso es crucial y a menudo se olvida. LVM ya es más grande, pero el formato de archivos (ext4 o xfs) dentro de él no lo sabe.

Si usas EXT4:

sudo resize2fs /dev/vg_zb_00/zb_data

Si usas XFS:

sudo xfs_growfs /srv/data_psql_zabbix
# (Nota: xfs_growfs usa el punto de montaje, no el dispositivo)

¡Listo! Verifica con df -h y verás tu nuevo espacio disponible sin haber detenido ningún servicio.


🚀 Resumen (TL;DR) para copiar y pegar

Si ya sabes qué disco y partición son, aquí tienes la secuencia rápida:

# 1. Extender partición física
sudo parted /dev/sdb resizepart 1 100%

# 2. Actualizar LVM
sudo pvresize /dev/sdb1

# 3. Extender Volumen Lógico (usando todo el espacio)
sudo lvextend -l +100%FREE /dev/vg_zb_00/zb_data

# 4. Redimensionar filesystem (Ejemplo para ext4)
sudo resize2fs /dev/vg_zb_00/zb_data

23 de noviembre de 2025

💡 Cómo Calcular el Porcentaje de Incremento o Subida

 El cálculo del porcentaje de incremento (o porcentaje de subida) es una habilidad fundamental, ya sea que analices precios, salarios, o el crecimiento de cualquier métrica. Nos ayuda a entender la magnitud del cambio con respecto al valor original.

La Fórmula Clave

El proceso se reduce a tres pasos sencillos basados en esta fórmula general:





Pasos Detallados con Ejemplos

Paso 1: Hallar la Diferencia (Subida Neta)

Resta el valor inicial del valor final para saber cuánto aumentó el valor en total.

ConceptoOperación
Matemáticas$12.65 - 6.60 = 6.05$
Programaciónsubida = valor_final - valor_inicial

Paso 2: Hallar el Ratio (Proporción del Cambio)

Divide la subida neta (del Paso 1) entre el valor inicial. Esto te dará un número decimal que representa la proporción del cambio.

ConceptoOperación
Matemáticas$\frac{6.05}{6.60} \approx 0.9167$
Programaciónratio = subida / valor_inicial

Paso 3: Convertir a Porcentaje

Multiplica el ratio (del Paso 2) por $100$ para obtener el resultado final en formato de porcentaje.

ConceptoOperación
Matemáticas$0.9167 \times 100 = 91.67\%$
Programaciónporcentaje = ratio * 100

💻 Ejemplo Práctico con Variables de Programación

Imaginemos que quieres calcular el incremento en las visitas a tu web, que pasaron de 150 a 480.

📝 Código (Pseudocódigo o Python)

# Valores de entrada
valor_inicial = 150  # Visitas el mes pasado
valor_final = 480    # Visitas este mes

# PASO 1: Calcular la diferencia (la subida neta)
subida = valor_final - valor_inicial
# subida = 480 - 150 = 330

# PASO 2: Calcular el ratio (la proporción)
ratio = subida / valor_inicial
# ratio = 330 / 150 = 2.2

# PASO 3: Convertir a porcentaje
porcentaje_incremento = ratio * 100

# Resultado final
# porcentaje_incremento = 2.2 * 100 = 220.0
print(f"El incremento en las visitas fue del {porcentaje_incremento}%")

El incremento fue del 220%.

✨ Conclusión

La clave está en recordar que el denominador (la parte de abajo de la división) siempre debe ser el valor inicial u original.

  • $\text{Siempre se divide por el valor que estaba **antes** del cambio.}$



Guía Gentoo 2026: Cómo usar Overlays sin romper tu sistema (El Método del Aislamiento)

En Gentoo, la tentación de añadir repositorios (overlays) para obtener versiones más recientes o paquetes exóticos es grande. Sin embargo, o...