System maintenance (Português)
Manutenção de sistema regular é necessário para o bom funcionamento do Arch durante um período de tempo. A manutenção periódica é uma prática à qual muitos usuários se acostumam.
Verifique por erros
Falha em serviços de systemd
Verifique se algum serviço do systemd falhou:
$ systemctl --failed
Veja Systemd#Usando units para mais informações.
Arquivos de log
Procure por erros nos arquivos de log localizados em /var/log/
, bem como mensagens registradas no journal do systemd:
# journalctl -p 3 -b
Veja systemd/Journal para mais informações e opções de filtragem.
Veja Xorg#Solução de problemas para informações sobre onde e como o Xorg registra os erros.
Backup
Ter backups de dados importantes é uma medida necessária, uma vez que erros de processamento humano e de máquina são muito propensos a gerar corrupção com o passar do tempo, e também a mídia física onde os dados são armazenados está inevitavelmente destinada a falhar.
Veja Programas de sincronização e backup para muitas alternativas de aplicativos que podem se adequar ao seu caso. Veja Category:System recovery (Português) para outros artigos de internet.
É recomendável automatizar backups, consulte Inicialização automática#Em eventos de tempo.
Arquivos de configuração
Antes de editar quaisquer arquivos de configuração, crie um backup de forma que você possa reverter para uma versão funcional no caso de haver problemas. Editores como vim e emacs pode fazer isso automaticamente. Em uma escala maior, considere usar um gerenciador de configuração.
Para dotfiles (arquivos de configuração no diretório inicial), consulte dotfiles#Rastreando dotfiles diretamente com Git.
Lista de pacotes instalados
Mantenha uma lista de todos os pacotes instalados para que, se uma reinstalação completa for inevitável, seja mais fácil recriar o ambiente original.
Veja pacman/Dicas e truques#Lista de pacotes instalados para detalhes.
Base de dados do pacman
Veja pacman/Dicas e truques#Fazer backup da base de dados do pacman.
Metadados criptográficos
Veja Criptografia de dados em repouso#Backup para cenários de criptografia de disco.
Dados de sistema e de usuário
Veja Backup do sistema.
Atualizando o sistema
É recomendado realizar atualizações completas do sistema regularmente via Pacman#Atualizando pacotes, para aproveitar as últimas correções de erros e atualizações de segurança, além de evitar de ter que lidar com muitas atualizações de pacotes que exigem intervenção manual de uma só vez. Ao solicitar suporte da comunidade, é geralmente presumido que o sistema esteja atualizado.
Certifique-se de que a mídia de instalação do Arch ou outro CD/USB "live" de Linux esteja disponível, de forma que você possa facilmente recuperar seu sistema se houver um problema após a atualização. Se você está usando o Arch em um ambiente de produção, ou não puder se dar o luxo de tê-lo indisponível por algum motivo, teste alterações aos arquivos de configurações, bem como atualizações de pacotes de software, em um sistema duplicata não crítico (i.e sistema de homologação) primeiro. Então, se tudo funcionar corretamente, aplique as alterações no sistema de produção.
Se o sistema possui pacotes do AUR, atualize todos eles com muito cuidado.
pacman é uma ferramenta de gerenciamento de pacotes poderosa, mas ela não tenta resolver todos problemas possíveis. Os usuários devem estar vigilantes e ter responsabilidade pela manutenção de seu próprio sistema.
Leia antes de atualizar o sistema
Antes de atualizar, espera-se que os usuários visitem a página inicial do Arch Linux para verificar as últimas notícias ou, alternativamente, estejam inscritos no feed RSS ou na lista de discussão arch-announce. Quando atualizações exigirem intervenção fora do normal do usuário (mais do que pode ser tratado simplesmente seguindo as instruções fornecidas pelo pacman), uma notícia apropriada será publicada.
Antes de atualizar softwares fundamentais (como o kernel, xorg, systemd ou glibc) para uma nova versão, procure pelo fórum apropriado por algum relato de problema.
Da mesma forma, usuários devem estar cientes de que atualizar pacotes pode trazer problemas inesperados que podem precisar de intervenção imediata; portanto, é desencorajado atualizar um sistema estável logo antes dele ser necessário para realizar uma tarefa importante. Em vez disso, espere para atualizar até que haja tempo suficiente para resolver quaisquer problemas pós-atualização.
Evite certos comandos do pacman
Evite fazer atualizações parciais. Em outras palavras, nunca execute pacman -Sy
; em vez disso, sempre use pacman -Syu
.
Geralmente evite usar a opção --overwrite
com o pacman. A opção --overwrite
leva um argumento contendo um glob. Quando usado, o pacman ignorará as verificações de conflitos de arquivos em busca de arquivos que correspondam ao glob. Em um sistema adequadamente mantido, ele deve ser usado somente quando explicitamente recomendado pelos Desenvolvedores do Arch. Veja a seção #Leia antes de atualizar o sistema.
Evite usar a opção -d
com o pacman. pacman -Rdd pacote
ignora verificações de dependência durante a remoção de pacote. Como resultado, um pacote fornecendo uma dependência crítica pode ser removido, resultando em um sistema quebrado.
Sem suporte a atualizações parciais
Arch Linux é uma distribuição de rolling release (ou lançamento contínuo). Isso significa que quando novas versões das bibliotecas são enviadas para os repositórios, os Desenvolvedores e Mantenedores de Pacote recompilam todos os pacotes nos repositórios que precisam ser recompilados com as bibliotecas. Por exemplo, se dois pacotes dependem da mesma biblioteca, atualizar apenas um pacote pode também atualizar a biblioteca (como uma dependência), o que pode então quebrar o outro pacote que depende de uma versão antiga da biblioteca.
É por isso que as atualizações parciais não são suportadas. Não use:
pacman -Sy pacote
pacman -Sy
seguido porpacman -S pacote
(Observe a ausência de-Su
na instalação do pacote.)pacman -Syuw
(Observe quepacman -Syuw
implica os mesmos riscos quepacman -Sy
, pois atualizará o banco de dados de sincronização do pacman sem instalar os pacotes mais recentes.)
Ao renovar a base de dados de pacotes, sempre faça uma atualização completa com pacman -Syu
. Observe que se pacman -Syu
não executar a atualização devido a um erro, o resultado final será o mesmo da execução de pacman -Sy
. Portanto, o erro deve ser resolvido e a operação de atualização concluída o mais rápido possível.
Tenha muito cuidado ao usar IgnorePkg
e IgnoreGroup
pelo mesmo motivo. Se o sistema possui pacotes compilados localmente (como pacotes do AUR), os usuários precisarão recompilá-los quando suas dependências receberem um soname bump.
Se um cenário de atualização parcial for criado, e os binários forem quebrados porque eles não conseguem localizar as bibliotecas às quais eles estão vinculados, não "corrija" o problema usando apenas fazendo um link simbólico. Bibliotecas recebem mudanças soname quando elas não possuem compatível com a versão anterior. Um simples pacman -Syu
com um espelho sincronizado corretamente irá corrigir o problema, desde que o pacman não esteja quebrado.
O script bash checkupdates, incluído no pacote pacman-contrib, fornece uma forma segura de verificar por atualizações para pacotes instalados sem executar uma atualização do sistema ao mesmo tempo e fornece uma opção para baixar as atualizações pendentes para o cache do pacote sem tocar no banco de dados de sincronização.
Aja em alertas durante uma atualização
Ao atualizar o sistema, certifique-se de prestar atenção aos avisos de alerta fornecidos pelo pacman. Se quaisquer ações adicionais do usuário forem exigidas, assegure-se de resolvê-las imediatamente. Se um alerta do pacman estiver confuso, pesquise no fórum e notícias recentes para mais instruções detalhadas.
Lide prontamente com os novos arquivos de configuração
Quando o pacman é chamado, arquivos .pacnew e .pacsave podem ser criados. O pacman avisa quando isso acontece e usuários devem lidar com esses arquivos imediatamente. Veja a página wiki pacman/Pacnew e Pacsave para obter instruções detalhadas.
Além disso, pense em outros arquivos de configuração que você pode ter copiado ou criado. Se um pacote possuir um exemplo de configuração que você copiou para seu diretório home, verifique se um novo foi criado.
Reinicialize após atualizações
As atualizações geralmente não são aplicadas aos processos existentes. Você deve reiniciar os processos para aplicar completamente a atualização.
O pacote archlinux-contrib fornece um script chamado checkservices que executa o pacdiff para mesclar arquivos .pacnew e, em seguida, verifica os processos em execução com bibliotecas desatualizadas e pergunta ao usuário se deseja que eles sejam reiniciados.
O kernel é particularmente difícil de corrigir sem uma reinicialização. Uma reinicialização é sempre a opção mais segura, mas se isso for muito inconveniente, kernel live patching pode ser usado para aplicar atualizações sem reinicialização.
Reverta atualizações quebradas
Se uma atualização de pacote for esperada/conhecida por causar problemas, os empacotadores garantirão que o pacman exiba uma mensagem apropriada quando o pacote for atualizado. Se tiver problemas após uma atualização, verifique mais de uma vez a saída do pacman olhando em /var/log/pacman.log
.
Nesse ponto, somente depois de garantir que não há informações disponíveis através do pacman, não há notícias relevantes em https://archlinux.org/, e não há postagens no fórum sobre a atualização, considere procurar ajuda no fórum, pelo IRC, ou fazer downgrade da versão do pacote danoso.
Verifique por pacotes órfãos ou abandonados
Após a atualização, você pode agora ter pacotes que não são mais necessários ou que não estão mais nos repositórios oficiais.
Use pacman -Qtd
para verificar se os pacotes foram instalados como uma dependência, mas agora, nenhum outro pacote depende deles. Se um pacote órfão ainda for necessário, é recomendável alterar o motivo de instalação para explícito. Caso contrário, se o pacote não for mais necessário, ele pode ser removido.
Além disso, alguns pacotes podem não estar nos repositórios remotos, mas eles ainda podem estar no seu sistema local. Para listar todos os pacotes externos use pacman -Qm
. Observe que esta lista incluirá pacotes que foram instalados manualmente (p. ex., a partir do AUR). Para excluir pacotes que (ainda) estão disponíveis no AUR, use o script de BBS#288205 ou tente a ferramenta ancient-packagesAUR.
Use o gerenciador de pacotes para instalar softwares
O pacman faz um trabalho bem melhor do que você em manter rastro dos arquivos. Se você instalar coisas manualmente você vai, cedo ou tarde, esquecer o que você fez, esquecer onde você instalou, instalar softwares conflitantes, instalar as localizações erradas, etc.
- Instale pacotes dos repositórios oficiais usando o método na seção Pacman#Instalando pacotes.
- Se o programa que você deseja não estiver disponível, verifique se alguém criou um pacote no AUR. Siga o método naquele artigo para instalação.
- Por último, se o programa que você deseja não se encontra nos repositórios oficiais ou no AUR, aprenda como criar um pacote para ele.
Para limpar arquivos instalados inadequadamente, Veja Pacman/Dicas e truques#Identificar arquivos que pertençam a nenhum pacote.
Escolha drivers código aberto
Sempre tente usar drivers de código aberto antes de recorrer a drivers proprietários. Na maioria das vezes, drivers de código aberto são mais estáveis e confiáveis do que drivers proprietários. Bugs de drivers de código aberto são corrigidos com mais facilidade e rapidez. Apesar de drivers proprietários poderem oferecer mais recursos e capacidades, isso pode vir com o custo da perda de estabilidade. Para evitar esse dilema, tente escolher componentes de hardware conhecidos para ter um suporte maduro a driver de código aberto com todos os recursos. Informações sobre hardware com drivers Linux de código aberto estão disponíveis em linux-drivers.org.
Tenha cuidado com pacotes não oficiais
Seja cauteloso ao usar pacotes do AUR ou um repositório não oficial de usuários. A maioria é fornecida pelos usuários e, portanto, pode não ter os mesmos padrões que aqueles nos repositórios oficiais. Evite auxiliares do AUR que automatizam a instalação de pacotes do AUR. Sempre verifique PKGBUILDs por sanidade e sinais de erro ou código malicioso antes de compilar a/ou instalar o pacote.
Para simplificar a manutenção, limite a quantidade de pacotes não oficiais usados. Faça verificações periódicas de quais estão em uso real e remova (ou substitua por suas contrapartes oficiais) quaisquer outros. Veja pacman/Dicas e truques#Manutenção para comandos úteis. Após a atualização do sistema, use rebuild-detector para identificar quaisquer pacotes não oficiais que precisem ser reconstruídos.
Atualize o mirrorlist
Atualize a lista de espelhos (mirrorlist) do pacman, pois a qualidade dos espelhos podem variar ao longo do tempo e alguns podem ficar inacessíveis ou sua taxa de download pode estar ruim.
Veja Espelhos para detalhes.
Limpe o sistema de arquivos
Ao procurar por arquivos para remover, é importante localizar os arquivos que mais ocupam espaço do disco. Programas que ajudam nisso são localizados em:
Cache de pacotes
Remova arquivos .pkg indesejados de /var/cache/pacman/pkg/
para liberar espaço em disco.
Veja Pacman#Limpando o cache de pacotes para mais informações.
Pacotes não usados (órfãos)
Remova pacotes não usados do sistema para liberar espaço em disco e simplificar a manutenção
Veja Pacman/Dicas e truques#Removendo pacotes não usados (órfãos) para detalhes.
Arquivos de configuração antigos
Arquivos de configuração antigos podem entrar em conflito com versões de software mais recentes ou se corromperem ao longo do tempo. Remova configurações desnecessárias periodicamente, particularmente em seu diretório home e ~/.config
. Por motivos similares, tenha cuidado ao compartilhar diretórios home entre instalações.
Procure pelos seguintes diretórios:
~/.config/
-- onde aplicativos armazenam suas configurações~/.cache/
-- cache de alguns programas podem aumentar de tamanho~/.local/share/
-- arquivos antigos podem estar parados lá
Veja Suporte a XDG Base Directory para mais informações.
Para manter o diretório home limpo de arquivos temporários criados no lugar errado, é uma boa ideia gerenciar uma lista de arquivos indesejados e removê-los regularmente, por exemplo, com rmshit.py.
rmlint pode ser usado para localizar e, opcionalmente, remover arquivos duplicados, arquivos vazios, diretórios vazios recursivamente e links simbólicos quebrados.
Links simbólicos quebrados
Links simbólicos antigos e quebrados podem estar soltos no seu sistema; você deve removê-los. Pode-se encontrar exemplos sobre como conseguir isso aqui e aqui. Porém, você não deve excluir cegamente todos os links simbólicos quebrados, pois alguns deles servem a um propósito [1].
Para listar rapidamente todos os links simbólicos em seu sistema, use:
# find / -xtype l -print
Então, inspecione e remova todas as entradas desnecessárias desta lista.
Dicas e truques
As seguintes dicas geralmente não são necessários, mas certos usuários podem achá-los úteis.
Use pacotes de software aprovados
O estilo rolling release do Arch pode ser benéfico para usuários que desejam tentar os últimos recursos ou obter atualizações do upstream o mais cedo possível, mas eles também podem dificultar a manutenção do sistema. Para simplificar a manutenção e melhorar a estabilidade, tente evitar softwares demasiadamente novos e instale apenas softwares aprovados e maduros. Tais pacotes têm menos chance de receber atualizações difíceis, como grandes alterações nas configurações ou remoções de recursos. Prefira um software que possua uma comunidade de desenvolvimento forte e ativa, bem como um alto número de usuários competentes, para simplificar suporte na eventualidade de ocorrer um problema.
Evite qualquer uso do repositório de teste, até mesmo pacotes individuais de teste. Esses pacotes são experimentais e não são adequados para um sistema estável. Da mesma forma, evite pacotes que são compilados diretamente dos fontes de desenvolvimento do upstream. Esses geralmente são encontrados no AUR, com nomes incluindo coisas como: "dev", "devel", "svn", "cvs", "git", etc.
Instale o pacote linux-lts
O pacote linux-lts é uma pacote alternativo de kernel do Arch e está disponível no repositório core. Essa versão de kernel em particular possui suporte de longo prazo (LTS) do upstream, incluindo correções de segurança e de bugs. É útil caso você use módulos de kernel de outra fonte, e queira garantir sua compatibilidade, ou caso você deseje um kernel fallback na eventualidade de um novo kernel causar problemas.
Para disponibilizá-lo como uma opção de boot, você precisará atualizar as configurações de seu gerenciador de boot para usar o kernel LTS e disco de ram: vmlinuz-linux-lts
and initramfs-linux-lts.img
.