Sou um pouco iniciante no Arch Linux e ainda estou me acostumando a alguns de seus paradigmas. Eu venho com muitos hábitos de outra distribuição que foi um pouco mais estruturada e, de certa forma, previsível.
Uma coisa que eu gostaria de fazer com alguns sistemas¹ é ativar um trabalho cron para fazer atualizações automáticas de todos os pacotes do sistema. Parece que seria bem fácil, exceto que eu também quero um feedback significativo do sistema, dizendo como foram as coisas que não eram tão detalhadas que acabo ignorando até descobrir que o sistema está funcionando.
- A saída total de
pacman
é desnecessária. Não me importo quanto tempo os downloads levaram ou se estão na atualização 46 de 53. - Na maioria das vezes, não me importo com sucessos.
- Eu me importo com erros. Se uma atualização falhar, quero saber sobre ela e todas as mensagens de erro específicas devem ser corrigidas.
Eu me importo com os "avisos" emitidos durante a instalação. Por exemplo, a atualização do systemd de hoje disse:
:: coredumps are no longer sent to the journal by default. To re-enable: echo >/etc/sysctl.d/50-coredump.conf \ "kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e"
Ou o sistema de arquivos produziu isso:
warning: /etc/group installed as /etc/group.pacnew warning: /etc/passwd installed as /etc/passwd.pacnew warning: /etc/shadow installed as /etc/shadow.pacnew
Essa última categoria é, na verdade, o que me levou a fazer essa pergunta porque parece que elas são muito inconsistentes em todo o conjunto de pacotes. Alguns destes parecem ser gerados por
post_upgrade()
, outros porinstall()
, etc. Às vezes, eles são escritos para stdout, às vezes para stderr. O formato das mensagens varia muito: às vezes um bloco inteiro é prefixado no recuo de alguma forma, outras vezes há apenas uma sequência de eco simples.
Quero saber sobre coisas que podem exigir minha intervenção em um sistema, mas que não sejam incomodadas de outra maneira. Existe uma ferramenta que gere esses dados de maneira inteligente e simplifique a administração do sistema? Existe alguma maneira de obter a saída gerada pelos pacotes separadamente do processo pacman para instalá-los? Ou estou sozinho para escrever algum tipo de analisador que filtre coisas benignas do log de instalação?
¹ Antes de pular o quão estúpido isso é, observe que sou inteligente o suficiente para não fazer isso nos servidores de produção e não sem backups completos do sistema baseados em instantâneos que facilitariam a recuperação em caso de catástrofe.
yaourt
tag, tanto da sua pergunta quanto do seu modelo conceitual: tentar fazer isso com os repositórios oficiais já será bastante difícil, adicionar pacotes aleatórios do AUR à mistura o tornará quixotesco ...checkupdates
e usar-Syu
uma vez por dia é uma tarefa bastante trivial; Não vejo nenhum benefício real por todo o trabalho que sua proposta implicaria.Respostas:
Quero deixar claro para você e qualquer outra pessoa que possa acontecer com esse tópico. O que você quer fazer não é possível. O Arch não esconde o fato de esperar que você administre seu sistema. Parte dessa responsabilidade está presente no ciclo de atualização.
Agora, existem etapas do processo de atualização que você pode automatizar de maneira responsável, mas isso nunca será automatizado
-Syu
. Você simplesmente precisa estar lá para a atualização.O que você pode fazer, por exemplo, é configurar um
cron
trabalho que baixa todos os pacotes que precisam ser instalados (mas não os instala). A seguir, um trecho dapacman
documentação:Você poderia então configurar um
cron
trabalho para executarsudo pacman -Syuw
. Não estou muito familiarizado comcron
as habilidades de programação. No entanto, se for capaz de executar um trabalho apenas após uma condição específica ter sido atendida (por exemplo, um comando retornando um valor específico), seria bastante trivial acionar o download de novos pacotes, conforme necessário.Eu imaginaria executar um cheque contra
checkupdates | wc -l
, por exemplo. Se retornar qualquer número acima de zero, você poderá acionar o download. Novamente, no entanto, isso não substituirá a execução de um-Syu
quando você estiver presente e pronto para lidar com a atualização.Na parte final da sua pergunta, onde obter a saída do que aconteceu durante uma atualização, você está procurando
/var/log/pacman.log
. Inclui todas as informações de erro que podem lhe interessar.Existe uma ferramenta destinada a tornar
pacman
um pouco mais amigável para usuários desconhecidos. Se não me engano, ele também fornece uma notificação sobre novos itens, se houver uma atualização que requeira intervenção manual.Essa ferramenta pode tornar sua vida um pouco mais simples no curto prazo, mas nunca será um substituto para seguir de forma sensata e diligente as Listas de Discussão.
fonte
pacman
pode ser possível. Fazer issoyaourt
não é viável.yaourt
na verdade, faz um trabalho um pouco melhor do quepacman
, no entanto, como eu acho que você quer dizer, sua configuração padrão como pouco mais do que um aur aur quase certamente destruiria as coisas a longo prazo. No entanto, é extremamente configurável e pode ser feito para manter as árvores de origem com muita eficiência. Ambosyaourt
epacman
apenas envolvem dealpm
qualquer maneira.yaourt
envoltóriospacman
e algumasalpm
funcionalidades epacman
envoltórios adicionaisalpm
. Em qualquer caso, porém,yaourt
se estendepacman
.-Syuw
é potencialmente bastante perigoso. Ele tem a capacidade de produzir atualizações parciais se as atualizações não forem aplicadas e o software for instalado posteriormente-S
.Existe um script antigo que faz um bom trabalho; é chamado safepac .
EDIT: Este script ainda está disponível no github aqui: https://github.com/bencahill/binfiles/blob/master/safepac
Observe que você precisa de uma configuração de correio em funcionamento, pois esse script também envia um e-mail de resumo (com log completo?) E partes importantes da atualização:
O script é antigo, mas a ideia é boa e provavelmente ainda funciona com pequenas atualizações, se houver.
fonte
Eu uso minha própria utilidade para executar
yaourt
pelo cron.fonte
yaourt
por muitos anos eu mesmo. Era uma boa ferramenta, mas as coisas que foram criadas para "embrulhar" mudaram de forma e fazem várias coisas completamente erradas agora. Nesse ponto, é tão problemático que os autores da ferramenta disseram que nem a usam mais. Se você quer um ajudante do AUR, sugiro que tente um dos que são mantidos ativamente. Eu mudei parayay
mim mesmo e estou muito feliz.yay
comigo também.