18. mirror
local
repo
snapshot
published
repo
snapshot
published
repo
snapshot
snapshot
published
repo
update
take
snapshot
take
snapshot
publish
publish
publish
verify
pull
merge
diff
add
27. mirror
local
repo
snapshot
published
repo
snapshot
published
repo
snapshot
snapshot
published
repo
update
take
snapshot
take
snapshot
publish
publish
publish
verify
pull
merge
diff
add
29. aptly
serve
$ aptly serve
Serving published repositories, recommended apt sources list:
# aptly/squeeze (main) [amd64, i386] publishes [aptly-0.4.1]:
Snapshot from local repo [aptly]
deb http://wheezy-aptly:8080/aptly/ squeeze main
# upstream/wheezy (main) [amd64, i386] publishes [wheezy-all-7.4]:
Merged from sources: 'wheezy-main-7.4', 'wheezy-contrib-7.4',
'wheezy-non-free-7.4'
deb http://wheezy-aptly:8080/upstream/ wheezy main
Starting web server at: :8080 (press Ctrl+C to quit)...
30. Что
планируется
• Поиск
• Фильтры
при
выполнении
операций
• Mirror
“as-‐is”
with
snapshots
• 0.5:
публикация
локальных
репозиториев,
атомарное
обновление
32. Внутренности
• Написано
на
Go
• База
данных
-‐
LevelDB
• Файлы
пакетов
хранятся
один
раз
• Метаданные
пакетов
33. Внутренности
• Пакеты
«держат
ссылки»
на
свои
файлы
• mirror,
local
repo,
snapshot
–
список
пакетов
• Публикация
–
генерация
мета-‐
данных
+
создание
симлинков