- Parted — управление разметкой и разделами дисков в Linux
- Установка parted в Linux
- Управление таблицей разделов в parted, разметка диска
- Создание нового раздела в parted
- Как расширить или уменьшить размер раздела диска с помощью parted
- Удаление раздела с помощью parted
- Восстановление случайно удаленных разделов с помощью rescue
- Как написать shell скрипт автоматической разбивки диска?
- Скрипт автоматического разбиения и выравнивания разделов диска.
Parted — управление разметкой и разделами дисков в Linux
Parted – (сокращенно от PARTition EDitor) редактор дисковых разделов для Linux, предназначенный для управления разметкой, создания, удаления и изменения размеров разделов диска. Утилита проста в использовании и доступна для всех дистрибутивов Unix/Linux систем. Кроме того, доступна GUI версия — Gparted. В данной статье, мы покажем, как управлять разделами диска с помощью parted на примере CentOS 8 (в других дистрибутивах Linux все работает аналогично). В Windows аналогом команды parted является diskpart .
Установка parted в Linux
Обновите набор по на сервере и установите пакет parted с помощью менеджера пакетов вашего дистрибутива Linux. Для CentOS 8 с менеджером пакетов dnf (который заменил yum), можете установить parted из базового репозитория командой:
# dnf update -y
# dnf install parted -y
Или в Debian/Ubuntu:
# apt-get install parted
Чтобы проверить версию утилиты, выполните команду:
Чтобы попасть в саму оболочку, введите:
Управление таблицей разделов в parted, разметка диска
Выведем список доступных дисков:
Доступен диск /dev/vdb размером 21 Гб, диску не присвоена метка (error /dev/vdb: unrecognized disk label), какая таблица разделов – не понятно.
Можно создать на диске разметку msdos (MBR)
Или таблицу разделов gpt ( GUIE partition table поддерживает размер раздела более 2 Тб) :
Теперь parted показывает тип таблицы разделов (разметки) на диске:
Как вы видите, на диске уже есть таблица разделов MBR, но сами разделы еще не созданы.
Если у вас на сервере имеется несколько свободных дисков, то можно переключаться между ними с помощью команды:
Создание нового раздела в parted
Для создания раздела в parted, используется утилита mkpart . При вводе команды в интерактивном режиме будут появляться вопросы о параметрах нового раздела:
- Partition type — указываем тип раздела (primary / extended)
- File system type — файловая система, по умолчанию предлагается ext2 (в дальнейшем мы ее изменим);
- Start — начальный сектор раздела
- End — конечный сектор раздела (в мегабайтах). В нашем примере мы указали 5000, это значит, что будет создан раздел размером 5Гб.
(parted) print free
Можно сразу создать раздел на весь диск:
# (parted) mkpart primary 0 0
или указать произвольный размер раздела так:
# (parted) mkpart primary 0 1GB
Также можно указывать размер диска в % и задать метку:
# (parted) mkpart «home part» ext4 2.5GiB 100%
Чтобы выйти из оболочки parted, выполните команду:
Отформатируем раздел в файловой системе ext4:
Проверяем файловую систему раздела и видим, что она изменилась (обратите внимание что команда print выводит теперь список разделов на диске, их номера, тип, размер и файловую систему).
Можно создать раздел и отформатировать его, не входя в оболочку parted, например:
# parted -a opt /dev/vdb mkpart primary ext4 0% 100% && mkfs.ext4 /dev/vda1
Данной командой мы создадим раздел на диске vdb, под который отдадим всё пространство.
Таким образом вы можете упрощать себе работу или же добавлять подобные команды в какие-то скрипты или файлы кикстарта.
Как расширить или уменьшить размер раздела диска с помощью parted
Чтобы расширить или уменьшить размер раздела в partedиспользуется субкоманда resizepart Можно изменить размер раздела в интерактивном режиме. В оболочке parted введите команду:
Система запросит номер раздела (берется из вывода команды print) и конечный размер раздела. В этом примере размер разделе будет увеличен с 5 до 10 Гб:
Для уменьшения размер файловой системы используются следующие команды. Для файловых систем ext2/3/4 :
resize2fs /dev/sdab size
btrfs filesystem resize /dev/sdab size
Изменять флаг раздела в parted тоже возможно, вы можете установить один из нужных вам:
Например сделаем раздел загрузочным:
Удаление раздела с помощью parted
Если вам требуется удалить раздел на диске, вы можете использовать команду rm в оболочке parted:
Эта команду удалит раздел с номером 1:
Будьте осторожны в использовании данной команды, так как она не требует подтверждение удаления.
Восстановление случайно удаленных разделов с помощью rescue
Удаленный раздел можно восстановить с помощью утилиты rescue, которая доступа в оболочке parted:
Команда запросит начальный и конечный размер разделе. Если на этих позициях есть инфа о разделе, команда попробует восстановить удаленный раздел.
Как видите, утилита parted проста в использовании и очень удобна для создания/изменения разделов вашего диска. Надеемся, что данная статья поможет вам разобраться во многих вопросах.
Источник
Как написать shell скрипт автоматической разбивки диска?
Здравствуйте! Хочу написать для себя скрипт, для автоматической установки Arch Linux, подкажите как правильно написать скрипте чтобы он автоматически разбил диски под определенные размеры и дальше пошёл работать за меня. Всё ли я правильно пишу, посмотрите пожалуйста:
этого мне почти хватило, чтобы не смотреть дальше.
ну ладно. как говорится, «ну давай разберем по частям, тобою написанное ))»
отлично, теперь только одна команда выполнится не так, и всё, капец установщику
хороший такой скрипт
ещё забыл locale-gen
и ещё дофига всего, лень стало писать чёт
а ещё скажи, нахрена тебе это? ты устроился установщиком арча? хочешь написать то, что уже сделали манжаровцы(только ещё и нормально сделали)? или каким ещё может быть кейс?
манжару я устанавливал, но мне не понравился графический вариант, потому что это не учит в сути дела, да и сам этот манжаро какой то глюкавый четт. а вообще я учу bash и в качестве подопытного кролика взял арч. то есть ты хочешь сказать мой скрипт не заработает вообще?
а что тебя учит в русскую языка, ты мне лучше скажи.
если серьёзно, то что там «учить»? систему надо поставить и забыть.
учи на здоровье, только напиши лучше более полезное что-нибудь. и да, копирование команд с арчевики явно не поможет тебе выучить bash.
да. попробуй угадать, почему он откажется запускаться
1) Делай «set -e» или «#!/bin/bash -e» вместо «&&» в каждой строчке.
2) Разбивку можно делать через скармливание команд процессу fdisk через stdin.
но мне не понравился графический вариант
да и сам этот манжаро какой то глюкавый четт
Чем вставка команд через «&&» поможет выучить bash?
Комментариев! Комментариев к коду не хватает.
Источник
Скрипт автоматического разбиения и выравнивания разделов диска.
Выношу сие на всеобщее обозрение уважаемой публике. Изначально скрипт задумывался для автоматической разбивки диска на разделы при установке системы, но потом получилось, то что получилось. Практическое применение: только для новых дисков или дисков, на которых отсутствует нужная информация.
ПС: в процессе столкнулся с проблемой указания диапазона для for: for i in 1; do echo $i; done => выводит [1 и 3]. Почему не выводит 1 2 3? (раньше, по моему, так было).
[code=bash], пожалуйста, для читабельности
Почему ты нигде не проверяешь ввод? Хотя бы регуляркой. И вообще есть такая конструкция «select».
Да, кстати, вот мой скрипт:
Чем это хуже твоего?
Думал только для собственного применения. вообще даже и не подумал об этом, Но можно и доделать.
а выравниваешь ты как?
оно, оно. собственно с этого все и началось, мне показалось удобным вводить размеры партиций в метрах или гигах, а расчет на калькуляторе (телефоне) меня напрягает. Кроме этого если приходится разбивать диск, на котором уже есть разделы, то разумеется приходиться. только я пользую:
parted -a optimal
for i in $(seq 1 3)
Почему не выводит 1 2 3? (раньше, по моему, так было).
<1..10..2>выводит 1 3 5 7 9
по теме: чем это лучше cfdisk’а?
выравнивание разделов. cfdisk научился работать с GPT.
мне показалось удобным вводить размеры партиций в метрах или гигах
В fdisk только так и делаю . Суффиксы M, G, T отлично работают.
а расчет на калькуляторе (телефоне) меня напрягает
давно отказался от fdisk’a — не работал с GPT.
там речь про cgdisk! как там выравниваются разделы??
ну это и есть cfdisk для GPT.
по фэн-шую конечно.
я раньше юзал и fdisk и cfdisk, но потом стали приносить диски с гпт и ни одинн из них не справлялся. Переключился на партед и с тех пор он меня только радует =).
gdisk выравнивает разделы сам. Зачем нужен этот скрипт?
давно отказался от fdisk’a — не работал с GPT.
Сорри, что разочаровываю 🙂 . Де-факто ты создал скрипт, который преобразовывает gparted в fdisk .
а помнишь винчестеры фуджитсу (фуджики).
я раньше юзал и fdisk и cfdisk, но потом стали приносить диски с гпт и ни одинн из них не справлялся.
есть и fdisk и cfdisk для gpt.
Переключился на партед и с тех пор он меня только радует
ага, это ещё портянку за собой твою тащить надо?
партед присутствует по-умолчанию в образе дженты. и чем тебя не устраивает партед.
а помнишь винчестеры фуджитсу (фуджики).
Извиняюсь что вмешиваюсь. Которые? 20гиговые с плохо промытыми от флюса платами? Мне таких два десятка на халяву как то досталось. Восстановил, гонял в райде, 6 штук до сих пор живы.
ну так их до-сих пор никто не покупает. хотя теперь их винты, НАВЕРНО, надежны не менее, чем тот же сигейт.
там были всякие и 20-ти гиговые и 10 и 40. тебе повезло.
партед присутствует по-умолчанию в образе дженты. и чем тебя не устраивает партед.
IMHO там и gdisk для GPT лежит. Он выравнивает. А партед для просто создания разделов — overkill. Вот когда надо двигать, тогда да. Хотя я предпочитаю сразу lvm на весь диск и двигать уже в его рамках.
зачем мне партед, если есть cfdisk? С которым не надо ломать голову, и что-то там вычислять.
вот недавно читал, что такая конструкция не всегда (не на всех дисках) работает. Хотя могу предположить, что статья была не 14года.
ну так их до-сих пор никто не покупает. хотя теперь их винты, НАВЕРНО, надежны не менее, чем тот же сигейт.
После того как я их промыл\прогрел — работали нормально, умирали из за естественного износа, судя по smart. Вполне внятные винты были, за вычетом технологического косяка с флюсом. Не то что стеклянные дятлы от ИБМ. Вот уж уродцы так уродцы — на все времена, генетически.
ну так их до-сих пор никто не покупает. хотя теперь их винты, НАВЕРНО, надежны не менее, чем тот же сигейт.
Есть баги, которые проявляются раз в год или два. И при этом тянут за собой все твои данные. А поддержка GPT — она либо работает либо нет. Проверяется легко, последствий не вызывает.
дружище, ты красавчеГ, если их восстановил и они у тебя работают до сих пор, но мы о другом. Дело в том, что заслужить доверие тяжело, потерять его легко, а восстановить доверие — практически не возможно.
фдиск отличная прога не спорю, но в нужный момент не выполнила, того чего мне было от нее нужно.
айбием всегда обходил стороной.
согласен разные вещи, но факт остается фактом. в ответственный момент пришлось осваивать партед.
кста! еще одна ситуевина на мозг пришла нтфс 4 и 5 (если я не ошибаюсь в версиях).
Только не работала с GPT и выравнивать не умеет. Поэтому ты и писал скрипт. Я это понял. Я, кстати про ключик -u к фдиск тоже только тут узнал. Я писал про gdisk. Это fdisk для GPT. С выравниванием. Тоже есть на LiveDVD. К нему есть морда для ленивых — cgdisk, я ей правда не пользовался. Её IMHO на LiveDVD gentoo нет. Думаю, если бы ты сразу знал про существование gdisk — не тратил бы время на скрипт и возню с parted, IMHO для такой элементарной задачи parted — overkill.
Поэтому ты и писал скрипт. Я это понял.
изначально никто ничего выравнивать автоматом не мог, поэтому приходилось все делать в ручную. Когда все научились выравнивать и ГПТ понимать, то скрипт уже был.
Считаю, что скрипт позволяет (да, проверочку надо бы добавить) избежать ошибок по-запарке. Вместо sdc поправить таблицу sda, т.е. как-то удобно, чёле.
Также благодаря скрипту достаточно вводить символы типа y, GiB, 100, 1 и пр. а не писать строки.
Кроме этого данный скрипт является частью установочного скрипта для дженты. Переменные используются в другом скрипте.
Кста вопр, по ливдвд: у меня есть два образа 1. livedvd-amd64-multilib-2012.1 2. livedvd-amd64-multilib-20121221 какой посоветуешь юзать если чё?
Кста вопр, по ливдвд: у меня есть два образа 1. livedvd-amd64-multilib-2012.1 2. livedvd-amd64-multilib-20121221 какой посоветуешь юзать если чё?
Я уже года два как на Calculate уехал, он сдорово время экономит. На работе использую бинарный стабильный профиль, а дома
из исходников естественно. Ядро на работе дефолтное, дома самосбор. По сути та же гента, только с уже настроенными десктопом и удобными (мне) скриптами. Так что LiveDVD я использую от Calculate. Там кстати система полноценная, чистую генту из под него поставить тоже можно. Для всякого ремонта, спасения и нестандартных случаев использую SystemRescueCD.
Источник