Provavelmente esta é uma pergunta muito ingênua, mas não posso fazer isso funcionar tentando os métodos que encontrei na documentação existente ou em outras soluções.
Eu tenho o Alpine Linux instalado em um Raspberry Pi, cujo cartão SD está formatado para ter a partição de inicialização usual e um ext4 para hospedar /
, adicionei uma partição de troca, pois meu Pi não tem muita RAM. O problema é que a partição swap não ativa na inicialização.
Tanto quanto sei, o método convencional para configurar uma partição swap dedicada é declará-la no /etc/fstab
arquivo. Isso não funciona, então minha outra abordagem foi tentar fazer um script na /etc/init.d
pasta para forçar sua ativação. Para minha surpresa, já existe um init.d
arquivo nesta compilação para fazer exatamente isso, que é o /etc/init.d/swap
, que tem a seguinte redação.
depend()
{
after clock root
before localmount
keyword -docker -jail -lxc -openvz -prefix -systemd-nspawn -vserver
}
start()
{
ebegin "Activating swap devices"
case "$RC_UNAME" in
NetBSD|OpenBSD) swapctl -A -t noblk >/dev/null;;
*) swapon -a >/dev/null;;
esac
eend 0 # If swapon has nothing todo it errors, so always return 0
}
stop()
{
ebegin "Deactivating swap devices"
case "$RC_UNAME" in
NetBSD|OpenBSD) swapctl -U -t noblk >/dev/null;;
*) swapoff -a >/dev/null;;
esac
eend 0
}
De alguma forma, isso não funciona corretamente, nem o /etc/init.d/swap.apk-new
que tem exatamente o mesmo conteúdo que /etc/init.d/swap
.
Eu sei que o /etc/fstab
está configurado corretamente como execução swapon -a >/dev/null
ativa a partição swap da maneira pretendida! No entanto, a Alpine se recusa a fazer isso na inicialização, apesar de já ter sido declarada…
Estou esquecendo de algo? Sei que posso ativar a troca manualmente toda vez que ligo o dispositivo, mas tenho certeza de que o sistema deve fazer isso automaticamente na inicialização.
Se servir de alguma ajuda, a linha que adicionei /etc/fstab
é a seguinte.
UUID=<my partition UUID number> none swap defaults 0 0
E swapon -a
reconhece a partição. Esta compilação Alpine foi feita usando a instalação do sistema e suas especificações são as seguintes
OS: Alpine Linux v3.18 aarch64
Host: Raspberry Pi 3 Model B Rev 1.2
Kernel: 6.1.37-0-rpi
Desde já, obrigado.
Fazendo algo completamente diferente, encontrei a solução e funcionou! Me sinto extremamente bobo já que era algo tão trivial quanto apenas declarar isso no terminal:
E agora a troca é ativada como pretendido!
Vou deixar isso para o caso de alguém ter um problema semelhante, eu acho…