LINUX.ORG.RU

GNU Parted 3.0

 


0

2

30 мая 2011 года Джим Мейеринг (Jim Meyering), администратор и участник многих проектов, являющихся частью проекта GNU и размещённых на savannah.gnu.org, в списке рассылки info-gnu сообщил о выходе версии 3.0 утилиты для операций с таблицами разделов GNU Parted.

С момента выхода корректирующего выпуска 2.4 прошло всего 12 дней, однако в выпуске 3.0 содержится важное изменение: из кода были удалены все функции и команды интерфейса, являющиеся специфичными для файловых систем, а именно касающиеся создания файловой системы на разделе (mkpartfs, mkfs), копирования, перемещения, изменения размера и проверки файловой системы (cp, move, check, resize). Полный список удалённых функций содержится в анонсе к выпуску.

Джим Мейеринг прокомментировал это событие таким образом:

Код, встроенный в Parted, благодаря которому он знал об этих файловых системах, был настолько стар, сложен в поддержке и наполнен ошибками, что, как бы радикально не выглядело это изменение, оно сродни ампутации ног при гангрене.

Среди файловых систем, с которыми с версии 3.0 нельзя будет при помощи Gnu Parted выполнить вышеупомянутые операции:

  • Linux SWAP
  • XFS
  • JFS
  • UFS
  • ReiserFS
  • HFS
  • NTFS
  • Ext2
  • FAT

Особенно спорным выглядит решение удалить код для изменения размера разделов с файловыми системами FAT16 и FAT32, несмотря на то, что Parted - одна из немногих, если не единственная свободная утилита, имевшая такую функцию.

Стоит отметить, что удалённый из Parted функционал доступен с пакетами утилит util-linux(mkswap), xfsprogs, jfsutils, ufsutils, reiserfsprogs, hfsprogs, ntfsprogs, e2fsprogs, dosfstools.

В связи с удалением из кода функций и интерфейсов, специфичных для файловых систем, была увеличена major-версия библиотеки libparted - с 0.2.0 до 1.0.0, и удалены опции конфигурации --disable-fs, --enable-fs, --enable-Werror, --disable-Werror.

Также в числе изменений множество патчей, ликвидирующих утечки памяти в библиотеке libparted и пользовательском интерфейсе и обновление субмодуля gnulib до последней версии.

Исходный код

>>> Страница проекта

★★★

Проверено: JB ()
Последнее исправление: adriano32 (всего исправлений: 1)

Ответ на: комментарий от adriano32

>В свою очередь замечу, что с потерей данных

Почему же? parted очищает раздел при изменении его размера? Пруфов этому я не нашёл. Да и неправильное это поведение - размер раздела никак не должен влиять на содержимое диска. А если нет, то все данные останутся там же, в целости и сохранности.

Laz ★★★★★
()

Всё правильно сделали. UNIX-way.

BattleCoder ★★★★★
()

Программистский взгляд на проблему в действии. Главное в программе - как выглядит код, а не нужен ли он пользователю. Или, как говорится, проблемы ковбоев шерифа не волнуют.

queen3 ★★★★★
()
Ответ на: комментарий от adriano32

>>для изменения размеров разделов

Правильно. пустых разделов, без ФС. Для ресайза разделов с файловыми системами всегда были $somefs-resize.

Да брось, каким надо быть, что бы тебе понадобилось изменение размера пустого раздела. Бывает нужно изменять размер раздела с данными.

Но ведь gparted продолжает поддерживать этот функционал если соответствующие утилиты установлены ?

argin ★★★★★
()
Ответ на: комментарий от argin

gparted продолжает поддерживать этот функционал если соответствующие утилиты установлены

А куда он денется?

adriano32 ★★★
() автор топика

Интересно, что придумают разработчики PartedMagic в версии 6.2?

AITap ★★★★★
()
Ответ на: комментарий от Lumi

> Всё правильно сделал! Лично я бы даже не заметил отсутствие этих функций. Никогда в parted ими не пользовался.

Ты спалил мне детектор сарказма своей мощью, с тебя новый :)

pekmop1024 ★★★★★
()

major-версия библиотеки libparted - с 0.2.0 до 1.0.0

Гонка версий продолжается. Модное соревнование. А по сабжу, лишь бы не пришлось ипаться с установкой каждой утилиты в отдельности, как это частенько бывает.

ramon13666 ★★★
()
Ответ на: комментарий от adriano32

Однако как-то тупо получается: раздел с ФС без потери данных не изменить. Нафиг тогда эта программа нужна?

Quasar ★★★★★
()

> из кода были удалены все функции и команды интерфейса

создания файловой системы на разделе (mkpartfs, mkfs),

копирования,


перемещения,


изменения размера


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



Как-то злобно они поступили со своей программой. Нахрен она вообще нужна без этого функционала? И что теперь будет с gparted? Походу единственная прога под линух, которая позволяла без гемороя управлять разделами (говорю как KDE-шник).

