From: Michael Shigorin <mike@osdn.org.ua> To: community@altlinux.ru Cc: mouse@altlinux.ru Subject: [Comm] Re: монтирование iso Date: Fri, 1 Oct 2004 23:44:36 +0300 Message-ID: <20041001204436.GG27950@osdn.org.ua> (raw) In-Reply-To: <20040927172814.GD5288@wrars-comp.wrarsdomain> [-- Attachment #1.1: Type: text/plain, Size: 661 bytes --] On Mon, Sep 27, 2004 at 11:28:14PM +0600, Andrey Rahmatullin wrote: > >>Каким образом можно примонтировать iso-образ? > >Кстати, сизифовый (и, возможно, уже в ALC2.3) mc тоже обучен > >по ним лазить. :) > Блин, ну не лазает у меня. mc-4.6.0-alt9 > cdrecord-2.01-alt1a37 Чего там доставить надо? home:~> rpm -qf /usr/bin/isoinfo cdrecord-2.01-alt1a37 Вроде всё. Как именно не лазает? (там опять вроде ломали формат вывода -- вот шило в чьём-то бэкенде засело :-/) См. тж. аттач, не помню, был ли учтён (скорее нет). Поможет -- ввесим BTS. -- ---- WBR, Michael Shigorin <mike@altlinux.ru> ------ Linux.Kiev http://www.linux.kiev.ua/ [-- Attachment #1.2: Type: message/rfc822, Size: 9305 bytes --] [-- Attachment #1.2.1.1: mutt.Zp3LZf --] [-- Type: text/plain, Size: 4105 bytes --] 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 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, но число различных образов у меня не велико, так что интересно как это работает у других. [-- Attachment #1.2.1.2: iso9660.diff --] [-- Type: text/plain, Size: 1670 bytes --] --- iso9660 Thu Jul 22 17:00:02 2004 +++ iso9660.new Thu Jul 22 01:33:24 2004 @@ -18,9 +18,14 @@ else JOLIET_OPT="-J" fi - ISOINFO="isoinfo -R" - # isoinfo -d -i "$1" | grep "NO Joliet" > /dev/null || ISOINFO="$ISOINFO $JOLIET_OPT" - isoinfo -d -i "$1" | grep "Joliet with UCS level [2-9] found" > /dev/null && ISOINFO="$ISOINFO $JOLIET_OPT" + ISOINFO_CMD="isoinfo" + + ISOINFO=`isoinfo -d -i "$1"` + if echo $ISOINFO | grep "Rock Ridge signatures version [1-9] found" > /dev/null; then + ISOINFO_CMD="$ISOINFO_CMD -R" + else + echo $ISOINFO | grep "Joliet with UCS level [2-9] found" > /dev/null && ISOINFO_CMD="$ISOINFO_CMD $JOLIET_OPT" + fi } mcisofs_list () { @@ -33,14 +38,14 @@ *) MYCAT="cat";; esac -$ISOINFO -l -i "$1" | gawk ' +$ISOINFO_CMD -l -i "$1" | gawk ' BEGIN { dir=""; # Pattern to match 8 first fields. rx = "[^ ]+[ ]+"; + irx = "^..\[ [0-9 ]+\] "; rx = "^" rx rx rx rx rx rx rx rx; # irx = "^. *[0-9]+. "; - irx = "^..\[[ 0-9]+\] "; } /^$/ { next } /^d---------/ { next } @@ -57,6 +62,8 @@ # fix perms sub("^---------- 0 0 0", "-r--r--r-- 1 root root", attr) sub(" $", "", name) + # for pure ISO9660 and Joliet UCS level 3 + sub(";1$", "", name) ## sub(";[0-9]+$", "", name) ## would break copyout # skip . and .. if (name ~ /^\.\.?/) next; @@ -65,7 +72,7 @@ } mcisofs_copyout () { - $ISOINFO -i "$1" -x "/$2" > "$3" + $ISOINFO_CMD -i "$1" -x "/$2" > "$3" } save_ctype=`locale | grep LC_CTYPE` @@ -79,6 +86,7 @@ test_iso "$@"; mcisofs_list "$@"; exit 0;; + copyout) test_iso "$@"; mcisofs_copyout "$@"; [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2004-10-01 20:44 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2004-09-26 11:12 [Comm] " Sergey Bezuglov 2004-09-26 11:15 ` Denis Klykvin 2004-09-26 11:17 ` Valery V. Inozemtsev 2004-09-26 14:44 ` Sergey Kuznetsov 2004-09-27 11:43 ` Aleksander N. Gorohovski 2004-09-26 17:51 ` [Comm] " Michael Shigorin 2004-09-27 17:28 ` Andrey Rahmatullin 2004-10-01 20:44 ` Michael Shigorin [this message] 2004-10-02 3:33 ` Andrey Rahmatullin 2004-10-02 10:08 ` Michael Shigorin 2004-10-04 9:14 ` Andrey Rahmatullin 2004-10-06 18:36 ` Michael Shigorin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20041001204436.GG27950@osdn.org.ua \ --to=mike@osdn.org.ua \ --cc=community@altlinux.ru \ --cc=mouse@altlinux.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Community general discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 community community/ http://lore.altlinux.org/community \ mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com public-inbox-index community Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.community AGPL code for this site: git clone https://public-inbox.org/public-inbox.git