---
title: 'MinIO Client'
sidebar_label: 'MinIO Client'
sidebar_position: 10
description: 'Как настроить MinIO Client и работать с S3'
---

import Formbricks from '@theme/MDXComponents/Formbricks'
import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import {TabItemLabel} from '@selectel/docux/components'
import LockIcon from '@selectel/docux/icons/lock'
import GrantAccess from '@site/docs/_partials/s3/grant-access.mdx'

# MinIO Client

MinIO Client — интерфейс командной строки, который поддерживает подключение к S3-совместимым облачным сервисам и предлагает современный аналог классических UNIX-команд для работы с файлами и папками.

## Настроить MinIO Client

1. [Настройте доступ к S3](#configure-s3-access).
2. [Установите клиент](#install-client).
3. [Настройте клиент](#configure-client).

### 1. Настроить доступ к S3 \{#configure-s3-access}

<GrantAccess />

### 2. Установить клиент \{#install-client}

<Tabs queryString="install-client">
  <TabItem value="linux" default>
    <TabItemLabel>
      Linux
    </TabItemLabel>

    1. Откройте CLI.
    2. Установите клиент:

       ```bash
       curl https://dl.min.io/client/mc/release/linux-amd64/mc \
           --create-dirs \
           -o $HOME/minio-binaries/mc

       chmod +x $HOME/minio-binaries/mc
       export PATH=$PATH:$HOME/minio-binaries/
       ```
  </TabItem>

  <TabItem value="windows">
    <TabItemLabel>
      Windows
    </TabItemLabel>

    1. На [официальном сайте](https://dl.min.io/client/mc/release/windows-amd64/mc.exe) разработчика скачайте MinIO Client.

    2. Добавьте папку `MinIO Client` в переменную `PATH`:

       2.1. В поиске Windows введите **Изменение системных переменных среды**.

       2.2. Нажмите **Переменные среды**.

       2.3. Выберите параметр `PATH`.

       2.4. Нажмите **Изменить** → **Создать**.

       2.5. Добавьте путь к папке в список.

       2.6. Нажмите **OK** → **ОК.**

    3. Чтобы настройки переменных сред применились, перезагрузите устройство.

    4. Убедитесь, что клиент установлен:

       4.1. Откройте PowerShell.

       4.2. Убедитесь, что клиент установлен:

       ```bash
       mc --version
       ```

    5. Если возникает ошибка с верификацией сертификата, для безопасного подключения:

       5.1. В браузере перейдите по ссылке `https://<s3_domain>`. Укажите `<s3_domain>` — [домен S3 API](/s3/manage/domains.mdx#s3-api-domains) в зависимости от пула, в котором находится бакет.

       5.2. В адресной строке нажмите <LockIcon /> и загрузите сертификат.

       5.3. Скачайте сертификат и сохраните его на сервере.

       5.4. Откройте файл сертификата.

       5.5. Откройте вкладку **Состав**.

       5.6. Нажмите **Копировать в файл**.

       5.7. Сохраните файл в формате Base-64 encoded X.509 (`.cer`).
  </TabItem>

  <TabItem value="macos">
    <TabItemLabel>
      macOS
    </TabItemLabel>

    MinIO Client устанавливается с помощью менеджера пакетов [Homebrew](https://brew.sh/).

    1. Откройте Terminal.
    2. Установите клиент:

       ```bash
       brew install minio/stable/mc
       ```
  </TabItem>
</Tabs>

### 3. Настроить клиент \{#configure-client}

1. Добавьте алиас:

   ```bash
   mc alias set <alias_name>  https://<s3_domain>
   ```

   Укажите:

   * `<alias_name>` — имя для алиаса (подключения);
   * `<s3_domain>` — [домен S3 API](/s3/manage/domains.mdx#s3-api-domains). Домен зависит от [пула](/infrastructure/locations.mdx#pool), в котором находится S3.

2. В поле **Enter Access Key** укажите значение поля **Access key** из [S3-ключа](#configure-s3-access).

3. В поле **Enter Secret Key** укажите значение поля **Secret key** из S3-ключа.

4. Проверьте подключение:

   ```bash
   mc ls <alias_name>
   ```

   Укажите `<alias_name>` — имя алиаса.

   В ответе появится список бакетов.

## Работа с MinIO Client \{#work-with-minio-client}

### Вывести список алиасов \{#list-aliases}

1. Откройте CLI.
2. Выведите список алиасов:

   ```bash
   mc alias list
   ```

### Добавить алиас \{#add-alias}

1. Откройте CLI.
2. Добавьте алиас:

   ```bash
   mc alias set <alias_name> https://<s3_domain>
   ```

   Укажите:

   * `<alias_name>` — имя алиаса, можно посмотреть с помощью команды `mc alias list`;
   * `<s3_domain>` — [домен S3 API](/s3/manage/domains.mdx#s3-api-domains). Домен зависит от [пула](/infrastructure/locations.mdx#pool), в котором находится S3.

### Удалить алиас \{#delete-alias}

1. Откройте CLI.
2. Удалите алиас:

   ```bash
   mc alias remove <alias_name>
   ```

   Укажите `<alias_name>` — имя алиаса, можно посмотреть с помощью команды `mc alias list`.

### Создать бакет \{#create-bucket}

:::info

Через MinIO Client можно создать бакет только со [стандартным классом хранения](/s3/about/payment.mdx#storage-types).

Если вам нужен другой класс хранения, создайте бакет через другие [инструменты](/s3/tools/) или панель управления.

:::

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

2. Создайте бакет:

   ```bash
   mc mb <alias_name>/<bucket_name>
   ```

   Укажите:

   * `<alias_name>` — имя алиаса, можно посмотреть с помощью команды `mc alias list`;
   * `<bucket_name>` — имя бакета.

   Будет создан приватный бакет.

3. Опционально: [измените тип бакета](/s3/buckets/change-bucket-type.mdx) на публичный.

### Вывести список бакетов \{#list-buckets}

1. Откройте CLI.
2. Выведите список бакетов:

   ```bash
   mc ls <alias_name>
   ```

   Укажите `<alias_name>` — имя алиаса, можно посмотреть с помощью команды `mc alias list`.

### Включить версионирование \{#enable-versioning}

1. Откройте CLI.
2. Включите версионирование:

   ```bash
   mc version enable <alias_name>/<bucket_name>
   ```

   Укажите:

   * `<alias_name>` — имя алиаса, можно посмотреть с помощью команды `mc alias list`;
   * `<bucket_name>` — имя бакета.

### Приостановить версионирование \{#suspend-versioning}

1. Откройте CLI.
2. Приостановите версионирование:

   ```bash
   mc version suspend <alias_name>/<bucket_name>
   ```

   Укажите:

   * `<alias_name>` — имя алиаса, можно посмотреть с помощью команды `mc alias list`;
   * `<bucket_name>` — имя бакета.

### Вывести список объектов в бакете \{#list-objects-in-bucket}

1. Откройте CLI.
2. Выведите список объектов в бакете:

   ```bash
   mc ls <alias_name>/<bucket_name>
   ```

   Укажите:

   * `<alias_name>` — имя алиаса, можно посмотреть с помощью команды `mc alias list`;
   * `<bucket_name>` — имя бакета.

### Загрузить объект \{#upload-object}

1. Откройте CLI.
2. Загрузите объект:

   ```bash
   mc cp "/<local_path>" "<alias_name>/<bucket_name>/<object_name>"
   ```

   Укажите:

   * `<local_path>` — путь к файлу на устройстве;
   * `<alias_name>` — имя алиаса, можно посмотреть с помощью команды `mc alias list`;
   * `<bucket_name>` — имя бакета;
   * `<object_name>` — имя, с которым будет загружен объект.

### Скачать объект или папку \{#download-object-or-folder}

1. Откройте CLI.
2. Скачайте объект или папку:

   ```bash
   mc cp "<alias_name>/<bucket_name>/<path>" "/<download_path>"
   ```

   Укажите:

   * `<alias_name>` — имя алиаса, можно посмотреть с помощью команды `mc alias list`;
   * `<bucket_name>` — имя бакета;
   * `<path>` — путь к объекту или папке в бакете S3;
   * `<download_path>` — путь к папке на устройстве, куда будет скачан объект или папка.

### Удалить объект или папку \{#delete-object-or-folder}

1. Откройте CLI.
2. Удалите объект или папку:

   ```bash
   mc rm "<alias_name>/<bucket_name>/<path>"
   ```

   Укажите:

   * `<alias_name>` — имя алиаса, можно посмотреть с помощью команды `mc alias list`;
   * `<bucket_name>` — имя бакета;
   * `<path>` — путь к объекту или папке в бакете S3.

<Formbricks />
