---
title: Guide FAQ & Dépannage CachyOS
description: Questions fréquentes et astuces
tableOfContents:
  minHeadingLevel: 1
  maxHeadingLevel: 5
---

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

:::note
Les questions et réponses suivantes s'appliquent à CachyOS et aux distributions basées sur Arch. `Ceci n'est pas destiné à remplacer les informations du Wiki Arch Linux`
:::

:::tip
Restez attentif à toute annonce officielle de CachyOS sur notre [Forum](https://discuss.cachyos.org/c/announcements/8), aux publications Reddit sur notre [subreddit officiel](https://www.reddit.com/r/cachyos/) ou sur [Discord #announcements](https://discord.com/channels/862292009423470592/873309651364610118) et [#updates-repo](https://discord.com/channels/862292009423470592/871739561364033566) concernant les problèmes connus avec un paquet ou les mises à jour nécessitant une intervention manuelle.
:::

## Comment signaler un problème ou un bug à CachyOS

:::danger
Méfiez-vous de l'aide et des commandes fournies par un modèle d'IA (comme ChatGPT) sans vérifier les informations auprès de sources officielles. Les modèles d'IA peuvent parfois fournir des informations incorrectes ou trompeuses, en particulier dans des contextes techniques. Référez-vous toujours à la documentation de confiance ou aux ressources de la communauté.

Sinon, vous pourriez vous retrouver avec un système complètement cassé ou aggraver encore plus le problème.
:::

:::tip
Rappelez-vous. Dans le monde de Linux, il y a une citation incroyable : « Il est très probable que quelqu'un d'autre ait eu le même problème que vous. » Alors, veuillez utiliser la fonction de recherche sur Google, le Wiki Arch, ou le Forum/Discord de CachyOS avant de signaler un problème, car il pourrait déjà être résolu.
:::

:::tip
N'oubliez pas d'utiliser la commande tldr pour afficher une version simplifiée des pages de manuel pour les commandes que vous ne connaissez pas. Exemple :

Quelques-unes des commandes et descriptions les plus courantes pour git :
```bash
tldr git
```

Vous pouvez également combiner tldr avec une commande git spécifique pour obtenir des informations plus détaillées sur un paramètre, par exemple :
```bash
tldr git add
```
:::

### Où signaler

- [Github](https://github.com/CachyOS/distribution)
- [Forum](https://discuss.cachyos.org/c/feedback/bugreports/10)
- **Discord :** [Forum de support](https://discord.com/channels/862292009423470592/1400865136373403708)
  - Avant de créer un nouveau post. Veuillez vous assurer de lire les [Directives et informations de support](https://discord.com/channels/862292009423470592/1402210965700739082) épinglées dans le canal.
    - Ou si vous pensez que votre problème peut être résolu rapidement, utilisez le [canal #support](https://discord.com/channels/862292009423470592/862294383470051348)
- [Reddit](https://www.reddit.com/r/cachyos/)

### Soyez patient et respectueux

L'équipe et la communauté de CachyOS sont des bénévoles qui travaillent sur ce projet pendant leur temps libre. Veuillez être patient et respectueux lorsque vous interagissez avec eux. Fournir un rapport de bug de haute qualité est le meilleur moyen de résoudre rapidement votre problème.

Si vous posez une question vague ou fournissez des informations insuffisantes. Alors vous pourriez aussi obtenir une réponse vague ou pas de réponse du tout.

Voici un exemple :

- **Bonne question :**
  - Après une mise à jour récente (ma dernière mise à jour était le DATE), mon système ne démarre pas et affiche un écran noir. J'ai une carte graphique NVIDIA (modèle). J'ai essayé de revenir à la version précédente du paquet `linux-cachyos`, mais le problème persiste. Voici la sortie de `journalctl -b -1` et `dmesg` depuis l'environnement live.
- **Mauvaise question ou question vague :**
  - Mon système est cassé, aidez-moi s'il vous plaît.
  <details>
  <summary>Sinon, vous pourriez finir par ressembler à Abraham dans ce mème :</summary>
   <ImageComponent imgsrc={import('~/assets/images/abraham-meme.jpg')} />
  </details>

### Décrivez votre problème

Voici quelques questions que vous devriez vous poser :

- Qu'est-ce qui ne fonctionne pas ?
- Est-ce que revenir à une version antérieure du paquet X résout le problème ?
- Utilisez la fonction de recherche pour trouver des problèmes similaires
- Le problème est-il apparu après une mise à jour ?
- Avez-vous fait des modifications par vous-même ?
  - Exemple : `Ajout d'un drapeau supplémentaire dans un fichier modprobe`
- Est-ce lié au matériel ? (par ex. GPU, WiFi, etc.)
- Est-ce lié au logiciel ? (par ex. application spécifique, environnement de bureau, etc.)
- S'agit-il d'une nouvelle installation ou le problème est-il apparu après un certain temps d'utilisation ?

