Pular para o conteúdo
Esta página está desatualizada. Por favor, consulte a documentação mais recente em /cachyos_basic/faq/

FAQ do CachyOS e Guia de Resolução de Problemas

A equipa e a comunidade do CachyOS são voluntários que trabalham nisto no seu tempo livre. Por favor, sê paciente e respeitoso ao interagir com eles. Fornecer um relatório de erro de alta qualidade é a melhor forma de ver o teu problema resolvido rapidamente.

Se fizeres uma pergunta vaga ou forneceres informações insuficientes, poderás receber uma resposta igualmente vaga ou nenhuma resposta.

Aqui está um exemplo:

  • Pergunta boa:
    • Após uma atualização recente (a minha última atualização foi em DATA), o meu sistema não arranca e apresenta um ecrã preto. Tenho uma GPU NVIDIA (modelo). Tentei reverter o pacote linux-cachyos para a versão anterior, mas o problema persiste. Aqui está o output do journalctl -b -1 e do dmesg a partir do ambiente live.
  • Pergunta má ou vaga:
    • O meu sistema está estragado, por favor ajudem-me.
    Caso contrário, poderás acabar por parecer o Abraham deste meme:

Aqui estão algumas coisas que deves perguntar a ti próprio:

  • O que é que não está a funcionar?
  • Reverter a versão do pacote X resolve o problema?
  • Outras pessoas estão a ter este problema / já foi resolvido antes? (utiliza a função de pesquisa)
  • O problema apareceu após uma atualização?
  • Fizeste modificações por conta própria?
    • Exemplo: adicionar uma flag adicional num ficheiro modprobe
  • Está relacionado com hardware? (ex: GPU, Wi-Fi)
  • Está relacionado com software? (ex: aplicação específica, ambiente de desktop)
  • É uma instalação recente ou o problema apareceu após algum tempo de uso?

Existem várias formas de recolher logs do teu sistema. Aqui estão alguns exemplos e ferramentas que podes utilizar:

O CachyOS fornece uma excelente ferramenta para recolher logs do sistema chamada cachyos-bugreport.sh. Esta ferramenta irá recolher logs de:

  • dmesg
  • journalctl
  • inxi (Para recolher informações de hardware)

Após a recolha dos logs, o utilizador será questionado se deseja carregá-los para o nosso website de paste.

Para executar este script, introduz o seguinte comando no terminal e partilha o link gerado no teu relatório:

Terminal window
sudo cachyos-bugreport.sh

Existem vários motivos pelos quais um programa gráfico pode não iniciar. A melhor forma de recolher logs para este tipo de problema é executar o programa a partir de um terminal. Desta forma, podes ver quaisquer mensagens de erro ou outputs que ajudem a diagnosticar o problema.

Por exemplo, se o Firefox não iniciar completamente, tenta executá-lo pelo terminal e procura por mensagens de erro:

Terminal window
firefox

Verificar os últimos pacotes atualizados no pacman

Seção intitulada “Verificar os últimos pacotes atualizados no pacman”

Para obteres uma lista dos pacotes atualizados mais recentemente no teu sistema, podes utilizar o seguinte comando:

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

Atalhos de Teclado para Navegar no journalctl e dmesg

Seção intitulada “Atalhos de Teclado para Navegar no journalctl e dmesg”

Atalhos mais comuns para navegar nos logs quando o less ou o modo de leitura humana está a ser utilizado:

Seta para Cima e Seta para Baixo ou J e K para fazer scroll para cima ou para baixo linha a linha.

PageUp e PageDown ou Ctrl + B/D para fazer scroll para cima ou para baixo uma página de cada vez.

G ou Home para saltar para o início do log.

Shift + G ou End para saltar para o fim do log.

O comando journalctl é uma ferramenta extremamente útil para visualizar logs do sistema. Aqui estão algumas das combinações de comandos mais comuns e úteis.

