Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия | |||
| vm:ubuntu:script:01-zapusk [2025/09/03 14:58] – admin | vm:ubuntu:script:01-zapusk [2025/09/03 15:00] (текущий) – старая версия восстановлена (2025/09/03 14:55) admin | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | # Автоматическая настройка новой машины Ubuntu | + | ====== |
| - | ## Описание | + | ===== Описание |
| Данный скрипт автоматически выполняет первичную настройку новой машины Ubuntu, включая: | Данный скрипт автоматически выполняет первичную настройку новой машины Ubuntu, включая: | ||
| - | * Обновление системы | + | |
| - | * Изменение hostname | + | * Изменение hostname |
| - | * Установку Docker и Docker Compose | + | * Установку Docker и Docker Compose |
| - | * Настройку пользователя для работы с Docker | + | * Настройку пользователя для работы с Docker |
| **Требования: | **Требования: | ||
| - | ## Быстрый запуск | + | ===== Быстрый запуск |
| - | ### Метод 1: Скачивание и запуск одной командой | + | ==== Метод 1: Скачивание и запуск одной командой |
| - | ```bash | + | < |
| curl -fsSL https:// | curl -fsSL https:// | ||
| - | ``` | + | </ |
| - | ### Метод 2: Пошаговое скачивание | + | ==== Метод 2: Пошаговое скачивание |
| - | ```bash | + | < |
| # Скачать скрипт | # Скачать скрипт | ||
| wget https:// | wget https:// | ||
| Строка 33: | Строка 33: | ||
| # Запустить | # Запустить | ||
| ./ | ./ | ||
| - | ``` | + | </ |
| - | ### Метод 3: Создание скрипта вручную | + | ==== Метод 3: Создание скрипта вручную |
| - | ```bash | + | < |
| # Создать файл скрипта | # Создать файл скрипта | ||
| nano setup-new-machine.sh | nano setup-new-machine.sh | ||
| Строка 49: | Строка 49: | ||
| # Запустить | # Запустить | ||
| ./ | ./ | ||
| - | ``` | + | </ |
| - | ## Полный код скрипта | + | ===== Полный код скрипта |
| Сохраните данный код в файл **setup-new-machine.sh** | Сохраните данный код в файл **setup-new-machine.sh** | ||
| - | ```bash | + | < |
| #!/bin/bash | #!/bin/bash | ||
| Строка 262: | Строка 262: | ||
| # Запуск основной функции | # Запуск основной функции | ||
| main " | main " | ||
| - | ``` | + | </ |
| - | ## Подробная инструкция по использованию | + | ===== Подробная инструкция по использованию |
| - | ### Шаг 1: Подготовка | + | ==== Шаг 1: Подготовка |
| - | * Убедитесь, | + | - Убедитесь, |
| - | * Проверьте подключение к интернету | + | |
| - | * Рекомендуется выполнять на чистой установке Ubuntu | + | |
| - | ### Шаг 2: Получение скрипта | + | ==== Шаг 2: Получение скрипта |
| **Вариант A: Прямое скачивание** | **Вариант A: Прямое скачивание** | ||
| - | ```bash | + | < |
| wget https:// | wget https:// | ||
| - | ``` | + | </ |
| **Вариант B: Создание через curl** | **Вариант B: Создание через curl** | ||
| - | ```bash | + | < |
| curl -fsSL https:// | curl -fsSL https:// | ||
| - | ``` | + | </ |
| **Вариант C: Создание вручную** | **Вариант C: Создание вручную** | ||
| - | ```bash | + | < |
| nano setup-new-machine.sh | nano setup-new-machine.sh | ||
| # Вставить содержимое скрипта из раздела выше | # Вставить содержимое скрипта из раздела выше | ||
| # Сохранить: | # Сохранить: | ||
| - | ``` | + | </ |
| - | ### Шаг 3: Запуск скрипта | + | ==== Шаг 3: Запуск скрипта |
| - | ```bash | + | < |
| # Сделать файл исполняемым | # Сделать файл исполняемым | ||
| chmod +x setup-new-machine.sh | chmod +x setup-new-machine.sh | ||
| Строка 299: | Строка 299: | ||
| # Запустить скрипт | # Запустить скрипт | ||
| ./ | ./ | ||
| - | ``` | + | </ |
| - | ### Шаг 4: Следование инструкциям | + | ==== Шаг 4: Следование инструкциям |
| - | * Скрипт запросит новое **имя хоста** (hostname) | + | - Скрипт запросит новое **имя хоста** (hostname) |
| - | * Введите желаемое имя (например: | + | |
| - | * Подтвердите продолжение установки | + | |
| - | * Дождитесь завершения всех операций | + | |
| - | **Рекомендуемые форматы hostname:** web-server-01, app-prod-01, db-master-01, dev-machine | + | **Рекомендуемые форматы hostname:** |
| + | | ||
| + | * app-prod-01 | ||
| + | * db-master-01 | ||
| + | * dev-machine | ||
| - | ### Шаг 5: Завершение | + | ==== Шаг 5: Завершение |
| После выполнения скрипта **обязательно**: | После выполнения скрипта **обязательно**: | ||
| - | * Перелогиньтесь в системе, | + | - Перелогиньтесь в системе, |
| - | * Выполните: | + | |
| - | * Перезагрузите систему: | + | |
| - | ## Что делает скрипт | + | ===== Что делает скрипт |
| - | | Действие | + | ^ Действие |
| - | |----------|----------|---------| | + | | **Обновление системы** | Обновляет все пакеты до актуальных версий | '' |
| - | | **Обновление системы** | Обновляет все пакеты до актуальных версий | `apt update && apt upgrade` | | + | | **Смена hostname** | Устанавливает новое имя хоста | '' |
| - | | **Смена hostname** | Устанавливает новое имя хоста | `hostnamectl set-hostname` | | + | | **Настройка / |
| - | | **Настройка / | + | | **Установка пакетов** | Устанавливает зависимости для Docker | '' |
| - | | **Установка пакетов** | Устанавливает зависимости для Docker | `apt install ca-certificates curl gnupg` | | + | | **Добавление репозитория** | Подключает официальный репозиторий Docker | '' |
| - | | **Добавление репозитория** | Подключает официальный репозиторий Docker | `curl + gpg + tee` | | + | | **Установка Docker** | Устанавливает Docker Engine и Compose | '' |
| - | | **Установка Docker** | Устанавливает Docker Engine и Compose | `apt install docker-ce docker-compose-plugin` | | + | | **Настройка пользователя** | Добавляет пользователя в группу docker | '' |
| - | | **Настройка пользователя** | Добавляет пользователя в группу docker | `usermod -aG docker` | | + | |
| - | ## Проверка результата | + | ===== Проверка результата |
| После перелогинивания проверьте установку: | После перелогинивания проверьте установку: | ||
| - | ```bash | + | < |
| # Проверка hostname | # Проверка hostname | ||
| hostname | hostname | ||
| Строка 343: | Строка 346: | ||
| # Проверка работы Docker без sudo | # Проверка работы Docker без sudo | ||
| docker run hello-world | docker run hello-world | ||
| - | ``` | + | </ |
| - | ## Устранение проблем | + | ===== Устранение проблем |
| - | ### Docker требует sudo | + | ==== Docker требует sudo ==== |
| Если Docker требует sudo, выполните: | Если Docker требует sudo, выполните: | ||
| - | ```bash | + | < |
| # Проверить членство в группе | # Проверить членство в группе | ||
| groups $USER | groups $USER | ||
| Строка 361: | Строка 364: | ||
| newgrp docker | newgrp docker | ||
| # ИЛИ перелогиниться | # ИЛИ перелогиниться | ||
| - | ``` | + | </ |
| - | ### Ошибка при изменении hostname | + | ==== Ошибка при изменении hostname |
| - | ```bash | + | < |
| # Проверить текущий hostname | # Проверить текущий hostname | ||
| hostnamectl status | hostnamectl status | ||
| Строка 374: | Строка 377: | ||
| # Проверить файл hosts | # Проверить файл hosts | ||
| sudo nano /etc/hosts | sudo nano /etc/hosts | ||
| - | ``` | + | </ |
| - | ### Проблемы с репозиторием Docker | + | ==== Проблемы с репозиторием Docker |
| - | ```bash | + | < |
| # Очистить старые ключи | # Очистить старые ключи | ||
| sudo rm -f / | sudo rm -f / | ||
| Строка 387: | Строка 390: | ||
| # Обновить пакеты | # Обновить пакеты | ||
| sudo apt update | sudo apt update | ||
| - | ``` | + | </ |
| - | ## Дополнительные возможности | + | ===== Дополнительные возможности |
| - | ### Автоматический запуск без вопросов | + | ==== Автоматический запуск без вопросов |
| Для автоматической установки с предустановленным hostname: | Для автоматической установки с предустановленным hostname: | ||
| - | ```bash | + | < |
| # Создать версию с предустановленным именем | # Создать версию с предустановленным именем | ||
| export NEW_HOSTNAME=" | export NEW_HOSTNAME=" | ||
| ./ | ./ | ||
| - | ``` | + | </ |
| - | ### Логирование процесса | + | ==== Логирование процесса |
| - | ```bash | + | < |
| # Запуск с сохранением логов | # Запуск с сохранением логов | ||
| ./ | ./ | ||
| - | ``` | + | </ |
| - | ## Заключение | + | ===== Заключение |
| Данный скрипт значительно упрощает процесс первичной настройки новой машины Ubuntu и установки Docker. После его выполнения система готова для: | Данный скрипт значительно упрощает процесс первичной настройки новой машины Ubuntu и установки Docker. После его выполнения система готова для: | ||
| - | * Разработки приложений в контейнерах | + | |
| - | * Развертывания Docker Compose проектов | + | * Развертывания Docker Compose проектов |
| - | * Работы с Docker без прав root | + | * Работы с Docker без прав root |
| - | * Корректной идентификации в сети по hostname | + | * Корректной идентификации в сети по hostname |
| **Время выполнения: | **Время выполнения: | ||