41 lines
3.4 KiB
Markdown
41 lines
3.4 KiB
Markdown
---
|
|
title: Инициализация системы
|
|
description: Настройка репозитория, Git-хуки и конфигурация PATH.
|
|
weight: 51
|
|
---
|
|
|
|
Общие модули требуют однократной инициализации на каждом хосте для создания связей путей и конфигураций на уровне репозитория.
|
|
|
|
## Скрипт `init.sh` {#init-script}
|
|
|
|
Скрипт `init.sh`, расположенный в корне репозитория, является основным механизмом начальной загрузки. Он выполняет следующие критические задачи:
|
|
|
|
1. **Инициализация субмодулей**: Гарантирует наличие и актуальность репозитория [Commons](/root/glossary#commons).
|
|
2. **Конфигурация Git-хуков**: Направляет `core.hooksPath` на `.operator/shared/githooks` для обеспечения стандартизированных проверок перед коммитом.
|
|
3. **Регистрация безопасной директории (Safe Directory)**: Добавляет репозиторий в список `safe.directory` Git, что необходимо для операций, выполняемых разными пользователями (например, `root`, `adam`).
|
|
4. **Конфигурация Vim**: Связывает стандартизированный `.vimrc` как для текущего пользователя, так и для пользователя `root` для обеспечения единообразия при редактировании.
|
|
5. **Сохранение PATH**: Добавляет директорию `.operator/shared/scripts/run` в `~/.bashrc` пользователя, делая команду `root` доступной глобально.
|
|
|
|
## Git-хуки {#githooks}
|
|
|
|
Root обеспечивает соблюдение стандартов через Git-хуки, хранящиеся в `.operator/shared/githooks/`.
|
|
|
|
- **Pre-commit**: Проверяет, что все скрипты соответствуют соглашениям о пространствах имен и структуре.
|
|
- **Commit-msg**: (Опционально) Обеспечивает соблюдение правил Conventional Commits, если это настроено.
|
|
|
|
## Конфигурация PATH {#path}
|
|
|
|
Команда `root` — это обертка (wrapper), расположенная по адресу `.operator/shared/scripts/run/root`. Добавляя эту директорию в `PATH`, диспетчер можно вызывать из любой директории в системе; он автоматически определит корень репозитория на основе текущей рабочей директории или переменных окружения.
|
|
|
|
```bash
|
|
# Пример добавления PATH вручную (выполняется автоматически скриптом init.sh)
|
|
export PATH="$HOME/repo/.operator/shared/scripts/run:$PATH"
|
|
```
|
|
|
|
---
|
|
|
|
**See also:**
|
|
|
|
- [Руководство: Начальная настройка хоста](/root/guides/installation)
|
|
- [Справочник: Справочник ROOT_ API Reference](/root/reference/root-api)
|