Visualizar o log completo (do mais antigo para o mais recente):
Terminal window
journalctl
Visualizar logs apenas do arranque (boot) atual:
Terminal window
journalctl -b
Problemas de segurança e autenticação:
Terminal window
journalctl -u sshd -u polkit -b -0 | grep -i "fail\|error\|denied"

Procura por falhas de autenticação e negações de políticas de segurança.

Acompanhar os logs em tempo real:
Terminal window
journalctl -f
Problemas de áudio do arranque (boot) atual:
Terminal window
journalctl --user -u pipewire -u pipewire-pulse -u wireplumber -b 0

Visualizar logs dos serviços de áudio para resolver problemas de som.

Erros de memória (RAM):
Terminal window
journalctl -k | grep -i "memory\|ram"

Procura por corrupção de memória ou problemas de deteção.

Problemas de Bluetooth:
Terminal window
# Do arranque (boot) atual:
journalctl -u bluetooth -b 0
journalctl -u bluetooth -b 0
# Do arranque (boot) anterior:
journalctl -u bluetooth -b -1
Visualizar logs dos últimos minutos/horas:
Terminal window
journalctl --since "10 minutes ago"
journalctl --since "1 hour ago"
journalctl --since "2024-01-15 14:30:00"
Visualizar logs de um intervalo de tempo específico:
Terminal window
journalctl --since "09:00" --until "10:00"

Os níveis de prioridade possíveis são: debug, info, notice, warning, err, crit, alert, emerg.

Ou utilizando 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

e 7 equivale a debug.

Mostrar apenas mensagens de erro, críticas e de emergência:
Terminal window
journalctl -p err..emerg
Mostrar logs de um serviço específico do sistema:
Examples
# Visualizar logs do serviço NetworkManager:
journalctl -u NetworkManager
# Visualizar logs do serviço GDM (GNOME Display Manager):
journalctl -u gdm
# Visualizar logs do serviço SDDM (Simple Desktop Display Manager):
journalctl -u sddm
Mostrar logs de um Process ID (PID) específico:
Terminal window
journalctl _PID=pid
# Exemplo:
journalctl _PID=3344
Mostrar logs de um executável específico:
Terminal window
journalctl path/to/executable
# Exemplo:
journalctl /usr/bin/firefox

Utilizar o journalctl para Verificar Mensagens do Kernel

Seção intitulada “Utilizar o journalctl para Verificar Mensagens do Kernel”
Visualização básica de mensagens do kernel:
Terminal window
journalctl -k

Mostra todas as mensagens do kernel no jornal, equivalente ao dmesg mas a partir da perspetiva do jornal.

Apenas mensagens do kernel do arranque (boot) atual:
Terminal window
journalctl -k -b 0

Exibe as mensagens do kernel apenas da sessão de arranque atual.

Mensagens do kernel do arranque anterior:
Terminal window
journalctl -k -b -1

Visualiza as mensagens do kernel do arranque anterior. Útil para diagnosticar falhas de arranque ou crashes.

Acompanhar novas mensagens do kernel em tempo real:
Terminal window
journalctl -k -f

Observa as mensagens do kernel à medida que ocorrem, ideal para monitorizar eventos de hardware ou o carregamento de controladores (drivers).

Procurar mensagens de controladores (drivers) específicos:
Terminal window
# Exemplos:
# Mensagens relacionadas com o GPU:
journalctl -k | grep -i "nvidia\|amd\|intel"
# Mensagens de dispositivos USB:
journalctl -k | grep -i "usb\|pci"
Filtragem de mensagens do kernel baseada no tempo:
Terminal window
journalctl -k --since "1 hour ago"
journalctl -k --since "09:00" --until "10:00"

Visualiza as mensagens do kernel de períodos de tempo específicos.

O comando dmesg exibe o buffer circular do kernel, que contém mensagens do kernel sobre deteção de hardware, inicialização de controladores (drivers) e eventos do sistema.

