LINUX.ORG.RU
ФорумAdmin

общий /usr/portage/distfiles для нескольких машин?


0

0

В сети есть несколько машин с gentoo. Хотелось бы сэкномить трафик и время при скачивании исходников с зеркал.

Можно на одном из хостов экспортировать по NFS директорию /usr/portage/distfiles с правом записи в нее, а с других хостов монтировать ее в /usr/portage/distfiles. Будет ли portage при этом работать корректно?

Как я понимаю, portage скачивает пакеты в /usr/portage/distfiles, и не удаляет оттуда ничего. Если так, то все должно быть ok...

Всем зранее спасибо.

★★

По идее, все должно быть в порядке

ftor
()

Все будет работать отлично, проверено на личном опыте.

MaDMaN ★★
()

Да, все будет замечательно работать (emerge при скачивании файлов создает блокировки - параллельно один и тот же файл разными клиентами скачиваться не будет: один качает, другие ждут разблокировки).
Вопрос: а зачем расшаривать только /usr/portage/distfiles, почему нельзя расшарить весь /usr/portage ? Так ведь более рационально на мой взгляд.

spirit ★★★★★
()
Ответ на: комментарий от spirit

> Вопрос: а зачем расшаривать только /usr/portage/distfiles, почему нельзя расшарить весь /usr/portage ? Так ведь более рационально на мой взгляд.

А так разве можно? Ведь на разных машинах будут установлены разные пакеты и разве содержимое /usr/portage может быть одинаковым? Или portage хранит информацию о установленных пакетах в другом месте?

Если так можно, то это конечно же рациональнее. При выполнении emerge --sync вроде как обновляется дерево портежей, т.е. /usr/portage, если так, то делать это надо будет на одной машине (сервере), а остальные буду обновлять только софт (emerge -uDN world). Или я что то недопонимаю, тогда поправьте плз.

ps: Дело в том, что gentoo поставил недавно, и не успел еще освоить этот дистрибутив до конца. Поэтому могу и глупость сморозить :)

samson ★★
() автор топика
Ответ на: комментарий от samson

> А так разве можно?
Да, у нас именно так сейчас и работает: /usr/portage общий на всю контору.

> Или portage хранит информацию о установленных пакетах в другом месте?
Да, хранит совсем в другом месте (/var/db/pkg).

spirit ★★★★★
()
Ответ на: комментарий от spirit

я так понимаю emerge компилит пакеты в самом же дереве /usr/portage. Поэтому я думаю сеть будет очень хорошо забиваться во время компиляции, во-первых. Во-вторых это замедлит компиляцию если сеть не очень быстрая, потому как все объектники будут перекидываться по nfs.

mrdeath ★★★★★
()
Ответ на: комментарий от mrdeath

Кстати, можно собирать все на сервере, делать пакеты quickpkg и на компах ставить из пакетов с пом. emerge --usepkonly =)

ftor
()
Ответ на: комментарий от mrdeath

>я так понимаю emerge компилит пакеты в самом же дереве /usr/portage
нет. по умолчанию в /var/tmp

>Кстати, можно собирать все на сервере, делать пакеты quickpkg и на компах ставить из пакетов с пом. emerge --usepkonly =)
лучше использовать опцию FEATURES=buildpkg в /etc/make.conf и они будут генерится автоматом.

Страничка из хендбука по теме: http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=3

Там ещё описывается distcc (распределённая компиляция).

Nao ★★★★★
()
Ответ на: комментарий от mrdeath

Вы неправильно понимаете. Компиляция происходит в /tmp/portage. Читайте логи и радуйтесь.

а /usr/portage вообще можно клиентам только на чтение открыть.

anonymous
()
Ответ на: комментарий от mrdeath

> я так понимаю emerge компилит пакеты в самом же дереве /usr/portage

помоему, тоже в /var/tmp/portage

> Кстати, можно собирать все на сервере, делать пакеты quickpkg и на компах ставить из пакетов с пом. emerge --usepkonly =)

Воперовых компы не такие уж и слабые, поэтому можно и покомпилить... Да и железо разное немного (на одном AMD, на другом Intel...)

> Там ещё описывается distcc (распределённая компиляция).

это очень хорошая идея! Еще думаю использовать вместе с ccache...

samson ★★
() автор топика
Ответ на: комментарий от anonymous

> а /usr/portage вообще можно клиентам только на чтение открыть.

а если клиент захочет качнуть какой либо пакет? Например, на серваке не стоит не иксов ни КДЕ, и на ондой из машин делаем emerge kde k3b... Portage захочет скачать пакеты в /usr/portage/distfiles

samson ★★
() автор топика
Ответ на: комментарий от samson

вроде, если не сделано никаких специальных телодвижений, при emerge --sync скачивается полное дерево портеджей.

anonymous
()

# mount|grep /usr|grep nfs
192.168.1.3:/usr/portage on /usr/portage type nfs (rw,hard,intr,rsize=16384,wsize=16384,addr=192.168.1.3)
192.168.1.3:/usr/portage/distfiles on /usr/portage/distfiles type nfs (rw,hard,intr,rsize=16384,wsize=16384,addr=192.168.1.3)
192.168.1.3:/usr/portage/packages on /usr/portage/packages type nfs (rw,hard,intr,rsize=16384,wsize=16384,addr=192.168.1.3)
192.168.1.3:/usr/local/portage on /usr/local/portage type nfs (rw,udp,hard,intr,rsize=65536,wsize=65536,addr=192.168.1.3)
192.168.1.3:/usr/local/overlays on /usr/local/overlays type nfs (rw,hard,intr,rsize=16384,wsize=16384,addr=192.168.1.3)

В таком виде оно беспроблемно года три работает :)

KRoN73 ★★★★★
()
Ответ на: комментарий от anonymous

>а зачем /usr/portage/distfiles и /usr/portage/packages, если есть /usr/portage

На машине-хосте это разные разделы, при монтировании по NFS маунты хоста не передаются, будут просто пустые каталоги.

KRoN73 ★★★★★
()

NFS - оно-то хорошо. Но кроме как по ip и uid\gid наш NFS аутенитфикацию не держит, разве что в версии 4 появилось, но я не видел нигде работающей v4 с аутентификацией. Может кто поделится? сейчас сам в раздумьях, если сеть внутренняя, т.е. по сути мы доверяем хостам (что это именно их ip\uid\gid), то да, можно NFS, а если - нет? аутентификацию держит Samba, но она не казырна по сравнению со скоростью в NFS

Plazmid
()
Ответ на: комментарий от samson

/usr/local/portage для своих расширений портежа, а /usr/local/overlays - для сторонних оверлеев (скажем, оверлеи layman'а там)

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.