## Comment collecter les journaux

Il existe de nombreuses façons de collecter les journaux de votre système. Voici quelques exemples et outils que vous pouvez utiliser :

### Créer un rapport de bug général
- CachyOS fournit un excellent outil pour collecter les journaux du système appelé `cachyos-bugreport.sh`.
  - Cet outil collectera les journaux de :
    - `dmesg`
    - `journalctl`
    - `inxi` (Pour collecter les informations sur le matériel)
  - Une fois les journaux collectés, l'utilisateur sera invité à décider s'il souhaite les téléverser sur notre site de partage de texte.
  - Exécutez la commande suivante dans le terminal, et postez le lien avec les bugs dans le sujet :
    ```sh
    sudo cachyos-bugreport.sh
    ```

### Collecter les journaux d'un programme qui ne démarre pas
- Le programme X ne démarre plus :
  - Il y a de nombreuses raisons pour lesquelles un programme graphique peut ne pas démarrer. La meilleure façon de collecter les journaux pour ce type de problème est d'exécuter le programme depuis un terminal. De cette façon, vous pouvez voir tous les messages d'erreur ou les sorties qui pourraient aider à diagnostiquer le problème.
  - Exemple :
    ```sh
    firefox
    ```
    - Si Firefox ne parvient pas à démarrer, vous pourriez voir un message d'erreur dans le terminal qui peut aider à identifier le problème.
    :::tip
    Si vous voulez sauvegarder la sortie dans un fichier texte pour un partage plus facile, vous pouvez rediriger la sortie comme ceci :
    ```sh
    firefox &> firefox-log.txt
    ```
    N'oubliez pas d'appuyer sur `CTRL + C` pour terminer le processus après qu'il a échoué à démarrer afin que le terminal écrive la sortie dans le fichier.
    :::

### Vérifier les derniers paquets mis à jour dans pacman.

Pour obtenir une liste des paquets les plus récemment mis à jour sur votre système, vous pouvez utiliser la commande suivante :

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

:::tip
Ajustez le paramètre `-n` de tail pour obtenir plus ou moins de lignes.
:::

### Raccourcis clavier pour naviguer dans journalctl et dmesg

Raccourcis clavier les plus courants pour naviguer dans les journaux lorsque `less` ou le mode lisible par l'homme est utilisé :

`Touches fléchées` : pour monter et descendre ligne par ligne.

`Page Suivante & Page Précédente ou Ctrl + A/D` : pour faire défiler d'une page vers le bas ou vers le haut.

`j & k` : pour se déplacer vers le bas ou vers le haut ligne par ligne (similaire à Vim).

`g ou Début` : pour sauter au début du journal.

`Shift + G ou Fin` : pour sauter à la fin du journal.

### Utiliser journalctl pour collecter les journaux système

La commande `journalctl` est un outil extrêmement utile pour visualiser les journaux système. Voici quelques-unes des combinaisons de commandes les plus courantes et utiles.

#### Utilisation de base et exemples courants

:::tip
Combinez plusieurs options pour un filtrage plus spécifique.
:::

<details>
<summary>Voir le journal entier (du plus ancien au plus récent) :</summary>
```bash
journalctl
```
</details>

<details>
<summary>Voir les journaux du démarrage actuel uniquement :</summary>
```bash
journalctl -b
```
</details>

<details>
<summary>Problèmes de sécurité et d'authentification :</summary>
```bash
journalctl -u sshd -u polkit -b -0 | grep -i "fail\|error\|denied"
```
Recherchez les échecs d'authentification et les refus de politique de sécurité.
</details>

<details>
<summary>Suivre les journaux en temps réel :</summary>
```bash
journalctl -f
```
:::tip
Combinez ceci avec d'autres filtres. Par exemple :
```bash
# Suivre les journaux du service Adguard Home :
journalctl -u adguardhome -f
```
:::
</details>

<details>
<summary>Problèmes audio du démarrage actuel</summary>
```bash
journalctl --user -u pipewire -u pipewire-pulse -u wireplumber -b 0
```
Voir les journaux des services audio pour dépanner les problèmes de son.
</details>

<details>
<summary>Erreurs de mémoire (RAM) :</summary>
```bash
journalctl -k | grep -i "memory\|ram"
```
Recherchez la corruption de la mémoire ou les problèmes de détection.
</details>

<details>
<summary>Problèmes liés au Bluetooth :</summary>
```bash
# Depuis le démarrage actuel :
journalctl -u bluetooth -b 0
# Depuis le démarrage précédent :
journalctl -u bluetooth -b -1
```
</details>

##### Filtrage basé sur le temps
<details>

<summary>Voir les journaux des dernières minutes/heures :</summary>
```bash
journalctl --since "10 minutes ago"
journalctl --since "1 hour ago"
journalctl --since "2024-01-15 14:30:00"
```
</details>

<details>
<summary>Voir les journaux d'une plage horaire spécifique :</summary>
```bash
journalctl --since "09:00" --until "10:00"
```
</details>

##### Filtrage par priorité et par service ou programme

Les niveaux de priorité possibles sont : `debug`, `info`, `notice`, `warning`, `err`, `crit`, `alert`, `emerg`.

Ou en utilisant des numéros :

`0` équivaut à `emerg`

`1` équivaut à `alert`

`2` équivaut à `crit`

`3` équivaut à `err`

`4` équivaut à `warning`

`5` équivaut à `notice`

`6` équivaut à `info`

et `7` équivaut à `debug`.

<details>
<summary>Afficher uniquement les messages d'erreur, critiques et d'urgence :</summary>
```bash
journalctl -p err..emerg
```
:::tip
Vous pouvez combiner cela avec les exemples précédents :

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

<details>
<summary>Afficher les journaux d'un service système spécifique :</summary>
```bash title='Exemples'
# Voir les journaux du service NetworkManager :
journalctl -u NetworkManager
# Voir les journaux du service GDM (GNOME Display Manager) :
journalctl -u gdm
# Voir les journaux du service SDDM (Simple Desktop Display Manager) :
journalctl -u sddm
```
</details>

<details>
<summary>Afficher les journaux d'un ID de processus (PID) spécifique :</summary>
```bash
journalctl _PID=pid
# Exemple :
journalctl _PID=3344
```
</details>

<details>
<summary>Afficher les journaux d'un exécutable spécifique :</summary>
```bash
journalctl chemin/vers/executable
# Exemple :
journalctl /usr/bin/firefox
```
</details>

### Utiliser journalctl pour vérifier les messages du noyau

:::note
Quand utiliser `journalctl -k` vs `dmesg` :

- `journalctl -k` accède aux messages du noyau stockés dans le journal systemd (persistant entre les redémarrages si configuré) et offre une meilleure intégration avec le filtrage temporel et les fonctionnalités du journal.
- `dmesg` lit le tampon circulaire actuel du noyau (volatile, perdu après redémarrage)
:::

<details>
<summary>Visualisation de base des messages du noyau :</summary>
```bash
journalctl -k
```
Affiche tous les messages du noyau du journal, équivalent à `dmesg` mais du point de vue du journal.
</details>

<details>
<summary>Messages du noyau du démarrage actuel uniquement :</summary>
```bash
journalctl -k -b 0
```
Affiche les messages du noyau de la session de démarrage actuelle uniquement.
</details>

<details>
<summary>Messages du noyau du démarrage précédent :</summary>
```bash
journalctl -k -b -1
```
Voir les messages du noyau du démarrage précédent. Utile pour diagnostiquer les échecs de démarrage ou les plantages.
</details>

<details>
<summary>Suivre les nouveaux messages du noyau en temps réel :</summary>
```bash
journalctl -k -f
```
Surveillez les messages du noyau au fur et à mesure qu'ils se produisent, idéal pour surveiller les événements matériels ou le chargement des pilotes.
</details>

<details>
<summary>Rechercher des messages de pilotes spécifiques :</summary>
```bash
# Exemples :
# Messages liés au GPU :
journalctl -k | grep -i "nvidia\|amd\|intel"
# Messages de périphériques USB :
journalctl -k | grep -i "usb\|pci"
```
</details>

<details>
<summary>Filtrage temporel des messages du noyau :</summary>
```bash
journalctl -k --since "1 hour ago"
journalctl -k --since "09:00" --until "10:00"
```
Voir les messages du noyau de périodes spécifiques.
</details>

### Utiliser dmesg pour les messages du noyau

La commande `dmesg` affiche le tampon circulaire du noyau, qui contient des messages du noyau sur la détection du matériel, l'initialisation des pilotes et les événements système.

#### Utilisation de base et formatage

<details>
<summary>Voir l'intégralité du tampon des messages du noyau :</summary>
```bash
dmesg
```
</details>

<details>
<summary>Voir avec des horodatages lisibles par l'homme :</summary>
```bash
dmesg -T
```
</details>

<details>
<summary>Voir dans un paginateur pour une lecture plus facile :</summary>
```bash
dmesg | less
```
</details>

#### Filtrage par niveau de priorité

Similaire à journalctl, dmesg permet de filtrer les messages par niveau de priorité.

<details>
<summary>Afficher uniquement les erreurs et les messages critiques :</summary>
```bash
dmesg -l err,crit,alert,emerg
```
Les niveaux de priorité possibles sont : `debug`, `info`, `notice`, `warning`, `err`, `crit`, `alert`, `emerg`.

Ou en utilisant des numéros :

`0` équivaut à `emerg`

`1` équivaut à `alert`

`2` équivaut à `crit`

