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:
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.
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
systemd-analyze blame
e / ousystemd-analyze critical-chain
. Acho isso mais fácil do que pesquisar arquivos de log para descobrir o que está causando um problema.Respostas:
Usar
journalctl
Como
journald
contém todos os logs, você pode usar ojournalctl
comando com filtros adequados. No caso deboot.log
, que costumava conter mensagens do sistema init, você pode:-b0
mostra mensagens da inicialização atual,-b1
da inicialização anterior e assim por diante. Sem a-b
opção,journalctl
mostrará mensagens desde o início do log.SYSLOG_PID
filtra mensagens do PID 1, também conhecido como init.Ou:
_COMM=systemd
procura por mensagens dosystemd
comando. Desde quesystemd
é init, é neste que estamos interessados.--system
filtra as mensagens do log do sistema em vez dos logs da sessão do usuário.Exemplo:
journalctl
abre os logs em um pager por padrão, para que você não precise canalizar paraless
.Registro persistente
O Ubuntu, por padrão, não habilita logs persistentes de diário. Graças ao comentário de @Auspex , você precisa:
Edite
/etc/systemd/journald.conf
para incluir:Crie um
/var/log/journal
diretório manualmente:Palavras-chave:
fonte
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.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:
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.
fonte
GRUB_CMDLINE_LINUX_DEFAULT=""
em/etc/default/grub
queboot.log
não está escrito. Ao usar oGRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
queboot.log
é novamente escrito. Eu uso o Ubuntu 19.04.No Ubuntu 16.04, o
boot.log
arquivo ainda está localizado na/var/log
pasta, 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.log
arquivo 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 LinuxInformaçã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.log
arquivo 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 seuboot.log
arquivo 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.log
arquivo 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 , masbootchart.png
não existia na/var/log
pasta conforme o esperado após a reinicialização do sistema ... havia apenas uma/var/log/bootchart
pasta vazia que também não continha obootchart.png
arquivo esperado .Informações atualizadas 04-05-2016:
Hoje, o
boot.log
arquivo 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.log
comportamento do arquivo no Ubuntu 16.04: Você não deve se preocupar/var/log/boot.log
mais e apenas se acostumarjournalctl
.fonte
boot.log
arquivo não está em seu local habitual.