Избегайте локальной установки в системные каталоги. Системные каталоги, например /usr
, зарезервированы для использования системой управления пакетами. По определению, если вы делаете это, make install
это означает, что вы делаете локальную установку, и если вам нужно сделать sudo make install
это, значит, у вас нет разрешения на то, куда вы пишете.
Итак, если вы получаете ошибки разрешения с make install
, проверьте и посмотрите, пытаетесь ли вы установить в системные каталоги, а /usr/local
вместо этого установить в или аналогичные. /usr/local
зарезервировано для локальных установок. Возможно, вам потребуется дать разрешение на запись /usr/local
, но обычно это легко сделать. На Debian это можно сделать, добавив себя в staff
группу. Более того, найдите или создайте двоичный пакет и установите его вместо этого. Таким образом, вы можете легко отслеживать установленные пакеты и получать другие преимущества управления пакетами.
Обратите внимание, что система управления пакетами, наоборот, не устанавливается в /usr/local
соответствии с FHS. Смотрите раздел 9.1 Руководства по политике Debian - иерархия файловой системы для обзора.
Как уже было сказано выше,
sudo make install
вы можете устанавливать файлы в каталогах, которые в противном случае доступны только вам как пользователю.Проблема, которую я могу предвидеть, заключается в том, что позже вы можете захотеть удалить или обновить программу. Если у вас все еще есть дерево каталогов исходного кода, то программа
make uninstall
удалит программу для вас, но если, как и многие другие обычные пользователи, вы удалили дерево каталогов исходного кода, то вам не повезло. И поскольку вы не установили программу с помощью системы управления пакетами, вы также не сможете удалить программу таким способом.Наилучшим способом установки таких программ может быть их установка в вашем домашнем каталоге. Пропустите вариант
--prefix=/home/<user>/<some>/<directory>
для./configure
. Это позволит вам использоватьmake install
вместоsudo make install
так/home/<user>/<some>/<directory>
как доступно для записи вами. Также удаление совсем несложно -rm -rf /home/<user>/<some>/<directory>
источник