Вообще, разработчики слабаки. Смысл программирования в том, чтобы управлять хаосом, порождаемым человеческой деятельностью. Вместо того, чтоб удалять функционал, упорядочили бы его за фасадными интерфейсами. Но они видимо такой мысли ниасилили.

pat_minus
()

>>Особенно спорным выглядит решение удалить код для изменения размера разделов с файловыми системами FAT16 и FAT32, несмотря на то, что Parted - одна из немногих, если не единственная свободная утилита, имевшая такую функцию.

Щас запустил в Ясте разметку дисков, спокойно предлагает поменять размер на флэшке с fat32. Через что он это делает - не проверил, т.к. флэшка нужна пока что.

kott ★★★★★
()
Ответ на: комментарий от adriano32

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

argin ★★★★★
()
Ответ на: комментарий от Vudod

>gparted есть просто ГУИ-обёртка для parted

4.2

Led ★★★☆☆
()
Ответ на: комментарий от TheAnonymous

Согласен, *fdisk хватит, всё равно ФС придётся отдельно создавать.

hexenlord
()
Ответ на: комментарий от adriano32

3.* и 4.* это те версии, которые надо просто пропускать

«Другими словами, вам надо одним волевым усилием, одним махом – не выпить ни шестой, ни седьмой, ни восьмой, ни девятой.

А выдержав паузу, приступить непосредственно к десятой, и точно так же, как девятую симфонию Антонина Дворжака, фактически девятую, условно называют пятой, точно так же и вы: условно назовите десятой свою шестую»

Axon ★★★★★
()

UNIX-way во все поля! Непонятно только, зачем так радикально менять версию. Может, это, конечно, эйфория от сброшенной с плеч горы в виде лишнего кода, но пользователи, как видно из треда, в недоумении.

Axon ★★★★★
()

Unrelease, dear Jimm, unrelease, Let the minor grow to heavens, Let the major shine brightly From unreachable distance.

Unrelease, dear Jimm, unrelease, Please, make me unsee this Urgent increment of version, Killing functionality.

Dear Jeff, you know, the voices, Linus spoke about so frankly, In their vision of the future told him a slightly different thing.

Increment, dear Jeff, increment, Please, increment the minor, Time to increment the major Number has yet to come.

Listen to the voices, Linus, Listen carefully in silence, Truth is somewhere beneath The surface that you can see.

Unrelease, dear Linus, please, Stop the damn ugly rampage Of assigning version numbers That were never used before.

Unrelease, oh people, please, For the sacred peace of mind, For the future of mankind, You can't reach the infinity.

anonymous
()
Ответ на: комментарий от TheAnonymous

>Нахрена тогда вообще весь этот parted, есть же fdisk

1) только parted работает с gpt

А при диске в 14 террабайт msdos label уже не cработает. Да и удобен GPT зело. Я сделал 8 партиций и никаких тебе экстендедов, все первичные. Каждая партиция имеет метку, чтобы не запутаться.

2) При работе с lvm fdisk не позволил разбить весь диск на разделе. А партед запросто сделал то, что просили.

fdisk прост, но это не замена parted.

AVL2 ★★★★★
()

Молодцы. Верное решение. Такие базовые инструменты, как fdisk или parted должны быть просты, как молоток. А для интеграции есть гуя типа gparted.

Все больше начинаю уважать этот проект.

AVL2 ★★★★★
()
Ответ на: комментарий от Axon

>UNIX-way во все поля! Непонятно только, зачем так радикально менять версию.

фигасе. фактически, это уже другая программа.

Осталось еще отучить его хватать первый попавшийся диск при запуске без параметров.

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

фигасе. фактически, это уже другая программа.

Ну, логично было бы в новой версии добавить какой-нибудь функционал, а не ограничиваться удалением старого. А то эта «другая программа» объективно умеет меньше, чем старая.

Axon ★★★★★
()
Ответ на: комментарий от Axon

>А то эта «другая программа» объективно умеет меньше, чем старая.

Дык это нормально. Они начали новую ветку. И начали с удаления неподдерживаемого кода. Когда новые версии программ переходили с Qt3 на Qt4 - тоже функционал уменьшался.

Toll ★★
()

Не очень тогда понятно, какой смысл в этой утилите.

Т.е. понятно, что можно убрать создание файловой системы.

А как делать изменение размера, если не делать изменение размера файловой системы?

Т.е. придется копаться в нескольких утилитах.

Если бы parted умел подцеплять все эти утилиты, это было бы здорово. Ну, может, не сам parted, а какой-нить объединяющий интерфейс.

jackill ★★★★★
()

После такой ампутации гангрены мы получаем калеку, а не что-то принципиально новое... ну и кому это нужно будет после обрезания? а по поводу того, что изменение разделов с фс можно делать другими утилитками... Делать разделы и при помощи fdisk или cfdisk можно ничуть не хуже.. Тогда тем более этот новоявленный калека-кастрат не нужен..

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

My_quest ★★★★★
()
Ответ на: комментарий от kernelpanic

