System maintenance (Português)

From ArchWiki
Jump to: navigation, search

Manutenção de sistema regular é necessário para o correto funcionamento do Arch por um período de tempo. Manutenção periódica é uma prática a que muitos usuários se acostumam.

Verifique por erros

Falha em serviços de systemd

Verifique se algum serviço do systemd entrou em um estado de falha:

$ systemctl --failed

Veja Systemd (Português)#Analisando o estado do sistema para mais informações.

Arquivos de log

Procure por erros nos arquivos de log localizados em /var/log, bem como erros de alta prioridade no journal do systemd:

# journalctl -p 3 -xb

Veja Systemd (Português)#Journal para mais informações.

Veja Xorg (Português)#Troubleshooting para informações sobre onde e como o Xorg registra os erros.

Backup

Crie backups de dados importante em intervalos regulares. Veja Programas de sincronização e backup para muitas alternativas de aplicativos que podem se adequar ao seu caso. Veja Category:System recovery e Category:System recovery (Português) para outros artigos de internet.

Os backups podem ser automatizados com systemd/Timers.

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, assim como ferramentas como etckeeper que mantêm /etc em um sistema de controle de versão (VCS); veja dotfiles#Version control para mais.

Lista de pacotes instalados

Mantenha uma lista de todos os pacotes instalados de forma que, se uma reinstalação completa for inevitável, seja mais fácil recriar o ambiente original.

Veja Pacman tips#List of installed packages para detalhes.

Banco de dados do pacman

Veja Pacman tips#Back-up the pacman database.

Cabeçalhos LUKS

Pode fazer sentido verificar e sincronizar periodicamente os backups de cabeçalhos de partições criptografadas com LUKS, especialmente se palavras-chaves tiverem sido revogadas. Veja Dm-crypt/Device encryption#Backup and restore.

Dados de sistema e de usuário

Veja System backup.

Atualizando o sistema

É recomendado realizar atualizações completas do sistema regularmente via Pacman (Português)#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 (ou até o Arch Linux Brasil) para verificar as últimas notícias ou, alternativamente, estejam inscritos no feed RSS, na lista de discussão arch-announce ou sigam @archlinux no Twitter. 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, é sábio esperar ter tempo suficiente para poder lidar com possíveis 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.

Evite usar a opção --force com o pacman, especialmente em comandos como pacman -Syu --force envolvendo mais de um pacote. A opção --force ignora conflitos de arquivos e pode até causar a perda de arquivos quando eles são realocados entre pacotes diferentes! Em um sistema mantido corretamente, essa opção só deve ser usada quando explicitamente recomendada pelos desenvolvedores do Arch (veja #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 Trusted Users 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 esse motivo que não há suporte a atualizações parciais. Não use pacman -Sy pacote ou qualquer comando equivalente, como pacman -Sy seguido por pacman -S pacote. Sempre atualize (com pacman -Syu) antes de instalar um pacote. Tenha muito cuidado ao usar IgnorePkg e IgnoreGroup pelo mesmo motivo. Se o sistema possui pacotes instalados localmente (tal como pacote do AUR), os usuários precisarão recompilá-los quando suas dependências receberem uma mudança no soname.

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 mirror sincronizado corretamente irá corrigir o problema, desde que o pacman não esteja quebrado.

O script bash checkupdates, incluído no pacote do pacman, fornece uma forma segura de verificar por atualizações para pacotes instalados sem executar uma atualização do sistema ao mesmo tempo.

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. Pacman fornece aviso quando isso acontece e usuários devem lidar com esses arquivos imediatamente. Veja a página de arquivos Pacnew e Pacsave para instruções de detalhada.

Também, 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.

Reverta atualizações quebradas

Se uma atualização de pacote é esperada/sabido causar problemas, empacotadores vão se certificar de exibir uma mensagem apropriada quando o pacote é atualizado. Se você presenciar um problema após uma atualização, confira a saída do pacman olhando no /var/log/pacman.log.

Dica: Você pode usar um visualização de log como o wat-gitAUR para pesquisar por logs do pacman.

A esse ponto, somente após garantir que não haja informações disponíveis pelo pacman, que não há notícia relacionada no https://www.archlinux.org/ e que não haja tópicos no fórum sobre a atualização, considere pedir ajuda no fórum, pelo IRC ou fazendo downgrade da versão do pacote danoso.

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 (Português)#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/Tips and tricks#Identify files not owned by any package.

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. Tenha cuidado com 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 e remova (ou substitua por suas contrapartes oficiais) quaisquer outros. Veja pacman/Tips and tricks#Maintenance para comandos úteis.

Atualize o mirrorlist

Atualize a lista de mirrors (mirrorlist) do pacman, pois a qualidade dos mirrors podem variar ao longo do tempo e alguns podem ficar inacessíveis ou sua taxa de download pode estar ruim.

Veja mirrors 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 (Português)#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

See Pacman/Tips and tricks#Removing unused packages (orphans) for details.

Arquivos de configuração antigos

Arquivos de configuração antigos podem conflitar com versões novas dos softwares ou se corromperem ao longo do tempo. Remova configurações desnecessárias periodicamente, em especial em sua pasta home e ~/.config. Por motivos similares, tenha cuidado ao compartilhar pastas home entre instalações.

Procure pelas seguintes pastas:

  • ~/.config/ -- onde aplicativos armazenam suas configurações
  • ~/.cache/ -- cache de alguns programas podem crescer em tamanho
  • ~/.local/share/ -- arquivos antigos podem estar parados lá

Veja XDG Base Directory support para mais informações.

Para manter o diretório home limpe 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.

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 de desenvolvimento que são compilados diretamente dos fontes 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 alguns backports de recursos. É útil caso você prefira a estabilidade de atualizações menos frequentes de kernel 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 bootloader para usar o kernel LTS e disco de ram: vmlinuz-linux-lts and initramfs-linux-lts.img.

Veja também