install
Окрім копіювання файлів у каталог, пропонується ряд функцій.
-s
опція видаляє таблицю символів з виконуваного, економлячи простір
-m
опція встановлює біти дозволу. Файли, що знаходяться в каталозі розробника, були створені відповідно до його umask, що може заважати іншим їх виконувати. install -m 755 file1 /usr/local/bin
гарантує, що кожен може виконати файл, що, ймовірно, те, що розробник хоче для файлу у спільному каталозі.
-o
і -g
опції встановити власника і групу. З cp
, власник і група файлу призначення буде встановлено на uid і gid того, хто керував cp
, і з cp -p
, власник і група цільового файлу були б такими ж, як і файл у каталозі збірки, жоден з яких не може бути тим, що хоче розробник. wall
Програма повинна бути в групі tty
, то screen
програма повинна бути група utmp
, і т.д.
- це зменшує кількість команд, які потрібно включити в рецепт makefile.
install -s -m 755 -o root -g bin file1 file2 lib/* $(DESTDIR)
більш ємний , ніж чотири команд cp
, strip
, chmod
, і chown
.
Остання точка кулі, ймовірно, чому install
була придумана команда і чому її використовують багато makefiles.
Install
не завжди використовується, хоча. Я бачив, cp -r lib $(DESTDIR)/lib
коли для копіювання є ціле дерево, наповнене речами, і ./install.sh
якщо розробник вважає за краще користувацький сценарій. Багато пакунків мають install.sh
похідне від того, що постачається з X11, який схожий, install
але підтримує -t
(перетворення) варіант перейменування файлів призначення певним чином.