Visualizar todo o buffer de mensagens do kernel:
Terminal window
dmesg
Visualizar com carimbos de data/hora legíveis:
Terminal window
dmesg -T
Visualizar num paginador para uma leitura mais fácil:
Terminal window
dmesg | less

Semelhante ao journalctl, o dmesg permite filtrar mensagens por nível de prioridade.

Mostrar apenas erros e mensagens críticas:
Terminal window
dmesg -l err,crit,alert,emerg

Os níveis de prioridade possíveis são: debug, info, notice, warning, err, crit, alert, emerg.

Ou utilizando 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

e 7 equivale a debug.

Visualizar as mensagens do kernel mais recentes:
Terminal window
dmesg -w
Procurar mensagens de hardware ou de controladores (drivers) específicos:
Terminal window
# Exemplos:
# Para procurar mensagens relacionadas com USB:
dmesg | grep -i usb | less
# Dispositivos Bluetooth:
dmesg | grep -i bluetooth
# Relacionado com NVIDIA:
dmesg | grep -i nvidia | less
# Dispositivos que falharam ao inicializar:
dmesg | grep -i "error\|failed" | less
Exemplos comuns para problemas específicos usando o dmesg
Seção intitulada “Exemplos comuns para problemas específicos usando o dmesg”
Quando um dispositivo USB não é reconhecido:
Terminal window
dmesg -w | grep -i usb

Depois, ligue o dispositivo e acompanhe as novas mensagens.

Problemas de inicialização do GPU:
Terminal window
dmesg | grep -i "nvidia\|amd\|intel\|radeon\|drm\|gpu" | less
Problemas de Wi-Fi ou do adaptador de rede:
Terminal window
dmesg | grep -i "wlan\|wifi\|network\|firmware" | tail -20

Verifique se há carregamentos de firmware em falta ou erros de controladores (drivers) que impeçam a sua placa de rede sem fios de funcionar.

Problemas de deteção de HDD/SSD:
Terminal window
dmesg | grep -i "sda\|sdb\|nvme\|scsi\|disk" | head -30

Utilize isto quando um dispositivo de armazenamento não está a ser detetado ou apresenta erros durante o arranque.

Bloqueios do sistema (freezes) ou kernel panics:
Terminal window
dmesg -T -l emerg,alert,crit,err | tail -30

Verifique as mensagens mais graves do kernel que ocorreram antes de um crash ou bloqueio do sistema.

Erros de memória (RAM):
Terminal window
dmesg | grep -i "memory\|ram"

Procure por corrupção de memória, problemas de deteção ou relatórios de erros ECC.

Eventos de dispositivos de áudio:
Terminal window
dmesg | grep -i "audio\|snd\|hda" | grep -i "error\|fail\|card"

Verifique se a sua placa de som está a ser detetada corretamente e se os controladores (drivers) estão a ser carregados devidamente.

Falhas no carregamento de módulos do kernel:
Terminal window
dmesg | grep -i "module\|init" | grep -i "error\|fail"

Quando controladores (drivers) de hardware específicos não estão a carregar ou estão a falhar na inicialização.

Monitorização em tempo real de eventos de hardware:
Terminal window
dmesg -w -l warn,err,crit,alert,emerg -T

Acompanhe continuamente novas mensagens importantes do kernel enquanto reproduz um problema.

Problemas de BIOS/UEFI e firmware:
Terminal window
dmesg | grep -i "bios\|uefi\|firmware\|efi"

Verifique problemas de compatibilidade entre o firmware do seu hardware e o kernel Linux.

Por que razão o ISO live do CachyOS apenas inclui o KDE Plasma?

Seção intitulada “Por que razão o ISO live do CachyOS apenas inclui o KDE Plasma?”

Escolhemos focar os nossos esforços de desenvolvimento e manutenção exclusivamente no ambiente de desktop KDE Plasma. Isto permite-nos entregar uma experiência de utilizador mais polida, estável e consistente no nosso ISO live.

