distfiles на шару. нужен совет

SvinkaVJeansah

Хотелось бы расшарить на ftp distiles
Идея в том, чтобы любой человек быстро и с минимальным геморроем мог ими воспользоваться и не хранить у себя.
Проблема в том, что DIST_SUBDIR и MASTER_SITE_SUBDIR разные вещи,
учитывая еще зависимости между портами получается большой геморрой
в принципе для многих портов работает

export _MASTER_SITES_DEFAULT=ftp://local.....
make fetch
можно поместить все distfiles в одну папку - тогда будут браться любые distfiles, но не факт, что не будут конфликтовать имена.
маунтить - тож херня, т.к. в случае отсутствия диста он будет туда его тянуть (а записи там по идее нет)
короче, есть ли возможность во фрюхе сделать аккуратное зеркало, чтоб пользование им не превращалось в мозго****** ?

Asgard

А тебе так принципиально именно по ftp их расшарить?
Чем тебе не правится идея по NFS отдавать свои distfiles?

SvinkaVJeansah

С NFS чесно вообще не приходилось сталкиваться ибо samba и ftp кажутся более нормальными технологиями
а что, NFS решает все эти проблемы ? Если да, то отлично!

Asgard

По NFS ты отшариваешь свои /usr/ports/distfiles, а кто-то его себе маунтит в себе в /usr/ports/distfiles.
Если у тебя есть нужный файл, то человеку повезло, а если нет - он будет его качать себе, е если настроишь правильно права доступа, то тебе

natali20

А не боишься, что закачаные им к тебе дистфайлы будут слегка им подправлены?

Asgard

Абсолютно не боюсь.
Для этого есть хеш-суммы

natali20

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

dus1970

см. обсуждение . Оптимальное решение - правка Makefile'a /usr/ports/Mk/bsd.port.mk. Во всяком случае, мне помогло.

Asgard

Именно так. Каждый раз когда требуется распаковать файл, проверяется его хэш.
Я предлагаю шарить только distfiles, а дерево портов (а с ним и хэши) иметь свое.

Asgard

Ну насчет оптимальности я не уверен...

SvinkaVJeansah

То есть ты говоришь, что если человек маунтит себе твою nfs он может юзать твои дистфайлы, если же их нет - он закачивает их себе с инета -
довольно неплохой вариант. Т.е. в этом случае можно обойтись без правки макефайлов? только mount ?
Это хороший вариант. Основная идея, _подчеркиваю_, чтобы конечный пользователь производил минимум работы.
Если можно, объясни чуть поподробнее.

SvinkaVJeansah

Это нихера не оптимальное решение - ибо такое "оптимальное" решение придется предпринимать каждому, кто захочет воспользоваться твоими дистфайлами.
Смысл в том, чтоб сделать все удобно для любого, а не заставлять его долго и мучительно трахать свои макефайлы !

Ivan8209

Известная атака.
Я, хм, "подправлю". Хеш, допустим, не сойдётся.
Ну и начинаю я вставлять пробелы, куда можно, до тех пор,
пока хеш не сойдётся к тому, который надо.
---
Если ты не параноик, это ещё не значит, что за тобой не следят.

dus1970

хэш=md5. Много пробелов придется ставить. Разных и в рпазных местах.

Ivan8209

Этой атакой ломаются очень даже нехилые "хеши", не чета MD5.
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."
Karel Capek

Asgard

1) Я не открою на запись свои дисты людям, в которых я хоть как-то сомневаюсь...
2) Помимо md5 есть еще и размер
3) Не факт, что тот файл что мне зальют, мне вообще понадовится (все что мне надо, у меня уже есть)

Ivan8209

Перед атакой размер файла можно ещё подсократить,
а потом вставлять пробелы.
Ну, или ещё как-то изменять, комментарии-то есть.
---
...Если ты не параноик, это ещё не значит, что за тобой не следят...

Asgard

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

Asgard

man md5
It is conjectured that it is computationally infeasible to produce two messages having the same message digest, or to produce any message having a given prespecified target message digest.

SvinkaVJeansah

Понял.
Монтирование nfs ничем не отличается для пользователя от монтирования cifs - остается та же проблема,
а именно : цель fetch достигается до выполнения install (т.е. точнее - install включает fetch поэтому, если я все правильно понял, install просто не будет выполненеа
Оставить комментарий
Имя или ник:
Комментарий: