Exibe o texto README ou WARNING antes da remoção do pacote

-1

Meu fluxo de trabalho envolve um sistema Ubuntu compartilhado com muitas outras pessoas, com algumas delas sendo sudoers. Alguns sudoers removeram pacotes acidentalmente quando tentavam instalar novos pacotes, o que causou o caos, sejam pacotes que os outros precisam ou precisam.

Como posso garantir que os gerenciadores de pacotes "bloqueiem" pacotes da remoção ou, no mínimo, exibam uma mensagem de aviso personalizada para lembrar o sudoer sobre a dependência de um usuário antes da remoção do pacote?

    
por kesari 02.01.2018 / 18:08

1 resposta

2

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.

    
por muru 03.01.2018 / 09:54