Linux para desarrollo y ciberseguridad: mi experiencia con CachyOS
Durante mucho tiempo utilicé Windows como sistema principal, especialmente por compatibilidad con juegos, software comercial y herramientas de uso cotidiano. Sin embargo, para desarrollo, administración de sistemas y ciberseguridad, Linux siempre terminó ocupando un lugar importante en mi entorno de trabajo. Entre las distintas distribuciones que probé, CachyOS fue una de las que más me llamó la atención. Su base Arch Linux, sus optimizaciones de rendimiento y su enfoque moderno la convierten en una alternativa muy interesante para quienes buscan un sistema rápido, personalizable y preparado para trabajar con herramientas técnicas. En este artículo comparto mi experiencia utilizando CachyOS como entorno para desarrollo, laboratorios de seguridad, automatización, virtualización y aprendizaje técnico. > Este contenido está basado en mi experiencia personal. El rendimiento, la estabilidad y la compatibilidad pueden variar según el hardware, el entorno gráfico y las herramientas utilizadas.¿Qué es CachyOS?
CachyOS es una distribución basada en Arch Linux que busca ofrecer una experiencia más accesible y optimizada que una instalación manual tradicional de Arch. Mantiene muchas de las ventajas del ecosistema Arch:- Paquetes actualizados.
- Acceso al Arch User Repository.
- Gran capacidad de personalización.
- Documentación extensa.
- Control detallado sobre el sistema.
- Modelo de actualización continua o rolling release.
¿Por qué elegí CachyOS?
Mi objetivo no era solamente instalar otra distribución de Linux. Buscaba un sistema que me permitiera trabajar en varias áreas al mismo tiempo:- Desarrollo web.
- Programación en Python.
- Automatización.
- Administración de servidores.
- Docker y contenedores.
- Virtualización.
- Ciberseguridad.
- Laboratorios de redes.
- Herramientas de inteligencia artificial.
- Personalización avanzada del escritorio.
Mi hardware y entorno de pruebas
Probé CachyOS principalmente sobre un equipo con las siguientes características:- Procesador: AMD Ryzen 5 5500.
- Tarjeta gráfica: AMD Radeon RX 6700 XT de 12 GB.
- Memoria RAM: 16 GB.
- Resolución principal: 1920 × 1080.
- Almacenamiento: unidades SSD.
- Entornos gráficos probados: Hyprland y KDE Plasma.
Instalación y primeros pasos
La instalación de CachyOS es considerablemente más amigable que una instalación manual de Arch Linux. El instalador permite elegir:- Entorno de escritorio.
- Sistema de archivos.
- Gestor de arranque.
- Paquetes adicionales.
- Tipo de kernel.
- Configuración regional.
- Particionado automático o manual.
Btrfs como sistema de archivos
En mi caso utilicé Btrfs, principalmente por la posibilidad de trabajar con instantáneas del sistema. Esto permite crear puntos de recuperación antes de:- Actualizar paquetes importantes.
- Cambiar el kernel.
- Instalar controladores.
- Modificar el entorno gráfico.
- Aplicar configuraciones experimentales.
sudo snapper list
sudo snapper create --description "Antes de actualizar"
sudo snapper delete NUMERO
Antes de eliminar instantáneas, es importante verificar cuáles corresponden al sistema actual y cuáles pueden borrarse de forma segura.
Rendimiento general
Uno de los puntos más destacados de CachyOS fue la sensación de respuesta del sistema. Las aplicaciones se abrían rápidamente, el escritorio se sentía fluido y las tareas de compilación, instalación de paquetes y manejo de múltiples terminales funcionaban bien. CachyOS ofrece diferentes kernels optimizados. Dependiendo del hardware, se pueden encontrar variantes orientadas a:- Rendimiento general.
- Baja latencia.
- Hardware moderno.
- Planificación avanzada de procesos.
- Compatibilidad.
uname -r
Para consultar información completa del sistema:
uname -a
También se puede utilizar:
fastfetch
o:
inxi -F
No siempre un kernel más optimizado implica una mejora perceptible en todas las tareas. Para desarrollo web, terminal y uso general, la diferencia puede ser pequeña. En cargas pesadas, compilaciones o tareas específicas, puede resultar más evidente.
Hyprland como entorno principal
Una parte importante de mi experiencia con CachyOS estuvo relacionada con Hyprland. Hyprland es un compositor dinámico para Wayland que permite trabajar mediante ventanas organizadas automáticamente, atajos de teclado y animaciones fluidas. Sus principales ventajas son:- Uso eficiente del espacio.
- Flujo de trabajo basado en teclado.
- Alta personalización.
- Buen rendimiento.
- Estética moderna.
- Soporte para múltiples espacios de trabajo.
- Un editor de código en un espacio.
- Varias terminales en otro.
- Documentación en el navegador.
- Logs en tiempo real.
- Un panel de monitoreo.
- Máquinas virtuales o contenedores.
El costo de la personalización
La flexibilidad también tiene un costo. Al personalizar Hyprland, es común terminar trabajando con múltiples componentes:- Barra de estado.
- Lanzador de aplicaciones.
- Sistema de notificaciones.
- Gestor de fondos.
- Bloqueo de pantalla.
- Terminal.
- Selector de archivos.
- Herramientas de captura.
- Portales XDG.
- Configuración de Wayland.
mkdir -p ~/dotfiles
cp -r ~/.config/hypr ~/dotfiles/
cp -r ~/.config/kitty ~/dotfiles/
cp -r ~/.config/waybar ~/dotfiles/
También se pueden versionar mediante Git:
cd ~/dotfiles
git init
git add .
git commit -m "Configuración inicial"
Terminal y herramientas de productividad
Linux se vuelve especialmente potente cuando la terminal deja de ser una herramienta secundaria y pasa a formar parte central del flujo de trabajo. En mi entorno utilicé herramientas como:- Fish.
- Starship.
- Kitty.
- Foot.
- Eza.
- Zoxide.
- Direnv.
- LazyGit.
- Neovim.
- Git.
- SSH.
- Tmux.
Fish
Fish ofrece autocompletado, sugerencias y una experiencia amigable desde la instalación.sudo pacman -S fish
Para cambiar la shell predeterminada:
chsh -s /usr/bin/fish
Antes de hacerlo, conviene comprobar que la ruta sea correcta:
which fish
Starship
Starship permite crear un prompt moderno y mostrar información contextual sobre:- Rama de Git.
- Versión de Node.js.
- Entorno de Python.
- Estado del comando.
- Directorio actual.
- Contenedores.
- Lenguajes detectados.
sudo pacman -S starship
En Fish:
starship init fish | source
Eza
Eza es una alternativa moderna als.
sudo pacman -S eza
Ejemplo:
eza -lah --icons --git
Zoxide
Zoxide reemplaza parcialmente acd y aprende los directorios más utilizados.
sudo pacman -S zoxide
Después de configurarlo, se puede navegar con:
z proyectos
en lugar de escribir una ruta completa.
Gestión de paquetes
Al estar basada en Arch Linux, CachyOS utilizapacman.
Actualizar el sistema
sudo pacman -Syu
Es recomendable evitar actualizaciones parciales. En Arch y derivados, instalar paquetes sin sincronizar correctamente el sistema puede provocar incompatibilidades.
Instalar un paquete
sudo pacman -S nombre-del-paquete
Eliminar un paquete
sudo pacman -R nombre-del-paquete
Eliminar un paquete junto con dependencias no utilizadas:
sudo pacman -Rns nombre-del-paquete
Buscar paquetes
pacman -Ss termino
Listar paquetes instalados
pacman -Q
Limpiar dependencias huérfanas
pacman -Qtdq
Si el comando devuelve resultados:
sudo pacman -Rns $(pacman -Qtdq)
Conviene revisar siempre la lista antes de confirmar la eliminación.
AUR y herramientas auxiliares
Una de las mayores ventajas del ecosistema Arch es el Arch User Repository. El AUR permite instalar una enorme variedad de software mantenido por la comunidad. Herramientas comunes:paruyay
paru:
paru -S nombre-del-paquete
Aunque el AUR es muy útil, no debe tratarse como un repositorio oficial.
Antes de instalar un paquete conviene revisar:
- El archivo
PKGBUILD. - Los comentarios de otros usuarios.
- La fecha de actualización.
- El mantenedor.
- Las dependencias.
- El código que se ejecutará durante la compilación.
Desarrollo web en CachyOS
CachyOS funciona muy bien como entorno de desarrollo web. En mi caso trabajé con herramientas como:- Node.js.
- NPM.
- React.
- Vite.
- Python.
- FastAPI.
- PostgreSQL.
- Docker.
- Git.
- Visual Studio Code.
- Neovim.
- APIs externas.
- Servidores Linux remotos.
Instalar Node.js y NPM
sudo pacman -S nodejs npm
Comprobar versiones:
node --version
npm --version
Administrar versiones con NVM
Para proyectos que necesitan distintas versiones de Node.js, NVM puede resultar más conveniente. Después de instalarlo y configurarlo:nvm install --lts
nvm use --lts
Python
sudo pacman -S python python-pip
Es recomendable utilizar entornos virtuales:
python -m venv .venv
source .venv/bin/activate
Instalar dependencias:
pip install fastapi uvicorn
Ejecutar una aplicación:
uvicorn app:app --reload
PostgreSQL
sudo pacman -S postgresql
Inicialización típica:
sudo -iu postgres initdb -D /var/lib/postgres/data
Habilitar el servicio:
sudo systemctl enable --now postgresql
Comprobar estado:
systemctl status postgresql
Docker y contenedores
Docker es una herramienta fundamental para crear entornos reproducibles. Instalación:sudo pacman -S docker docker-compose
Habilitar el servicio:
sudo systemctl enable --now docker
Agregar el usuario al grupo Docker:
sudo usermod -aG docker "$USER"
Después es necesario cerrar sesión y volver a ingresar.
Verificar funcionamiento:
docker run hello-world
Comandos frecuentes:
docker ps
docker ps -a
docker images
docker logs nombre-contenedor
docker compose up -d
docker compose down
Para desarrollo, Docker permite levantar rápidamente:
- PostgreSQL.
- Redis.
- RabbitMQ.
- Nginx.
- APIs.
- Aplicaciones frontend.
- Laboratorios de seguridad.
- Herramientas de monitoreo.
Git y trabajo con repositorios
Git forma parte central de cualquier entorno de desarrollo. Instalación:sudo pacman -S git
Configuración básica:
git config --global user.name "Tu Nombre"
git config --global user.email "correo@ejemplo.com"
Generar una clave SSH:
ssh-keygen -t ed25519 -C "correo@ejemplo.com"
Iniciar el agente:
eval "$(ssh-agent -s)"
Agregar la clave:
ssh-add ~/.ssh/id_ed25519
Mostrar la clave pública:
cat ~/.ssh/id_ed25519.pub
La autenticación por clave evita depender de contraseñas para trabajar con servidores y repositorios compatibles.
CachyOS para ciberseguridad
CachyOS no es una distribución especializada en pentesting como Kali Linux o Parrot OS. Sin embargo, puede utilizarse como estación de trabajo para:- Análisis de redes.
- Administración de laboratorios.
- Desarrollo de herramientas.
- Análisis de logs.
- Automatización.
- Conexiones VPN.
- Acceso SSH.
- Contenedores de seguridad.
- Máquinas virtuales.
- Investigación técnica.
- Laboratorios controlados.
Algunas herramientas útiles
sudo pacman -S nmap wireshark-qt tcpdump openvpn wireguard-tools
Dependiendo del paquete y del repositorio, algunas herramientas pueden requerir AUR o instalación manual.
Nmap
Ejemplo básico sobre una red propia o autorizada:nmap -sV 192.168.1.10
Escaneo de puertos:
nmap -p- 192.168.1.10
Detección más completa:
sudo nmap -sS -sV -O 192.168.1.10
Estas herramientas deben utilizarse únicamente sobre sistemas propios, laboratorios o entornos donde exista autorización explícita.
Wireshark y captura de tráfico
Wireshark permite analizar paquetes de red mediante una interfaz gráfica. Instalación:sudo pacman -S wireshark-qt
Para permitir capturas sin ejecutar toda la aplicación como root, puede ser necesario agregar el usuario al grupo correspondiente:
sudo usermod -aG wireshark "$USER"
Luego hay que cerrar sesión y volver a ingresar.
También se puede utilizar tcpdump desde la terminal:
sudo tcpdump -i any
Capturar tráfico hacia un archivo:
sudo tcpdump -i eth0 -w captura.pcap
Abrirlo posteriormente con Wireshark:
wireshark captura.pcap
Laboratorios con máquinas virtuales
Para aprender ciberseguridad, la virtualización es una de las herramientas más importantes. Permite crear entornos aislados con:- Kali Linux.
- Metasploitable.
- Windows Server.
- Active Directory.
- pfSense.
- Ubuntu Server.
- Wazuh.
- Suricata.
- Aplicaciones vulnerables.
- Redes segmentadas.
- VirtualBox.
- QEMU/KVM.
- Virt-Manager.
- VMware, según compatibilidad.
- Contenedores.
QEMU y Virt-Manager
Instalación básica:sudo pacman -S qemu-full virt-manager virt-viewer dnsmasq bridge-utils libvirt
Habilitar libvirt:
sudo systemctl enable --now libvirtd
Agregar el usuario al grupo:
sudo usermod -aG libvirt "$USER"
Comprobar soporte de virtualización:
lscpu | grep Virtualization
Para laboratorios complejos, QEMU/KVM ofrece buen rendimiento y gran flexibilidad.
Wayland y compatibilidad
Hyprland funciona sobre Wayland. Wayland ofrece ventajas en seguridad, renderizado y arquitectura moderna, pero todavía puede presentar incompatibilidades con algunas aplicaciones. Los problemas más frecuentes que encontré estuvieron relacionados con:- Compartir pantalla.
- Aplicaciones antiguas.
- Herramientas de acceso remoto.
- Capturas de pantalla.
- Algunos juegos.
- Aplicaciones basadas en Electron.
- Software que espera X11.
- Portales XDG mal configurados.
sudo pacman -S xdg-desktop-portal-hyprland pipewire wireplumber
Comprobar servicios del usuario:
systemctl --user status pipewire
systemctl --user status wireplumber
Reiniciar portales:
systemctl --user restart xdg-desktop-portal
systemctl --user restart xdg-desktop-portal-hyprland
Juegos y compatibilidad con Windows
Aunque Linux mejoró muchísimo para videojuegos, la compatibilidad no es perfecta. Steam, Proton y herramientas como Heroic Games Launcher permiten ejecutar muchos títulos. Sin embargo, algunos juegos siguen teniendo problemas por:- Sistemas antitrampas.
- Lanzadores propietarios.
- DRM.
- Controladores.
- Códecs.
- Actualizaciones del juego.
- Diferencias entre Wayland y X11.
- Shaders.
- Dependencias específicas.
- Desarrollo.
- Servidores.
- Terminal.
- Automatización.
- Laboratorios.
- Contenedores.
- Ciberseguridad.
- Administración remota.
Administración de servicios con systemd
CachyOS utilizasystemd.
Comandos frecuentes:
systemctl status nginx
sudo systemctl start nginx
sudo systemctl stop nginx
sudo systemctl restart nginx
sudo systemctl enable nginx
sudo systemctl disable nginx
Habilitar e iniciar en un solo comando:
sudo systemctl enable --now nginx
Ver servicios con errores:
systemctl --failed
Ver logs de un servicio:
journalctl -u nginx
Logs recientes:
journalctl -u nginx --since "1 hour ago"
Seguir logs en tiempo real:
journalctl -u nginx -f
Aprender a trabajar con systemctl y journalctl es fundamental para diagnosticar problemas en Linux.
Diagnóstico de red
Linux ofrece herramientas muy potentes para diagnosticar conexiones.Ver interfaces
ip addr
Ver rutas
ip route
Probar conectividad
ping -c 4 8.8.8.8
Probar resolución DNS
resolvectl query archlinux.org
También puede utilizarse:
dig archlinux.org
Ver puertos en escucha
ss -tulpn
Consultar una web
curl -I https://example.com
Ver el recorrido de paquetes
traceroute example.com
Cuando existe un problema de conexión, conviene comprobar por separado:
- Estado de la interfaz.
- Dirección IP.
- Puerta de enlace.
- Resolución DNS.
- Firewall.
- Servicio de destino.
- Rutas.
- VPN o túneles activos.
Tailscale y redes privadas
Tailscale es una herramienta muy útil para conectar equipos mediante una red privada basada en WireGuard. Puede utilizarse para:- Acceder a servidores remotos.
- Conectar laboratorios.
- Administrar servicios internos.
- Evitar exponer puertos públicamente.
- Acceder a paneles de administración.
- Crear redes entre Linux, Windows y dispositivos móviles.
tailscale status
Levantar conexión:
sudo tailscale up
Detener:
sudo tailscale down
En algunas distribuciones el servicio puede llamarse:
tailscaled.service
Por eso, para comprobarlo:
systemctl status tailscaled
Deshabilitar el inicio automático:
sudo systemctl disable --now tailscaled
Consumo de espacio y mantenimiento
En una distribución rolling release, el mantenimiento periódico ayuda a evitar problemas.Ver espacio disponible
df -h
Ver tamaño de directorios
du -sh *
Analizar directorios grandes
du -h /home | sort -h | tail
Limpiar caché de paquetes
Consultar primero:du -sh /var/cache/pacman/pkg
Limpiar versiones antiguas:
sudo paccache -r
Conservar solamente una versión:
sudo paccache -rk1
Eliminar paquetes no instalados de la caché:
sudo paccache -ruk0
Revisar logs
journalctl --disk-usage
Reducir logs antiguos:
sudo journalctl --vacuum-time=14d
Estas operaciones deben realizarse con cuidado, especialmente en sistemas donde sea importante conservar historial para auditoría.
Qué aprendí utilizando CachyOS
Más allá del sistema operativo, utilizar CachyOS me permitió profundizar en conocimientos que son útiles en cualquier distribución Linux. Entre los principales aprendizajes:- Comprender mejor el arranque del sistema.
- Administrar servicios.
- Resolver dependencias.
- Leer logs.
- Diagnosticar problemas de red.
- Trabajar con permisos.
- Gestionar sistemas de archivos.
- Configurar entornos gráficos.
- Utilizar Wayland.
- Crear scripts.
- Automatizar tareas.
- Mantener configuraciones con Git.
- Trabajar con contenedores.
- Gestionar máquinas virtuales.
- Conectar servidores mediante SSH.
- Investigar problemas en documentación técnica.
Ventajas que encontré
Rendimiento
El sistema se sintió rápido y fluido en mi hardware.Paquetes actualizados
El acceso temprano a versiones recientes es útil para desarrollo y nuevas tecnologías.Personalización
Es posible adaptar casi cualquier aspecto del entorno.AUR
Facilita la instalación de software que no siempre se encuentra en repositorios tradicionales.Documentación
La documentación de Arch Linux es una referencia técnica muy valiosa.Aprendizaje
Obliga a comprender servicios, paquetes, dependencias, permisos y configuraciones.Buen soporte para AMD
La experiencia con la GPU AMD fue generalmente positiva.Desventajas y dificultades
Mantenimiento frecuente
No es un sistema para instalar y olvidar durante meses.Actualizaciones con riesgo
Aunque la mayoría funciona correctamente, una actualización puede afectar controladores, kernels, entornos gráficos o herramientas.AUR no es oficial
Instalar paquetes comunitarios exige precaución.Wayland todavía tiene incompatibilidades
Algunas aplicaciones siguen funcionando mejor en X11.Personalización compleja
Un entorno muy personalizado puede requerir bastante mantenimiento.Juegos y software propietario
La compatibilidad sigue siendo inferior a Windows en determinados casos.Curva de aprendizaje
Para una persona sin experiencia previa, algunos problemas pueden resultar difíciles de diagnosticar.¿Recomiendo CachyOS para desarrollo?
Sí, especialmente para usuarios que:- Ya conocen conceptos básicos de Linux.
- Quieren utilizar software actualizado.
- Buscan rendimiento.
- Valoran la personalización.
- Trabajan con terminal.
- Utilizan Docker.
- Programan en Python, JavaScript u otros lenguajes.
- Quieren aprender sobre Arch Linux.
- No tienen problemas en resolver incidencias técnicas.
¿Recomiendo CachyOS para ciberseguridad?
Sí, como sistema principal de aprendizaje, programación y administración de laboratorios. No lo considero un reemplazo directo de Kali Linux en todos los escenarios. Cada distribución puede cumplir una función diferente. Una configuración práctica podría ser:- CachyOS como sistema de trabajo.
- Kali Linux dentro de una máquina virtual.
- Metasploitable u otros objetivos en una red aislada.
- Docker para herramientas y aplicaciones vulnerables.
- pfSense para segmentación de red.
- Wazuh y Suricata para monitoreo.
- SSH para administrar servidores remotos.
Recomendaciones para empezar
Si estás pensando en utilizar CachyOS, estas prácticas pueden evitar muchos problemas:- Realizá una copia de seguridad antes de instalar.
- Probá el sistema desde un medio en vivo.
- Revisá la compatibilidad del hardware.
- Utilizá Btrfs con instantáneas.
- Conservá un kernel alternativo.
- No actualices en medio de un trabajo crítico.
- Revisá las noticias de Arch antes de actualizaciones importantes.
- Evitá instalar demasiados paquetes del AUR.
- Versioná tus configuraciones.
- Aprendé a utilizar
journalctl. - Mantené un medio de instalación disponible.
- Separá tus proyectos del sistema mediante contenedores o entornos virtuales.
Comandos esenciales de referencia
Actualizar CachyOS
sudo pacman -Syu
Buscar un paquete
pacman -Ss nombre
Instalar un paquete
sudo pacman -S nombre
Ver servicios fallidos
systemctl --failed
Revisar errores del arranque actual
journalctl -b -p err
Ver uso de disco
df -h
Ver memoria
free -h
Ver procesos
ps aux
Monitorear procesos
top
Ver puertos
ss -tulpn
Ver interfaces de red
ip addr
Consultar DNS
resolvectl query example.com
Ver paquetes huérfanos
pacman -Qtdq
Ver logs en tiempo real
journalctl -f
Conclusión
Mi experiencia con CachyOS fue muy positiva desde el punto de vista técnico. Me permitió construir un entorno rápido, moderno y completamente personalizado para desarrollo, automatización, administración de servidores y ciberseguridad. También me obligó a resolver problemas, leer documentación y comprender mejor cómo funciona Linux por debajo de la interfaz gráfica. No es una distribución perfecta para todos. Requiere tiempo, mantenimiento y cierta tolerancia a los cambios. Pero para quienes disfrutan aprendiendo, personalizando y teniendo control sobre el sistema, puede ser una opción excelente. En mi caso, terminé utilizando Windows nuevamente como sistema principal por compatibilidad con juegos y algunas aplicaciones específicas. Sin embargo, CachyOS sigue siendo una referencia importante dentro de mi experiencia con Linux y una plataforma muy valiosa para aprendizaje técnico. La mejor distribución no siempre es la más popular ni la más compleja. Es aquella que se adapta al trabajo que necesitás realizar y que te permite mantener un entorno confiable, productivo y seguro.Sobre SCH Solutions
En SCH Solutions compartimos contenidos sobre Linux, desarrollo, infraestructura, automatización, inteligencia artificial y ciberseguridad aplicada. Nuestro objetivo es transformar experiencias técnicas reales en recursos prácticos que ayuden a profesionales, estudiantes y empresas a implementar tecnología de forma más eficiente y segura.chachyoslinuxhyperlanddesarrollociberseguridad
Simon Cherry
Desarrollador


Comentarios
Para comentar o votar necesitás una cuenta.
RegistrarmeIniciar sesión