Concordo com user535733 em que você deve estar treinando seus usuários que têm privilégios sudo para não remover pacotes quando eles não sabem para que servem esses pacotes.
No entanto, nas versões mais recentes do apt (> 1.4 - pelo menos no Ubuntu 17.04), você pode marcar um pacote como "essencial" ou "importante". No erro Debian # 767891 , foi aceito um patch que permite que você faça algo como:
sudo apt-get -o pkgCacheGen::ForceEssential=gedit update
Para marcar um pacote como Essential
(ou Important
) - neste exemplo, o pacote gedit
. Para pacotes essenciais, o apt mostra um aviso que é muito mais difícil descartar:
~ sudo apt-get remove bash
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED
bash bash-completion lightdm ubuntu-desktop
WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!
bash
0 to upgrade, 0 to newly install, 4 to remove and 26 not to upgrade.
After this operation, 7,776 kB disk space will be freed.
You are about to do something potentially harmful
To continue type in the phrase ‘Yes, do as I say!’
?]
Sim, você precisa digitar a frase exata, incluindo pontuação.
Antes do apt 1.4, você poderia instalar um pacote fictício usando equivs
ou algo semelhante que esteja marcado como "essencial" e depende dos pacotes para os quais você deseja mostrar o aviso. Então, qualquer tentativa de remover esses pacotes resultará na remoção do pacote fictício essencial, mostrando o aviso.