---
title: Guía de Preguntas Frecuentes y Solución de Problemas de CachyOS
description: Preguntas frecuentes y consejos
tableOfContents:
  minHeadingLevel: 1
  maxHeadingLevel: 5
ai_translated: true
---

import ImageComponent from '~/components/image-component.astro';
import { Steps, Tabs, TabItem } from '@astrojs/starlight/components';

:::note
Las siguientes preguntas y respuestas se aplican a CachyOS y a distribuciones basadas en Arch.

**Esto no pretende reemplazar la información de la Arch Linux Wiki.**
:::

:::tip
Mantente alerta a cualquier anuncio oficial de CachyOS en nuestro [Foro](https://discuss.cachyos.org/c/announcements/5), publicación de Reddit en nuestro [subreddit oficial](https://www.reddit.com/r/cachyos/) o en [Discord #announcements](https://discord.com/channels/862292009423470592/873309651364610118) y [#updates-repo](https://discord.com/channels/862292009423470592/871739561364033566) sobre problemas conocidos con un paquete o actualizaciones que requieran intervención manual.
:::

## Cómo reportar un problema o error a CachyOS

:::danger
Ten cuidado al confiar en la ayuda y los comandos proporcionados por un modelo de IA (como ChatGPT) sin verificar la información de fuentes oficiales. Los modelos de IA a veces pueden proporcionar información incorrecta o engañosa, especialmente en contextos técnicos. Siempre contrasta la información con documentación de confianza o recursos de la comunidad.

De lo contrario, podrías terminar con un sistema completamente roto o empeorar aún más el problema.
:::

:::tip
Recuerda. En el mundo de Linux hay una cita increíble: "Lo más probable es que alguien más haya tenido el mismo problema antes que tú". Así que por favor, usa la función de búsqueda en Google, la Arch Wiki o el Foro/Discord de CachyOS antes de reportar un problema, porque podría estar ya resuelto.
:::

:::tip
No olvides usar el comando tldr para ver una versión simplificada de las páginas del manual para comandos con los que no estés familiarizado. Ejemplo:

Algunos de los comandos y descripciones más comunes para git:
```bash
tldr git
```

También puedes combinar tldr con un comando específico de git para obtener información más detallada sobre un parámetro, por ejemplo:
```bash
tldr git add
```
:::

### Lugares para abrir reportes

- [Github](https://github.com/CachyOS/distribution)
- [Foro](https://discuss.cachyos.org/c/feedback/bugreports/10)
- **Discord:** [Foro de Soporte](https://discord.com/channels/862292009423470592/1400865136373403708)
  - Antes de crear una nueva publicación, lee las [directrices de soporte](https://discord.com/channels/862292009423470592/1522310323250397274) fijadas en el canal.
    - O, si crees que tu problema se puede resolver rápidamente, usa el [canal #support](https://discord.com/channels/862292009423470592/862294383470051348)
- [Reddit](https://www.reddit.com/r/cachyos/)

### Sé paciente y respetuoso

El equipo y la comunidad de CachyOS son voluntarios que trabajan en esto en su tiempo libre. Por favor, sé paciente y respetuoso al interactuar con ellos. Proporcionar un reporte de error de alta calidad es la mejor manera de que tu problema se resuelva rápidamente.

Si haces una pregunta vaga o proporcionas información insuficiente, es posible que también recibas una respuesta vaga o ninguna respuesta.

Aquí tienes un ejemplo:

- **Buena pregunta:**
  - Después de una actualización reciente (mi última actualización fue el DÍA), mi sistema no arranca y se queda en una pantalla negra. Tengo una GPU NVIDIA (modelo). Intenté bajar de versión el paquete `linux-cachyos` a la versión anterior, pero el problema persiste. Aquí está la salida de `journalctl -b -1` y `dmesg` desde el entorno en vivo.
- **Pregunta mala o vaga:**
  - Mi sistema está roto, por favor ayúdenme.
  <details>
  <summary>De lo contrario, podrías terminar pareciéndote a Abraham en este meme:</summary>
   <ImageComponent imgsrc={import('~/assets/images/abraham-meme.jpg')} />
  </details>

### Describe tu Problema

Aquí hay un par de cosas que deberías preguntarte:

- ¿Qué es lo que no funciona?
- ¿Bajar de versión el paquete X soluciona el problema?
- ¿Otras personas experimentan este problema / ya se ha resuelto antes? (usa la función de búsqueda)
- ¿El problema apareció después de una actualización?
- ¿Has hecho modificaciones por tu cuenta?
  - Ejemplo: añadir una bandera adicional en un archivo modprobe
- ¿Está relacionado con el hardware? (ej. GPU, WiFi, etc.)
- ¿Está relacionado con el software? (ej. aplicación específica, entorno de escritorio, etc.)
- ¿Es una instalación nueva o el problema apareció después de un tiempo de uso?

## Cómo recopilar registros

Hay muchas maneras de recopilar registros de tu sistema. Aquí hay un par de ejemplos y herramientas que puedes usar:

### Creando un reporte de error general
CachyOS proporciona una gran herramienta para recopilar registros del sistema llamada `cachyos-bugreport.sh`.
Esta herramienta recopilará registros de:
  - `dmesg`
  - `journalctl`
  - `inxi` (Para recopilar información de hardware)

Después de recopilar los registros, se le pedirá al usuario que decida si desea subirlos a nuestro sitio web de pegado.

Para ejecutar este script, ingresa el siguiente comando en la terminal y comparte el enlace generado en tu reporte:
  ```sh
  sudo cachyos-bugreport.sh
  ```

### Recopilando registros de un programa que no se inicia
Hay muchas razones por las que un programa gráfico podría no iniciarse. La mejor manera de recopilar registros para este tipo de problema es ejecutar el programa desde una terminal. De esta manera, puedes ver cualquier mensaje de error o salida que pueda ayudar a diagnosticar el problema.

Por ejemplo, si Firefox no se inicia completamente, intenta iniciarlo desde la terminal y busca mensajes de error:
  ```sh
  firefox
  ```

:::tip
  Si quieres guardar la salida en un archivo de texto para compartirla más fácilmente, puedes redirigir la salida de esta manera:
    ```sh
    firefox &> firefox-log.txt
    ```
  Recuerda presionar `CTRL + C` para terminar el proceso después de que falle al iniciarse para que la terminal escriba la salida en el archivo.
:::

### Comprobar los últimos paquetes actualizados en pacman.

Para obtener una lista de los paquetes actualizados más recientemente en tu sistema, puedes usar el siguiente comando:

```bash
grep "\[ALPM\] upgraded" /var/log/pacman.log | tail -n 50
```

:::tip
Ajusta el parámetro `-n` de tail para obtener más o menos líneas.
:::

### Atajos de teclado para navegar en journalctl y dmesg

Los atajos de teclado más comunes para navegar por los registros cuando se usa `less` o el modo legible por humanos:

`ArrowUp & ArrowDown or J & K` para desplazarse hacia arriba o abajo línea por línea.

`PageUp & PageDown or Ctrl + B/D` para desplazarse hacia arriba o abajo una página a la vez.

`G or Home` para saltar al principio del registro.

`Shift + G or End` para saltar al final del registro.

### Usando journalctl para recopilar registros del sistema

El comando `journalctl` es una herramienta extremadamente útil para ver los registros del sistema. Aquí están algunas de las combinaciones de comandos más comunes y útiles.

#### Uso básico y ejemplos comunes

:::tip
Combina múltiples opciones para un filtrado más específico.
:::

<details>
<summary>Ver el registro completo (del más antiguo al más nuevo):</summary>
```bash
journalctl
```
</details>

<details>
<summary>Ver solo los registros del arranque actual:</summary>
```bash
journalctl -b
```
</details>

<details>
<summary>Problemas de seguridad y autenticación:</summary>
```bash
journalctl -u sshd -u polkit -b -0 | grep -i "fail\|error\|denied"
```
Busca fallos de autenticación y denegaciones de políticas de seguridad.
</details>

<details>
<summary>Seguimiento de registros en Tiempo Real:</summary>
```bash
journalctl -f
```
:::tip
Combina esto con otros filtros. Por ejemplo:
```bash
# Siguiendo los registros del servicio Adguard Home:
journalctl -u adguardhome -f
```
:::
</details>

<details>
<summary>Problemas de audio del arranque actual</summary>
```bash
journalctl --user -u pipewire -u pipewire-pulse -u wireplumber -b 0
```
Ver registros de los servicios de audio para solucionar problemas de sonido.
</details>

<details>
<summary>Errores de memoria (RAM):</summary>
```bash
journalctl -k | grep -i "memory\|ram"
```
Busca problemas de corrupción o detección de memoria.
</details>

<details>
<summary>Problemas relacionados con Bluetooth:</summary>
```bash
# Del arranque actual:
journalctl -u bluetooth -b 0
journalctl -u bluetooth -b 0
# Del arranque anterior:
journalctl -u bluetooth -b -1
```
</details>

##### Filtrado por tiempo
<details>

<summary>Ver registros de los últimos minutos/horas:</summary>
```bash
journalctl --since "10 minutes ago"
journalctl --since "1 hour ago"
journalctl --since "2024-01-15 14:30:00"
```
</details>

<details>
<summary>Ver registros de un rango de tiempo específico:</summary>
```bash
journalctl --since "09:00" --until "10:00"
```
</details>

##### Filtrado por Prioridad y Servicio o Programa

Los niveles de prioridad posibles son: `debug`, `info`, `notice`, `warning`, `err`, `crit`, `alert`, `emerg`.

O usando números:

`0` equivale a `emerg`

`1` equivale a `alert`

`2` equivale a `crit`

`3` equivale a `err`

`4` equivale a `warning`

`5` equivale a `notice`

`6` equivale a `info`

y `7` equivale a `debug`.

<details>
<summary>Mostrar solo mensajes de error, críticos y de emergencia:</summary>
```bash
journalctl -p err..emerg
```
:::tip
Puedes combinar estos con los ejemplos anteriores:

Ejemplo:
```bash
journalctl -p err..emerg --since "9:00" --until "10:00"
```
:::
</details>

<details>
<summary>Mostrar registros de un servicio específico del sistema:</summary>
```bash title='Ejemplos'
# Ver registros del servicio NetworkManager:
journalctl -u NetworkManager
# Ver registros del servicio GDM (GNOME Display Manager):
journalctl -u gdm
# Ver registros del servicio SDDM (Simple Desktop Display Manager):
journalctl -u sddm
```
</details>

<details>
<summary>Mostrar registros de un ID de Proceso (PID) específico:</summary>
```bash
journalctl _PID=pid
# Ejemplo:
journalctl _PID=3344
```
</details>

<details>
<summary>Mostrar registros de un ejecutable específico:</summary>
```bash
journalctl ruta/al/ejecutable
# Ejemplo:
journalctl /usr/bin/firefox
```
</details>

### Usando journalctl para verificar los mensajes del kernel

:::note
Cuándo usar `journalctl -k` vs `dmesg`:

- `journalctl -k` accede a los mensajes del kernel almacenados en el journal de systemd (persistentes entre reinicios si está configurado y ofrece una mejor integración con el filtrado basado en tiempo y las características del journal).
- `dmesg` lee el búfer circular actual del kernel (volátil, se pierde después de reiniciar).
:::

<details>
<summary>Visualización básica de mensajes del kernel:</summary>
```bash
journalctl -k
```
Muestra todos los mensajes del kernel desde el journal, equivalente a `dmesg` pero desde la perspectiva del journal.
</details>

<details>
<summary>Solo mensajes del kernel del arranque actual:</summary>
```bash
journalctl -k -b 0
```
Muestra los mensajes del kernel solo de la sesión de arranque actual.
</details>

<details>
<summary>Mensajes del kernel del arranque anterior:</summary>
```bash
journalctl -k -b -1
```
Ver los mensajes del kernel del arranque anterior. Útil para diagnosticar fallos de arranque o cuelgues.
</details>

<details>
<summary>Seguir nuevos mensajes del kernel en tiempo real:</summary>
```bash
journalctl -k -f
```
Observa los mensajes del kernel a medida que ocurren, ideal para monitorear eventos de hardware o la carga de controladores.
</details>

<details>
<summary>Buscar mensajes de controladores específicos:</summary>
```bash
# Ejemplos:
# Mensajes relacionados con la GPU:
journalctl -k | grep -i "nvidia\|amd\|intel"
# Mensajes de dispositivos USB:
journalctl -k | grep -i "usb\|pci"
```
</details>

<details>
<summary>Filtrado de mensajes del kernel por tiempo:</summary>
```bash
journalctl -k --since "1 hour ago"
journalctl -k --since "09:00" --until "10:00"
```
Ver mensajes del kernel de períodos de tiempo específicos.
</details>

### Usando dmesg para Mensajes del Kernel

El comando `dmesg` muestra el búfer circular del kernel, que contiene mensajes del kernel sobre la detección de hardware, la inicialización de controladores y eventos del sistema.

#### Uso Básico y Formato

<details>
<summary>Ver todo el búfer de mensajes del kernel:</summary>
```bash
dmesg
```
</details>

<details>
<summary>Ver con marcas de tiempo legibles para humanos:</summary>
```bash
dmesg -T
```
</details>

<details>
<summary>Ver en un paginador para una lectura más fácil:</summary>
```bash
dmesg | less
```
</details>

#### Filtrado por Nivel de Prioridad

Similar a journalctl, dmesg permite filtrar mensajes por nivel de prioridad.

<details>
<summary>Mostrar solo errores y mensajes críticos:</summary>
```bash
dmesg -l err,crit,alert,emerg
```
Los niveles de prioridad posibles son: `debug`, `info`, `notice`, `warning`, `err`, `crit`, `alert`, `emerg`.

O usando números:

`0` equivale a `emerg`

`1` equivale a `alert`

`2` equivale a `crit`

`3` equivale a `err`

`4` equivale a `warning`

`5` equivale a `notice`

`6` equivale a `info`

y `7` equivale a `debug`.
</details>

<details>
<summary>Ver los mensajes del kernel más recientes:</summary>
```bash
dmesg -w
```
</details>

<details>
<summary>Buscar mensajes específicos de hardware o controladores:</summary>
```bash
# Ejemplos:
# Para buscar mensajes relacionados con USB:
dmesg | grep -i usb | less
# Dispositivos Bluetooth:
dmesg | grep -i bluetooth
# Relacionado con NVIDIA:
dmesg | grep -i nvidia | less
# Dispositivos que no se inicializan:
dmesg | grep -i "error\|failed" | less
```
</details>

##### Ejemplos comunes para problemas específicos usando dmesg

<details>
<summary>Cuando un dispositivo USB no es reconocido:</summary>
```bash
dmesg -w | grep -i usb
```
Luego, conecta el dispositivo y observa los nuevos mensajes.
</details>

<details>
<summary>Problemas de inicialización de la GPU:</summary>
```bash
dmesg | grep -i "nvidia\|amd\|intel\|radeon\|drm\|gpu" | less
```
</details>

<details>
<summary>Problemas con el adaptador de red o WiFi:</summary>
```bash
dmesg | grep -i "wlan\|wifi\|network\|firmware" | tail -20
```
Verifica si falta cargar firmware o si hay errores en el controlador que impiden que tu tarjeta inalámbrica funcione.
</details>

<details>
<summary>Problemas de detección de HDD/SSD:</summary>
```bash
dmesg | grep -i "sda\|sdb\|nvme\|scsi\|disk" | head -30
```
Usa esto cuando un dispositivo de almacenamiento no se detecta o muestra errores durante el arranque.
</details>

<details>
<summary>Congelamientos del sistema o kernel panics:</summary>
```bash
dmesg -T -l emerg,alert,crit,err | tail -30
```
Verifica los mensajes del kernel más graves que ocurrieron antes de un cuelgue o congelamiento del sistema.
</details>

<details>
<summary>Errores de memoria (RAM):</summary>
```bash
dmesg | grep -i "memory\|ram"
```
Busca corrupción de memoria, problemas de detección o informes de error ECC.
</details>

<details>
<summary>Eventos de dispositivos de audio:</summary>
```bash
dmesg | grep -i "audio\|snd\|hda" | grep -i "error\|fail\|card"
```
Verifica si tu tarjeta de sonido se está detectando correctamente y si los controladores se están cargando correctamente.
</details>

<details>
<summary>Fallos en la carga de módulos del kernel:</summary>
```bash
dmesg | grep -i "module\|init" | grep -i "error\|fail"
```
Cuando los controladores de hardware específicos no se cargan o fallan al inicializarse.
</details>

<details>
<summary>Monitoreo en tiempo real de eventos de hardware:</summary>
```bash
dmesg -w -l warn,err,crit,alert,emerg -T
```
Observa continuamente los nuevos mensajes importantes del kernel mientras reproduces un problema.
</details>

<details>
<summary>Problemas de BIOS/UEFI y firmware:</summary>
```bash
dmesg | grep -i "bios\|uefi\|firmware\|efi"
```
Verifica problemas de compatibilidad entre el firmware de tu hardware y el kernel de Linux.
</details>

## Instalación y Entorno Live

### ¿Por qué la ISO live de CachyOS solo incluye KDE Plasma?

Hemos decidido enfocar nuestros esfuerzos de desarrollo y mantenimiento exclusivamente en el entorno de escritorio KDE Plasma. Esto nos permite ofrecer una experiencia de usuario más pulida, estable y consistente en nuestra ISO live.

El entorno live está destinado principalmente a instalar CachyOS o a utilizar cachy-chroot para la recuperación del sistema. Para una forma segura de probar otros entornos de escritorio o gestores de ventanas, recomendamos encarecidamente probarlos en una máquina virtual (VM).

### ¿Por qué el instalador tarda tanto en iniciarse después de hacer clic en "Launch Installer"?

:::caution
Asegúrate de tener una conexión a internet activa/funcionando, de lo contrario no pasará nada después de presionar este botón.
:::

El instalador no está congelado. Está ejecutando un script en segundo plano necesario para preparar tu sistema para la instalación. Este proceso asegura que los llaveros y el reloj de tu sistema estén actualizados, lo que ayuda a prevenir problemas comunes de instalación.

[Ver el script en GitHub](https://github.com/CachyOS/CachyOS-Live-ISO/blob/master/archiso/airootfs/usr/local/bin/calamares-online.sh) para entender mejor lo que hace.
<Steps>
  1. Elimina archivos de llaveros antiguos.
  2. Instala y actualiza los últimos paquetes de llaveros de Arch Linux y CachyOS.
  3. Inicializa y puebla el llavero de pacman.
  4. Habilita la sincronización de la hora por red.
  5. Comprueba el tipo de arranque de tu sistema (UEFI o BIOS/MBR) para solicitar al usuario que seleccione un gestor de arranque según el tipo.
</Steps>

Por eso puede tardar un poco en cargar el instalador.

### ¿Por qué mi instalación se queda atascada en el 33%?

Esto sucede cuando el instalador tiene dificultades para descargar paquetes. Suele ser una señal de una conexión a internet muy lenta o inestable. Por favor, revisa tu conexión de red e inténtalo de nuevo.

## Recuperación del Gestor de Arranque

:::note
En caso de que la partición `/boot` haya sido eliminada, por favor crea una nueva siguiendo el [esquema de particionado](/es/installation/installation_on_root#uefigpt) correspondiente a partir del paso 5.
:::

### Pasos para recuperar tu gestor de arranque

:::tip
Si no estás seguro de cómo usar `cachy-chroot`, por favor consulta primero la documentación de [CachyOS chroot Helper](/es/features/cachy_chroot).
:::

<Steps>
    1. Arranca desde la ISO Live de CachyOS.
    2. Abre una terminal y haz chroot en tu sistema instalado usando el comando `cachy-chroot`.

        ```bash
        sudo cachy-chroot
        ```
        Si tu sistema utiliza BTRFS con nuestra configuración preestablecida, escribe `y` en la pregunta:
         ```bash title='Ejemplo'
         Do you want to use CachyOS BTRFS preset to auto mount root subvolume? y
         Do you want to mount additional partitions? · yes
         Enter the mount point for additional partition (e.g. /boot) type 'skip' to cancel:
         # Escribe /boot para systemd-boot, Limine o rEFInd
         # Escribe /boot/efi para GRUB
         ```
    3. Sigue las instrucciones a continuación para tu gestor de arranque instalado y el tipo de sistema (UEFI o MBR/BIOS).
        <Tabs>
            <TabItem label='GRUB'>
                Reinstala GRUB con el siguiente comando:
                <Tabs>
                    <TabItem label='UEFI'>
                        ```bash
                        sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=cachyos
                        ```
                    </TabItem>
                    <TabItem label='MBR/BIOS'>
                        ```bash
                        sudo grub-install --target=i386-pc /dev/sdX # Reemplaza sdX con tu disco, ej. sda
                        ```
                    </TabItem>
                </Tabs>
            </TabItem>
            <TabItem label='systemd-boot (solo UEFI)'>
                Reinstala systemd-boot con el siguiente comando:
                ```bash
                sudo bootctl install
                ```
            </TabItem>
            <TabItem label='Limine'>
                Reinstala Limine con el siguiente comando:
                <Tabs>
                    <TabItem label='UEFI'>
                        ```bash
                        sudo limine-install
                        ```
                    </TabItem>
                    <TabItem label='MBR/BIOS'>
                        ```bash
                        sudo limine bios-install /dev/sdX # Reemplaza sdX con tu disco, ej. sda
                        ```
                    </TabItem>
                </Tabs>
            </TabItem>
            <TabItem label='rEFInd (solo UEFI)'>
                Reinstala rEFInd con el siguiente comando:
                ```bash
                sudo refind-install
                ```
            </TabItem>
        </Tabs>
    4. Reinstala el kernel de CachyOS:
        ```bash
        sudo pacman -Syu linux-cachyos linux-cachyos-headers
        ```
    5. Sal de cachy-chroot:
        ```bash
        exit
        ```
    6. Reinicia tu sistema.
</Steps>

## Gestión de Paquetes y Actualizaciones

### Solución de problemas de Pacman

#### error: la firma no es válida

Este error indica un problema con la firma criptográfica de un paquete. Generalmente es causado por un repositorio (mirror) desactualizado o un llavero de claves (keyring) roto en tu sistema.

Aunque los repositorios suelen solucionarse solos después de un corto tiempo, si el problema persiste, deberías probar una de las siguientes dos soluciones.

<Tabs>

<TabItem label='Primera Solución: Resincronizar Repositorios de Pacman'>

```sh
sudo pacman -Syu
```

</TabItem>

<TabItem label='Segunda Solución: Calificar tus Repositorios'>

```sh title='Califica tus repositorios'
sudo cachyos-rate-mirrors
```

</TabItem>

<TabItem label='Tercera Solución: Restablecer Llaveros de Claves'>

Si calificar tus repositorios no funciona, es probable que los llaveros de claves de tu sistema estén rotos.

- Abre CachyOS Hello y navega a **Troubleshooting**.
- Haz clic en el botón Reset keyrings (Restablecer llaveros de claves).

</TabItem>

</Tabs>

#### error: 404 No Encontrado

Este error significa que el paquete que intentas instalar no está disponible en tu repositorio actual. Esto suele ocurrir cuando tu base de datos de paquetes local no está sincronizada con los repositorios remotos.

**Solución:**

Ejecuta el siguiente comando para refrescar tu base de datos de paquetes y realizar una actualización completa del sistema. Esto asegurará que tu sistema conozca los últimos paquetes disponibles.

```sh
sudo pacman -Syu
# Luego intenta instalar de nuevo el paquete que querías.
```

#### error: no se pudo eliminar

Este error ocurre cuando la caché de pacman contiene archivos que el sistema no puede gestionar automáticamente. Este es un problema común que se puede solucionar fácilmente.

- Solución 1: Usa CachyOS Hello.
  - La forma más sencilla de solucionar esto es con CachyOS Hello. Ábrelo y ve a **Troubleshooting**, luego haz clic en el botón **Clear package cache** (Limpiar caché de paquetes).

- Solución 2: Elimina la caché manualmente.
  - Ejecuta el siguiente comando para eliminar todos los paquetes huérfanos de la caché.
  ```sh
  sudo rm -r /var/cache/pacman/pkg/*
  ```

#### error: El archivo está corrupto (paquete inválido o corrupto (firma PGP))

```sh
# Ejemplo:
:: El archivo /var/cache/pacman/pkg/python-charset-normalizer-3.4.0-1-any.pkg.tar.zst
está corrupto (paquete inválido o corrupto (firma PGP)).
```

Este error típicamente indica un problema con los llaveros de claves de pacman de tu sistema, los cuales verifican la autenticidad de los paquetes. Los siguientes comandos restablecerán y repoblarán los llaveros de claves para resolver el problema.

```sh
sudo rm -rf /etc/pacman.d/gnupg/
sudo pacman-key --init
sudo pacman-key --populate

sudo pacman-key --recv-keys F3B607488DB35A47 --keyserver keyserver.ubuntu.com
sudo pacman-key --lsign-key F3B607488DB35A47

sudo rm -R /var/lib/pacman/sync
```

Si lo anterior no funciona, el problema no es tu llavero (keyring). Podría haber un problema con tus mirrors (repositorios), así que puedes seleccionar mirrors que funcionen y luego limpiar tu caché ejecutando lo siguiente:

```sh
sudo cachyos-rate-mirrors
sudo pacman -Scc
```

#### error: no se puede bloquear la base de datos

Este error ocurre cuando otro proceso de pacman ya se está ejecutando, lo que bloquea la base de datos para prevenir corrupción. Si el proceso anterior se cerró inesperadamente o fue interrumpido, es posible que el archivo de bloqueo `db.lck` no se haya eliminado.

- Solución 1: Usa CachyOS Hello
  - La forma más sencilla de solucionar esto es con la función **Remove db lock** (Eliminar bloqueo de bd) en la pestaña **Troubleshooting** de CachyOS Hello.

- Solución 2: Elimina el archivo de bloqueo manualmente
  - Si prefieres no usar CachyOS Hello, puedes eliminar el archivo de bloqueo manualmente:

```sh
sudo rm /var/lib/pacman/db.lck
```

#### error: fallo al recuperar el archivo ... Se agotó el tiempo de conexión

Podrías ver errores como estos:

```text
# Ejemplos de errores:
error: fallo al recuperar el archivo '...' de ... : Se agotó el tiempo de conexión
error: fallo al recuperar el archivo '...' de ... : No se pudo resolver el nombre de host
error: fallo al recuperar el archivo '...' de ... : La URL solicitada devolvió el error: 526
```

Estos errores casi siempre indican un problema con tus repositorios actuales. Pueden estar lentos, temporalmente caídos o inaccesibles desde tu ubicación.

- Solución: La mejor manera de solucionar esto es actualizar tu lista de repositorios con unos más rápidos y fiables.

```sh
sudo cachyos-rate-mirrors
# Después, puedes actualizar tu sistema con:
sudo pacman -Syu
```

:::tip
El comando `cachyos-rate-mirrors` prueba los repositorios de CachyOS disponibles basándose en la velocidad y el estado de sincronización, y luego actualiza tu archivo de lista de repositorios (`/etc/pacman.d/cachyos-mirrorlist`) con los de mejor rendimiento.

Considera ejecutarlo periódicamente, especialmente si notas lentitud durante las actualizaciones del sistema.
:::

#### advertencia: la versión local es más reciente que...

Esta advertencia aparece cuando la versión de un paquete en tu sistema es más reciente que la versión disponible en los repositorios oficiales. Esto puede suceder si un repositorio está desactualizado, si un paquete fue degradado en los repositorios o si un paquete fue instalado desde una fuente diferente.

- Solución: el comando `pacman -Syuu` realiza una actualización completa del sistema y permite degradaciones (downgrades), lo que solucionará la advertencia al sincronizar tus paquetes locales con las versiones del repositorio.

```sh title='Para eliminar estas advertencias, ejecuta el siguiente comando:'
sudo pacman -Syuu
```

#### error: fallo al realizar la transacción (archivos en conflicto)

Este error indica que pacman está intentando instalar o actualizar un paquete que contiene archivos ya presentes en tu sistema desde una fuente diferente. Esta es una medida de seguridad integrada para prevenir roturas del sistema.

- Solución: Puedes resolver este problema eliminando los archivos en conflicto manualmente. Para más información y soluciones, por favor consulta la [Arch Wiki](https://wiki.archlinux.org/title/Pacman#%22Failed_to_commit_transaction_(conflicting_files)%22_error).

```sh title='Ejemplo'
error: fallo al realizar la transacción (archivos en conflicto)
nvidia-utils: /usr/lib/environment.d/10-gsk.conf existe en el sistema de archivos
Ocurrieron errores, no se actualizaron paquetes.
 -> error instalando paquetes del repositorio
```

Para arreglar este ejemplo específico, deberías eliminar el archivo en conflicto y luego ejecutar tu comando de actualización de nuevo.

```sh
sudo rm /usr/lib/environment.d/10-gsk.conf
```

#### ERROR: módulo no encontrado: 'nvidia', 'nvidia_modeset', ...

```sh title='Ejemplo'
==> ERROR: módulo no encontrado: 'nvidia'
==> ERROR: módulo no encontrado: 'nvidia_modeset'
==> ERROR: módulo no encontrado: 'nvidia_uvm'
==> ERROR: módulo no encontrado: 'nvidia_drm'
```

**Dos razones para este error:**

1) Dado que la Carga Temprana de Módulos (Early Module Loading) siempre está habilitada en chwd, mkinitcpio espera consistentemente la presencia de módulos de NVIDIA; este error surge cuando esos módulos faltan.

2) Es posible que te falten los módulos de NVIDIA de otros kernels instalados en tu sistema.

```sh title='Instala el siguiente paquete para corregir este error'
sudo pacman -S nvidia
```

### Problemas con Software Específico

#### Discord pide una actualización que no está disponible en los repositorios.

<br />
<ImageComponent imgsrc={import('~/assets/images/discord-update.png')} />

Esto sucede porque Discord utiliza su propio sistema de actualización, que se adelanta a los repositorios oficiales. Se ha lanzado una nueva versión de la aplicación, pero aún no ha sido empaquetada para nuestros repositorios.

Para solucionar este problema, sigue la [guía de solución de la Arch Wiki](https://wiki.archlinux.org/title/Discord#Discord_asks_for_an_update_not_yet_available_in_the_repository).

### Preguntas Generales

#### Recientemente, mi sistema tarda mucho en arrancar

Dado que este problema puede ser causado por muchas cosas diferentes. Comencemos con lo básico verificando systemd-analyze para ver dónde está luchando el sistema:

Abre una terminal y ejecuta uno de los dos siguientes comandos:

```sh
systemd-analyze blame
```

o:

```sh
systemd-analyze critical-chain
```

Si la salida muestra `cachyos-rate-mirrors.service` tardando mucho en ejecutarse. Entonces deberías ejecutar el siguiente comando para enmascarar este servicio, lo que evitará que se ejecute en el arranque:

```sh
systemctl mask cachyos-rate-mirrors
systemctl mask cachyos-rate-mirrors.timer
```

#### ¿Cuál es el origen de CachyOS y por qué se llama así?

CachyOS recibe su nombre del planificador "Cachy", que era el nombre original del [planificador cacULE](https://github.com/hamadmarri/cacule-cpu-scheduler), un planificador de CPU para el kernel de Linux.

El proyecto se originó en 2020-2021 cuando ptr1337 (uno de los fundadores de CachyOS) estaba probando y colaborando con un desarrollador llamado Hamad en el planificador cacULE. Cuando decidieron crear una distribución de Linux optimizada basada en Arch Linux con paquetes optimizados para x86-64-v3, la llamaron "CachyOS" en honor al planificador que los unió.

#### ¿Con qué frecuencia se actualizan los paquetes -git?

Generalmente una vez los lunes, aunque puede haber excepciones.

#### ¿Los paquetes -bin en los repositorios de CachyOS se benefician de las mismas optimizaciones de rendimiento?

No. Los paquetes `-bin` son binarios precompilados y no incluyen las mismas optimizaciones de rendimiento que los paquetes basados en código fuente de los repositorios de CachyOS.

#### Cómo deshabilitar la animación de carga de arranque (Plymouth)

:::note[Esto podría resolver un problema de pantalla negra en algunos sistemas, por ejemplo, con GPUs NVIDIA antiguas]
:::

Para deshabilitar la animación de carga de arranque, necesitas editar tu [configuración del gestor de arranque](/es/configuration/boot_manager_configuration) y agregar los siguientes parámetros del kernel:

```sh
plymouth.enable=0 disablehooks=plymouth
```

:::note[systemd-boot, GRUB y Limine requieren regenerar las imágenes del initramfs]
systemd-boot: `sudo sdboot-manage gen`

GRUB: `sudo grub-mkconfig -o /boot/grub/grub.cfg`

Limine: `sudo limine-mkinitcpio`
:::

#### Enviar Solicitudes de Paquetes a CachyOS

CachyOS ofrece una extensa lista de paquetes AUR precompilados, que son de uso común.
Los usuarios pueden crear solicitudes para paquetes AUR de las siguientes maneras:

Si quieres que agreguemos un paquete, puedes enviar una solicitud en GitHub o en el foro.

- [GitHub](https://github.com/CachyOS/distribution/issues)
- [Foro](https://discuss.cachyos.org/c/feedback/repository/11)
- [Canal de feedback de Discord](https://discord.com/channels/862292009423470592/1150723027986813018)

## Seguridad y Buenas Prácticas

### Prácticas de Seguridad en AUR

El AUR ofrece una vasta selección, pero la seguridad es primordial. Aquí tienes una guía concisa para un uso seguro del AUR en tu sistema CachyOS.

* **1. Entiende el PKGBUILD:** Es el script de compilación. Conoce su estructura, variables (`source`, `pkgname`) y funciones (`build()`, `package()`).
* **2. Verifica los Enlaces de Origen:** Siempre comprueba que las URLs de `source` apunten a sitios oficiales del proyecto o repositorios de confianza. Evita enlaces sospechosos o personales.
* **3. Revisa los Pasos de Instalación:** Inspecciona dónde se instalan los archivos (función `package()`) y si algún comando es inusual o toca áreas sensibles del sistema. Revisa también los scripts `.install`.
* **4. Investiga al Mantenedor:** Indaga en el historial del mantenedor en el AUR para buscar problemas de seguridad pasados o actividad sospechosa.
* **5. Comprueba las Sumas de Verificación y PGP:** ¡Absolutamente crucial! Confirma que todas las sumas de verificación (SHA256, BLAKE2b, etc.) coincidan con las del proyecto original. Usa firmas PGP (`validpgpkeys`) para la autenticidad cuando estén disponibles.
* **6. Ten Cuidado con los Paquetes `-bin`:** Estos usan binarios precompilados, lo que significa que no puedes inspeccionar el código fuente. Aplica el máximo escrutinio a sus orígenes e integridad.
* **7. Lee los Comentarios de la Comunidad:** Revisa los comentarios en la página del AUR en busca de advertencias, problemas o percepciones de otros usuarios.
* **8. Nunca Omitas las Comprobaciones de Integridad:** Usar `--skipinteg` o flags similares omite todas las comprobaciones de seguridad. No lo hagas.
* **9. Controla tu Ayudante de AUR:** Entiende cómo funciona tu ayudante (yay, paru). Asegúrate de que te muestre el PKGBUILD y sus diferencias, o compila manualmente con `makepkg`.
* **10. Evalúa la Necesidad:** Antes de instalar, pregúntate si realmente necesitas este paquete de AUR, o si existe una alternativa en los repositorios oficiales.
* **11. Mantén tu Sistema Actualizado:** Ejecuta regularmente `sudo pacman -Syu` para asegurar que todos los componentes de tu sistema, incluyendo `pacman` y `makepkg`, tengan los últimos parches de seguridad.

¡Mantente alerta para mantener seguro tu sistema basado en Arch!

### Mantenimiento Regular de CachyOS

Sigue la Arch Wiki para esto: https://wiki.archlinux.org/title/System_maintenance

### Elegir un Gestor de Paquetes Gráfico (GUI)

Aunque los gestores de paquetes gráficos ofrecen comodidad, se sabe que algunos causan problemas graves en sistemas de lanzamiento continuo (rolling-release) como CachyOS y deben evitarse para gestionar paquetes del sistema.

- **Pamac:** es conocido por manejar incorrectamente ciertas tareas de gestión de paquetes, como corromper los llaveros de claves de paquetes del sistema. Esto puede llevar a errores de firma PGP que te impidan actualizar tu sistema.
- **Discover (KDE) & Centro de Software de GNOME:** Estas tiendas de aplicaciones usan el backend PackageKit. Aunque generalmente son seguras para gestionar Flatpaks, usarlas para instalar o actualizar **paquetes del sistema** es arriesgado. Los gestores basados en PackageKit también pueden ser inestables o propensos a fallar, lo que podría dejar tu sistema en un estado roto después de una transacción fallida.

Para máxima estabilidad y fiabilidad, **recomendamos encarecidamente** gestionar los paquetes del sistema a través de la línea de comandos con `pacman`

Si prefieres una interfaz gráfica, front-ends gráficos como **[Shelly](/es/configuration/post_install_setup/#actualizando-el-sistema)** o el **Instalador de Paquetes de CachyOS** se consideran alternativas seguras, ya que son envoltorios (wrappers) más directos de la funcionalidad de pacman.
