lamer_again 20.01.2009 10:28
How-to`s — Создаём локальный репозитарий Ubuntu или Debian используя apt-get
Создание локального репозитария поможет избежать лишних затрат на трафик. Согласитесь это не плохо.Способ первый.
Используйте утилиту apt-ftparchive (пакет apt-utils)
Обычно он установлен по умолчанию.
1. Найдите все пакеты которые вы сохранили или качали. (обычно лежат в /var/cache/apt/archives)
2. Выполните команды
1 |
|
Поясню про файлы Packages.gz и Sources.gz?
Они содержат и отражают структуру локального репозитария.
Используя эту структуру apt-get и synaptic будет знать:
Какие зависмости пакетов;
Что, в каком пакете лежит
Каково описание пакетов
Какой размер пакетов.
Чем отличается файл Packages.gz от Sources.gz?
Packages.gz - содержит информацию о пакетах
Sources.gz - содержит информацию о исходниках которые собраны в пакеты
3. Отредактируйте файл
sudo gedit /etc/apt/sources.list
Добавьте туда строчку
1 |
|
4. Обновите список репозитарев
1 |
|
5. Устанавливайте новые пакеты или обновляйте уже установленные.
1 |
|
Способ второй.
Этот способ более автоматизирован, используйте apt-move.
Именно этот способ решил все проблемы так как нужно лишь указать, где лежит архив файлов и куда выложить ваше зеркало.
apt-move update - переносит из /var/cache/apt/archives пакеты в директорию локального зеркала (указывается в /etc/apt-move.conf как переменная LOCALDIR=path_to).
По сути apt-move update выполняет последовательности следующих команд:
1 |
|
apt-move get - формирует мастер-файл;
apt-move move - переносит пакеты из кэша apt в локальное зеркало;
apt-move delete - удаляет устаревшие пакеты;
apt-move packages - создает Packages.gz и Sources.gz дерева локального зеркала
apt-move
Аццкие отступы
Спасибо огромное автору за простое, но информативное изложение материала. Естественно, плюсую.
Теперь пара замечаний по тексту.
сохранили или качали. (обычно лежат
Эта точка тут не нужна.
В этом же списке существует бесполезный отступ после первого пункта. После второго отступ слишком велик.
deb file:/ путь к пакетам ./
Пробел перед путём не нужен.
Пример работающей команды, очевидно, находится в том же блоке code, что сказывается на отображении негативно.
$ apt-move get
Полагаю, знак доллара скопирован не случайно? Намёк на то, что сии действия доступны всем, а не только руту?
Напоследок, проблемы с переносом строк (лишние переводы строк отмечены при помощи <>):
deb file:/media/myflash/archives ./ У меня путь такой так как пакеты <> лежат на флешке. Очень удобно.
apt-move packages - создает Packages.gz и Sources.gz дерева локального зеркала <> apt-move
Ну и последнее: apt-get тут для создания репозитория не использовался ни разу :) Так что статью стоит переименовать, заменив apt-get на APT.
За сим откланяюсь.