Распределенный репозиторий пакетов для Linux?


10

Много раз я видел заметку, в которой говорилось, что пользователи не должны обновлять свои репозитории слишком часто (то есть чаще, чем один раз в день), потому что это создает слишком большой стресс для серверов. Также я понимаю, что для таких хранилищ нужны чудовищные машины.

Мне интересно, есть ли что-то вроде BitTorrent для управления пакетами? Или, если нет, возможно ли иметь такую ​​систему?

(Я имею в виду систему, в которой каждый пользователь хранит свои пакеты и обслуживает их так же, как BitTorrent.)


1
Я никогда не видел такую ​​записку. Кроме того, вот почему есть зеркала.
tshepang

@Tshepang Вот тот, что для Gentoo (внизу страницы), я также помню, что видел его и для другого дистрибутива gentoo.org/doc/en/handbook/handbook-amd64.xml?part=2&chap=1
phunehehe

Возможно, это уникально для систем на основе src?
Чепанг

чувак, правильный ответ должен состоять в том, чтобы использовать соответствующие заголовки кеша, извлекать только если новее ... и я почти уверен, что это есть где-то в Arch ... это больше для дистрибутивов и таких, как я, зависимых от обновлений
xenoterracide

Ответы:


8

Действительно, это возможно и, конечно, существует, но все существующие проекты все еще являются экспериментами.

Я нашел две интересные статьи:

Так что да, это возможно, и это действительно очень интересная тема.


Смотри, это первый ответ, который я ожидал :)
phunehehe

@phunehehe спасибо, я немного исправил ответ.
tmow

1
Стоит отметить, что это сделало бы практически невозможным международный контроль за криптографией ... возможно, почему это не было сделано - например, правительство США считает крипто "оружейной" технологией. было бы отстойно быть арестованным как торговец оружием за размещение пакета linux.
RobotHumans

@ aking1012 Это хороший момент, но контроль возможен, достаточно загрузить все пакеты и проверить их один за другим (то же самое с обычным дистрибутивом), важно, чтобы дистрибьютор GNU / Linux предоставил список пакеты с cksum (sha *, md5, что угодно), это то, что происходит в любом случае в обычных дистрибутивах пакетов.
tmow

4

Кроме того, если это внутри корпоративной настройки, вы можете настроить локальные зеркала и / или прокси-серверы для решения этой проблемы. Таким образом, биторрент не нужен. Если вы используете дистрибутив на основе Debian, вы уже можете просто использовать apt-cacher / apt-proxy для этого.


Спасибо, но это не совсем обо мне или моей компании. Я просто думал об этом как о способе избежать нагрузки на сервер любого дистрибутива. Было бы здорово, не так ли?
phunehehe

1

Вы можете попытаться настроить своего рода балансировщик нагрузки на основе Apache и указать несколько разных зеркал в качестве «внутреннего» конца. Каждый раз, когда вы обращаетесь к своему прокси-серверу, будет появляться другое реальное зеркало, тем самым распределяя ваши запросы между несколькими зеркалами.

Но большинство зеркал обновляются только раз в день. Одно задание на зеркалирование может быть длительным, особенно при большом обновлении. Операторы зеркалирования чаще, чем один раз в день, обычно не стоят того, и зеркалирование часто создает гораздо большую нагрузку на восходящий поток, чем простое apt-get update.

Помните, что зеркала и дистрибутивы часто делаются на добровольной основе. Эти добровольцы должны платить большие деньги за пропускную способность, хранение, электричество, охлаждение и т. Д.

Я сам управляю зеркалом Debian. Пожалуйста, помогите нам и не бейте нас слишком сильно.


1

Для apt: apt-transport-debtorrent. Обратите внимание, что вам все еще нужно получить список пакетов (т.е. apt-get update) с одного из зеркал, чтобы он знал, какие пакеты доступны.


Я пытался использовать это, и ничего не случилось. Кто-нибудь использовал это успешно?
Фахим Митха

В прошлый раз, когда я попробовал, это работало, но было очень медленно. Попробуйте прочитать это: debtorrent.alioth.debian.org/Install
syockit
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.