---
title: 'Установить ОС автоустановкой через Terraform'
sidebar_label: 'Установить ОС автоустановкой'
description: 'Как установить ОС автоустановкой'
sidebar_position: 3
---

import Formbricks from '@theme/MDXComponents/Formbricks'
import CreateResourcesAlert from '@site/terraform/_partials/common/create-resources-alert.mdx'
import ConfigureSelectelProviders from '@site/terraform/_partials/common/configure-selectel-providers.mdx'
import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import {TabItemLabel} from '@selectel/docux/components'

# Установить ОС автоустановкой через Terraform

:::danger

При автоматической установке ОС будут удалены данные на всех дисках.\
Мы рекомендуем до установки ОС сохранить данные или создать резервную копию.

:::

Установить ОС через Terraform можно только автоустановкой.
[Автоматическая установка ОС](/dedicated/manage/autoinstall-os/) доступна только для серверов готовой конфигурации без апгрейда.
На [сервер готовой конфигурации с апгрейдом](/dedicated/order/change-server-configuration/#prebuilt-server-upgrade) можно [установить ОС вручную из своего образа](/dedicated/manage/install-os-from-image/).

Вы можете установить на сервер ОС, которая отличается от текущей, или переустановить текущую ОС.

<Tabs queryString="install-os">
  <TabItem value="install-another-os" default>
    <TabItemLabel>
      Установить новую ОС
    </TabItemLabel>

    1. Откройте CLI.

    2. Убедитесь, что вы находитесь в директории с конфигурационным файлом.

    3. Укажите в источнике данных `selectel_dedicated_os_v1` нужную ОС:

       ```hcl
       data "selectel_dedicated_os_v1" "server_os" {
           project_id         = selectel_vpc_project_v2.project_1.id
           filter {
               name             = "<os_image_name>"
               version_name     = "<version_name>"
               configuration_id = data.selectel_dedicated_configuration_v1.server_config.configurations[0].id
               location_id      = data.selectel_dedicated_location_v1.server_location.locations[0].id
           }
       }
       ```

       Укажите:

       * `<os_image_name>` — имя семейства ОС, например `Ubuntu`;
       * `<version_name>` — версия ОС, например `22.04`.
         Версию ОС можно посмотреть в таблице [Стандартные образы ОС](/dedicated/manage/os-images/#standart-os-images) или с помощью метода [List OS configurations](/api/dedicated/#tag/Boot-Manager/operation/get_os_template_list_new_view) через [Dedicated Servers API](/api/dedicated/).

    4. Проверьте, что конфигурационный файл составлен без ошибок:

       ```sh
       terraform validate
       ```

    5. Отформатируйте конфигурационный файл:

       ```sh
       terraform fmt
       ```

    6. Проверьте изменения:

       ```sh
       terraform plan
       ```

    7. Примените изменения:

       ```sh
       terraform apply
       ```

    8. Подтвердите создание — введите **yes** и нажмите **Enter**.
       Изменения отобразятся в панели управления.

    9. Дождитесь завершения установки ОС.
  </TabItem>

  <TabItem value="reinstall-os">
    <TabItemLabel>
      Переустановить ОС
    </TabItemLabel>

    1. Откройте CLI.

    2. Убедитесь, что вы находитесь в директории с конфигурационным файлом.

    3. В конфигурационном файле добавьте в ресурс `selectel_dedicated_server_v1` параметр `force_update_additional_params` со значением `true`:

       ```hcl
       resource "selectel_dedicated_server_v1" "server_1" {
           project_id                     = selectel_vpc_project_v2.project_1.id
           configuration_id               = data.selectel_configuration_v1.server_config.configurations[0].id
           location_id                    = data.selectel_location_v1.server_location.locations[0].id
           price_plan_name                = "1 day"
           public_subnet_id               = data.selectel_public_subnet_v1.subnets.subnets[0].id
           os_id                          = data.selectel_os_v1.server_os.os[0].id
           os_host_name                   = "Turing"
           os_password                    = "Passw0rd!"
           force_update_additional_params = true
       }
       ```

    4. Измените значение любого дополнительного параметра для `os_id`: `os_password`, `user_data`, `ssh_key`, `ssh_key_name`, `partitions_config`, `os_host_name`:

       ```hcl
       resource "selectel_dedicated_server_v1" "server_1" {
           project_id                     = selectel_vpc_project_v2.project_1.id
           configuration_id               = data.selectel_configuration_v1.server_config.configurations[0].id
           location_id                    = data.selectel_location_v1.server_location.locations[0].id
           price_plan_name                = "1 day"
           public_subnet_id               = data.selectel_public_subnet_v1.subnets.subnets[0].id
           os_id                          = data.selectel_os_v1.server_os.os[0].id
           force_update_additional_params = true
           os_host_name                   = "new_Turing"            
           os_password                    = "new_Passw0rd!"
       }
       ```

       Здесь `os_host_name`, `os_password` — дополнительные параметры ОС.
       Посмотрите подробное описание ресурса [selectel\_dedicated\_server\_v1](/terraform/selectel-provider-reference/resources/dedicated_server_v1/).

    5. Проверьте, что конфигурационный файл составлен без ошибок:

       ```sh
       terraform validate
       ```

    6. Отформатируйте конфигурационный файл:

       ```sh
       terraform fmt
       ```

    7. Проверьте изменения:

       ```sh
       terraform plan
       ```

    8. Примените изменения:

       ```sh
       terraform apply
       ```

    9. Подтвердите создание — введите **yes** и нажмите **Enter**.
       Изменения отобразятся в панели управления.

    10. Дождитесь завершения установки ОС.

    11. В конфигурационном файле удалите в ресурсе `selectel_dedicated_server_v1` параметр `force_update_additional_params`, который вы добавили на шаге 3.

    12. Проверьте, что конфигурационный файл составлен без ошибок:

        ```sh
        terraform validate
        ```

    13. Отформатируйте конфигурационный файл:

        ```sh
        terraform fmt
        ```

    14. Проверьте изменения:

        ```sh
        terraform plan
        ```

    15. Примените изменения:

        ```sh
        terraform apply
        ```
  </TabItem>
</Tabs>
