Таким образом, после запуска файла configure
исходных кодов для различных приложений, введите make
и make install
для установки приложения. Мой вопрос: в чем разница между make
и make install
?
2 ответа
make
ищет первую цель в Makefile. (GNU Make позволяет настроить это.)
make install
ищет цель с именем " install
".
Make install - одна из возможных целей в Makefile. В качестве простого примера, другой очень распространенный пример - clean: make clean, как правило, очищает временные файлы, которые являются необходимыми / полезными побочными продуктами процесса компиляции, но которые больше не нужны после создания окончательного исполняемого файла.
Make install содержит инструкции для вставки скомпилированного продукта в систему, например, путем запуска необходимой команды depmod, которая заботится об установке модуля.
тогда почему надо запускать оба ?!
Поскольку первый может выполняться как обычный пользователь, второй часто требует системных привилегий.
Если ваш следующий вопрос: почему бы не запустить оба как sudo, тогда ответ таков: не все установки будут использоваться в масштабе всей системы. Например, если у вас нет привилегий root в системе, к которой у вас есть доступ, вы можете скомпилировать и установить данный пакет для вашего собственного эксклюзивного использования. В этом случае вы хотите иметь возможность скомпилировать и передать его компоновщику, но вы не можете установить его для использования всеми пользователями системы. В этом случае причина разницы очевидна.
Другими словами, каждый этап процесса установки организован таким образом, чтобы его можно было выполнять с минимально возможными привилегиями, что допускает как общесистемную, так и локальную установку, когда это имеет смысл.