Summary: | isoinfo adds ";1" to the end of file name | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Vladimir <v_black> | ||||||
Component: | mc | Assignee: | Sergey Y. Afonin <asy> | ||||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||||
Severity: | normal | ||||||||
Priority: | P2 | CC: | asy, icesik, jinn, mike, week | ||||||
Version: | unstable | ||||||||
Hardware: | all | ||||||||
OS: | Linux | ||||||||
Attachments: |
|
Description
Vladimir
2007-07-11 14:44:02 MSD
Насколько понимаю -- INVALID, поскольку это фича ISO9660. Попробуйте также -l -R. (In reply to comment #1) > Насколько понимаю -- INVALID, поскольку это фича ISO9660. Попробуйте также -l -R. тоже самое :(. (и -R и -J пробовал) На пробу брались образы дисков из образовательного комплекта для школ. Конечно можно обойтись монтированием, но для этого надо права рута, а зайти в образ как в каталог через mc, например, быстрее и удобнее для вытаскивания файлов из образа пользователем. Стоп. Уточните версии mc и rpm -qf /usr/bin/isoinfo -- вообще-то к mc именно я и делал extfs, исправление в связи со сменой формата вывода там потребовалось один раз года два тому. Вот: rpm -qf /usr/bin/isoinfo isoutils-2.01.01-alt2a03.0 и mc: mc-4.6.1r-alt9 Собственно с него все и началось - mc попросил isoinfo, я поставил, увидел ;1 и стал копать кто виноват...Так что в mc все это в полный рост :( Created attachment 2088 [details] iso9660 mcextfs ";1" patch У меня именно эти версии не вызывают никаких проблем, иначе бы уже и фиксил. Последнее релевантное из переписки по теме -- проверяйте приложенный патчик для /usr/share/mc/extfs/iso9660, если поможет, то перевешивайте на mc (хотя мог уже и приложить): Date: Thu, 22 Jul 2004 17:07:06 +0400 From: alex <prof_alex/mail.ru> To: Michael Shigorin <mike/osdn.org.ua> Subject: Re: iso9660 и новый isoinfo Michael Shigorin wrote: > >Формат опять чуть уехал -- в [ ... ] группа цифр теперь разбита >надвое пробелом. Патч прицеплен (и висит на >https://bugzilla.altlinux.org/show_bug.cgi?id=4536). > В продолжение темы хочестся добавить, что проблемы не только с форматом. С Joliet вечная беда, то UCS level 1 не понимает, то в UCS level 3 добавляет ';1' в конце имени файла. Причем некоррекно отображает даже имена файлов из образов дисков созданных при помощи mkisofs. Вот к примеру INSERT из http://www.inside-security.de/: >isoinfo -d -i INSERT-1.2.8_en.iso CD-ROM is in ISO 9660 format System id: LINUX Volume id: Inside Security Rescue Toolkit Volume set id: Publisher id: Data preparer id: Application id: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING ---поскипано--- Joliet with UCS level 3 found Rock Ridge signatures version 1 found ---поскипано--- пробуем получить список файлов: >isoinfo -R -J -j koi8-r -l -i INSERT-1.2.8_en.iso ---поскипано--- Directory listing of /isolinux____)____insert-1.2.8_master_en_isolinux____Y___________/ d--------- 0 0 0 2048 Apr 21 2004 [ 35 02] . d--------- 0 0 0 4096 Mar 3 2004 [ 32 02] .. ---------- 0 0 0 2048 Apr 21 2004 [ 24561 00] boot.cat____Y____b___}____boot.catPX$_$______$__________________ ---------- 0 0 0 174 Apr 20 2004 [ 24562 00] boot.msg____1____insert-1.2.8_master_en_isolinux_boot.msg___q0__ ---------- 0 0 0 1545 Apr 20 2004 [ 24563 00] f2_@___@________hV__hV__f_________________h____ ________________ ---------- 0 0 0 9424 Apr 21 2004 [ 24564 00] isolinux.bin________9____insert-1.2.8_master_en_isolinux_isolinu ---------- 0 0 0 2434 Jan 26 2004 [ 24569 00] isolinux.cfg________9____insert-1.2.8_master_en_isolinux_isolinu ---------- 0 0 0 8762 Jul 29 2003 [ 24571 00] logo.16_____1____insert-1.2.8_master_en_isolinux_logo.16____Y___ ---------- 0 0 0 67648 Apr 2 2004 [ 24576 00] memtest_____1____insert-1.2.8_master_en_isolinux_memtest____Y___ ---------- 0 0 0 495568 Apr 3 2004 [ 24610 00] miniroot.gz_9____insert-1.2.8_master_en_isolinux_miniroot.gz____ ---------- 0 0 0 921594 Apr 2 2004 [ 24852 00] vmlinuz_____1____insert-1.2.8_master_en_isolinux_vmlinuz____Y___ Ключ '-R' есть в командной строке, но он игнорируется, теперь так: >isoinfo -R -l -i INSERT-1.2.8_en.iso ---поскипано--- Directory listing of /isolinux/ dr-xr-xr-x 2 0 0 2048 Apr 21 2004 [ 31 02] . dr-xr-xr-x 4 0 0 2048 Mar 3 2004 [ 29 02] .. -r--r--r-- 1 0 0 2048 Apr 21 2004 [ 24561 00] boot.cat -r-xr-xr-x 1 0 0 174 Apr 20 2004 [ 24562 00] boot.msg -r-xr-xr-x 1 0 0 1545 Apr 20 2004 [ 24563 00] f2 -r-xr-xr-x 2 0 0 9424 Apr 21 2004 [ 24564 00] isolinux.bin -r-xr-xr-x 1 0 0 2434 Jan 26 2004 [ 24569 00] isolinux.cfg -r-xr-xr-x 1 0 0 2434 Jan 26 2004 [ 24569 00] isolinux.cfg -r-xr-xr-x 2 0 0 8762 Jul 29 2003 [ 24571 00] logo.16 -r-xr-xr-x 2 0 0 67648 Apr 2 2004 [ 24576 00] memtest -r-xr-xr-x 1 0 0 495568 Apr 3 2004 [ 24610 00] miniroot.gz -r-xr-xr-x 2 0 0 921594 Apr 2 2004 [ 24852 00] vmlinuz Как видно, Rock Ridge содержит все что нам надо, но игнорируется при указании ключа '-J' (даже если поменять их местами легче не становится). Отсюда предложение: забить на Joliet если есть RR. Я думаю, что именно к этому нас подталкивает Joerg Schilling (очень хвалит RR и ругает ограниченность Joliet). Ну и танцы с бубном вокруг имен файлов оканчивающихся на ';1' (интересно, а цифры отличные от единицы бывают?). То что у меня получилось работает на версиях 2.01a21 - 2.01a34, но число различных образов у меня не велико, так что интересно как это работает у других. (In reply to comment #5) > Created an attachment (id=2088) [edit] > iso9660 mcextfs ";1" patch Посмотрел патч... даже попробовал накатить. - нет он не для файла из mc-4.6.1r-alt9 (проверил, iso9660 из этого пакета) визуальный анализ показывает в патче присутствие переменной ISOINFO_CMD и отсутствие оной в исходном файле. Т.е. как бы или патч "отвалился" или файл с тех пор сильно переделали или у меня в системе он каким-то образом подменился. Может бросите свой (работающий) для сравнения? Он не содержит изменений относительон пакетного из mc-4.6.1r-alt9, проверил rpm -V mc. Короче, это в любом разе не проблема isoinfo как пакета (разве что апстрима, который меняет формат вывода по погоде на дворе). Для исправления в mc надо тестирование. Если кому-то не лень меня допинать прошерстить архивы и найти всё, что мне присылали или писали по теме -- пинайте. PS: "Good" или "Bad" в подсказке багзилы специально покрашены -- это характеристика строчек из примеров, а не шаблон :) Ээээ... таак... А я вот накатил патч, и эти ;1 из имен файлов при просмотре исошек, созданных в виндах, в mc пропали. А то, что isoinfo их показывает- IMHO, фича, что-то еще по виндовой Нере смутно припоминается. [diman@dimanko RPMS.x86_64]$ rpm -q mc mc-4.6.1r-alt9 Так что, получается, Майк, патч не приложен. О, зато после приложения патча начались чудеса вроде "Несогласованный архив extfs" при попытке войти в rpm внутри iso. Надо поисследовать. Шотут? Не совсем в курсе про именно тут... Краткая история предыдущих серий -- апстрим isoinfo время от времени (раз в пару лет) слегка меняет формат вывода, отчего регэкс в extfs/iso9660 ломается; плюс разные кривые порождалки ISO иногда вылазят. Хорошо бы им кто-то предложил сделать фиксированный формат (и опцию для того) а-ля ls -lR, или патчик, но пока могу разве что пофорвардить те несколько исправлений, которые мне при разных таких изменениях люди слали. Последнее применить не удалось (за отсутствием то ли времени, то ли тесткейса). Надо? Исправлений для mc? Ну давай. В приложенном к багу патче я увидел строку про удаление ;1 и сходу не понял, зачем там нужны все остальные строки. Не прикладывал, да. Шотут. А что должна делать вот эта строчка из iso9660 ? isoinfo -d -i "$1" | gawk "/UCS level 1|NO Joliet/" > /dev/null || ISOINFO="$ISOINFO $JOLIET_OPT" У меня такое ощущение, что она должна выглядеть, как isoinfo -d -i "$1" | egrep "UCS level 1|NO Joliet" > /dev/null || ISOINFO="$ISOINFO $JOLIET_OPT" C gawk значение "$?" получается 0 при любом раскладе... Вот это вот sub(" $", "", name) + # for pure ISO9660 and Joliet UCS level 3 + sub(";1$", "", name) ## sub(";[0-9]+$", "", name) ## would break copyout хватает, относительно текущего iso9660. Но, в одном из имеющихся у меня iso, есть несколько файлов, у которых в конце ".;1". При монтировании через loop этой точки нет. Можно сделать, конечно, "\.\?;1$", но, вдруг, эта точка где-то будет по делу ? Created attachment 4719 [details]
iso9660 mcextfs ";1" patch for mc 4.7.0.10
";1" должно обрабатываться, а вот что делать с единичными ".;1", пока не сильно понятно. 4.7.0.10-alt5 - fixed processing of ";1" in some ISO images (closes: ALT#12299) |