- SYNOPSIS
- DESCRIPTION
- AUTHOR
- REPORTING BUGS
- COPYRIGHT
- Команда install в линукс
- ОПИСАНИЕ
- ОПЦИИ
- ОПЦИИ РЕЗЕРВНОГО КОПИРОВАНИЯ GNU
- СТАНДАРТНЫЕ ОПЦИИ GNU
- ОКРУЖЕНИЕ
- СОВМЕСТИМОСТЬ
- ЗАМЕЧАНИЯ
- Команда install в линукс
- Примеры использования
- Установка файла в существующую директорию
- Установка файла в несуществующую директорию
- Установка файла со сменой атрибутов
- Установка исполняемого файла с удалением отладочной информации
SYNOPSIS
install [OPTION]. [-T] SOURCE DEST
install [OPTION]. SOURCE. DIRECTORY
install [OPTION]. -t DIRECTORY SOURCE.
install [OPTION]. -d DIRECTORY.
DESCRIPTION
In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to the existing DIRECTORY, while setting permission modes and owner/group. In the 4th form, create all components of the given DIRECTORY(ies).
Mandatory arguments to long options are mandatory for short options too.
Tag | Description |
---|---|
—backup[=CONTROL] make a backup of each existing destination file | |
-b | like —backup but does not accept an argument |
-c | (ignored) |
-C, —compare | |
compare each pair of source and destination files, and in some cases, do not modify the destination at all | |
-d, —directory | |
treat all arguments as directory names; create all components of the specified directories | |
-D | create all leading components of DEST except the last, then copy SOURCE to DEST |
-g, —group=GROUP | |
set group ownership, instead of process current group | |
-m, —mode=MODE | |
set permission mode (as in chmod), instead of rwxr-xr-x | |
-o, —owner=OWNER | |
set ownership (super-user only) | |
-p, —preserve-timestamps | |
apply access/modification times of SOURCE files to corresponding destination files | |
-s, —strip | |
strip symbol tables | |
-S, —suffix=SUFFIX override the usual backup suffix | |
-t, —target-directory=DIRECTORY | |
copy all SOURCE arguments into DIRECTORY | |
-T, —no-target-directory | |
treat DEST as a normal file | |
-v, —verbose | |
print the name of each directory as it is created | |
-P, —preserve_context (SELinux) Preserve security context | |
-Z, —context=CONTEXT | |
(SELinux) Set security context of files and directories | |
—help | display this help and exit |
—version | |
output version information and exit | |
The backup suffix is ~, unless set with —suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the —backup option or through the VERSION_CONTROL environment variable. Here are the values: | |
none, off | |
never make backups (even if —backup is given) | |
numbered, t | |
make numbered backups | |
existing, nil | |
numbered if numbered backups exist, simple otherwise | |
simple, never | |
always make simple backups |
AUTHOR
REPORTING BUGS
COPYRIGHT
Copyright © 2006 Free Software Foundation, Inc.
This is free software. You may redistribute copies of it under the terms of the GNU General Public License . There is NO WARRANTY, to the extent permitted by law.
Команда install в линукс
install [ опции ] [-s] [—strip] исходный_файл файл_назначения
install [ опции ] [-s] [—strip] исходный_файл. каталог
install [ опции ] [-d,—directory] каталог.
Опции (краткая форма):
[-b] [-c] [-D] [-g группа ] [-m режим ] [-o владелец ] [-S СУФФИКС ] [-V ] [—help] [—version] [—]
ОПИСАНИЕ
install копирует файлы, при этом устанавливая права доступа к ним и, если это возможно, их владельца и группу.
В первой из вышеуказанных форм вызова, исходный_файл копируется в файл_назначения . Во второй форме каждый из исходных_файлов копируется в заданный каталог . В последней форме вызова, создается каждый каталог (и любые недостающие родительские каталоги).
Программа install похожа на cp , но позволяет вам управлять атрибутами копируемых файлов. Обычно install используется в файлах Makefile для копирования программ в необходимые каталоги. Копирование файлов самих в себя отвергается.
ОПЦИИ
-c Игнорируется; существует для совместимости со старыми Unix версиями install . -d, —directory Создает каждый заданный каталог и все отсутствующие родительские каталоги, устанавливает владельца, группу и права доступа, как задано в командной строке или по умолчанию. Кроме того, все создаваемые при этом каталоги получают такие же права доступа. (В этом состоит отличие от версии программы install из SunOS 4.x, которая дает создаваемым каталогам права доступа, установленные по умолчанию.) -D Создавать все лидирующие компоненты (родительские каталоги) файла_назначения , за исключением последнего, затем копировать исходный_файл в файл_назначения . Данная опция полезна для первой формы вызова программы. (Новое в fileutils-4.0.) -g группа , —group= группа Задать группу устанавливаемых файлов и каталогов. По умолчанию назначается текущая группа. Группа может быть представлена как именем группы, так и ее числовым идентификатором (GID). -m режим , —mode= режим Назначить режим доступа к устанавливаемому файлу или каталогу. Параметр режим может быть либо восьмеричным числом, либо иметь символьную форму (с нулевым исходным режимом), как описано в chmod(1) . По умолчанию права доступа устанавливаются в 0755 — чтение, запись и выполнение для владельца, и чтение и выполнение для группы и остальных. -o владелец , —owner= владелец Если install имеет соответствующие привилегии (запущен из-под root), то он назначает указанного владельца устанавливаемым файлам и каталогам. По умолчанию владельцем будет root. Владелец может быть задан как именем пользователя, так и числовым идентификатором пользователя (UID). -s, —strip Вырезать таблицу символов из устанавливаемого бинарного выполняемого файла.
ОПЦИИ РЕЗЕРВНОГО КОПИРОВАНИЯ GNU
GNU-версии таких программ как cp , mv , ln , install и patch могут, если потребуется, делать резервные копии файлов, которые будут перезаписаны, изменены или уничтожены. При желании, резервные копии файлов создаются с помощью опции -b. Как они будут называться, задает опция -V. В случае, если имя файла резервной копии создается с помощью добавления суффикса к имени исходного файла, то суффикс указывается с помощью опции -S. -b, —backup Делать резервные копии файлов, которые будут перезаписаны или удалены. -S СУФФИКС , —suffix= СУФФИКС Добавить СУФФИКС к имени файла при создании его резервной копии.
Если данная опция не задана, то суффикс можно также задать, используя переменную окружения SIMPLE_BACKUP_SUFFIX Если не задана ни опция, ни переменная, то по умолчанию используется суффикс ~. -V МЕТОД , —version-control= МЕТОД Определяет, как будут называться резервные копии файлов. Аргумент МЕТОД может принимать значения numbered (или t), existing (или nil) и never (или simple). Если данная опция не задана, то будет использовано значение переменной окружения VERSION_CONTROL . Если же не задано значение и этой переменной, то по умолчанию тип резервного копирования устанавливается в existing.
Данная опция соответствует переменной version-control в Emacs. Допустимыми значениями МЕТОД являются (допускаются однозначные сокращения): t , numbered Всегда делать нумерованные резервные копии файлов. nil , existing Делать нумерованные резервные копии файлов для файлов, которые уже их имеют и простые резервные копии для остальных файлов. never , simple Всегда делать простые резервные копии.
СТАНДАРТНЫЕ ОПЦИИ GNU
—help Выдать подсказку на стандартный вывод и успешно завершиться. —version Выдать информацию о версии на стандартный вывод и успешно завершиться. — Служит для обозначения конца списка опций.
ОКРУЖЕНИЕ
При работе обычным образом используются значения переменных LANG, LC_ALL, LC_CTYPE и LC_MESSAGES. Для версии GNU переменные SIMPLE_BACKUP_SUFFIX и VERSION_CONTROL управляют именованием файлов при резервном копировании, как описано выше.
СОВМЕСТИМОСТЬ
ЗАМЕЧАНИЯ
Данная страница описывает версию install из пакета fileutils-4.0; другие версии могут иметь небольшие отличия. Исправления и дополнения присылайте по адресу aeb@cwi.nl. Отчеты об ошибках в этой программе присылайте по адресу fileutils-bugs@gnu.ai.mit.edu.
Команда install в линукс
Команда install позволяет задействовать одноименную утилиту, предназначенную для автоматизации установки файлов программного обеспечения в систему. Обычно данная утилита не используется пользователями непосредственно — для установки предварительно собранных пакетов программного обеспечения используются такие утилиты, как apt, dnf, snap и другие. В случае же сборки программного обеспечения из исходных кодов шансы ее опосредованного использования достаточно велики — обычно ее вызовы можно обнаружить в файлах конфигурации сборочной системы Make. Грубо говоря, данная утилита является аналогом утилиты для копирования файлов cp с дополнительными функциями таких инструментов, как утилита для создания директорий mkdir, утилита для изменения прав доступа к файлам chmod, утилита для изменения владельца файлов chown, утилита для изменения группы владельцев файла chgrp и утилита для удаления отладочной информации их исполняемых файлов strip.
Базовый синтаксис команды выглядит следующим образом:
$ install [параметры] имя-файла путь-для-установки
В случае классического сценария использования команда принимает имя файла и путь для его установки, а также ряд параметров. Актуальными для обычного пользователя параметрами являются параметр -D, позволяющий создать структуру родительских директорий перед копированием файла в нее, параметр -d, позволяющий создать дерево директорий без копирования файлов, параметр -o, позволяющий задать имя владельца установленного файла, параметр -g, позволяющий задать имя группы владельцев установленного файла, параметр -m, позволяющий задать права доступа к установленному файлу, параметр -s, позволяющий удалить отладочную информацию из установленного исполняемого файла, а также параметр -v, позволяющий активировать механизм вывода подробных диагностических сообщений.
Примеры использования
Установка файла в существующую директорию
Для предварительного создания директории может использоваться сама утилита install с параметром -d.
$ install -d insdir
$ file insdir
insdir: directory
Директория успешно создана — теперь можно приступить к установке в нее файла. Для установки файла в существующую директорию достаточно задать имя файла и путь к целевой директории; дополнительных параметров не требуется.
$ install thread insdir
$ ls -al insdir
итого 40
drwxrwxr-x 2 alex alex 20 авг 16 20:41 .
drwx—x—x 41 alex alex 4096 авг 16 20:41 ..
-rwxr-xr-x 1 alex alex 36184 авг 16 20:41 thread
Файл был скопирован в целевую директорию — утилита сработала корректно.
Установка файла в несуществующую директорию
Для установки файла в несуществующую директорию достаточно использовать параметр -D. Утилита позволяет создать не одну родительскую директорию, а целое дерево директорий, но в этом случае должно быть явно указано и имя установленного файла. Для наглядности активируем режим вывода диагностических сообщений с помощью параметра -v:
$ install -Dv thread insdir/insidedir/thread
install: создание каталога ‘insdir’
install: создание каталога ‘insdir/insidedir’
‘thread’ -> ‘insdir/insidedir/thread’
$ tree insdir
insdir
└── insidedir
└── thread
Дерево родительских директорий успешно создано и файл скопирован в него.
Установка файла со сменой атрибутов
Для смены атрибутов файла следует использовать параметры -o, -g и -m:
# install -Dv -o nobody -g gdm -m 777 thread insdir/thread
install: создание каталога ‘insdir’
‘thread’ -> ‘insdir/thread’
$ ls -al insdir
итого 40
drwxr-xr-x 2 root root 20 авг 16 21:00 .
drwx—x—x 41 alex alex 4096 авг 16 21:00 ..
-rwxrwxrwx 1 nobody gdm 36184 авг 16 21:00 thread
Для смены имен владельца и группы владельцев файла необходимы права суперпользователя. Именно поэтому владельцем родительской директории в результате является пользователь root. Сам же установленный файл имеет заданных владельца и группу владельцев, а также права доступа.
Установка исполняемого файла с удалением отладочной информации
Для удаления отладочной информации из устанавливаемого исполняемого файла достаточно использовать параметр -s:
$ install -Dv -s thread insdir/thread
install: создание каталога ‘insdir’
‘thread’ -> ‘insdir/thread’
$ stat thread
Файл: thread
Размер: 36184 Блоков: 72 Блок В/В: 4096 обычный файл
Устройство: 803h/2051d Инода: 146671 Ссылки: 1
Доступ: (0775/-rwxrwxr-x) Uid: ( 1000/ alex) Gid: ( 1000/ alex)
Доступ: 2022-08-16 20:41:44.637925377 +0300
Модифицирован: 2021-11-18 19:59:24.134960843 +0300
Изменён: 2021-11-18 19:59:24.134960843 +0300
Создан: 2021-11-18 19:59:24.050960896 +0300
$ stat insdir/thread
Файл: insdir/thread
Размер: 22824 Блоков: 48 Блок В/В: 4096 обычный файл
Устройство: 803h/2051d Инода: 134375192 Ссылки: 1
Доступ: (0755/-rwxr-xr-x) Uid: ( 1000/ alex) Gid: ( 1000/ alex)
Доступ: 2022-08-16 21:07:57.969776952 +0300
Модифицирован: 2022-08-16 21:07:58.017776813 +0300
Изменён: 2022-08-16 21:07:58.017776813 +0300
Создан: 2022-08-16 21:07:57.741777616 +0300
В результате размер установленного исполняемого файла уменьшается с 36184 до 22824 байт. Сам же установленный исполняемый файл будет функционировать абсолютно идентично оригинальному.