# LXC

Линукс контейнер

# Первоначальная настройка контейнера

#### Настройка времени:

Установка часового пояса

```shell
sudo timedatectl set-timezone Europe/Moscow
```

В качестве примера указан часовой пояс Москвы, но разумеется нужно указать свой, если он конечно не совпадает с московским.

Добавление SSH сертификата

```shell
ssh-copy-id -i ~/.ssh/файл_ключа.pub имя_пользователя@хост
```

# Установка поддержки русского языка (Debian/Ubuntu)

```bash
sudo dpkg-reconfigure locales
```

Выбираем ru\_RU.UTF-8 UTF-8, на следующем этапе оставляем C.UTF-8 в качестве локализации по умолчанию, если не хотим, чтобы интерфейс системы стал на русском языке, либо выбираем ru\_RU.UTF-8 если это необходимо.

# Уменьшение размера виртуального диска контейнера

<p class="callout info">За основу взята [следующая статья](https://aminux.wordpress.com/2017/03/02/proxmox-lxc-resize-decrease/)</p>

Сначала необходимо остановить контейнер и сделать бекап, и проверить что он есть.

Следующие действия не работают с виртуальными дисками на LVM носителями, следует временно перенести их на какой-нибудь диск с файловой системой ext4.

Далее следует зайти в каталог с файлом диска, это может быть к примеру /mnt/usb\_hdd/images

Проверка файловой системы:

```bash
e2fsck -f vm-100-disk-0.raw
```

(Имя файла vm-100-disk-0.raw условно, у вас оно может быть другим)

Если утилита выдает следующее:

> e2fsck: MMP: fsck being run while checking MMP block  
> MMP check failed: If you are sure the filesystem is not in use on any node, run:  
> ‘tune2fs -f -E clear\_mmp {device}’

следует выполнить следующее:

```bash
tune2fs -f -E clear_mmp vm-100-disk-0.raw
```

После чего должен быть примерно следующий результат:

> e2fsck 1.47.0 (5-Feb-2023)  
> Pass 1: Checking inodes, blocks, and sizes  
> Pass 2: Checking directory structure  
> Pass 3: Checking directory connectivity  
> Pass 4: Checking reference counts  
> Pass 5: Checking group summary information  
> vm-100-disk-1.raw: 26392/1638400 files (0.2% non-contiguous), 353303/6553600 blocks

Далее следует уменьшить размер структуры файловой системы в файле диска:

```bash
resize2fs -M vm-100-disk-0.raw 4G
```

где 4G - желаемый размер диска

<p class="callout warning">Если объем файлов превышает вводимое значение, то образ диска будет повреждён!</p>

Далее следует обрезать лишнюю часть образа, до размера указанного в предыдущем шаге:

```bash
truncate -s 4G vm-100-disk-0.raw
```

Далее расширяем файловую структуру до размеров виртуального диска:

```
resize2fs vm-100-disk-0.raw
```

После следует изменить значение размера образа диска в настройках контейнера:

```bash
nano /etc/pve/nodes/pve1/lxc/100.conf
```

где pve1 - имя ноды Proxmox VE, 100.conf - конфигурация контейнера с id 100.

Изменяем параметр size:

rootfs: local:100/vm-100-disk-0.raw,size=**4G**

Сохраняем изменения и запускаем контейнер.

Посмотреть изменения можно подключившись к контейнеру по SSH и ввести команду:

```bash
df -h
```