Não há mais registro de inicialização desde 16.04?


23

Percebi que meu /var/log/boot.logarquivo tem data 22/04/2016, última vez que inicializei em 15.10. Onde estão boot.loglocalizados os arquivos Xenial ?


A questão real não é registrar, mas ver o que está retardando a inicialização. Agora você usa systemd-analyze blamee / ou systemd-analyze critical-chain . Acho isso mais fácil do que pesquisar arquivos de log para descobrir o que está causando um problema.
precisa saber é o seguinte

então, nenhum de vocês pode dizer por que o boot.log é realizado em 22/04/2016 ...? MESMO?
Jasmines 04/04

1
@jasmines: Infelizmente, não podemos dizer por que isso acontece ... não somos os desenvolvedores ... atualizei minha resposta com algumas informações novas de hoje ... considere registrar um relatório de bug no Launchpad. :)
cl-netbox

2
journalctl não está mostrando o que eu vejo no respingo durante a inicialização, e eu preciso que
jasmins

1
aquele registro bonito com "[FAILED]" em vermelho, você conseguiu fazer isso de novo? meu arquivo é de 2017 ...
Aquarius Power

Respostas:


33

Usar journalctl

Como journaldcontém todos os logs, você pode usar o journalctlcomando com filtros adequados. No caso de boot.log, que costumava conter mensagens do sistema init, você pode:

journalctl -b0 SYSLOG_PID=1
  • -b0mostra mensagens da inicialização atual, -b1da inicialização anterior e assim por diante. Sem a -bopção, journalctlmostrará mensagens desde o início do log.
  • SYSLOG_PID filtra mensagens do PID 1, também conhecido como init.

Ou:

journalctl -b0 --system _COMM=systemd
  • _COMM=systemdprocura por mensagens do systemdcomando. Desde que systemdé init, é neste que estamos interessados.
  • --system filtra as mensagens do log do sistema em vez dos logs da sessão do usuário.

Exemplo:

