ALT Linux Community general discussions
 help / color / mirror / Atom feed
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 --]

  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