Отобразить текст README или WARNING перед удалением пакета

Мой рабочий процесс включает систему Ubuntu, которой поделились многие другие люди, причем некоторые из них являются sudoers. Некоторые sudoers случайно удалили пакеты, когда пытались установить новые, и это вызвало хаос, будь то пакеты, которые нужны другим или им самим.

Как я могу гарантировать, что менеджеры пакетов "заблокируют" пакеты от удаления или, по крайней мере, отобразят специальное предупреждающее сообщение, чтобы напомнить sudoer о зависимости пользователя перед удалением пакета?

1 ответ

Решение

Я согласен с user535733 в том, что вы должны обучать своих пользователей, имеющих права sudo, не удалять пакеты, если они не знают, для чего эти пакеты.

Однако в более новых версиях apt (> 1.4 - по крайней мере, Ubuntu 17.04) вы можете пометить пакет как "существенный" или "важный". В ошибке Debian #767891 был принят патч, позволяющий сделать что-то вроде:

sudo apt-get -o pkgCacheGen::ForceEssential=gedit update

Чтобы пометить пакет как Essential (или же Important) - в этом примере gedit пакет. Для основных пакетов apt показывает предупреждение, которое гораздо сложнее отклонить:

~ 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!’
 ?]

Да, вам действительно нужно ввести точную фразу, включая знаки препинания.

До версии 1.4 вы могли установить фиктивный пакет, используя equivs или что-то подобное, помеченное как "существенное" и зависящее от пакетов, для которых вы хотите показать предупреждение. Затем любая попытка удалить эти пакеты приведет к удалению необходимого фиктивного пакета с отображением предупреждения.

Другие вопросы по тегам