Есть ли способ отключить / удалить apt-get на сервере на основе Debian. Я бы предпочел использовать aptitude и не хочу, чтобы другие пользователи устанавливали пакеты с помощью apt-get, чтобы избежать проблем с пакетом / базой данных.
Нет проблем с тем, что люди используют оба инструмента одновременно. Я часто устанавливаю что-то с помощью apt-get или aptitude из командной строки или использую интерфейс curses для обновления безопасности. И apt-get, и aptitude являются интерфейсными модулями для libapt-pkg, который занимается разрешением зависимостей и получением пакетов. libapt-pkg, в свою очередь, использует dpkg для фактической установки пакета. И dpkg, и libapt-pkg блокируют в нужном месте, так что если кто-то работает с aptitude, кто-то другой не может установить пакет через apt-get, пока aptitude не закроется.
Поскольку apt-get поддерживает автоматическую зависимость, у одного инструмента нет преимущества перед другим [0]
[0] за исключением того, что у aptitude нет суперспособностей коровы.
Вы могли сделать:
chmod 0 /usr/bin/apt-get
Идея о том, что нет разницы между apt-get и aptitude, абсурдна. Да, они работают с одними и теми же репозиториями, но по-разному. Не вдаваясь в подробности, добавление пакетов - это примерно то же самое, но если вы когда-нибудь захотите удалить пакет или что-то изменить, вы не можете смешивать их и ожидать хороших результатов.
Поищите в своей любимой поисковой системе "aptitude vs apt-get", чтобы найти подробные статьи о различиях.
При этом вы можете добавить это в свой файл /root/.bashrc:
alias apt-get = "echo 'Пожалуйста, используйте aptitude в этой системе.'"
Затем:
источник /root/.bashrc
Есть множество мест, где Ubuntu официально предлагает использовать apt-get, rgrep apt-get /usr/lib/python2.6/dist-packages/DistUpgrade
чтобы увидеть это. Удаление apt-get или изменение разрешений для него может быть проблематичным для утилит debian, которые могут сделать относительно безопасное предположение, что он существует.
Есть много способов сделать это, но тот факт, что ваши пользователи могут устанавливать пакеты, подразумевает, что у них есть доступ на уровне root.
Если у них есть root, вы должны помнить, что все, что root может делать, root может отменить (в любом случае в этом контексте).
Из всего вышесказанного я бы сказал, что «самый безопасный» способ сделать это - удалить (но сохранить копию) файл sources.list в / etc / apt.
Таким образом, все различные варианты apt-get (например, aptitude и неизвестно что еще) работать не будут. Также (незначительно) пользователям сложнее восстановить это, чем отменить "chmod 0" определенной команды.