Qual é a maneira correta de desligar o sistema enquanto o apt-get ainda está em execução? O apt-get reclama de desligamento incorreto quando acabei de desligar o computador.
Responder1
Como uma elaboração do conselho de Piskvor ("não"), você poderia emitir este comando no prompt do shell:
sleep 10m ; shutdown -h now
O texto acima pressupõe que você esteja executando como superusuário.
A idéia é deixar o apt-get terminar antes de desligar, sem que você tenha que ficar sentado esperando que ele termine. Você poderia escrever um script mais elegante que, por exemplo, use ps e grep para detectar se o apt-get foi concluído, mas não tenho acesso a uma máquina Linux aqui no trabalho para testar esse script.
Responder2
Fechar o apt-get primeiro? Talvez usando um sinal de interrupção (^C se estiver em primeiro plano, caso contrário kill
)
Atualizar:
Você pode obter uma lista de sinais comkill -l
$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO
30) SIGPWR 31) SIGSYS 32) SIGRTMIN 33) SIGRTMIN+1
34) SIGRTMIN+2 35) SIGRTMIN+3 36) SIGRTMIN+4 37) SIGRTMIN+5
38) SIGRTMIN+6 39) SIGRTMIN+7 40) SIGRTMIN+8 41) SIGRTMIN+9
42) SIGRTMIN+10 43) SIGRTMIN+11 44) SIGRTMIN+12 45) SIGRTMIN+13
46) SIGRTMIN+14 47) SIGRTMIN+15 48) SIGRTMAX-15 49) SIGRTMAX-14
50) SIGRTMAX-13 51) SIGRTMAX-12 52) SIGRTMAX-11 53) SIGRTMAX-10
54) SIGRTMAX-9 55) SIGRTMAX-8 56) SIGRTMAX-7 57) SIGRTMAX-6
58) SIGRTMAX-5 59) SIGRTMAX-4 60) SIGRTMAX-3 61) SIGRTMAX-2
62) SIGRTMAX-1 63) SIGRTMAX
Antes de tentar 9 (SIGKILL), a opção nuclear, você pode tentar sinais mais suaves como HUP, INT, QUIT ou talvez USR1, USR2 ou ABRT. Na verdade, os documentos do programa para o apt-get deveriam dizer se ele lida com algum desses sinais de maneira diferente. Como isso não acontece, não tenho muita esperança. Alguns relatórios de bugs mencionaram que o INT deveria funcionar.