Versão do kernel

1. Versão do kernel

Marcos Vinícius Dunguel Nunes
mdunguel

(usa Debian)

Enviado em 06/10/2024 - 13:32h

Boa tarde, galera!!!
Quando fazemos a atualização do sistema pela interface gráfica, esta informa quando houve uma atualização do kernel, solicitando para que o usuário reinicie o PC.
E no shell, Como se dá esse processo e como fazer o mesmo?

segue abaixo o que eu já tenho e que não obtive sucesso:
#!/usr/bin/env bash

ATUAL_KERNEL="$(uname -r)"

# Testando se KERNEL é diferente do ATUAL

echo "$ATUAL_KERNEL"

sudo apt update
sudo apt upgrade

new_kernel="$(uname -r)"

if [[ "$new_kernel" => "$ATUAL_KERNEL" ]]; then
echo "Houve atualização do kernel!!"
echo "Necessário reiniciar o servidor!!!"
echo "Deseja fazer isso agora?"
read resp
if [[ $resp="sim" ]]; then
sudo reboot
#statements
fi
fi

Vlw






  


2. Re: Versão do kernel

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 06/10/2024 - 13:32h

Boa tarde!

Parece que você está no caminho certo para verificar a versão do kernel e reiniciar o sistema se houver uma atualização. Vamos ajustar alguns detalhes no seu script para que ele funcione corretamente e que melhore a legibilidade.

Primeiro, note que você deve usar `-ne` em vez de `=>` para comparar strings em bash. Além disso, o erro no seu teste `[[ $resp="sim" ]]` deveria ser `[[ $resp == "sim" ]]`.

Aqui está uma versão corrigida do seu script:

```bash
#!/usr/bin/env bash

ATUAL_KERNEL="$(uname -r)"

# Testando se KERNEL é diferente do ATUAL
echo "$ATUAL_KERNEL"

sudo apt update

# Atualiza o sistema e corresponde erro 0 se houve atualização.
if sudo apt upgrade -y; then
new_kernel="$(uname -r)"

if [[ "$new_kernel" != "$ATUAL_KERNEL" ]]; then
echo "Houve atualização do kernel!!"
echo "Necessário reiniciar o servidor!!!"
echo "Deseja fazer isso agora? (sim/não)"
read resp

if [[ $resp == "sim" ]]; then
sudo reboot
fi
else
echo "Nenhuma atualização do kernel foi realizada."
fi
else
echo "Erro ao atualizar pacotes."
fi
```

Agora, algumas considerações:

- **Atualização do Kernel


3. Re: Versão do kernel

Marcos Vinícius Dunguel Nunes
mdunguel

(usa Debian)

Enviado em 06/10/2024 - 13:39h


Não foi!!!


4. Re: Versão do kernel

Buckminster
Buckminster

(usa Debian)

Enviado em 06/10/2024 - 14:48h

Tenta assim:

#!/usr/bin/env bash

# Captura a versão atual do kernel
KERNEL_ATUAL="$(uname -r)"

# Atualiza os pacotes e o kernel
echo "Atualizando pacotes..."
sudo apt update
sudo apt upgrade -y

# Captura a nova versão do kernel
KERNEL_NOVO="$(uname -r)"

# Verifica se houve atualização do kernel
if [[ "$KERNEL_NOVO" != "$KERNEL_ATUAL" ]]; then
echo "Houve atualização do Kernel!"
echo "Necessário reiniciar!"
echo "Deseja fazer isso agora? (sim/não)"
read resp
if [[ $resp == "sim" ]]; then
echo "Reiniciando o servidor..."
sudo reboot
else
echo "Reinício cancelado!"
fi
else
echo "O Kernel está na versão mais atual!"
echo "Nenhuma atualização é necessária!"
fi

Caso não reiniciar, tenta com shutdown -r now no lugar de reboot.
Caso pedir senha no apt update, o melhor é executar
$ sudo visudo

e adicionar a seguinte linha:
seu_usuario ALL=(ALL) NOPASSWOD: /usr/bin/apt update

Isso fará com que não precise senha para apt update.


_________________________________________________________
Always listen the Buck!
Enquanto o cursor estiver pulsando, há vida!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts