Команда Linux partprobe
partprobe — это утилита в системах Linux, используемая для уведомления операционной системы о необходимости повторного чтения таблицы разделов. Когда вы изменяете таблицу разделов диска без перезагрузки системы, partprobe помогает ядру распознать эти изменения.
Зачем нужен partprobe
В системах Linux, когда вы используете такие инструменты, как fdisk или parted, для изменения разделов диска, эти изменения не сразу распознаются ядром. Традиционный подход — перезагрузить систему, но это часто неосуществимо в производственных средах. partprobe предоставляет способ заставить ядро повторно прочитать таблицу разделов без перезагрузки.
Синтаксис команды
partprobe [选项] [设备...]
Общие параметры
| Опция | Описание |
|---|---|
-d |
Не обновлять ядро |
-s |
Показать сводную информацию |
-h |
Показать справочную информацию |
-v |
Показать информацию о версии |
Примеры использования
Базовое использование
Повторно прочитать таблицу разделов указанного диска:
sudo partprobe /dev/sda
Показать сводную информацию
sudo partprobe -s
Пример вывода:
/dev/sda: msdos partitions 1 2 3
Повторно прочитать таблицы разделов всех дисков
sudo partprobe
Как это работает
partprobe запускает повторное чтение таблицы разделов, отправляя в ядро запрос ioctl BLKRRPART. Этот процесс включает следующие шаги:
Пример
User ->> partprobe: Выполнить команду
partprobe ->> Kernel: Отправить запрос BLKRRPART
Ядро ->> Драйвер диска: Повторное чтение таблицы разделов
Драйвер диска -->> Ядро: Возврат новой информации о разделах
Ядро -->> partprobe: Результат операции
partprobe -->> Пользователь: Отображение результата или ошибки
Примечания
- Требования к правам: partprobe обычно требует привилегий root
- Сценарии использования: В основном используется после изменения таблицы разделов с помощью инструментов для работы с разделами
- Альтернативы: Также можно использовать
blockdev --rereadptcommand - Предупреждение о рисках: Неправильное использование может привести к нестабильности системы
ЧАВО
Вопрос: В чём разница между partprobe и partx?
Ответ: partprobe уведомляет ядро о необходимости повторного чтения всей таблицы разделов, тогда как partx позволяет более точно управлять добавлением или удалением конкретных разделов.
Вопрос: Почему мои разделы всё ещё не видны после запуска partprobe?
Ответ: Возможные причины включают:
- Изменения в таблице разделов не были правильно записаны на диск
- Устройство занято другим процессом
- Ядро не поддерживает новый тип раздела
Практические сценарии применения
Сценарий 1: Расширение физического тома LVM
Пример
sudo fdisk /dev/sdb
# 2. Заставьте ядро распознать новую таблицу разделов
sudo partprobe /dev/sdb
# 3. Расширьте физический том
sudo pvresize /dev/sdb1
Сценарий 2: Обработка после добавления нового раздела
Пример
sudo parted /dev/sdc mkpart primary ext4 1GB 5GB
# 2. Уведомить ядро
sudo partprobe /dev/sdc
# 3. Отформатировать новый раздел
sudo mkfs.ext4 /dev/sdc1
Лучшие практики
- Сделайте резервную копию важных данных перед выполнением операций с разделами
- Используйте
lsblkилиfdisk -lчтобы проверить изменения разделов - В производственных средах сначала проверьте схему разбиения на тестовой системе
- Рассмотрите возможность использования
-sопции для предварительного просмотра сводной информации
Итог
partprobe — важный инструмент для системных администраторов Linux для обслуживания дисковых разделов. Он решает проблему необходимости перезагрузки системы после изменения таблицы разделов. Освоение использования partprobe может значительно повысить эффективность управления дисками, особенно в средах, где разделы нужно часто изменять.
Другие расширения
Энциклопедия команд Linux