Para uma solução de longo prazo: Não sei como fazer isso no Ubuntu (sou centrada na RH) ou se vale a pena (se você tiver apenas uma máquina), mas uma metodologia que funcionou para nós por MUITOS anos é criar volumes lógicos separados, sistemas de arquivos, mesmo grupos de volumes em máquinas servidoras. Então, como uma questão de prática padrão, criamos volumes lógicos LVM para /, / tmp. / usr, / usr / local, / opt, / home, / var, espaço de troca e uma partição separada para / boot. Essa abordagem torna ainda mais difícil para os sistemas de arquivos preencher e desativar o sistema. Na verdade, essa abordagem tornará quase impossível preencher o sistema / file. Você ainda precisa assistir / tmp, / var, é claro. Se precisarmos armazenar dados, criamos um grupo de volumes totalmente diferente para ele. Essa abordagem também tem outros benefícios, expandir os sistemas de arquivos à vontade, movê-los, criar novos, etc. E, como uma observação histórica, levamos esse método para o Linux a partir do SO AIX nos anos 90!