`3` équivaut à `err`

`4` équivaut à `warning`

`5` équivaut à `notice`

`6` équivaut à `info`

et `7` équivaut à `debug`.
</details>

<details>
<summary>Voir les messages du noyau les plus récents :</summary>
```bash
dmesg -w
```
</details>

<details>
<summary>Rechercher des messages spécifiques sur le matériel ou les pilotes :</summary>
```bash
# Exemples :
# Pour rechercher des messages liés à l'USB :
dmesg | grep -i usb | less
# Périphériques Bluetooth :
dmesg | grep -i bluetooth
# Lié à NVIDIA :
dmesg | grep -i nvidia | less
# Périphériques qui ne parviennent pas à s'initialiser :
dmesg | grep -i "error\|failed" | less
```
</details>

##### Exemples courants pour des problèmes spécifiques avec dmesg

<details>
<summary>Quand un périphérique USB n'est pas reconnu :</summary>
```bash
dmesg -w | grep -i usb
```
Branchez ensuite l'appareil et surveillez les nouveaux messages.
</details>

<details>
<summary>Problèmes d'initialisation du GPU :</summary>
```bash
dmesg | grep -i "nvidia\|amd\|intel\|radeon\|drm\|gpu" | less
```
</details>

<details>
<summary>Problèmes de WiFi ou d'adaptateur réseau :</summary>
```bash
dmesg | grep -i "wlan\|wifi\|network\|firmware" | tail -20
```
Vérifiez les chargements de firmware manquants ou les erreurs de pilote qui empêchent votre carte sans fil de fonctionner.
</details>

<details>
<summary>Problèmes de détection de HDD/SSD :</summary>
```bash
dmesg | grep -i "sda\|sdb\|nvme\|scsi\|disk" | head -30
```
Utilisez ceci lorsqu'un périphérique de stockage n'est pas détecté ou affiche des erreurs au démarrage.
</details>

<details>
<summary>Gels du système ou paniques du noyau :</summary>
```bash
dmesg -T -l emerg,alert,crit,err | tail -30
```
Vérifiez les messages les plus graves du noyau qui se sont produits avant un plantage ou un gel du système.
</details>

<details>
<summary>Erreurs de mémoire (RAM) :</summary>
```bash
dmesg | grep -i "memory\|ram"
```
Recherchez la corruption de la mémoire, les problèmes de détection ou les rapports d'erreur ECC.
</details>

<details>
<summary>Événements de périphériques audio :</summary>
```bash
dmesg | grep -i "audio\|snd\|hda" | grep -i "error\|fail\|card"
```
Vérifiez si votre carte son est correctement détectée et si les pilotes se chargent correctement.
</details>

<details>
<summary>Échecs de chargement des modules du noyau :</summary>
```bash
dmesg | grep -i "module\|init" | grep -i "error\|fail"
```
Lorsque des pilotes matériels spécifiques ne se chargent pas ou échouent à s'initialiser.
</details>

<details>
<summary>Surveillance en temps réel des événements matériels :</summary>
```bash
dmesg -w -l warn,err,crit,alert,emerg -T
```
Surveillez en continu les nouveaux messages importants du noyau pendant que vous reproduisez un problème.
</details>

<details>
<summary>Problèmes de BIOS/UEFI et de firmware :</summary>
```bash
dmesg | grep -i "bios\|uefi\|firmware\|efi"
```
Vérifiez les problèmes de compatibilité entre le firmware de votre matériel et le noyau Linux.
</details>

## Installation & Environnement Live

### Pourquoi l'ISO live de CachyOS n'inclut-elle que KDE Plasma ?

Nous avons choisi de concentrer nos efforts de développement et de maintenance exclusivement sur l'environnement de bureau KDE Plasma. Cela nous permet d'offrir une expérience utilisateur plus peaufinée, stable et cohérente sur notre ISO live.

L'environnement live est principalement destiné à l'installation de CachyOS ou à l'utilisation de cachy-chroot pour la récupération du système. Pour tester en toute sécurité d'autres environnements de bureau ou gestionnaires de fenêtres, nous vous recommandons vivement de les essayer dans une machine virtuelle (VM).

### Pourquoi le programme d'installation met-il si longtemps à démarrer après avoir cliqué sur "Lancer l'installateur" ?

:::caution
Assurez-vous d'avoir une connexion Internet active/fonctionnelle, sinon rien ne se passera après avoir appuyé sur ce bouton.
:::

Le programme d'installation n'est pas figé. Il exécute un script d'arrière-plan nécessaire pour préparer votre système à l'installation. Ce processus garantit que les trousseaux de clés et l'horloge de votre système sont à jour, ce qui aide à prévenir les problèmes d'installation courants.

[Voir le script sur GitHub](https://github.com/CachyOS/CachyOS-Live-ISO/blob/master/archiso/airootfs/usr/local/bin/calamares-online.sh) pour mieux comprendre ce qu'il fait.
<Steps>
  1. Supprime les anciens fichiers de trousseaux de clés.
  2. Installe et met à jour les derniers paquets de trousseaux de clés Arch Linux & CachyOS.
  3. Initialise et peuple le trousseau de clés de pacman.
  4. Active la synchronisation de l'heure réseau.
  5. Vérifie le type de démarrage de votre système (UEFI ou BIOS/MBR) pour inviter l'utilisateur à sélectionner un chargeur d'amorçage en fonction du type.
</Steps>

C'est pourquoi le chargement du programme d'installation peut prendre un certain temps.

### Pourquoi mon installation se bloque-t-elle à 33 % ?

Cela se produit lorsque le programme d'installation a des difficultés à télécharger les paquets. C'est généralement le signe d'une connexion Internet très lente ou instable. Veuillez vérifier votre connexion réseau et réessayer.

## Récupération du chargeur d'amorçage et instantanés Btrfs

:::note
En cas de suppression de la partition `/boot`. Veuillez en créer une nouvelle en suivant le [schéma de partitionnement](/fr/installation/installation_on_root#uefigpt) respectif à partir de l'étape 5.
:::

### Étapes pour récupérer votre chargeur d'amorçage

:::tip
Si vous ne savez pas comment utiliser `cachy-chroot`, veuillez d'abord consulter la documentation de l'[Aide chroot de CachyOS](/fr/features/cachy_chroot).
:::

<Steps>
    1. Démarrez sur l'ISO Live de CachyOS.
    2. Ouvrez un terminal et faites un chroot dans votre système installé en utilisant la commande `cachy-chroot`.

        ```bash
        sudo cachy-chroot
        ```
        Si votre système utilise BTRFS avec notre préréglage, répondez `y` à l'invite :
         ```bash title='Exemple'
         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:
         # Tapez /boot pour systemd-boot, Limine ou rEFInd
         # Tapez /boot/efi pour GRUB
         ```
    3. Suivez les instructions ci-dessous pour votre chargeur d'amorçage installé et le type de système (UEFI ou MBR/BIOS).
        <Tabs>
            <TabItem label='GRUB'>
                Réinstallez GRUB avec la commande suivante :
                <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 # Remplacez sdX par votre disque, ex. sda
                        ```
                    </TabItem>
                </Tabs>
            </TabItem>
            <TabItem label='systemd-boot (UEFI uniquement)'>
                Réinstallez systemd-boot avec la commande suivante :
                ```bash
                sudo bootctl install
                ```
            </TabItem>
            <TabItem label='Limine'>
                Réinstallez Limine avec la commande suivante :
                <Tabs>
                    <TabItem label='UEFI'>
                        ```bash
                        sudo limine-install
                        ```
                    </TabItem>
                    <TabItem label='MBR/BIOS'>
                        ```bash
                        sudo limine bios-install /dev/sdX # Remplacez sdX par votre disque, ex. sda
                        ```
                    </TabItem>
                </Tabs>
            </TabItem>
            <TabItem label='rEFInd (UEFI uniquement)'>
                Réinstallez rEFInd avec la commande suivante :
                ```bash
                sudo refind-install
                ```
            </TabItem>
        </Tabs>
    4. Réinstallez le noyau CachyOS :
        ```bash
        sudo pacman -Syu linux-cachyos linux-cachyos-headers
        ```
    5. Sortez du cachy-chroot :
        ```bash
        exit
        ```
    6. Redémarrez votre système.
</Steps>

### Utiliser un instantané Btrfs comme point de restauration

:::note
Même si CachyOS crée automatiquement des instantanés Btrfs avant chaque mise à jour du système grâce à l'utilisation des hooks pacman, c'est toujours une bonne idée de créer vos propres instantanés avant d'apporter des changements majeurs à votre système.
:::

Pour plus d'informations sur les instantanés Btrfs, veuillez vous référer à la [documentation Btrfs.](https://btrfs.readthedocs.io/en/latest/)

Un instantané BTRFS apparaît comme une entrée de démarrage supplémentaire dans le menu de votre chargeur d'amorçage et est généralement nommé quelque chose comme :
- `10 | 10-30-2025 14:37:10`
<details>
<summary>Exemple dans une capture d'écran :</summary>
<ImageComponent imgsrc={import('~/assets/images/btrfs-snapshot-boot-entry.jpg')} />
</details>

Vous pouvez également utiliser l'application Btrfs Assistant pour gérer vos instantanés. Elle fournit une interface graphique pour créer, supprimer et restaurer des instantanés.

<details>
    <summary>Capture d'écran de Btrfs Assistant :</summary>
    <ImageComponent imgsrc={import('~/assets/images/btrfs-assistant-example.png')} />
</details>

## Gestion des paquets & Mises à jour

### Dépannage de Pacman

#### erreur : la signature est invalide

Cette erreur indique un problème avec la signature cryptographique d'un paquet. Elle est généralement causée par un miroir obsolète ou un trousseau de clés corrompu sur votre système.

Bien que les miroirs se corrigent souvent d'eux-mêmes après un court instant, si le problème persiste, vous devriez essayer l'une des deux solutions suivantes.

<Tabs>

<TabItem label='Première Solution : Resynchroniser les miroirs Pacman'>

```sh
sudo pacman -Syu
```

</TabItem>

<TabItem label='Deuxième Solution : Évaluer vos miroirs'>

```sh title='Évaluez vos miroirs'
sudo cachyos-rate-mirrors
```

</TabItem>

<TabItem label='Troisième Solution : Réinitialiser les trousseaux de clés'>

Si l'évaluation de vos miroirs ne fonctionne pas, il est probable que les trousseaux de clés de votre système soient corrompus.

- Ouvrez CachyOS Hello et naviguez vers **Applications/Ajustements**.
- Cliquez sur le bouton Réinitialiser les trousseaux de clés.

</TabItem>

</Tabs>

#### error: 404 Not Found

Cette erreur signifie que le paquet que vous essayez d'installer n'est pas disponible sur votre miroir actuel. Cela se produit généralement lorsque votre base de données de paquets locale n'est pas synchronisée avec les dépôts distants.

**Solution :**

Exécutez la commande suivante pour rafraîchir votre base de données de paquets et effectuer une mise à niveau complète du système. Cela garantira que votre système est au courant des derniers paquets disponibles.

```sh
sudo pacman -Syu
# Ensuite, essayez à nouveau d'installer le paquet que vous souhaitez.
```

#### error: could not remove

Cette erreur se produit lorsque le cache de pacman contient des fichiers que le système ne peut pas gérer automatiquement. C'est un problème courant qui peut être facilement résolu.

- Solution 1 : Utiliser CachyOS Hello.
  - Le moyen le plus simple de résoudre ce problème est avec CachyOS Hello. Ouvrez-le et allez dans **Applications/Ajustements**, puis cliquez sur le bouton **Nettoyer le cache des paquets**.

- Solution 2 : Supprimer manuellement le cache.
  - Exécutez la commande suivante pour supprimer tous les paquets orphelins du cache.
  ```sh
  sudo rm -r /var/cache/pacman/pkg/*
  ```

#### error: File is corrupted (invalid or corrupted package (PGP signature))

```sh
# Exemple:
:: File /var/cache/pacman/pkg/python-charset-normalizer-3.4.0-1-any.pkg.tar.zst
is corrupted (invalid or corrupted package (PGP signature)).
```

Cette erreur indique généralement un problème avec les trousseaux de clés pacman de votre système, qui vérifient l'authenticité des paquets. Les commandes suivantes réinitialiseront et repeupleront les trousseaux de clés pour résoudre le problème.

```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 ce qui précède échoue, votre trousseau de clés n'est pas le problème. Il pourrait y avoir un problème avec vos miroirs, vous pouvez donc sélectionner des miroirs fonctionnels puis vider votre cache en exécutant la commande suivante :

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

#### error: unable to lock database

Cette erreur se produit lorsqu'un autre processus pacman est déjà en cours d'exécution, ce qui verrouille la base de données pour éviter la corruption. Si le processus précédent s'est planté ou a été interrompu, le fichier de verrouillage `db.lck` pourrait ne pas avoir été supprimé.

- Solution 1 : Utiliser CachyOS Hello
  - Le moyen le plus simple de résoudre ce problème est avec la fonction **Supprimer le verrouillage de la BD** dans l'onglet **Applications/Ajustements** de CachyOS Hello.

- Solution 2 : Supprimer manuellement le fichier de verrouillage
  - Si vous préférez ne pas utiliser CachyOS Hello, vous pouvez supprimer le fichier de verrouillage manuellement :

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

#### error: failed retrieving file ... Connection timed out

Vous pourriez voir des erreurs comme celles-ci :

```text
# Exemples d'erreurs :
error: failed retrieving file '...' from ... : Connection timed out
error: failed retrieving file '...' from ... : Couldn't resolve host name
error: failed retrieving file '...' from ... : The requested URL returned error: 526
```

Ces erreurs indiquent presque toujours un problème avec vos miroirs actuels. Ils peuvent être lents, temporairement hors service ou inaccessibles depuis votre emplacement.

- Solution : La meilleure façon de résoudre ce problème est de mettre à jour votre liste de miroirs avec des miroirs plus rapides et plus fiables.

```sh
sudo cachyos-rate-mirrors
# Ensuite, vous pouvez mettre à jour votre système avec :
sudo pacman -Syu
```

:::tip
La commande `cachyos-rate-mirrors` teste les miroirs CachyOS disponibles en fonction de la vitesse et de l'état de synchronisation, puis met à jour votre fichier de liste de miroirs (`/etc/pacman.d/cachyos-mirrorlist`) avec les plus performants.

Envisagez de l'exécuter périodiquement, surtout si vous remarquez des ralentissements lors des mises à jour du système.
:::

#### warning: local is newer than...

Cet avertissement apparaît lorsqu'une version de paquet sur votre système est plus récente que la version disponible dans les dépôts officiels. Cela peut se produire si un miroir est obsolète, si un paquet a été rétrogradé dans les dépôts ou si un paquet a été installé à partir d'une source différente.

- Solution : la commande `pacman -Syuu` effectue une mise à niveau complète du système et autorise les rétrogradations, ce qui corrigera l'avertissement en synchronisant vos paquets locaux avec les versions des dépôts.

```sh title='Pour supprimer ces avertissements, exécutez la commande suivante :'
sudo pacman -Syuu
```

#### error: failed to commit transaction (conflicting files)

Cette erreur indique que pacman essaie d'installer ou de mettre à jour un paquet qui contient des fichiers déjà présents sur votre système provenant d'une source différente. C'est une fonctionnalité de sécurité intégrée pour éviter de casser le système.

- Solution : Vous pouvez résoudre ce problème en supprimant manuellement les fichiers en conflit. Pour plus d'informations et de solutions, veuillez vous référer au [Wiki Arch](https://wiki.archlinux.org/title/Pacman#%22Failed_to_commit_transaction_(conflicting_files)%22_error).

```sh title='Exemple'
erreur : la transaction n'a pas pu être validée (fichiers en conflit)
nvidia-utils: /usr/lib/environment.d/10-gsk.conf existe dans le système de fichiers
Des erreurs se sont produites, aucun paquet n'a été mis à jour.
 -> erreur lors de l'installation des paquets du dépôt
```

Pour corriger cet exemple spécifique, vous supprimeriez le fichier en conflit puis exécuteriez à nouveau votre commande de mise à jour.

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

#### ERROR: module not found: 'nvidia', 'nvidia_modeset', ...

```sh title='Exemple'
==> ERROR: module not found: 'nvidia'
==> ERROR: module not found: 'nvidia_modeset'
==> ERROR: module not found: 'nvidia_uvm'
==> ERROR: module not found: 'nvidia_drm'
```

**Deux raisons pour cette erreur :**

1) Comme le chargement précoce des modules est toujours activé dans chwd, mkinitcpio s'attend constamment à la présence des modules NVIDIA ; cette erreur survient lorsque ces modules sont absents.

2) Il se peut que les modules NVIDIA d'autres noyaux installés sur votre système soient manquants.

```sh title='Installez le paquet suivant pour corriger cette erreur'
sudo pacman -S nvidia
```

### Problèmes logiciels spécifiques

#### Discord demande une mise à jour qui n'est pas disponible dans les dépôts.

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

Cela se produit parce que Discord utilise son propre système de mise à jour, qui devance les dépôts officiels. Une nouvelle version de l'application a été publiée, mais elle n'a pas encore été empaquetée pour nos miroirs.

Pour contourner ce problème, suivez le [guide de correction du Wiki Arch](<https://wiki.archlinux.org/title/Discord#Discord_asks_for_an_update_not_yet_available_in_the_repository>).

### Questions générales

#### Quelle est l'origine de CachyOS et pourquoi ce nom ?

CachyOS tire son nom de l'ordonnanceur « Cachy », qui était le nom original de l'[ordonnanceur cacULE](https://github.com/hamadmarri/cacule-cpu-scheduler), un ordonnanceur de CPU pour le noyau Linux.

Le projet a vu le jour en 2020-2021, lorsque ptr1337 (l'un des fondateurs de CachyOS) testait et collaborait avec un développeur nommé Hamad sur l'ordonnanceur cacULE. Lorsqu'ils ont décidé de créer une distribution Linux optimisée basée sur Arch Linux avec des paquets optimisés x86-64-v3,
ils l'ont baptisée « CachyOS » en l'honneur de l'ordonnanceur qui les avait réunis.

#### Quel est l'intervalle de mise à jour des paquets -git ?

Habituellement une fois le lundi, bien qu'il puisse y avoir des exceptions.

#### Les paquets -bin dans les dépôts CachyOS bénéficient-ils des mêmes optimisations de performance ?

Non. Les paquets `-bin` sont des binaires précompilés et n'incluent pas les mêmes optimisations de performance que les paquets basés sur les sources dans les dépôts CachyOS.

#### Comment désactiver l'animation de démarrage (Plymouth)

:::note[Cela pourrait résoudre un problème d'écran noir sur certains systèmes, par exemple avec d'anciennes cartes graphiques NVIDIA]
:::

Pour désactiver l'animation de démarrage, vous devez modifier votre [configuration du chargeur d'amorçage](/fr/configuration/boot_manager_configuration) et ajouter les paramètres de noyau suivants :

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

:::note[systemd-boot, GRUB et Limine nécessitent de régénérer les images initramfs]
systemd-boot : `sudo sdboot-manage gen`

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

Limine : `sudo limine-mkinitcpio`
:::

#### Soumettre des demandes de paquets à CachyOS

CachyOS propose une liste étendue de paquets AUR précompilés, qui sont couramment utilisés.
Les utilisateurs peuvent créer des demandes pour des paquets AUR qui, si elles sont approuvées, sont automatiquement mises à jour par notre serveur de build.

Si vous souhaitez que nous ajoutions un paquet, vous pouvez soumettre une demande sur GitHub ou sur le forum.

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

## Sécurité & Bonnes pratiques

### Pratiques de sécurité pour l'AUR

L'AUR offre une vaste sélection, mais la sécurité est primordiale. Voici un guide concis pour une utilisation sûre de l'AUR pour votre système CachyOS.

* **1. Comprendre le PKGBUILD :** C'est le script de construction. Connaissez sa structure, ses variables (`source`, `pkgname`), et ses fonctions (`build()`, `package()`).
* **2. Vérifier les liens source :** Vérifiez toujours que les URL de `source` pointent vers des sites de projets officiels ou des dépôts de confiance. Évitez les liens suspects ou personnels.
* **3. Examiner les étapes d'installation :** Inspectez où les fichiers sont installés (fonction `package()`) et si des commandes sont inhabituelles ou touchent à des zones sensibles du système. Vérifiez également les scripts `.install`.
* **4. Faire des recherches sur le mainteneur :** Examinez l'historique du mainteneur sur l'AUR pour tout problème de sécurité passé ou activité suspecte.
* **5. Vérifier les sommes de contrôle & PGP :** Absolument crucial ! Confirmez que toutes les sommes de contrôle (SHA256, BLAKE2b, etc.) correspondent à celles de l'amont. Utilisez les signatures PGP (`validpgpkeys`) pour l'authenticité lorsque disponibles.
* **6. Être prudent avec les paquets `-bin` :** Ceux-ci utilisent des binaires pré-compilés, ce qui signifie que vous ne pouvez pas inspecter la source. Appliquez une vigilance maximale à leurs origines et leur intégrité.
* **7. Lire les commentaires de la communauté :** Consultez les commentaires de la page AUR pour des avertissements, des problèmes ou des informations d'autres utilisateurs.
* **8. Ne jamais sauter les vérifications d'intégrité :** Utiliser `--skipinteg` ou des indicateurs similaires contourne toutes les vérifications de sécurité. Ne le faites pas.
* **9. Contrôler votre assistant AUR :** Comprenez comment fonctionne votre assistant (yay, paru). Assurez-vous qu'il vous montre le PKGBUILD et ses différences, ou construisez manuellement avec `makepkg`.
* **10. Évaluer la nécessité :** Avant d'installer, demandez-vous si vous avez vraiment besoin de ce paquet AUR, ou s'il existe une alternative dans les dépôts officiels.
* **11. Garder votre système à jour :** Exécutez régulièrement `sudo pacman -Syu` pour vous assurer que tous les composants de votre système, y compris `pacman` et `makepkg`, disposent des derniers correctifs de sécurité.

Restez vigilant pour maintenir la sécurité de votre système basé sur Arch !

### Choisir un gestionnaire de paquets graphique

Bien que les gestionnaires de paquets graphiques offrent une certaine commodité, certains sont connus pour causer de graves problèmes sur les systèmes à publication continue comme CachyOS et devraient être évités pour la gestion des paquets système.

-   **Pamac :** est connu pour gérer de manière incorrecte certaines tâches de gestion de paquets, comme corrompre les trousseaux de clés des paquets système. Cela peut entraîner des erreurs de signature PGP qui vous empêchent de mettre à jour votre système.

-   **Discover (KDE) & GNOME Software Center :** Ces magasins d'applications utilisent le backend PackageKit. Bien qu'ils soient généralement sûrs pour la gestion des Flatpaks, les utiliser pour installer ou mettre à jour des **paquets système** est risqué. Les gestionnaires basés sur PackageKit peuvent également être instables ou sujets à des plantages, ce qui pourrait laisser votre système dans un état défaillant après une transaction échouée.

Pour une stabilité et une fiabilité maximales, nous **recommandons vivement** de gérer les paquets système via la ligne de commande avec `pacman`.

Si vous préférez une interface graphique, des interfaces graphiques comme **[Octopi](</fr/configuration/post_install_setup/#mise-à-jour-du-système>)** ou l'**Installeur de paquets CachyOS** sont considérées comme des alternatives sûres, car elles sont des interfaces plus directes pour les fonctionnalités de pacman.
