Создание локального среза репозитория в Ubuntu (HowTO)


нет комментариев
Примечание: написанное ниже верно как для огромных (от 30 ГБ) копий FTP-серверов, так и для коллекции из 10 пакетов. Я буду описывать именно "миниатюрный срез".

Способ первый

Создаём директорию, которая станет срезом. Я создам её в домашней папке и назову "vlsu-packages". В ней необходимо создать папки "dists" и "pool", в последнюю сложить пакеты. Их можно скачать на packages.ubuntu.com. Стоит отметить то, что не обязательно соблюдать точную иерархию папки pool, как на сервере/диске. Для нас важна иерерхия dists. Следующие операции выполняем в терминале:
mkdir ~/vlsu-packages
cd ~/vlsu-packages
mkdir dists pool
cd dists
mkdir lucid
cd lucid
mkdir all
cd all
mkdir binary-i386
Примечание: в идеале путь должен выглядеть так: dists/кодовое_слово_дистрибутива_Ubuntu/тип_репозитория/тип_пакетов-архитектура, а apt-строка так: тип_deb'а путь_к_репозиторию кодовое_слово_дистрибутива_Ubuntu тип_репозитория.
Где:
кодовое_слово_дистрибутива_Ubuntu - первое слово в паре "Прилагательное Животное" (т.е. ..., karmic, lucid, maverick, natty, oneiric, ...);
тип_репозитория - тип компонентов (main, restricted, universe, multiverse, partner);
тип_пакетов-архитектура - либо пакеты, либо исходный код, и архитектура системы (binary-i386, binary-amd64, binary-powerpc, source);
тип_deb'а - пакеты (deb), либо исходный код (deb-src).
В моём случае я объединил типы компонентов (main и universe) и назвал их all, т.к. точно не помню, какая свободная библиотека поддерживается, а какая - нет. Как описано выше, вид apt-строки строгий, но зависит от иерархии каталога "dists". Главное не трогать критерий "тип_пакетов-архитектура" - он задаётся не в apt-строке, а считывается из системы.

Далее нужно скопировать ВСЕ скачанные пакеты в папку "pool" и просканировать их для создания списка, который можно "скормить" источникам приложений (папка с пакетами принята за ~/Downloads/debs):
cp -R ~/Downloads/debs ~/vlsu-packages/pool
cd ~/vlsu-packages
dpkg-scanpackages . /dev/null | gzip > dists/lucid/all/binary-i386/Packages.gz
Затем для проверки среза добавляем его в источники приложений и обновляем списки пакетов:
sudo add-apt-repository 'deb file:///home/vladimir/vlsu-packages lucid all'
sudo apt-get update
Теперь папку со срезом можно записать на оптический диск или скинуть на флеш-карту. Для его добавления на другом компьютере потребуетсяя произвести следующую операцию (пример указан для флеш-карты с меткой VLSU):
sudo add-apt-repository 'deb file:///media/VLSU/vlsu-packages lucid all'
sudo apt-get update

Способ второй

Первый способ вполне универсален, но есть люди, которые "не дружат" с консолью или просто любят GUI. Именно для них и была создана утилита APTonCD. Скачайте её себе, введя в Synaptic "aptoncd". Программа поселится в меню "Система > Администрирование > APTonCD" (путь указан для GNOME 2.30). После запуска жмём "Создание диска", затем "Добавить", "Папка" и указываем путь (у меня это /home/vladimir/Downloads/debs), "Записать". В итоге получаем iso-образ или записанный диск. Подключить репозиторий можно через "Источники приложений", либо командой "apt-cdrom add" или для примонтированного образа "apt-cdrom -m add".

Комментарии отсутствуют



Лицензия:CC BY-NC-SA 3.0 Unported (c) : "Записки линуксоида Vlsu". 2011-2021 гг.
При копировании материалов сайта ссылка обязательна!Подробнее...

Полная версия | Мобильная версия | Динамический просмотр