LinuxForum.Fans
Тема

apt-cdrom add для виртуального CD

Автор: user160 38 сообщений 4363 просмотров
20.01.2015 19:54 #410363

Имеет место следующая история.
Начало здесь
Суть в том, что на компьютер был установлен Дебиан с реального физического DVD-ROM, но хочется обновить /etc/apt/sources.list, так чтобы он ссылался не на физический DVD-ROM, а на виртуальный.
При попытке выполнить
[console]
apt-cdrom add
[/console]
поучил следующее:

Показать

# apt-cdrom add
Использование /media/cdrom/ в качестве точки монтирования CD-ROM
Идентификация.. [19a804255b701a6a301d77a7ef03176a-2]
Поиск на диске индексных файлов..
Найдено индексов: 0 для пакетов, 0 для источников, 0 для переводов и 0 для сигнатур
Использование /media/Debian 7.7.0 amd64 1/ в качестве точки монтирования CD-ROM
Идентификация.. [7d16c5b20da3509d411e5fcb636bf3f7-2]
Поиск на диске индексных файлов..

W: Не удалось примонтировать «/dev/sr0» к «/media/cdrom/»
E: Не удалось найти ни одного файла пакетов; возможно это не диск Debian или с не той архитектурой?
#

При подключении Залмана папка /media выглядит так

Показать
lrwxrwxrwx 1 root root 6 Янв 20 01:02 cdrom -> cdrom0
drwxr-xr-x 2 root root 4096 Янв 20 01:02 cdrom0
dr-xr-xr-x 1 oner oner 4096 Окт 18 17:18 Debian 7.7.0 amd64 1

Не удалось и так
[console]
apt-cdrom -d "/media/Debian 7.7.0 amd64 1" add
[/console]
поучил следующее:

Показать

# apt-cdrom -d "/media/Debian 7.7.0 amd64 1" add
Использование /media/cdrom/ в качестве точки монтирования CD-ROM
Идентификация.. [e69e8accbef4727a74d998152dc29a28-2]
Поиск на диске индексных файлов..
Найдено индексов: 0 для пакетов, 0 для источников, 0 для переводов и 0 для сигнатур
Использование /media/Debian 7.7.0 amd64 1/ в качестве точки монтирования CD-ROM
Идентификация.. [7d16c5b20da3509d411e5fcb636bf3f7-2]
Поиск на диске индексных файлов..
W: Не удалось примонтировать «/dev/sr0» к «/media/cdrom/»
E: Не удалось найти ни одного файла пакетов; возможно это не диск Debian или с не той архитектурой?
#

Файл fstab

Показать

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=88552908-d3f9-4441-9d1c-2310b3cc6f51 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=575503f1-030f-43eb-9f31-3da75ce1427a none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0

Файл mtab

Показать
rootfs / rootfs rw 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
udev /dev devtmpfs rw,relatime,size=10240k,nr_inodes=223197,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=179776k,mode=755 0 0
/dev/disk/by-uuid/88552908-d3f9-4441-9d1c-2310b3cc6f51 / ext4 rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered 0 0
tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0
tmpfs /run/shm tmpfs rw,nosuid,nodev,noexec,relatime,size=1091900k 0 0
rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime 0 0
fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0

Руками в оконном интерфейсе (не редактором) /etc/apt/sources.list заполнить тоже как-то глюкаво получается.
Т.е. команда apt-get update не запрашивает очередной DVD-ROM.

По факту apt-get update обращается к /media/cdrom/, а надо чтобы она обращалась к /media/Debian 7.7.0 amd64 1

Вопрос в том, как заполнить /etc/apt/sources.list так чтобы система обращалась к виртуальному DVD-ROM?

21.01.2015 16:22 #410522

user160, *SCRATCH* Для начала - что значит "виртуальный DVD"?

21.01.2015 17:42 · отредактировано #410543
Wolfenberg написал:
user160, *SCRATCH* Для начала - что значит "виртуальный DVD"?

В первом моём посте ссылка под словом виртуальный.
Т.е. это гаджет с жестким диском, в котором файл *.iso отражается в системе как диск CD или DVD.
Значительно удобнее и существенно быстрее, нежели физический CD/DVD привод.
Прошу не счесть за рекламу ;)

22.01.2015 09:53 #410638

user160, :) так вы для своего чудо-гаджета сперва точку монтирования с опциями задайте,
а потом уже мандаринки по ёлкам распихивайте.

22.01.2015 11:48 · отредактировано #410653
Wolfenberg написал:
user160, :) так вы для своего чудо-гаджета сперва точку монтирования с опциями задайте,
а потом уже мандаринки по ёлкам распихивайте.

Точка монтирования создаётся автоматически при подключении устройства.
В папке /media создаётся /Debian 7.7.0 amd64 1, я выше приводил содержимое папки /media после подключения устройства. После отключения, папка /Debian 7.7.0 amd64 1 сама удаляется

22.01.2015 16:07 #410694
"user160" написал:
Точка монтирования создаётся автоматически при подключении устройства.
В папке /media создаётся /Debian 7.7.0 amd64 1, я выше приводил содержимое папки /media после подключения устройства. После отключения, папка /Debian 7.7.0 amd64 1 сама удаляется

Содержимое /etc/apt/sources.list?

22.01.2015 16:14 #410702
"user160" написал:
В папке /media создаётся /Debian 7.7.0 amd64 1, я выше приводил содержимое папки /media после подключения устройства. После отключения, папка /Debian 7.7.0 amd64 1 сама удаляется

http://www.opennet.ru/man.shtml?topic=apt-cdrom&category=8&russian=0

-d --cdrom
Точка монтирования; задает местоположение монтирования cdrom. Данная точка монтирования должна быть указана в /etc/fstab и соответствующим образом настроена.
Элемент настройки: Acquire::cdrom::mount.

Удачи.

23.01.2015 12:39 · отредактировано #410865
Wolfenberg написал:
[quote="user160"]Точка монтирования создаётся автоматически при подключении устройства.
В папке /media создаётся /Debian 7.7.0 amd64 1, я выше приводил содержимое папки /media после подключения устройства. После отключения, папка /Debian 7.7.0 amd64 1 сама удаляется

Содержимое /etc/apt/sources.list?[/quote]
тут

Показать

#
# deb cdrom:[Debian GNU/Linux 7.7.0 _Wheezy_ - Official amd64 DVD Binary-1 20141018-13:06]/ wheezy contrib main
# deb Debian 7.7.0 amd64 1:[Debian GNU/Linux 7.7.0 _Wheezy_ - Official amd64 DVD Binary-1 20141018-13:06]/ wheezy contrib main
# deb Debian 7.7.0 amd64 1:[Debian GNU/Linux 7.7.0 _Wheezy_ - Official amd64 DVD Binary-2 20141018-13:06]/ wheezy contrib main
# deb Debian 7.7.0 amd64 1:[Debian GNU/Linux 7.7.0 _Wheezy_ - Official amd64 DVD Binary-3 20141018-13:06]/ wheezy contrib main
deb http://http.us.debian.org/debian/ wheezy main

Скорее всего он сейчас некорректен.
Я пытался руками вписать туда ссылки на виртуальный CD.
Первая закомменченная строка, скорее всего корректна. Это то, что было до моего ручного вмешательства через графический интерфейс.
Последняя (незакомменченная) строка видимо вставлена программно без моего участия.

kostik87 написал:
[quote="user160"]В папке /media создаётся /Debian 7.7.0 amd64 1, я выше приводил содержимое папки /media после подключения устройства. После отключения, папка /Debian 7.7.0 amd64 1 сама удаляется

http://www.opennet.ru/man.shtml?topic=apt-cdrom&category=8&russian=0

-d --cdrom
Точка монтирования; задает местоположение монтирования cdrom. Данная точка монтирования должна быть указана в /etc/fstab и соответствующим образом настроена.
Элемент настройки: Acquire::cdrom::mount.

Удачи.[/quote]
Могу ли я в качестве UUID в /fstab использовать ключи Идентификация из команды ниже?

Показать

# apt-cdrom -d "/media/Debian 7.7.0 amd64 1" add
Использование /media/cdrom/ в качестве точки монтирования CD-ROM
Идентификация.. [e69e8accbef4727a74d998152dc29a28-2]
Поиск на диске индексных файлов..
Найдено индексов: 0 для пакетов, 0 для источников, 0 для переводов и 0 для сигнатур
Использование /media/Debian 7.7.0 amd64 1/ в качестве точки монтирования CD-ROM
Идентификация.. [7d16c5b20da3509d411e5fcb636bf3f7-2]
Поиск на диске индексных файлов..
W: Не удалось примонтировать «/dev/sr0» к «/media/cdrom/»
E: Не удалось найти ни одного файла пакетов; возможно это не диск Debian или с не той архитектурой?
#

Если можно приведите пример заполнения /fstab по данным из первого поста этой ветки *DRINK*

23.01.2015 14:47 #410900
"user160" написал:
Если можно приведите пример заполнения /fstab по данным из первого поста этой ветки   

Вам проще сделать вот так:
[console]
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=88552908-d3f9-4441-9d1c-2310b3cc6f51 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=575503f1-030f-43eb-9f31-3da75ce1427a none swap sw 0 0
/dev/устройство_виртуального_привода /media/cdrom1 udf,iso9660 user,noauto 0 0
[/console]
Далее:
[console]
mkdir /media/cdrom1
apt-cdrom add -d /media/cdrom1 -r
[/console]

Можете так же смотреть что сообщает apt-cdrom вот так:

text

apt-cdrom ident -d /media/cdrom1

Готово. Вы кстати в курсе, что вы можете скопировать содержимое ISO образов на диск или смонтировать их локально и подключить их в файле /etc/apt/sources.list посредством директивы file?

Читайте

text

man sources.list

Так как вы хотите сделать, а именно подключение разных ISO образов с виртуального привода с их точки монтирования в /media, которая будет у каждого ISO образа своя, то вам придётся сделать в /etc/fstab несколько записей для каждого образа диска. Т.е., если у вас есть несколько ISO образов разных дисков, которые вы подключаете в USB приводе Zalman, при подключении которого монтирование осуществляет графическая оболочка автоматически в точку монтирования в зависимости от имени файловой системы в ISO образа, примерно вот так:

text

/media/Debian 7.7.0 amd64 1
/media/Debian 7.7.0 amd64 2
/media/Debian 7.7.0 amd64 3

То вам придётся создать несколько записей в /etc/fstab, смотрите по аналогии выше и выполнять соответствующую команду apt-cdrom add:

text

apt-cdrom -d "/media/Debian 7.7.0 amd64 1" add
apt-cdrom -d "/media/Debian 7.7.0 amd64 2" add
apt-cdrom -d "/media/Debian 7.7.0 amd64 3" add

Так что проще вам будет сделать одну запись, как я привёл выше, но в этом случае все ISO образы смонтированные с виртуального привода USB диска Zalman будут монтироваться в /media/cdrom1.

Решайте сами.

Удачи.

23.01.2015 16:14 #410930
kostik87 написал:

Вам проще сделать вот так:
[console]
....
/dev/устройство_виртуального_привода /media/cdrom1 udf,iso9660 user,noauto 0 0
[/console]

У меня имя устройства_виртуального_привода содержит пробелы

"/dev/Debian 7.7.0 amd64 1"

Пытался первый параметр взять в двойные кавычки, всё равно не получается.

23.01.2015 16:37 #410939
"user160" написал:
У меня имя устройства_виртуального_привода содержит пробелы
"/dev/Debian 7.7.0 amd64 1"

Такого быть не может.

Покажите вывод:

text

mount

Когда смонтирован iso образ через виртуальный привод.

23.01.2015 16:47 #410941

"user160" написал:
У меня имя устройства_виртуального_привода содержит пробелы
переименуйте так, что_бы_пробелов_не_было-бы
23.01.2015 17:49 · отредактировано #410961
drBatty написал:
[quote="user160"]У меня имя устройства_виртуального_привода содержит пробелы
переименуйте так, что_бы_пробелов_не_было-бы[/quote]
Переименовать не могу. Имя генерится из iso-шника

kostik87 написал:
[quote="user160"]У меня имя устройства_виртуального_привода содержит пробелы
"/dev/Debian 7.7.0 amd64 1"

Такого быть не может.

Покажите вывод:

text

mount

Когда смонтирован iso образ через виртуальный привод.[/quote]
Здесь

Показать

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=223197,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=179776k,mode=755)
/dev/disk/by-uuid/88552908-d3f9-4441-9d1c-2310b3cc6f51 on / type ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1091900k)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
>> это флэшка >>>>/dev/sdb1 on /media/E85F-2A38 type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0077,codepage=cp437,iocharset=utf8,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks)

23.01.2015 17:56 #410962
"user160" написал:
Переименовать не могу. Имя генерится из iso-шника

хм. в таком случае

"user160" написал:
Могу ли я в качестве UUID в /fstab использовать ключи Идентификация из команды ниже?
да

The device indication.
Most devices are indicated by a file name (of a block special device), like /dev/sda1,
but there are other possibilities. For example, in the case of an NFS mount, device may
look like knuth.cwi.nl:/dir. It is possible to indicate a block special device using
its volume LABEL or UUID (see the -L and -U options below).

The recommended setup is to use LABEL=<label> or UUID=<uuid> tags rather than
/dev/disk/by-{label,uuid} udev symlinks in the /etc/fstab file. The tags are more read‐
able, robust and portable. The mount(8) command internally uses udev symlinks, so use
the symlinks in /etc/fstab has no advantage over LABEL=/UUID=. For more details see
libblkid(3).

Note that mount(8) uses UUIDs as strings. The UUIDs from command line or fstab(5) are
not converted to internal binary representation. The string representation of the UUID
should be based on lower case characters.

The proc filesystem is not associated with a special device, and when mounting it, an
arbitrary keyword, such as proc can be used instead of a device specification. (The
customary choice none is less fortunate: the error message `none busy' from umount can
be confusing.)
23.01.2015 18:01 #410964
drBatty написал:
[quote="user160"]Переименовать не могу. Имя генерится из iso-шника

хм. в таком случае

"user160" написал:
Могу ли я в качестве UUID в /fstab использовать ключи Идентификация из команды ниже?
да
[/quote]
Т.е. в моём случае я могу поставить строку Идентификация.. [7d16c5b20da3509d411e5fcb636bf3f7-2] как UUID ?
23.01.2015 18:40 · отредактировано #410968

Не сработало.
содержимое /etc/fstab

Показать

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=88552908-d3f9-4441-9d1c-2310b3cc6f51 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=575503f1-030f-43eb-9f31-3da75ce1427a none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
UUID=7d16c5b20da3509d411e5fcb636bf3f7-2 /media/cdrom1 udf,iso9660 user,noauto,ro 0 0

Теперь /media/cdrom1 "болтается" пустым в дереве файловой системы, а виртуальный CDROM по прежнему появляется (при подключении) в корне как папка /Debian 7.7.0 amd64 1
При отключении гаджета эта папка исчезает

Есть у кого-нибудь еще идеи?

23.01.2015 18:51 #410970
"user160" написал:
Переименовать не могу. Имя генерится из iso-шника

Ну, как вариант: ln -s

"user160" написал:
Не удалось и такКонсоль
apt-cdrom -d "/media/Debian 7.7.0 amd64 1" add

Хмммм.....

"user160" написал:
виртуальный CDROM по прежнему появляется (при подключении) в корне как папка /Debian 7.7.0 amd64 1

Так может нужно не apt-cdrom -d "/media/Debian 7.7.0 amd64 1" add, a apt-cdrom -d "/Debian 7.7.0 amd64 1" add ??

23.01.2015 19:11 · отредактировано #410972
diablopc написал:

Так может нужно не apt-cdrom -d "/media/Debian 7.7.0 amd64 1" add, a apt-cdrom -d "/Debian 7.7.0 amd64 1" add ??

Попробовал
[console]apt-cdrom -d "/Debian 7.7.0 amd64 1" add[/console]
получил:

Показать
Использование /media/cdrom/ в качестве точки монтирования CD-ROM
Идентификация.. [75e399dde7c7e26397eaca09e4f2fba7-2]
Поиск на диске индексных файлов..
Найдено индексов: 0 для пакетов, 0 для источников, 0 для переводов и 0 для сигнатур
Использование /media/Debian 7.7.0 amd64 1/ в качестве точки монтирования CD-ROM
Идентификация.. [7d16c5b20da3509d411e5fcb636bf3f7-2]
Поиск на диске индексных файлов..

W: Не удалось примонтировать «/dev/sr0» к «/media/cdrom/»
E: Не удалось найти ни одного файла пакетов; возможно это не диск Debian или с не той архитектурой?

Тоже не вышло

24.01.2015 12:06 · отредактировано #411028
"user160" написал:
Здесь

И где вы здесь видите смонтированный ваш виртуальный привод?

Ещё раз, подключаете ваш виртуальный привод, монтируете его в /media/Debian... так, как обычно. А затем показываете вывод команды

text

mount

Но я вижу у вас большие проблемы с понимает работы всего этого. Если не можете дать ответ так, как вас спрашивают, то бросьте это дело с Linux.

"user160" написал:
Тоже не вышло

И не выйдет, пока не сделаете соответствующую запись в /etc/fstab, а для этого нужно знать имя устройства виртуального привода.

"user160" написал:
UUID=7d16c5b20da3509d411e5fcb636bf3f7-2       /media/cdrom1   udf,iso9660 user,noauto,ro     0       0
Теперь /media/cdrom1 "болтается" пустым в дереве файловой системы, а виртуальный CDROM по прежнему появляется (при подключении) в корне как папка /Debian 7.7.0 amd64 1
При отключении гаджета эта папка исчезает

Ещё раз, вас спращивают не про папку, точку монтирования, а про имя устройство привода.

Так же при при подключенном виртуальном приводе покажите вывод команды

text

dmesg

Но не забудьте про вывод команды

text

mount

при смонтированном iso образе с виртуального привода.

А так же вывод команды

text

blkid

Жду ответа.

Удачи.

Войдите или зарегистрируйтесь, чтобы ответить.