O ambiente live destina-se principalmente à instalação do CachyOS ou à utilização do cachy-chroot para recuperação do sistema. Para uma forma segura de testar outros ambientes de desktop ou gestores de janelas, recomendamos vivamente que os experimente numa máquina virtual (VM).

Por que razão o instalador demora tanto tempo a iniciar após clicar em “Launch Installer”?

Seção intitulada “Por que razão o instalador demora tanto tempo a iniciar após clicar em “Launch Installer”?”

O instalador não está bloqueado. Está a executar um script de segundo plano necessário para preparar o seu sistema para a instalação. Este processo garante que os chaveiros (keyrings) e o relógio do seu sistema estão atualizados, o que ajuda a prevenir problemas comuns de instalação.

Veja o script no GitHub para compreender melhor o que ele faz.

  1. Remove ficheiros de chaveiro antigos.
  2. Atualiza os pacotes de chaveiros do Arch Linux e CachyOS para a versão mais recente.
  3. Inicializa e popula o chaveiro do pacman.
  4. Ativa a sincronização de tempo por rede.
  5. Verifica o tipo de arranque do seu sistema (UEFI ou BIOS/MBR) para solicitar ao utilizador a seleção de um carregador de arranque (bootloader) dependendo do tipo.

Por que razão a minha instalação fica presa nos 33%?

Seção intitulada “Por que razão a minha instalação fica presa nos 33%?”

Isto acontece quando o instalador tem dificuldade em descarregar os pacotes. Geralmente é um sinal de uma ligação à internet muito lenta ou instável. Por favor, verifique a sua ligação de rede e tente novamente.

Passos para recuperar o seu carregador de arranque (bootloader)

Seção intitulada “Passos para recuperar o seu carregador de arranque (bootloader)”
  1. Inicie o sistema através do Live ISO do CachyOS.

  2. Abra um terminal e entre no sistema instalado (chroot) utilizando o comando cachy-chroot.

    Terminal window
    sudo cachy-chroot

    Se o sistema estiver a utilizar BTRFS com o nosso preset, responda y (sim) no prompt:

    Example
    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:
    # Escreva /boot para systemd-boot, Limine ou rEFInd
    # Escreva /boot/efi para GRUB
  3. Siga as instruções abaixo para o carregador de arranque instalado e o tipo de sistema (UEFI ou MBR/BIOS).

    Reinstale o GRUB com o seguinte comando:

    Terminal window
    sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=cachyos
  4. Reinstale o kernel do CachyOS:

    Terminal window
    sudo pacman -Syu linux-cachyos linux-cachyos-headers
  5. Saia do cachy-chroot:

    Terminal window
    exit
  6. Reinicie o sistema.

error: signature is invalid (erro: a assinatura é inválida)

Seção intitulada “error: signature is invalid (erro: a assinatura é inválida)”

Este erro indica um problema com a assinatura criptográfica de um pacote. Geralmente é causado por um espelho (mirror) desatualizado ou por um chaveiro (keyring) danificado no seu sistema.

Embora os mirrors se resolvam frequentemente sozinhos após um curto período, se o problema persistir, deve tentar uma das duas soluções seguintes.

Terminal window
sudo pacman -Syu

Este erro significa que o pacote que está a tentar instalar não está disponível no seu mirror atual. Isto acontece geralmente quando a sua base de dados de pacotes local está dessincronizada em relação aos repositórios remotos.

Solução:

Execute o seguinte comando para atualizar a sua base de dados de pacotes e realizar uma atualização completa do sistema. Isto garantirá que o seu sistema tenha conhecimento dos pacotes mais recentes disponíveis.

Terminal window
sudo pacman -Syu
# Depois, tente instalar novamente o pacote pretendido.

error: could not remove (erro: não foi possível remover)

Seção intitulada “error: could not remove (erro: não foi possível remover)”

