Buffers de arquivo Sistemas Linux armazenados na memória e apenas ocasionalmente gravados em disco. Isso acelera as operações de E/S de disco, mas aumenta o risco de perda de dados no caso de uma falha repentina.
Os sistemas UNIX e Linux tradicionais eram muito exigentes quanto ao procedimento de desligamento. Os sistemas modernos são mais tolerantes (especialmente quando se trata de um sistema de arquivos altamente confiável como o ext3fs), mas ainda é melhor desligar normalmente, se possível. O desligamento incorreto do computador pode levar ao aparecimento de erros difíceis de encontrar e não óbvios e, às vezes, a uma falha completa do sistema.
Reinicie o sistema para computador pessoal- uma solução para quase todos os problemas. Mas ao trabalhar no Linux, recomendamos que você pense primeiro e só depois reinicie. Os problemas que ocorrem no Linux tendem a ser sutis e complexos, portanto, a reinicialização produz o resultado esperado com muito menos frequência do que em outros sistemas. Além disso, o processo de reinicialização do Linux leva muito tempo, o que gera transtornos para os usuários.
É necessário reinicializar quando um novo dispositivo é conectado ou um dispositivo em funcionamento congela para que não possa ser inicializado. Se um arquivo de configuração for modificado e consultado apenas na inicialização, as alterações só terão efeito após uma reinicialização. E, finalmente, se for impossível se registrar no sistema, simplesmente não há outra saída a não ser reiniciar.
Se um dos scripts de inicialização do sistema for modificado, você precisará reinicializar pelo menos para verificar se o sistema funciona com sucesso após as alterações. Se um problema não surgir nas próximas semanas, você não se lembrará dos detalhes das últimas alterações posteriormente.
Ao contrário da inicialização, que é a única maneira, você pode parar e reiniciar o sistema de diferentes maneiras:
- desligue a energia;
- digite o comando de desligamento;
- use os comandos halt e reboot;
- altere o nível de execução do daemon init usando o comando telinit;
- execute o comando poweroff para solicitar que o sistema desligue a energia.
Desligar no Linux
Mesmo em sistemas computadores desktop desligar a energia não é a melhor maneira de desligar o sistema. Isso pode resultar em perda de dados e corrupção do sistema de arquivos.
Alguns computadores têm um botão de parada suave que, quando pressionado, executa uma série de comandos que desligam normalmente o sistema. Se você não tiver certeza se o seu computador suporta esse recurso, não tente descobrir pressionando o botão liga/desliga enquanto o sistema estiver funcionando! Haverá muito menos problemas se você parar o sistema manualmente.
Claro, a previsão é boa dentro da razão. Em caso de inundação ou incêndio, é melhor desligar a energia se simplesmente não houver tempo para desligar adequadamente o sistema. Era uma vez nas salas de máquinas um botão de emergência que permitia desligar todos os equipamentos ao mesmo tempo.
Equipe desligar: a maneira correta de desligar o sistema
O comando shutdown é a maneira mais segura e correta de desligar ou reinicializar o sistema ou retornar ao modo de usuário único.
Você pode instruir o comando a pausar antes de desligar o sistema. Enquanto espera, a equipe envia mensagens aos usuários cadastrados em intervalos cada vez mais curtos, avisando sobre um próximo evento. Por padrão, as mensagens indicam que o sistema está sendo desligado e indicam o tempo restante antes que o desligamento ocorra. Opcionalmente, o administrador pode adicionar sua própria mensagem curta explicando por que o sistema está sendo interrompido e aproximadamente quanto tempo levará antes de poder fazer login novamente. Após emitir o comando shutdown, os usuários serão impedidos de efetuar login, mas verão a mensagem fornecida pelo administrador.
Com o comando shutdown, você pode especificar o que o sistema deve fazer após executar o comando: stop (-h) ou reboot (-r). Você também pode especificar se o comando fsck (-F) deve forçar uma verificação de disco após uma reinicialização ou não (-f). Por padrão, o Linux automaticamente ignora essa verificação se os sistemas de arquivos foram desmontados corretamente.
O comando a seguir lembra os usuários de um procedimento de manutenção programada e desliga o sistema às 9h30:
$ desligamento -h 09:30 "Descendo para agendado manutenção. O tempo de inatividade esperado é de 1 hora"
Você também pode definir um tempo de desligamento relativo. Por exemplo, o seguinte comando iniciará o processo de desligamento após 15 minutos:
$ shutdown -h +15 "Desativando para reparo de disco de emergência."
Equipe parar: uma maneira mais fácil de parar
O comando halt executa todas as operações básicas necessárias para parar o sistema.
Geralmente é invocado com o comando shutdown -h, mas também pode ser usado sozinho. O comando registra o fato da parada, elimina processos não essenciais, executa a chamada do sistema de sincronização, aguarda a conclusão das gravações de disco e, em seguida, encerra o kernel.
Com a opção -n, a chamada do sistema de sincronização é suprimida. O comando halt -n é usado após a restauração da partição raiz com o comando fsck, para que o kernel não possa sobrescrever correções com versões antigas da partição armazenada no cache.
Equipe reinício: reinício rápido
O comando reboot é quase idêntico ao comando halt. A única diferença é que o sistema reinicializa em vez de parar. O modo de reinicialização também é invocado pelo comando shutdown -r. O comando reboot também suporta o sinalizador -n.
Equipe telinit: altera o nível de execução do daemon iniciar
Você pode usar o comando telinit para instruir o daemon init a pular para um nível de execução específico. Por exemplo, o comando
O comando "shutdown" desliga o sistema com segurança. Todos os usuários logados são notificados de que o sistema está sendo encerrado e as operações de login estão bloqueadas. Você pode desligar o sistema imediatamente ou após um atraso especificado.
Desligue o Linux de linha de comandoé muito conveniente e muitos usuários do sistema controlam seu PC através da linha de comando em tais coisas. Todos os processos são notificados primeiro de que o sistema está se preparando para dormir ou reinicializar via SIGTERM. Isso dá a programas como o vi tempo para salvar o arquivo que está sendo editado, manipuladores de correio e notícias, a capacidade de fazer logout, etc.
"Shutdown" faz seu trabalho sinalizando o processo de inicialização, solicitando que ele altere seu nível de execução. O nível de execução 0 é usado para parar o sistema, o nível de execução 6 é usado para reinicializar o sistema e o nível de execução 1 é usado para colocar o sistema em um estado em que as tarefas administrativas podem ser executadas (modo de usuário único). O nível de execução 1 é o padrão, a menos que as opções -h ou -r sejam especificadas.
Seu sistema pode ter um conjunto diferente de opções para o comando shutdown; Verifique a documentação do dispositivo.
Desligue o Linux a partir da linha de comando
desligamento [-akrhPHfFnc] [-t segundo] Tempo [mensagem]
- -a Controla o acesso ao comando shutdown usando o arquivo de acesso de controle /etc/shutdown.allow. Para obter informação adicional consulte a seção Controle de acesso abaixo.
- -k Não desliga, mas envia mensagens de aviso como se o desligamento fosse real.
- -h Diz ao sistema para desligar e depois pará-lo.
- -P Instrui o sistema a desligar e depois desligar.
- -H Se a opção -h for especificada, esta opção especifica que o sistema deve inicializar no monitor de inicialização nos sistemas que o suportam.
- -f Ignora fsck após a reinicialização.
- -F Força fsck após a reinicialização.
- -n Não chame init para encerrar processos; Instrua o desligamento para fazer você mesmo.
- O uso dessa opção não é recomendado e seus resultados nem sempre são previsíveis.
- -c Cancela um desligamento pendente. (Isso não se aplica a "desligar agora", que não espera até o desligamento.) Você não pode especificar um argumento de tempo com esta opção, mas pode especificar uma mensagem explicativa que será enviada a todos os usuários.
- —t segundo. Diga ao inicializador para esperar segundos entre o envio de um aviso e um sinal de morte antes de passar para outro nível de execução.
- Tempo O argumento time especifica quando a operação de desligamento deve ser executada.
A hora pode ser formatada de diferentes maneiras:
Primeiro, pode ser uma hora absoluta no formato hh:mm, onde hh é a hora (1 ou 2 dígitos, 0 a 23) e mm é o minuto da hora (em dois dígitos).
Segundo, pode estar no formato +m, onde m é o número de minutos a esperar.
Além disso, a palavra agora é a mesma que indica +0; Ele desliga o sistema imediatamente.
- mensagem. Uma mensagem enviada a todos os usuários, juntamente com uma notificação de desligamento padrão.
Detalhes
Se um desligamento for agendado para o futuro, ele criará um arquivo de aviso /etc/nologin que força programas como login a impedir que novos usuários sejam permitidos. Este arquivo é criado cinco minutos antes do início da sequência de desligamento. Shutdown exclui este arquivo se ele for interrompido antes que possa sinalizar a inicialização (ou seja, foi cancelado ou algo deu errado). Ele também o remove antes de chamar init para alterar o nível de execução.
O sinalizador -f significa "reinicializar rapidamente". Isso cria apenas um arquivo de aviso /fastboot que pode ser verificado pelo sistema quando reaparecer. O arquivo rc de inicialização do sistema ("rc" significa "runcom", que é a abreviação de "comandos de execução") pode verificar a presença desse arquivo e decidir não executar o fsck porque o sistema foi desligado corretamente. Depois disso, o processo de inicialização deve remover /fastboot.
O sinalizador -F significa "forçar fsck". Isso cria apenas um arquivo de aviso /forcefsck que pode ser verificado pelo sistema quando ele aparecer novamente. O arquivo boot rc pode verificar se este arquivo está presente e decide executar o fsck com um sinalizador especial "force" para verificar se os sistemas de arquivos desmontados estão corretos. O processo de inicialização deve então remover /forcefsck.
O sinalizador -n faz com que o desligamento não chame init, mas mate tudo processos em execução. O desligamento desabilitará cota, contabilidade e swaps e desmontará todos os sistemas de arquivos.
Controle de acesso
Shutdown pode ser chamado a partir do init quando a combinação de teclas CTRL-ALT-DEL é pressionada, se houver uma entrada correspondente em /etc/inittab. Isso significa que todos os que têm acesso físico ao teclado do console, pode desligar o sistema.
Para evitar isso, o desligamento pode verificar se um usuário autorizado está conectado. Se shutdown for chamado com o argumento -a (adicione isso à chamada shutdown em /etc/inittab), ele verifica se o arquivo /etc/shutdown.allow está presente. Em seguida, ele compara os logins nesse arquivo com a lista de pessoas que estão conectadas ao console virtual (de /var/run/utmp). Somente se um dos usuários autorizados ou root estiver logado, ele entrará em vigor. Caso contrário, ele escreverá uma mensagem
Desligamento: nenhum usuário autorizado conectado
No console físico do sistema. O formato /etc/shutdown.allow é um nome de usuário por linha. Linhas em branco e linhas de comentários (prefixadas com #) são permitidas. Este arquivo atualmente tem um limite de 32 usuários.
Observe que se /etc/shutdown.allow estiver ausente, o argumento -a será ignorado.
Desligando o Linux e ligando o computador
A opção -H simplesmente define a variável de ambiente de inicialização INIT_HALT como HALT, e a opção -P simplesmente define essa variável como POWEROFF. O script de desligamento que chama halt como a última coisa na sequência de desligamento precisa verificar essas variáveis de ambiente e chamar halt com as opções corretas para que essas opções realmente tenham algum efeito.
arquivos
- /fastboot
/etc/inittab
/etc/init.d/halt
/etc/init.d/reboot
/etc/shutdown.allow
Desligando o Linux a partir da linha de comando: exemplos
Agende um desligamento do sistema às 8h.
Agende um desligamento do sistema às 20h.
desligamento +15 "Atualizando hardware, o tempo de inatividade deve ser mínimo"
Planeje desligar o sistema em quinze minutos. Junto com a notificação usual aos usuários de que o sistema está sendo desligado, eles receberão uma mensagem descritiva sobre a atualização do hardware.
Desligue o Linux imediatamente
Abaixe o sistema imediatamente e reinicie automaticamente.
Desligue o sistema imediatamente e desligue automaticamente.
Comandos relacionados
- Parar - Parar o computador.
- Desligar - Pare o computador.
- Reinicializar - Pare o computador.
- Mural - Envie uma mensagem para todos os usuários logados.
Tradução de um maravilhoso recurso em inglês esperança do computador.
Se você ainda tiver alguma dúvida sobre o tópico “Desligando o Linux a partir da linha de comando”, você pode escrever para nós no formulário de comentários no site.
Se você encontrar um erro, destaque um pedaço de texto e clique em Ctrl+Enter.
Vamos considerar como reiniciar ou desligar o computador a partir da linha de comando. Eu uso isso ao instalar algum driver ou quando carga pesada no processador, a interface para de responder às minhas ações (embora isso aconteça muito raramente). É possível matar o processo "guloso" pela linha de comando, mas nem sempre se sabe qual é o processo, então uma solução rápida é reiniciar o computador.
Reiniciamos o computador
Eu faço isso. Vá para o console pressionando um atalho de teclado Ctrl+Alt+F1. No console, você deve primeiro inserir seu nome de usuário e senha (os caracteres não são exibidos ao inserir uma senha). E eu executo o comando:
sudo reboot
Você precisará digitar novamente a senha do administrador e pressionar Enter. O computador será reiniciado.
Você também pode usar o comando para reiniciar o computador. desligar, para isso você precisa usar a chave -r:
Sudo shutdown -r agora
Desligar o computador
Para desligar o computador a partir da linha de comando, você precisa executar o comando:
sudo shutdown -h agora
Você também pode desligar o computador executando o comando:
Sudo parar
E também pode ser usado.
Então o SysRq pode ajudar nas situações aparentemente sem esperança, a menos, é claro, que o kernel esteja em "pânico", o que geralmente é indicado por LEDs de teclado piscando aleatoriamente. Interessante? Então continuamos a ler.
A chave SysRq já existia muito antes do Windows fazer capturas de tela. A IBM originalmente pretendia que a chave SysRq alternasse entre aplicativos sem interrompê-los. Mas isso é história. O Linuxoids adaptou o SysRq para dar ao usuário acesso de emergência ao kernel. Mas mesmo aqui nem tudo é simples. O fato é que para compatibilidade com Windows em ambientes gráficos Linux, uma única tecla SysRq funciona como PrintScreen, e a combinação Alt + SysRq recomendada em tutoriais de console, assim como no Windows, estupidamente coloca a imagem da janela ativa no buffer. Portanto, em Linux com janelas, não há chave SysRq... também! Em vez dessa chave em ambientes gráficos Linux, é usada a combinação mágica Alt + Ctrl + SysRq + letra/número latino, o que aumenta significativamente seu poder sobre a máquina.
M - exibe a quantidade de memória usada. No Ubuntu funciona se você pré-instalar alto nível detalhes de saída.
N - exibe uma lista de tarefas em tempo real. Também funciona se você tiver definido anteriormente o nível de saída como alto.
E - Aborta todos os processos, exceto init.
I - mata todos os processos, incluindo init.
T - imprime uma lista de tarefas no console.
S - sincroniza todos os sistemas de arquivos, gravando todos os dados armazenados em buffer no disco rígido.
R - força o retorno do teclado a um estado de trabalho. Nesse caso, o kernel começa a trabalhar diretamente com o teclado, ignorando o servidor X, e apenas em códigos ASCII.
T - exibe uma lista de processos. Novamente, só funciona em um alto nível de verbosidade de saída.
P - dump de registro do processador. A solicitação pode ser de interesse para os envolvidos na depuração de software.
Q - Exibe eventos de hard timer. Funciona quando a verbosidade de saída é definida como alta.
O - desliga imediatamente o computador.
B - reinicia o computador. É verdade que eles relatam que com o kernel 3.8.0-25, não é uma reinicialização, mas um desligamento. Mas eu mesmo não verifiquei.
U - Remonta todos os sistemas de arquivos para o modo somente leitura.
V - Restaura o framebuffer do console. Digamos que você esteja assistindo a um vídeo no console virtual (sim, o Linux, ao contrário do Windows, também permite isso), e você precisa se lembrar urgentemente do que estava fazendo no console antes do vídeo ser lançado. O comando irá restaurar o framebuffer do console. Em geral, seria necessário contar mais sobre essa coisa interessante - o framebuffer, mas não neste artigo.
W - Mostra todas as tarefas suspensas, se houver.
Z - exibe o conteúdo do buffer de rastreamento do kernel.
Então, DE REPENTE seu Linux congela de tal forma que mesmo reiniciar o Xes com as teclas Alt + Del + BS não ajuda. Calma, apenas calma. Em nenhum caso, não se apresse em pressionar o botão de reset no gabinete do computador. Com uma probabilidade muito alta, você não perderá dados ao pressionar sucessivamente teclas R-E-I-S-U-B(segure Alt+Ctrl+SysRq!). E sabe de uma coisa? Você sempre pode desligar instantaneamente um computador funcionando normalmente com Alt + Ctrl + SysRq + O. A menos, é claro, que você tenha fechado seus programas. :)
No entanto, acho perigoso disponibilizar o SysRq mágico se você permitir que outros usuários trabalhem remotamente em sua máquina ou você mesmo trabalhe com ele remotamente. A questão é que o sinal de interrupção enviado do console remoto pode ser interpretado como Alt+SysRq, com todas as consequências decorrentes. Portanto, se você decidir dar acesso remoto à sua máquina, apenas por precaução, primeiro redefina a variável kernel.sysrq na configuração do sistema. Você também pode escrever um script simples no bash para isso e até anexar um botão na área de trabalho a ele, para que cada vez que você não se preocupe em editar o arquivo de controle de configuração do sistema. Boa sorte!
Este artigo destina-se aos mais novos no Linux e àqueles que estão interessados em como reiniciar o Linux a partir do console. Para mim, reiniciar o computador no terminal ou usar a interface gráfica é elementar, mas essa é a base, nem todos os iniciantes sabem disso e preciso escrever sobre isso.
Hoje abordaremos questões como o comando para reinicializar o Linux a partir do console, reinicializar remotamente e reinicializar diretamente no GUI. Vamos começar com a reinicialização usual do sistema.
Aqui, como dizem, o que poderia ser mais fácil. Considere primeiro reinicializar no Ubuntu Unity. Basta clicar no botão de engrenagem à direita canto superior tela e selecione Desligar:
Em seguida, na janela que se abre, clique no item:
No ambiente de desktop Gnome, tudo é muito parecido com o Unity, mas no KDE você precisa abrir o menu principal, vá na aba saída e selecione o item recarregar:
Em seguida, confirme a reinicialização.
Reinicie o Linux no Terminal
E aqui o escopo é muito mais amplo, existem cerca de uma dúzia de comandos que podem ser usados para reiniciar o Linux. Alguns precisam de privilégios de root, outros não, alguns parecem simples e fáceis de lembrar, enquanto outros são longos e complicados. A seguir, veremos todos eles.
O primeiro comando de reinicialização do Linux, o mais comum e simples:
Como você pode ver, o utilitário precisa de direitos de superusuário. Depois de pressionar Enter, o computador será reinicializado imediatamente.
O utilitário de desligamento, que é usado para desligar, também permite reiniciar o computador; para isso, você precisa passar o parâmetro -r para ele. Além disso, você também pode especificar o tempo de reinicialização. Agora - 0 ou agora, após um minuto +1 após dois - +2, e assim por diante:
sudo desligamento -r +1
Em sistemas de inicialização compatíveis com Init Scripts, havia níveis de inicialização do sistema - 0,1,2,3,4,5,6, nível 0 - significava desligamento, 6 reinicialização, outros modos do sistema não nos interessam agora. Você pode alternar entre os níveis com o comando init. Mas, novamente, você precisa de direitos de superusuário. Desta maneira:
O serviço de mensagens do sistema dbus também pode reiniciar o computador:
/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart
Você não precisa mais de direitos de superusuário. Essas eram as maneiras usuais de reiniciar o Linux, mas há mais uma, não padrão ou até duas. Estas são as chaves mágicas do SysRq. Kernel Linux monitora o pressionamento de certas combinações de teclas e executa as ações necessárias em resposta a elas. Primeiro habilite o suporte ao sysrq:
echo 1 > /proc/sys/kernel/sysrq
É melhor fazer isso com antecedência, pois esse método é útil quando o sistema está congelado e não reage a nada:
nano /etc/sysctl.conf
kernel.sysrq=1
Ativar SysRq combinações segure Alt + SysRq e pressione o código da tecla. Para uma reinicialização normal, é recomendável usar a seguinte sequência: R E I S U B, pressione as teclas na mesma seqüência com um intervalo de cerca de um segundo.
- R- retorna o controle do teclado se o servidor X foi finalizado incorretamente;
- E- o kernel envia um sinal SIGTERM para todos os processos, exceto init;
- eu- envia um sinal SIGKILL para todos os processos, exceto init;
- S- o kernel sincroniza os sistemas de arquivos, todos os dados do cache são transferidos para o disco rígido;
- você- remonta todos os sistemas de arquivos em modo somente leitura;
- B- reinicialização imediata, sem sincronização e preparações adicionais.
Antes de reinicializar, o sistema aguarda a finalização de todos os processos, interrompe todos os serviços, desmonta e monta sistemas de arquivos somente leitura. Isso é o que fazemos pressionando essas combinações de teclas em sequência. Mas se você precisar reiniciar o sistema agora sem esperar o desligamento de todos os processos, por exemplo, o servidor, você pode enviar imediatamente um sinal B. Assim: Alt+SysRq+B.
SysRq pode ser usado sem atalhos de teclado escrevendo código desejado operações para o arquivo /proc/sysrq-trigger:
echo b > /proc/sysrq-trigger
O sistema será reinicializado como está, sem interromper os serviços e preparar os sistemas de arquivos, de modo que os dados não salvos podem ser perdidos e sistema de arquivo danificado.
Reinicialização remota do Linux
Se você tiver acesso ao servidor via ssh, é muito fácil reiniciar o linux remotamente usando um dos comandos acima, por exemplo:
ssh [e-mail protegido]/sbin/reboot
Mas, novamente, para esta operação você precisa ter permissões de root em um servidor remoto.
conclusões
Agora você sabe como reiniciar o linux, você sabe até como reiniciar o servidor via ssh. Se tiver alguma dúvida, pergunte nos comentários!
Postagens relacionadas: