Итак, есть у вас к примеру несколько скачанных ISO-образов с репозиториями Debian, и нужно добавить репозитории для использования при установке программ. Для ISO-файлов создадим точки монтирования вида /mnt/setup/disс-X где X является номером диска. В консоли даём команду:
$ sudo mkdir /mnt/setup/disс-1И так для каждого файла ISO. После того, как мы создали точки монтирования, приступаем к монтированию самих ISO-образов с репозиториями.
или
# mkdir /mnt/setup/disс-1
Допустим, что вы установили базовую систему с CD/DVD, но у вас только один диск, а репозитории в виде ISO-файлов хранятся на диске с NTFS. Возникает вопрос: как из базовой системы примонтировать DVD ISO-файлы с репозиториями Debian?
Например, файлы с репозиториями лежали в каталоге C:\debianlinux\debian-50r0-i386-DVD-1.iso Теперь же этот C:\ в Linux называется иначе, и мы ранее его примонтировали, скажем, к точке монтирования /mnt/windows Для того, чтобы примонтировать эти ISO-образы, нам нужно дать в данном примере такую команду от суперпользователя:
mount -t iso9660 /mnt/windows/debianlinux/debian-50r0-i386-DVD-1.iso /mnt/setup/disс-1 -o loopКрасным выделены параметры, остальная цветовая подсветка поясняет, как сконструировать полный путь до репозитория. Обращаю внимание горячих и нетерпеливых: слэши в Linux/UNIX отличаются от Windows и ставятся в другую сторону: /
Далее для всех остальных дисков всё тоже самое:
mount -t iso9660 /mnt/windows/debianlinux/debian-50r0-i386-DVD-2.iso /mnt/setup/disс-2 -o loopДальше можно сделать простой скрипт:
mount -t iso9660 /mnt/windows/debianlinux/debian-50r0-i386-DVD-3.iso /mnt/setup/disс-3 -o loop
.......
#! /bin/sh
sudo mount -t iso9660 /mnt/wd250Gb/debian-40r0-i386-DVD-1.iso /mnt/setup/etchdisk-1 -o loop
sudo mount -t iso9660 /mnt/wd250Gb/debian-40r0-i386-DVD-2.iso /mnt/setup/etchdisk-2 -o loop
sudo mount -t iso9660 /mnt/wd250Gb/debian-40r0-i386-DVD-3.iso /mnt/setup/etchdisk-3 -o loop
После этого надо дать скрипту права исполнения:
sudo chmod 755 ./debiandvdeсли скрипт лежит в текущем каталоге. Либо автоматизировать этот процесс так:
for ii in 1 2 3; do sudo mount -t iso9660 /mnt/wd250Gb/debian-40r0-i386-DVD-ii.iso /mnt/setup/disk-ii -o loop; doneДалее идём редактировать файл /etc/apt/sources.list с помощью nano:
# nano /etc/apt/sources.listДля ISO-образов формат файла несколько отличается от формата для сетевых репозиториев:
deb http://ftp.debian.org/debian/ lenny contrib main non-free <--- это для сетевого репозиторияСтруктура такова:
deb file:///mnt/setup/disс-1 lenny contrib main non-free <--- это для ISO-репозитория
- Фиолетовым выделен полный путь, с которого будут закачиваться пакеты, в данном случае это file:///mnt/setup/disс-1 и нужно добавить строки с другими номерами дисков, например file:///mnt/setup/disс-2 и file:///mnt/setup/disс-3 Обращаю внимание - слэшей именно три. Так надо.
- Далее идёт версия дистрибутива - она должна совпадать с той, которую вы только что установили: lenny, squeeze, wheezy или другое (должно быть написано на CD/DVD диске или в имени ISO-файла, например debian-lenny-i386-DVD-3.iso).
- Последним идут типы репозиториев: contrib main non-free подключайте всё сразу.
sudo aptitude updateи ставить появившиеся приложения через удобную графическую оболочку.
Я, обычно, apt-cdrom пользую на добавление, причём в стандартный /cdrom и потом монтировать/размонтировать по необходимости.
ОтветитьУдалитьНо так, в принципе, можно даже в fstab добавить навечно и пользовать не задумываясь.
2 Roman Khimov пишет...
ОтветитьУдалитьЯ, обычно, apt-cdrom пользую на добавление, причём в стандартный /cdrom
Это да, но интересно один раз примонтировать все ISOшники сразу.
Но так, в принципе, можно даже в fstab добавить навечно и пользовать не задумываясь.
В fstab там уже много чего добавлено "навечно". Но да, можно.
for i in 1 2 3; do sudo mount -t iso9660 /mnt/wd250Gb/debian-40r0-i386-DVD-$i.iso /mnt/setup/etchdisk$i -o loop; done
ОтветитьУдалитьА если есть не 3 dvd, а 14 (или сколько их сейчас) cd, то вместо "1 2 3" использовать seq(1).
Откровенно говоря, лично мне пррт подобной постановке задачи первое что пришло бы в голову - создать свой репозиторий.
ОтветитьУдалитьВся эта суета с дисками/образами интересна (на мой взгляд) исключительно в плане экономии места на диске.
В данном примере этой экономии нет, может проще было новичкам показать как создавать свой репозиторий? Пример наверное даже проще вышел бы - благо там пара команд не считая копирований содержимого дисков.
Подозреваю, что debian-40r0 -- ни разу не unstable.
ОтветитьУдалитьВ данном примере этой экономии нет
Экономия есть, если всё равно приходится хранить на диске официальные iso-образы (например, для того, чтобы можно было их прожигать по мере надобности, расшарить по локальной сети на несколько машин и проч.), а тут ещё пользоваться ими можно "на лету", экономя трафик (и время, если Инет медленный) -- особенно если получившийся репозитарий на несколько машин расшарить.
А прописать в /etc/fstab действительно удобнее.
2 Roman Cheplyaka пишет...
ОтветитьУдалитьfor i in 1 2 3
Вообще да, это точно. Поправлю.
2 Анонимный пишет...
Откровенно говоря, лично мне пррт подобной постановке задачи первое что пришло бы в голову - создать свой репозиторий.
Хочется просто монтировать исошники без лишних телодвижений.
2 асоциальный психопат пишет...
Подозреваю, что debian-40r0 -- ни разу не unstable.
Бес попутал :-) Исправлено.
Экономия есть, если всё равно приходится хранить на диске официальные iso-образы
В общем, на это весь расчёт. Кому-то удобно, кому-то нет.
Я несовсем выздоровел или можно на одно луп-устройство по три диска за раз оптом навешивать?
ОтветитьУдалитьНа одно устройство наверное нельзя, но через -o loop можно монтировать сколько угодно. ИМХО создаются несколько лупбэк девайсов, но если есть желание - можете проверить, при помощи lsof например :-).
ОтветитьУдалитьВообще через -o loop по умолчанию до 8 устройств можно монтировать, если конечно ядро не подшаманить в этом плане
ОтветитьУдалитьЯ сделал репозиторий из 6 DVD для Ubuntu в локальной сети по http следующим образом: последовательно скопировал в mc содержимое каждого диска в одну папку, доступную для web-сервера.
ОтветитьУдалитьloop-устройств, вроде бы, может быть не более 8...
ОтветитьУдалитьИ ещё один очень важный момент: для бинарников (по крайней мере, etch) в apt-sources.list дисты прописываются следующим образом:
deb file:/mnt/deb-40r3-i386-1 stable main contrib
deb file:/mnt/deb-40r3-i386-2 stable main
deb file:/mnt/deb-40r3-i386-3 stable main
то есть, contrib только для ПЕРВОГО ДВД.
А так, да, рабтает замечательно. Очень удобно для подключения свяких тестируемых/нестабильных репозиториев. Можно юзать и для вариантов: накатить пакеты из убунту поверх дебиана, итд, но это уже может быть чревато....
Вся эта штука с дисками конечно хорошо
ОтветитьУдалитьно вот как сделать репозиторий только из нужных пакетов и их зависимостей
например для установки на несколько однотипных машин(при том что репозиторий будет хранится на ftp сервере)
Уважаемый, virens, а можешь написать заметку как сделать *buntu-репозиторий 6dvd -> hdd ? Т.е. слить все диски в один pool и радоваться жизни. Чтобы можно было обновлять пакеты по инету.
ОтветитьУдалитьМне удалось найти лишь одну статью на эту тему, но она плохо написана и нужные заклинания не работают: http://whylinux.ru/2008/01/11/repozitorii-v-ubuntu-chast-1-ispolzovanie-mnogodiskovyx-srezov-na-cddvd/
Дошёл до этого сам, делал практически так же, но мне кажется, лучшей идеей будет монтировать образы сразу в ro ( -o loop,ro ), нежели выдавать права постфактум.
ОтветитьУдалить2 Анонимный пишет...
ОтветитьУдалитьУважаемый, virens, а можешь написать заметку
Я бы с радостью, но у меня очень тяжело со временем: мне нужно защищать кандидатскую.
В будущем вполне может быть. И спасибо за ссылку!
Уважаемый, virens.
ОтветитьУдалитьУ меня, при током методе, apt ругается на ненадёжность источника пакетов.
Не подскажеш как импортировать ключи или как-то иначе исправить ситуацию.
А вот такой вопрос. Если наоборот, имеются диски с репозиторием, как их можно закинуть на винт и устанавливать с винта, чтобы каждый раз диски не пихать туда-сюда? Пришли 5 ДВД с Дебианом, буду устанавливать на несколько компов по локалке.
ОтветитьУдалитьИсошники смонтировал стандартной прогой. Но вот долго мучился, чтобы менеджер обновлений добавил apt и потом обновлялся не выдавая ошибок. В итоге в менеджере написал такое вот (в добавлении apt):
ОтветитьУдалитьdeb file:///home/legos/ubuntu-11_04-2011-05-02-complete-amd64-dvd2_iso natty contrib main multiverse restricted universe
И так далее для всех дисков (всего 9)
Как поднять репозиторий локальный имея лишь 8 двд дисков дебиана?
ОтветитьУдалитьСпасибо.
Дебианьщик, напиши как в локалке смонтировать на одной машине эти dvd диски так, что бы потом можно было всю локалку на репозитарий сервера настроить и без интернета использовать весь репозитарий дебиана заложенный в этих dvd дисках.
ОтветитьУдалить8 debian dvd squeeze discs.
Спасибо.
Собрал локальный репозиторий Debian squeeze из пакетов которые устанолены в текущей системе с помощью reprepro, получил то что запрашивал ls-1 07.09.2008, 18:18:00
ОтветитьУдалитьпозже добавил в этот репозиторий пакеты с 8 DVD дисков Debian-а и получил то, что запрашивали: Анонимный 13.03.2012, 16:48:00 и Анонимный 13.03.2012, 17:51:00
информацию по теме и по использованию reprepro взял тут:
Создание локального репозитория
Надеюсь кому поможет...