понедельник, Август 04, 2008

Как добавить репозиторий Debian из CD или DVD-образов

Имеется несколько выкачанных ISO-образов с репозиториями, например Debian GNU/Linux, и нужно их подключить для работы. Не обязательно пропаливать их на диск и постоянно вставлять-извлекать диски. Можно примонтировать ISO-образы и добавить репозитории, чтобы пакеты стали доступны. Для опытных пользователей это, конечно, не вопрос, но новичкам это даётся нелегко. Ниже - краткий рецепт по этому поводу.

Итак, есть у вас к примеру несколько скачанных ISO-образов с репозиториями Debian, и нужно добавить репозитории для использования при установке программ. Для этого сначала создаём точки монтирования:

sudo mkdir /mnt/setup/etchdisk1
и так для каждого ISO-образа. Дальше можно сделать простой скрипт:
#! /bin/sh
sudo mount -t iso9660 /mnt/wd250Gb/debian-40r0-i386-DVD-1.iso /mnt/setup/etchdisk1 -o loop
sudo mount -t iso9660
/mnt/wd250Gb/debian-40r0-i386-DVD-2.iso /mnt/setup/etchdisk2 -o loop
sudo mount -t iso9660
/mnt/wd250Gb/debian-40r0-i386-DVD-3.iso /mnt/setup/etchdisk3 -o loop
После этого надо дать скрипту права исполнения:
sudo chmod 755 ./debiandvd
Если скрипт лежит в текущем каталоге. После этого правим sources.list, который лежит в каталоге /etc/apt/ до следующего состояния:
deb file:///mnt/setup/etchdisk1/ stable contrib main
deb file:///mnt/setup/etchdisk2/ stable contrib main
deb file:///mnt/setup/etchdisk3/ stable contrib main
После этого надо выполнить
sudo aptitude update
и ставить появившиеся приложения через удобную графическую оболочку. И всё.

Копируете статью - поставьте ссылку на оригинал!

17 комментариев:

Roman Khimov комментирует...

Я, обычно, apt-cdrom пользую на добавление, причём в стандартный /cdrom и потом монтировать/размонтировать по необходимости.

Но так, в принципе, можно даже в fstab добавить навечно и пользовать не задумываясь.

virens комментирует...

2 Roman Khimov пишет...
Я, обычно, apt-cdrom пользую на добавление, причём в стандартный /cdrom
Это да, но интересно один раз примонтировать все ISOшники сразу.

Но так, в принципе, можно даже в fstab добавить навечно и пользовать не задумываясь.
В fstab там уже много чего добавлено "навечно". Но да, можно.

Roman Cheplyaka комментирует...

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 действительно удобнее.

virens комментирует...

2 Roman Cheplyaka пишет...
for i in 1 2 3
Вообще да, это точно. Поправлю.

2 Анонимный пишет...
Откровенно говоря, лично мне пррт подобной постановке задачи первое что пришло бы в голову - создать свой репозиторий.
Хочется просто монтировать исошники без лишних телодвижений.


2 асоциальный психопат пишет...
Подозреваю, что debian-40r0 -- ни разу не unstable.
Бес попутал :-) Исправлено.

Экономия есть, если всё равно приходится хранить на диске официальные iso-образы
В общем, на это весь расчёт. Кому-то удобно, кому-то нет.

Анонимный комментирует...

Я несовсем выздоровел или можно на одно луп-устройство по три диска за раз оптом навешивать?

BaRoN! комментирует...

На одно устройство наверное нельзя, но через -o loop можно монтировать сколько угодно. ИМХО создаются несколько лупбэк девайсов, но если есть желание - можете проверить, при помощи lsof например :-).

Анонимный комментирует...

Вообще через -o loop по умолчанию до 8 устройств можно монтировать, если конечно ядро не подшаманить в этом плане

eric комментирует...

Я сделал репозиторий из 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 только для ПЕРВОГО ДВД.
А так, да, рабтает замечательно. Очень удобно для подключения свяких тестируемых/нестабильных репозиториев. Можно юзать и для вариантов: накатить пакеты из убунту поверх дебиана, итд, но это уже может быть чревато....

ls-1 комментирует...

Вся эта штука с дисками конечно хорошо
но вот как сделать репозиторий только из нужных пакетов и их зависимостей
например для установки на несколько однотипных машин(при том что репозиторий будет хранится на 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 ), нежели выдавать права постфактум.

virens комментирует...

2 Анонимный пишет...
Уважаемый, virens, а можешь написать заметку
Я бы с радостью, но у меня очень тяжело со временем: мне нужно защищать кандидатскую.

В будущем вполне может быть. И спасибо за ссылку!

Анонимный комментирует...

Уважаемый, virens.
У меня, при током методе, apt ругается на ненадёжность источника пакетов.
Не подскажеш как импортировать ключи или как-то иначе исправить ситуацию.

Анонимный комментирует...

А вот такой вопрос. Если наоборот, имеются диски с репозиторием, как их можно закинуть на винт и устанавливать с винта, чтобы каждый раз диски не пихать туда-сюда? Пришли 5 ДВД с Дебианом, буду устанавливать на несколько компов по локалке.

Отправить комментарий