muru@muru-vm:~$ journalctl -b0 SYSLOG_PID=1
Apr 30 12:29:18 muru-vm systemd[1]: systemd 229 running in system mode. (+PA
Apr 30 12:29:18 muru-vm systemd[1]: Detected virtualization qemu.
Apr 30 12:29:18 muru-vm systemd[1]: Detected architecture x86-64.
Apr 30 12:29:18 muru-vm systemd[1]: Set hostname to <muru-vm>.
Apr 30 12:29:18 muru-vm systemd[1]: Initializing machine ID from random gene
Apr 30 12:29:18 muru-vm systemd[1]: Installed transient /etc/machine-id file
Apr 30 12:29:18 muru-vm systemd[1]: Set up automount Arbitrary Executable Fi
Apr 30 12:29:18 muru-vm systemd[1]: Listening on fsck to fsckd communication
Apr 30 12:29:18 muru-vm systemd[1]: Reached target User and Group Name Looku
Apr 30 12:29:18 muru-vm systemd[1]: Listening on udev Kernel Socket.
Apr 30 12:29:18 muru-vm systemd[1]: Started Forward Password Requests to Wal
Apr 30 12:29:18 muru-vm systemd[1]: Listening on /dev/initctl Compatibility 
Apr 30 12:29:18 muru-vm systemd[1]: Listening on Journal Socket.
Apr 30 12:29:18 muru-vm systemd[1]: Created slice User and Session Slice.
Apr 30 12:29:18 muru-vm systemd[1]: Created slice System Slice.
Apr 30 12:29:18 muru-vm systemd[1]: Starting Braille Device Support...
Apr 30 12:29:18 muru-vm systemd[1]: Mounting POSIX Message Queue File System
Apr 30 12:29:18 muru-vm systemd[1]: Mounting Debug File System...
Apr 30 12:29:18 muru-vm systemd[1]: Mounting Huge Pages File System...
Apr 30 12:29:18 muru-vm systemd[1]: Starting Load Kernel Modules...
Apr 30 12:29:18 muru-vm systemd[1]: Starting Uncomplicated firewall...
Apr 30 12:29:18 muru-vm systemd[1]: Starting Create list of required static 
lines 1-23

journalctlabre os logs em um pager por padrão, para que você não precise canalizar para less.


Registro persistente

O Ubuntu, por padrão, não habilita logs persistentes de diário. Graças ao comentário de @Auspex , você precisa:

  1. Edite /etc/systemd/journald.confpara incluir:

    Storage=persistent
    
  2. Crie um /var/log/journaldiretório manualmente:

    mkdir /var/log/journal
    systemd-tmpfiles --create --prefix /var/log/journal
    systemctl restart systemd-journald
    

Palavras-chave:


1
journalctl não está mostrando o que eu vejo no respingo durante a inicialização, e eu preciso que
jasmins

1
Estou vendo o que foi registrado no boot.log antes, com esse formato: [OK] Iniciou o daemon SMART (Self Monitoring and Reporting Technology). Montando Formatos de Arquivos Executáveis ​​Arbitrários Sistema de Arquivos ... [OK] Iniciou o Serviço de Login. Iniciando o LSB: Inicie o daemon NTP ... [OK] Iniciou a pilha Avahi mDNS / DNS-SD. [OK] Iniciado Disponibilize impressoras CUPS remotas localmente. [OK] Iniciou o Modem Manager. [OK] Iniciou o Gerenciador de rede. Iniciando o Network Manager Aguarde on-line ... [OK] Atingiu a rede de destino. [OK] Iniciou o serviço de contas. e assim por diante ...
jasmim

1
Mantenha seu tom e palavras agradáveis. Existe uma política legal . Siga isso.
Seth

1
journalctl -bX é inútil para isso, o id não contém mensagens que realmente aparecem na tela durante a inicialização, apenas o boot.log e funciona apenas algumas vezes no 16.04, a única maneira é tirar uma foto ou anotá-la. Eu tenho o mesmo problema.
Mike

1
Como jasmines já mencionamos, as mensagens de inicialização começando com [OK] ... essas coisas estão no boot.log, mas no journalctl é um pouco diferente, mesmo ao usar sinalizadores como -b0 SYSLOG_PID = 1 ou -b1 na inicialização anterior, nem tudo estava lá, especialmente erros que encontrei e não consegui encontrar nenhum lugar nos logs. A maioria das mensagens está lá, eu não sei como reproduzir esse problema, então não posso ajudar, mas houve um erro no kernel e não foi encontrado, o problema desapareceu agora, mas ainda não vejo a razão pela qual a inicialização as mensagens não são registradas exatamente como aparecem na tela.
Mike

3

Eu estava passando por alguns relatórios de bugs e notei neste: https://bugs.launchpad.net/ubuntu/+source/ubuntu-gnome-default-settings/+bug/1536771 que Plymouth está realmente escrevendo no boot.log.

Se você consultar https://launchpadlibrarian.net/257898272/plymouth-debug.log e procurar no seu navegador por 'boot.log', obterá as seguintes linhas:

[main.c:821] on_system_initialized:system now initialized, opening log 
[main.c:742] get_log_file_for_state:returning log file '/var/log/boot.log'
[main.c:805] prepare_logging:opening log '/var/log/boot.log'

Não entendo como funcionam os internos de Plymouth, mas como ele é responsável pela tela inicial que aparece antes da tela de login, só posso assumir que, se não houver tela inicial (tela preta) antes de chegar à tela de login , o arquivo não é modificado. Se você tiver uma tela inicial exibida antes da tela de login, a saída do processo de inicialização será redirecionada para o arquivo boot.log.


Infelizmente, eu tenho o splash, mas não boot.log ...
jasmins

1
Confirmo que, quando a configuração GRUB_CMDLINE_LINUX_DEFAULT=""em /etc/default/grubque boot.lognão está escrito. Ao usar o GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"que boot.logé novamente escrito. Eu uso o Ubuntu 19.04.
adrhc 9/06

2

No Ubuntu 16.04, o boot.logarquivo ainda está localizado na /var/logpasta, como você pode ver aqui . O arquivo de log de inicialização é de hoje (29-04-2016). Talvez algo tenha dado errado quando você instalou o Ubuntu 16.04 ou atualizou o sistema operacional do Ubuntu 15.10 para o Ubuntu 16.04 LTS.

Como alternativa, você pode examinar o comportamento geral de inicialização a partir do kern.logarquivo abrangente . Outra alternativa possível seria configurar manualmente o daemon syslog para gerar o arquivo de log de inicialização e aqui está um tutorial de como exatamente fazer isso: Como exibir e configurar logs do Linux

Informação adicional :

Eu investiguei o comportamento do log de inicialização em duas máquinas diferentes. Em um computador com um BIOS baseado em UEFI, o boot.logarquivo existe - mas em um computador com BIOS baseado em legado, ele parece não existir. Portanto, caso o sistema esteja instalado no modo BIOS herdado (MBR / msdos), essa poderia ser a explicação do motivo pelo qual seu boot.logarquivo foi datado de 22-04-2016, é uma sobra do Ubuntu 15.10.

Informação atualizada 02-05-2016:

Continuei investigando o comportamento do arquivo de log de inicialização e observei que o boot.logarquivo ainda existe na máquina baseada em UEFI, mas há alguns dias o arquivo está vazio. Outra alternativa que tentei ver o que acontece durante o processo de inicialização, foi instalar o BootChart , mas bootchart.pngnão existia na /var/logpasta conforme o esperado após a reinicialização do sistema ... havia apenas uma /var/log/bootchartpasta vazia que também não continha o bootchart.pngarquivo esperado .

Informações atualizadas 04-05-2016:

Hoje, o boot.logarquivo parecia ter "funcionalidade" novamente, é preenchido com informações parciais do processo de inicialização. Parece ser um comportamento de mudança aleatória, que eu acho que não pode ser resolvido aqui no Ask Ubuntu - então você deve considerar registrar um bug no Launchpad para resolver isso!

Conclusão - após uma semana de investigação do boot.logcomportamento do arquivo no Ubuntu 16.04: Você não deve se preocupar /var/log/boot.logmais e apenas se acostumar journalctl.


não acho que algo deu errado, de qualquer maneira eu gostaria de aceitar a sua resposta se você pudesse adicionar sugestões sobre como resolver o meu problema ...
jasmins

Tentou configurar manualmente o daemon syslog para gerar o arquivo de log de inicialização seguindo o tutorial. Adicionei # Salvar mensagens de inicialização também ao boot.log local7. * /Var/log/boot.log no meu arquivo /etc/rsyslog.d/50-default.conf sem sorte, /var/log/boot.log ainda está 22-04-2016
jasmines

Na minha nova instalação do Ubuntu 16.04, também descobri que o boot.logarquivo não está em seu local habitual.

@ParanoidPanda: Nas duas máquinas mencionadas, eu executei uma instalação limpa / nova (não uma atualização) do Ubuntu 16.04 LTS - parece que a maneira antiga de log de inicialização não é mais suportada corretamente. :)
cl-netbox

1
journalctl não está mostrando o que eu vejo no respingo durante a inicialização, e eu preciso que
jasmins
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.