Este erro ocorre quando a cache do pacman contém ficheiros que o sistema não consegue gerir automaticamente. Este é um problema comum que pode ser resolvido facilmente.

  • Solução 1: Utilizar o CachyOS Hello.

    • A forma mais simples de resolver isto é com o CachyOS Hello. Abra-o, vá a Apps/Tweaks e clique no botão Clear package cache.
  • Solução 2: Remover a cache manualmente.

    • Execute o seguinte comando para remover todos os pacotes órfãos da cache.
    Terminal window
    sudo rm -r /var/cache/pacman/pkg/*

error: File is corrupted (invalid or corrupted package (PGP signature)) (erro: o ficheiro está corrompido)

Seção intitulada “error: File is corrupted (invalid or corrupted package (PGP signature)) (erro: o ficheiro está corrompido)”
Terminal window
# Exemplo:
:: File /var/cache/pacman/pkg/python-charset-normalizer-3.4.0-1-any.pkg.tar.zst
is corrupted (invalid or corrupted package (PGP signature)).

Este erro indica tipicamente um problema com os chaveiros (keyrings) do pacman no seu sistema, que verificam a autenticidade dos pacotes. Os seguintes comandos irão repor e repovoar os chaveiros para resolver o problema.

Terminal window
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

Se os passos acima não forem bem-sucedidos, o problema não está no seu chaveiro. Pode haver um problema com os seus espelhos (mirrors), pelo que pode selecionar mirrors funcionais e, em seguida, limpar a sua cache executando o seguinte:

Terminal window
sudo cachyos-rate-mirrors
sudo pacman -Scc

error: unable to lock database (erro: não foi possível bloquear a base de dados)

Seção intitulada “error: unable to lock database (erro: não foi possível bloquear a base de dados)”

Este erro ocorre quando outro processo do pacman já está em execução, o que bloqueia a base de dados para evitar a sua corrupção. Se o processo anterior falhou ou foi interrompido, o ficheiro de bloqueio db.lck pode não ter sido removido.

  • Solução 1: Utilizar o CachyOS Hello

    • A forma mais simples de resolver isto é com a função Remove db lock no separador Apps/Tweaks do CachyOS Hello.
  • Solução 2: Remover o ficheiro de bloqueio manualmente

    • Se preferir não utilizar o CachyOS Hello, pode remover o ficheiro de bloqueio manualmente:
Terminal window
sudo rm /var/lib/pacman/db.lck

error: failed retrieving file … Connection timed out (erro: falha ao obter o ficheiro … Ligação expirada)

Seção intitulada “error: failed retrieving file … Connection timed out (erro: falha ao obter o ficheiro … Ligação expirada)”

Poderá ver erros semelhantes a estes:

# Exemplo de erros:
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

Estes erros indicam quase sempre um problema com os seus espelhos (mirrors) atuais. Podem estar lentos, temporariamente indisponíveis ou inacessíveis a partir da sua localização.

  • Solução: A melhor forma de resolver isto é atualizar a sua lista de mirrors com espelhos mais rápidos e fiáveis.
Terminal window
sudo cachyos-rate-mirrors
# Posteriormente, pode atualizar o seu sistema com:
sudo pacman -Syu

warning: local is newer than… (aviso: a versão local é mais recente que…)

Seção intitulada “warning: local is newer than… (aviso: a versão local é mais recente que…)”

Este aviso aparece quando a versão de um pacote no seu sistema é mais recente do que a versão disponível nos repositórios oficiais. Isto pode acontecer se um mirror estiver desatualizado, se um pacote tiver sofrido um downgrade nos repositórios ou se um pacote tiver sido instalado a partir de uma fonte diferente.

  • Solução: o comando pacman -Syuu realiza uma atualização completa do sistema e permite a realização de downgrades, o que resolverá o aviso ao sincronizar os seus pacotes locais com as versões do repositório.
Para remover estes avisos, execute o seguinte comando:
sudo pacman -Syuu

error: failed to commit transaction (conflicting files) (erro: falha ao submeter a transação (ficheiros em conflito))

Seção intitulada “error: failed to commit transaction (conflicting files) (erro: falha ao submeter a transação (ficheiros em conflito))”

Este erro indica que o pacman está a tentar instalar ou atualizar um pacote que contém ficheiros já presentes no seu sistema, provenientes de uma fonte diferente. Esta é uma funcionalidade de segurança integrada para evitar danos no sistema.

  • Solução: Pode resolver este problema removendo manualmente os ficheiros em conflito. Para mais informações e soluções, consulte a Arch Wiki.
Exemplo
error: failed to commit transaction (conflicting files)
nvidia-utils: /usr/lib/environment.d/10-gsk.conf exists in filesystem
Errors occurred, no packages were upgraded.
-> error installing repo packages

Para corrigir este exemplo específico, deve remover o ficheiro em conflito e, em seguida, executar novamente o seu comando de atualização.

Terminal window
sudo rm /usr/lib/environment.d/10-gsk.conf

ERROR: module not found: ‘nvidia’, ‘nvidia_modeset’, … (ERRO: módulo não encontrado)

Seção intitulada “ERROR: module not found: ‘nvidia’, ‘nvidia_modeset’, … (ERRO: módulo não encontrado)”
Exemplo
==> ERROR: module not found: 'nvidia'
==> ERROR: module not found: 'nvidia_modeset'
==> ERROR: module not found: 'nvidia_uvm'
==> ERROR: module not found: 'nvidia_drm'

Duas razões para este erro:

  1. Uma vez que o “Early Module Loading” está sempre ativado no chwd, o mkinitcpio espera constantemente a presença dos módulos NVIDIA; este erro surge quando esses módulos estão em falta.

  2. Podem estar em falta os módulos NVIDIA para outros kernels instalados no seu sistema.

Instale o seguinte pacote para corrigir este erro:
sudo pacman -S nvidia

O Discord solicita uma atualização que não está disponível nos repositórios.

Seção intitulada “O Discord solicita uma atualização que não está disponível nos repositórios.”

Isto acontece porque o Discord utiliza o seu próprio sistema de atualização, que se adianta aos repositórios oficiais. Foi lançada uma nova versão da aplicação, mas esta ainda não foi empacotada para os nossos mirrors.

Para contornar este problema, siga o guia de correção da Arch Wiki.

Qual é a origem do CachyOS e por que se chama “CachyOS”?

Seção intitulada “Qual é a origem do CachyOS e por que se chama “CachyOS”?”

O CachyOS deve o seu nome ao agendador (scheduler) “Cachy”, que era o nome original do agendador cacULE, um agendador de CPU para o kernel Linux.

O projeto teve origem em 2020-2021 quando o ptr1337 (um dos fundadores do CachyOS) estava a testar e a colaborar com um programador chamado Hamad no agendador cacULE. Quando decidiram criar uma distribuição Linux otimizada baseada em Arch Linux com pacotes otimizados para x86-64-v3, chamaram-lhe “CachyOS” em homenagem ao agendador que os uniu.

Qual é o intervalo de atualização dos pacotes -git?

Seção intitulada “Qual é o intervalo de atualização dos pacotes -git?”

Geralmente uma vez à segunda-feira, embora possam existir exceções.

Os pacotes -bin nos repositórios do CachyOS beneficiam das mesmas otimizações de desempenho?

Seção intitulada “Os pacotes -bin nos repositórios do CachyOS beneficiam das mesmas otimizações de desempenho?”

Não. Os pacotes -bin são binários pré-compilados e não incluem as mesmas otimizações de desempenho que os pacotes baseados em código-fonte nos repositórios do CachyOS.

Como desativar a animação de carregamento do sistema (Plymouth)

Seção intitulada “Como desativar a animação de carregamento do sistema (Plymouth)”

Para desativar a animação de carregamento inicial, precisa de editar a sua configuração do gestor de arranque (bootloader) e adicionar os seguintes parâmetros de kernel:

Terminal window
plymouth.enable=0 disablehooks=plymouth

O CachyOS oferece uma lista extensa de pacotes do AUR pré-compilados, que são comummente utilizados. Os utilizadores podem criar pedidos para pacotes do AUR que, se aprovados, são atualizados automaticamente pelo nosso servidor de build.

Se pretender que adicionemos um pacote, pode submeter um pedido no GitHub ou no fórum.

O AUR oferece uma vasta seleção, mas a segurança é primordial. Aqui está um guia conciso para uma utilização segura do AUR no seu sistema CachyOS.

  • Compreenda o PKGBUILD: É o script de compilação. Conheça a sua estrutura, variáveis (source, pkgname) e funções (build(), package()).
  • Verifique os links das fontes: Confirme sempre se os URLs em source apontam para sites oficiais do projeto ou repositórios fidedignos. Evite links suspeitos ou pessoais.
  • Reveja os passos de instalação: Inspecione onde os ficheiros são instalados (função package()) e se existem comandos invulgares ou que toquem em áreas sensíveis do sistema. Verifique também os scripts .install.
  • Pesquise sobre o mantenedor: Verifique o histórico do mantenedor no AUR para identificar problemas de segurança passados ou atividades suspeitas.
  • Verifique Checksums e PGP: Absolutamente crucial! Confirme se todos os checksums (SHA256, BLAKE2b, etc.) coincidem com o upstream. Utilize assinaturas PGP (validpgpkeys) para autenticidade sempre que disponíveis.
  • Tenha cautela com pacotes -bin: Estes utilizam binários pré-compilados, o que significa que não pode inspecionar o código-fonte. Aplique o máximo de escrutínio às suas origens e integridade.
  • Leia os comentários da comunidade: Verifique os comentários na página do AUR para avisos, problemas ou informações de outros utilizadores.
  • Nunca ignore as verificações de integridade: Utilizar --skipinteg ou flags semelhantes ignora todas as verificações de segurança. Não o faça.
  • Controle o seu AUR Helper: Entenda como o seu helper (yay, paru) funciona. Certifique-se de que ele lhe mostra o PKGBUILD e as suas diferenças (diffs), ou compile manualmente com o makepkg.
  • Avalie a necessidade: Antes de instalar, questione se precisa realmente deste pacote do AUR ou se existe uma alternativa nos repositórios oficiais.
  • Mantenha o seu sistema atualizado: Execute regularmente sudo pacman -Syu para garantir que todos os componentes do sistema, incluindo o pacman e o makepkg, têm as últimas correções de segurança.

Mantenha-se vigilante para conservar o seu sistema baseado em Arch seguro!

Embora os gestores de pacotes gráficos ofereçam conveniência, alguns são conhecidos por causar problemas graves em sistemas rolling-release como o CachyOS e devem ser evitados para gerir pacotes do sistema.

  • Pamac: É conhecido por lidar incorretamente com certas tarefas de gestão, como corromper os chaveiros (keyrings) de pacotes do sistema. Isto pode levar a erros de assinatura PGP que o impedem de atualizar o sistema.
  • Discover (KDE) e GNOME Software Center: Estas lojas de aplicações utilizam o backend PackageKit. Embora sejam geralmente seguras para gerir Flatpaks, utilizá-las para instalar ou atualizar pacotes do sistema é arriscado. Os gestores baseados em PackageKit também podem ser instáveis ou propensos a falhas, o que pode deixar o seu sistema num estado danificado após uma transação mal-sucedida.

Para máxima estabilidade e fiabilidade, recomendamos vivamente a gestão de pacotes do sistema através da linha de comandos com o pacman.

Se preferir uma interface gráfica, front-ends como o Octopi ou o CachyOS Package Installer são considerados alternativas seguras, pois funcionam como wrappers mais diretos para as funcionalidades do pacman.