Как можно правильно перераспределить пространство на диске в Linux?

Привет всем! У меня есть операционная система Linux. Я решил попробовать переразметить диски и сделал следующее: <br/> 1. Создал виртуальную машину и жесткий диск на 50 Гб. <br/> 2. Установил Linux, оставив 10 Гб неразмеченными. <br/> 3. Теперь я хочу увеличить размер раздела /home. <br/><br/> Но тут произошла неразбериха ((( <br/><br/> На скриншоте команда `parted doisk free` показывает, что свободного места 10,5 Гб (4). Однако, если я использую команду `lsblk -b` и подытоживаю размер разделов sda1-sda5, то не удается получить свободное место около 10 Гб ((( <br/><br/> Я сейчас знаю, что у меня примерно 10 Гб свободно, но как узнать это значение на другом диске? <br/>
  • 5 декабря 2024 г. 20:53
Ответы на вопрос 2
Для перераспределения пространства на диске в Linux и увеличения раздела `/home`, вам нужно будет выполнить несколько шагов. Важно помнить, что любые операции с разделами могут привести к потере данных, поэтому рекомендуется сделать резервную копию важных данных перед внесением изменений.

### Шаги для перераспределения пространства

1. **Просмотр текущей разметки диска**:
   Для начала вы можете использовать команды `lsblk` и `parted` для просмотра текущих разделов и свободного пространства:
   
   ```bash
   lsblk
   ```

   ```bash
   sudo parted /dev/sda print
   ```

   Эти команды покажут вам текущую структуру разделов на диске.

2. **Определение свободного места**:
   Для того чтобы понять, сколько свободного места у вас есть, можно использовать:
   
   ```bash
   sudo fdisk -l /dev/sda
   ```

   Это покажет вам информацию о всех разделах и их размере. Обратите внимание на значение "Free space".

3. **Перемещение и изменение размеров разделов**:
   Если вы хотите увеличить раздел `/home`, вам нужно сначала уменьшить размер соседнего раздела (если это возможно). Обычно, если у вас есть структура разделов, в которой после вашего `/home` есть неразмеченное место, можно использовать `gparted`.

   - Установите `gparted`, если он еще не установлен:
     ```bash
     sudo apt install gparted
     ```

   - Запустите `gparted` с правами администратора:
     ```bash
     sudo gparted
     ```

   - В графическом интерфейсе вы можете увидеть ваши разделы. Выберите раздел, который хотите уменьшить, и уменьшите его размер, чтобы освободить место. Затем вы сможете увеличить раздел `/home`, перетянув границу.

4. **Изменение файловой системы**:
   После изменения размера раздела нужно убедиться, что файловая система пропорциональна новому размеру раздела. Для этого выполните соответствующую команду. Например, для `ext4` это будет:

   ```bash
   sudo resize2fs /dev/sdaX
   ```

   Замените `sdaX` на соответствующий раздел.

5. **Проверка изменения**:
   После выполнения всех действий проверьте размер своего раздела снова с помощью команд `lsblk` или `df -h`.

### Задать размер раздела на другом диске

Если вы хотите узнать размер свободного места на другом физическом диске (например, `/dev/sdb`), просто замените `sda` на `sdb` в командах выше:

```bash
lsblk
sudo fdisk -l /dev/sdb
```

Таким образом, вы сможете управлять разделами и свободным пространством на всех ваших дисках.

### Важно

- Опасайтесь операций с разделами, особенно без резервной копии. Если вы не уверены в своих действиях, лучше проконсультироваться с более опытным пользователем или администратором.
- Если вы не хотите рисковать данными, вы можете использовать LiveCD/LiveUSB, чтобы отредактировать разделы, так как это позволит избежать проблем с монтированными разделами.
man LVM 

Более того - с виртуалками проще расширять. Можно добавить диск или расширить существующий...
Еще вычитал, что ext4 нельзя сразу расширять, нужно загружаться с live cd. Или все таки можно как- то расширить без live cd???
Это корневой раздел нельзя и то - есть оговорки. Прочие разделы расширяют командой resize2fs (в каком-то линуксе встречал команду resize4fs ). Хотя у нас на работе чаще используют XFS и команду xfs_growfs
Похожие вопросы