Болванка-палимпсест
г
Вадим МАРКОВ
vm [email protected] pochta. ru
Все сталкивались с необходимостью что-нибудь записать на компакт-диск. И обидно, когда вроде
бы все уже сбросил и закрыл болванку, вспомнить, что пару маленьких файлов все-таки забыл. Также
можно представить ситуацию, когда необходимо каждый день переносить информацию со служебного
компьютера на домашний, мегабайт по 20. М ылом не залить, на дискетки не втиснуть. Выход
придумали давно, технология называется «пакетная запись».
О
дним из первых продуктов, предлагающих новую техно-
сия 1 О.ОЬЗ). Эти программы необходимы для подготовки бол-
логию, был D re ctC D Эта программка позволяла отфор-
ванки. Они устанавливаются стандартным
. / c o n f i g u r e &&
матировать болванку под файловую систему UDF, и за-
т а к е & & т а к е i n s t a l l . Для записи нам необходимо создать
тем пользоваться этим компактом как дискеткой. При
этом часть места теряется (от 700 Мб на диске остается при-
мерно 550 Мб), зато мы получаем обратимость записи, мо-
жем стирать и переименовывать файлы. Можно разбить и
однократно записываемый диск. При этом все преимущест-
ва остаются, но при стирании файла места не прибавится ©.
Безусловно, такой подход работает не со всяким пишущим
приводом. Требуется поддержка технологии M o u n t Rainer,
что есть в любом не очень антикварном приводе. И все бы
хорошо, но в Линуксе эта технология поддерживалась одно-
сторонне. Такие диски можно читать и писать как образ, но
это, безусловно, не дает использовать технологию полноцен-
но. В некоторых дистрибутивах (SuSE) пакетная запись реа-
лизована фирменным патчем, но это не выход, ведь SuSE при
всех своих преимуществах все-таки далеко не самый попу-
лярный дистрибутив В Сети периодически проскакивали со-
общения о патчах для отдельных версий ядра, но это были
весьма несовершенные версии. Однако решение обнаружи-
лось прямо на главной странице
kernel.org и называлось оно
-mm patch. Это патч, поддерживаемый Андрю Мортоном (An-
drew Morton) и представляющий нестабильную эксперимен-
тальную ветку ядра. Про нестабильность не врут © , на
2.6 .9 -m m l не установился драйвер видяхи, также контрол-
лер винта глючил при включении x fe r m odes — что, впрочем,
само по себе тоже экспериментальная технология. Я исполь-
зовал ядро 2.6.7, на момент подготовки материала наибо-
лее совместимое из ветки 2.6, и патч 2.6.7-m m 7.
Поставим патч на ядро. Для этого патч надо скопировать
в каталог с исходниками:
[b u b a @ b ig b u b a ] $ s u -
P a s s w o r d :
[ r o o t @ b ig r o o t ] # c d / u s r / s r c / l i n u x
[ r o o t d t b i g l i n u x ] # u n a m e - r
2 . 6 . 7 -m m 7
[ r o o t d t b i g l i n u x ] # c p / h o m e / b u b a / a r c h i v e / 2 . 6 . 7 -m m 7 .
b z 2 .
[ r o o t @ b ig l i n u x ] # b z c a t 2 . 6 ,7 -m m 7 , b z 2 I p a t c h - p i
После этого следует вывод, который продолжается секунд
15. Далее настраиваем:
[ r o o t @ b ig l i n u x ] # m a k e m e n u c o n f i g
В верхнем левом углу терминала видим версию ядра. В
пункте Device D rivers>Block Devices — новый пункт, P acket
w ritin g on C D /D V D m edia. Определяем его как модуль.
Появляются две опции, я их оставлял по умолчанию. Если кто-
то изменял, то интересно будет обсудить результаты. Далее
собираем ядро и модули как обычно:
[ r o o t @ b ig l i n u x ] # m a k e b z lm a g e && m a k e m o d u le s & &
m a k e m o d u l e s _ i n s t a l l && c p a r c h / i 3 8 6 / b o o t / b z I m a g e
/ b o o t
После этого перегружаемся. ВНИМАНИЕ! Если в загру-
зочных скриптах присутствует hdparm, настоятельно реко-
мендую убрать ключ -х. Возможны зависания и сбои фай-
ловой системы!
Нам также понадобится пакет
u d f t o o l s ( s o u r c e f o r g e .
n e t / p r o j e c t s / l i n u x - u d f l . j B e c n T он 232 Кб (последняя вер-
устройство для пакетной записи — что интересно, оно ука-
зано в Linux Device List:
[ r o o t @ b ig r o o t ] # m k n o d / d e v / p k t c d v d O b 9 7 0
К этому устройству надо привязать наш резак:
[ r o o t @ b ig r o o t ] # p k t s e t u p / d e v / p k t c d v d O / d e v / h d c
Также надо бы дать доступ остальным пользователям к
этому файлу. То есть доступ у них и так есть, только они им
не воспользуются:
[ b u b a @ b ig b u b a ] $ p k t s e t u p / d e v / p k t c d v d O / d e v / h d c
i o c t l : O p e r a t i o n n o t p e r m i t t e d
Поэтому надо ставить бит suid:
[ r o o t @ b ig r o o t ] # c h m o d u + s 'w h i c h p k t s e t u p '
Команда записана в такой форме, потому что точно не
известно, где лежит бинарный файл. Кавычки надо ставить
обратные, обычно расположенные на клавише с тильдой (-).
Это показывает интерпретатору, что нужно подставлять РЕ-
ЗУЛЬТАТ обкавыченной команды.
После этого надо отформатировать болванку:
И [b u b a @ b ig
b u b a ] $ m k u d f f s / d e v / p k t c d v d O 8 5 4 0 8 для
8 см/210 Мб болванки
или
■X [b u b a @ b ig b u b a ] $ m k u d f f s / d e v / p k t c d v d O 2 9 4 0 4 8 для
700 Мб диска.
Последний параметр указывает на размер файловой сис-
темы в блоках по 2 Кб. Узнать его можно и нужно с помо-
щью утилиты под названием c d rw to o l:
[ b u b a @ b ig b u b a ] $ c d r w t o o l - d / d e v / h d c - i
Но Линукс дает нам ряд преимуществ по сравнению с
непонятными коммерческими программами. А именно: мы
можем использовать наш пакетный драйв как обычное
блочное устройство. Со всеми вытекающими отсюда по-
следствиями в виде поддержки любых файловых систем. Я
нашел единственное ограничение — должен поддержи-
ваться блок размером 2 Кб, это связано с возможностя-
ми железа
В частности, получилось нарезать файловую
систему e xt2 :
Ib u b a @ b ig b u b a ] $ / s b i n / m k e 2 f s - b 2 0 4 8 -m 0 - T
l a r g e f i l e - v / d e v / p k t c d v d O
Так нарезается Ф С с размером блока 2 Кб, без резер-
ва места для ro o t'a , заточенная под большие файлы ( l in -
ode -1 Мб)
[b u b a @ b ig b u b a ] $ / s b i n / t u n e 2 f s - с О - i 0 / d e v / p k t c d -
v d O
t u n e 2 f s 1 . 2 7 ( 8 - M a r - 2 0 0 2 )
S e t t i n g i n t e r v a l b e t w e e n c h e c k 0 s e c o n d s
S e t t i n g m a x im a l m o u n t c o u n t t o - 1
А так отключается счетчик количества монтирований. Ис-
ключительно для сохранности диска. Вывод
m o u n t:
[ b u b a @ b ig b u b a ] $ m o u n t I g r e p p k t
/ d e v / p k t c d v d O o n / m n t / d i r e c t t y p e e x t 2 ( r w )
Только после извлечения диска командой e je c t непра-
вильно работает размонтирование. Диск остается подмон-
тированным.
Материалы по теме можно найти на old.softerro.ru/freeos/
16323/раде l.html и old.softerro.ru/freeos/11439/pagel .html.
МОЙ КОМПЬЮТЕР
предыдущая страница 27 Мой Компьютер 2005 14 читать онлайн следующая страница 29 Мой Компьютер 2005 14 читать онлайн Домой Выключить/включить текст