Создание локального репозитория с помощью apt-move.

Изображение пользователя uicraor.

Устанавливаем пакет apt-move.
Создаем папку где у нас будет лежать локальный репозитоий, у меня например /home/srv/mirror/
Редактируем конфигурационный файл:
sudo nano /etc/apt-move.conf
Должно получиться вот так:

Развернуть/свернуть скрытый текст.
#  Configuration file for the apt-move script.
#
#  You should modify the following configuration to suit your system.
#  See the apt-move(8) manpage for information about these settings.
#
#  The defaults for this file are simply the settings I currently use.

# Configuration for apt-move script --------------------------------------

# The sites in ``/etc/apt/sources.list'' that you wish to mirror.
APTSITES="/all/"

# Указываем где находится наш локальный репозиторий
LOCALDIR=/home/srv/mirrors/

# Здесь указываем название диструбутива для репозитория, я оставил как есть.
DIST=stable

# The package types you want to mirror.
# Possible values are: binary, source, and both (use only one).
PKGTYPE=binary

# The full (absolute) path to your local cache of package files. The default
# will work for the apt-get packages, unless you've reconfigured apt.
FILECACHE=/var/cache/apt/archives

# The full (absolute) path to your local cache of Packages files.  The
# default will work for the apt-get Packages, unless you've reconfigured apt.
LISTSTATE=/var/lib/apt/lists

# Do you want apt-move to delete obsolete files from your mirror? (yes/no)
DELETE=no

# Maximum percentage of files to delete during a normal run.
MAXDELETE=20

# Здесь спрашивают нужны ли нам бинарники из /var/cache/apt/archives после создания локального репозитория, если нужны пишем yes, если нет то no
COPYONLY=yes

# Set this to 'none gzip' to get uncompressed Packages/Sources files.
PKGCOMP=gzip

# Set this to yes to make apt-move generate Contents files.
CONTENTS=yes

# Set this to key name to be used for signing Release files.
GPGKEY=

# End Configuration ------------------------------------------------------
Создаем локальный репозиторий:
sudo apt-move update
Теперь вы можете копировать локальный репозиторий на любой носитель и переносить пакеты на другой компьютер или на этот же если вы переставили систему.

Комментарии (11)

0
DarkneSS - 21 Май, 2010 - 18:36
Изображение пользователя DarkneSS.

Плюсанул. Насколько я помню, утилита копирует все пакеты, которые есть в кэше апта (т.е. которые были установлены)?

+1
uicraor - 21 Май, 2010 - 19:46
Изображение пользователя uicraor.

да именно так... =)

0
fox4 - 24 Май, 2010 - 20:06
Изображение пользователя fox4.

А как решить вопрос с ключами ?
# Set this to key name to be used for signing Release files.
GPGKEY=

Неподписаный репозиторий игнорируется и apt просится в инет прописать путь к зеркалу в начало sources.list уже не помогает.
И ещё перед apt-move update советую apt-get autoclean.

0
DarkneSS - 24 Май, 2010 - 20:07
Изображение пользователя DarkneSS.

Думаю стоит поковыряться и поискать галку, чтобы ставил из неподписанного...
Имхо если делать автоклин перед апт-мув, то все пакеты будут удалены =)

0
knuckles - 25 Май, 2010 - 11:26
Изображение пользователя knuckles.

sudo apt-get --allow-unauthenticated install <имя_пакета>
или
sudo aptitude --allow-untrusted install <имя_пакета>

0
uicraor - 24 Май, 2010 - 22:21
Изображение пользователя uicraor.

у меня все прокатывает, то что ругается, я не обращаю внимаение... ставиться без проблем...
а так я думаю никому не проблема сделать свой ключ... :D
хотя я ставлю командой wajig install и нужный пакет... :D

0
fox4 - 24 Май, 2010 - 23:02
Изображение пользователя fox4.

В KPackageKit такой галки пока нету и думаю врядли появится (иначе потеряется смысл ключами репозитории подписывать с точки зрения безопасности).
autoclean - Erase old downloaded archive files
apt-get autoclean удаляет только старые версии пакетов и следовательно по apt-move update будем иметь свежий срез пакетов а не мешанину всего что качалось за последнее время :-) Это кстати проверено. Ключ сделать тоже не проблема ... проблема в том как этот ключ apt-move подсунуть чтобы он полученный локальный репозиторий автоматом подписывал вроде и в конфиге эта настройка имеется
# Set this to key name to be used for signing Release files.
GPGKEY=
но вот сколько я с бубном не плясал у меня не получилось только в ручную по какой-то статье накопаной в инете :-(

0
DarkneSS - 24 Май, 2010 - 23:07
Изображение пользователя DarkneSS.

А смысл сохранять только свежие пакеты?.. Не понимать =)
Они же всё равно не продублируются в репозитории! Впрочем хозяин - барин.

0
uicraor - 25 Май, 2010 - 08:46
Изображение пользователя uicraor.

ты можешь сам сделать какие пакеты тебе нужны в локальном репе...
нужно всего лишь выполнить пару команд...
apt-move movefile имя пакета
создаем Packages.gz и Sources.gz дерева локального зеркала...
apt-move packages
и будем иметь не только свежий срез но и только нужные пакеты...
з.ы. статью в студию! =)

0
fox4 - 29 Май, 2010 - 14:16
Изображение пользователя fox4.

Кажется по этой статье давно это было...
Конкретно я пользовался этим
Подписываем release-файл своим ключем
# gpg --gen-key
# apt-key add /root/.gnupg/pubring.gpg
# gpg -abs -o /home/debian/dists/Release.gpg /home/debian/dists/Release

0
DarkneSS - 26 Сентябрь, 2010 - 17:37
Изображение пользователя DarkneSS.

Что делать, если не для всех веток репозитория создаются Packages.gz и Sources.gz? Например, у меня есть contrib и partner, которые не проиндексировались, и их нельзя добавить в сорс-лист.

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

Image CAPTCHA
Введите цифры