Комбайны - это хорошо!

А вообще за всем этим ЗОГ стоит, не иначе.

LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от Quasar

Объясняю для таких же недалёких как я

При изменении размера раздела с файловой системой, при уменьшении/увеличении сперва уменьшается/увеличивается размер ФС/раздела, затем производится доведение размера раздела/ФС до размера ФС/раздела. Для изменения размера ФС используется $FS_NAME.[progs|utils|tools], для изменения размера раздела - libparted.

Если я не прав, закидайте меня камнями.

adriano32 ★★★
() автор топика
Ответ на: комментарий от Axon

не выпить ни шестой, ни седьмой, ни восьмой, ни девятой.

Это из этой же серии было. Правда утверждали что функционал сильно изменился в лучшую сторону. Сам не застал bind4.

adriano32 ★★★
() автор топика
Ответ на: Объясняю для таких же недалёких как я от adriano32

Не совсем так. При увеличении раздела - да, действительно, сначала раздел, затем ФС, при уменьшении - наоборот - сначала ФС упаковывается в пределы нового раздела, а затем он уменьшается в таблице разделов.

anonymous
()
Ответ на: комментарий от anonymous

Я именно об этом и писал, что получилось - надо разобраться в соответствии что на первом месте, что на втором

adriano32 ★★★
() автор топика
Ответ на: комментарий от Axon

>Ну, логично было бы в новой версии добавить какой-нибудь функционал, а не ограничиваться удалением старого. А то эта «другая программа» объективно умеет меньше, чем старая.

Как раз наоборот. Новая ветка не потому, что новые функции, а потому, что изменений много. Нельзя просто взять и обновиться без видимых последствий. А добавлять будут позже, а следующих минорах.

И я бы хотел, чтобы добавляли именно те функции, ради которых программа писалась. Это разметка диска.

AVL2 ★★★★★
()
Ответ на: комментарий от adriano32

Задачи изменения ФС и разделов настолько близкие, что разделять их по разным утилитам просто неразумно. Юникс-вей юникс-веем, но голову то на плечах тоже нужно иметь. Нельзя дробить утилиты до отрицательного градиента удобства. Имхо авторы её (голову) как раз не уберегли.

anonymous
()

Не случаем ли эта утилита используется в Линукс-дистрибутивах для того, чтобы пользователи Windows могли отколоть кусок от NTFS-раздела для того, чтобы поставить Linux?

rom-hvichia
()

Молодцы, я всегда полагал что parted - для изменения таблицы разделов, и только. Создание, удаление и изменения разделов - это компетенция parted. А для изменения различных ФС, в которые форматируют разделы, есть специфичные для этих утилиты. Кстати, названия утилит сходны, и набор команд тоже. Поэтому работа с ними - дело не сложное. Зато поддерживать и обновлять parted теперь намного проще.

lucentcode ★★★★★
()

если бы у всех этих пакетов был стандартный вид можно было бы действительно сделать для них ссылки.

Andaril
()
Ответ на: комментарий от jackill

А оно консоль умеет?

А вам шашечки или ехать? К тому же, в вопросе про «какой-нибудь объединяющий интерфейс» не было слова «консольный».

Axon ★★★★★
()

Давайте форкнем parted

Хоть что-то ЛОР может сделать в этой ситуации? Тут много интересных личностей. Давайте форкнем parted. Пусть у ЛОРа будет хоть один единственный проект.

Имхо - это одна из самых нужных программ (наравне с partimage), которые есть в GNU. Так обрезать функционал - это совсем надо не дружить с головой. Уж лучше бы вообще ничего не трогали.

Harzah2
()

> Код, встроенный в Parted, благодаря которому он знал об этих файловых системах, был настолько стар, сложен в поддержке и наполнен ошибками, что, как бы радикально не выглядело это изменение, оно сродни ампутации ног при гангрене.

То есть реструктуризовать его, сделать обозримую иерархию классов никак не получалось? Лучшее лекарство от перхоти - гильотина?

Жаль...

hobbit ★★★★★
()
Ответ на: комментарий от Lumi

> Всё правильно сделал! Лично я бы даже не заметил отсутствие этих функций. Никогда в parted ими не пользовался.

Ага. Теперь пользователи меня будут вопросами донимать: «Где мой Партишен Мэйджик?»

valich ★★★
()

Не знаю какой код использовался, но недавно мне надо было уменьшить ext3 на 100 гигабайт, и в gparted я просто потянул ползунок и подождал полчаса. Как это будет сейчас? Придется ли мне пересчитывать блоки в bc?

farafonoff ★★
()

В общем-то, всегда и использовал parted только для работы, собственно, с разделами и таблицами разделов (MSDOS, GPT, в основном).
mkfs.$fstype или же mkfs -t $fstype всегда приходят на помощь.

mcdebugger ★★
()
Ответ на: комментарий от TheAnonymous

Нахрена тогда вообще весь этот parted, есть же fdisk

Не умеет GPT и ещё много чего.

mcdebugger ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.