LINUX.ORG.RU

Правильная запись на dvd 4.7 Gb

 , ,


0

2

Доброго времени суток! Суть вопроса такова. Нужен очередной велосипед. Есть каталог с файлами размером около 6Gb. Требуется создать из этого каталога iso-образ и запилить на болванку. Но как все уже догадались, законы физики не позволяют запихнуть файл 6Gb на болванку 4.7Gb без сжатия или других средств. tar-ить каталог, split-ить его и делать из этого всего iso-шники с последующим запилом на болванки тоже не вариант, так как с записи на болванке может понадобиться всего один нужный в данный момент файл, и cat-ить ради него одного с нескольких болванок не всегда есть возможность. Да, конечно, все мы знает Brasero и т.п., но так как таких каталогов много, то на выбирание нужных каталогов уходит много времени. А хотелось бы пустить на поток, используя bash и его команды. Пока все упирается в то, что файлы в каталоге разного размера и выбирать их приходится в ручную, из-за чего не известен конечный размер iso-файла. mkisofs и аналоги имеют ключ -print-size, который увы, насколько я прогуглил, выводит НЕ размер получаемого iso-файла, а предположительный размер файловой системы, и какая закономерность между этими двумя числами, лично мне не удалось нагуглить. И поэтому хотелось бы получить совет и насчет mkisodf -print-size и насчет того, как вообще это можно все организовать? Может я проглядел ключ, заставляющий mkisofs делать файл заданного размера? Может стоит обратить внимание на ключ -path-list file и писать скрипт, который проверяет размер файла и добавляет его в file? Может что-то еще? Как вообще решается подобная задача в стиле «Linux-way»? Заранее спасибо.

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

Увы, *.bz2 и так уже сжатые. Забыл в пылу сочинения поста указать. Причем, сжимаются в скрипте, за изменение которого руки оторвут...

minasrost ()

Возможно, ты ищешь dirsplit:

This utility is used to split directories into chunks before burning. Chunk size is usually set to fit to a CD/DVD.

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

Для OpenSUSE есть аналоги? Не нашел в репах.

Должна быть в пакете genisoimage.

cdslow ()

1) осиль форматирование
2) что в итоге сделать-то надо? 6 не влезает на 4.7, дальше что ты хочешь?
3) если ты не в курсе, ДВД бывает не только 4.7

PS это будет не Linux-way, максимум unix-way. Да и никто не мешает под виндой использовать cmd/powershell

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

На односторонних однослойных болванках места обычно впритык. У меня даже 5-6МБ записать не получалось.

Radjah ★★★★★ ()

Не совсем понял, чего ты хочешь. Чтобы по твоему хотению, файлы (6 GB) вместились на твой диск 4.7 GB? Дык, не получится.
Если это видео или аудио, то сжать ещё больше не получится. Разбивай инфо на 2 диска, иначе никак.

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

Nero Linux не умеет совсем определять layer break. От этого на видео паузы большие.

UNiTE ★★★★★ ()

Спасибо за советы.

На вопросы, что конкретно надо:

Болванки есть только односторонние и только 4.7Gb - на другие никто деньги не выделит.

Винды нет.

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

Имеется несколько каталогов, содержащих много *tar.bz2 файлов разных не всегда фиксированных размеров каждый, т.е. первый файл может быть 100 Mb, а соседний уже 2 Gb. Сжимаются файлы в *tar.bz2 и попадают в каталог по скрипту в cron-e, что менять крайне не обязательно. В итоге один каталог с такими файлами получайте размером от 6 Gb как минимум. Как писал выше, закатывать опять в *.tar.bz2, а потом командой split резать на куски и нарезать эти куски на болванки не очень удобно, т.к. в основном возникает необходимость только в одном файле из каталога и причем как можно быстрее, и cat-ом клеить с двух болванок единый файл и потом его разжимать не всегда есть возможность.

В идеале, хотелось бы написать скрипт (очередной велосипед), в котором будет что-то вроде:

  • Скармливаем скрипту каталог через $1 и название .iso-файла через $2.
  • Берутся файлы из скормленного каталога и через mkisofs и его аналоги делается файл1.iso из файлов в этом каталоге, причем так, чтобы размер файл1.iso не превышал размер, доступный для записи на 4.7Gb болванку. Если все-таки превышает, то создается второй файл2.iso со всем, что осталось из файлов в каталоге.
  • Проверяет, есть ли болванка нужного размера в приводе и прожигает файл1.iso.
  • Файл1.iso записан, скрипт просит вторую болванку для файл2.iso

Последние два пункта это совсем в идеале, можно и обойтись. Главное мне понять, можно ли как-то заставить mkisofs делать файл.iso нужного размера. Поэтому и спросил, что конкретно показывает mkisodf -print-size и стоит ли задействовать mkisofs -path-list file? Может быть, это все вообще делается не так, что скорее всего, и мне нужен рецепт на большую дозу RTFM?

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