Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[PORTAGE] Einen Portageserver für mehrere Rechner
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
stefanl
n00b
n00b


Joined: 21 Oct 2003
Posts: 14

PostPosted: Wed Nov 05, 2003 12:48 pm    Post subject: [PORTAGE] Einen Portageserver für mehrere Rechner Reply with quote

Hi,

ich habe viele Server die unter Gentoo laufen. Jetzt ist Problem, dass ich auf diesen Rchnern immer Wieder neue Software installieren muss oder nen neuen Server einrichte. Dabei entsteht dann immer viel Traffic für das Herunterladen des Portage-Trees und der Distfiles. Nun habe ich mir gedacht das es doch viel cleverer wäre ein aktuelles Portage-Tree Verzeichnis mit den neuesten Distfiles auf einem zentralen Rechner zu haben, von dem dann die anderen die Software übers LAN beziehen.
Jetzt ist nur die Frage wie realisiere ich das.
Es sollte so sein, das der zentrale Rechner 1mal pro Woche automatisch nen rsync macht. Die anderen Rechner beziehen dann bei "emerge rsync" das portage-tree von dem rechner. Beim installieren der Software auf einem sollte auch erst auf dem zentralen Rechner geschaut werden ob die files vorhanden sind und wenn möglich von dort bezogen werden.
jemand ne idee. wäre dankbar für hilfe.

PS: Hoffe war nicht zuviel frage auf einmal :lol:
Back to top
View user's profile Send private message
gerry
Apprentice
Apprentice


Joined: 01 Sep 2002
Posts: 249
Location: Bodensee

PostPosted: Wed Nov 05, 2003 1:05 pm    Post subject: Reply with quote

hier findest du deinen einstieg.

Die jeweilige Aktualisierung kannst du als Cronjob realisieren.
Back to top
View user's profile Send private message
stefanl
n00b
n00b


Joined: 21 Oct 2003
Posts: 14

PostPosted: Wed Nov 05, 2003 1:35 pm    Post subject: Reply with quote

Gibt es nicht ne andere Möglichkeit als das Portage Verzeichnis zu mounten. Außerdem kann ich den überhaupt Verzeichnisse über das Netzwerk mounten??
Back to top
View user's profile Send private message
ian!
Bodhisattva
Bodhisattva


Joined: 25 Feb 2003
Posts: 3829
Location: Essen, Germany

PostPosted: Wed Nov 05, 2003 1:48 pm    Post subject: Reply with quote

stefanl wrote:
Gibt es nicht ne andere Möglichkeit als das Portage Verzeichnis zu mounten. Außerdem kann ich den überhaupt Verzeichnisse über das Netzwerk mounten??

Du kannst auf dem Portageserver auch alternativ einen Webserver aufsetzen und dort dann die Distfiles etc. hosten. Dazu biegst du den Portagetree auf ein Verzeichnis im Webserver-root um. Auf den anderen Maschinen trägst Du unter GENTOO_MIRRORS die Adresse des Webservers ein.

Gruß,
ian!
_________________
"To have a successful open source project, you need to be at least somewhat successful at getting along with people." -- Daniel Robbins
Back to top
View user's profile Send private message
sirro
Veteran
Veteran


Joined: 20 Jul 2003
Posts: 1472
Location: aachen.nrw.de.eu

PostPosted: Wed Nov 05, 2003 1:48 pm    Post subject: Reply with quote

ja, sonst würde es ja nicht in der FAQ stehen ;) (achja: nfs ist das Zauberwort)
Alternative wäre einen HTTP/FTP-Server aufzusetzen und den zentralen Rechner als Gentoo Mirror in die /etc/make.conf einzutragen. Das hätte den entscheidenden Nachteil, dass nur dein zentraler Rechner Änderungen (also auch Neueintragungen) im distfiles-Verzeichnis machen kann.

Der Artikel [1] wird dir vielleicht weiterhelfen, dein rsync-problem in den Griff zu bekommen.
rsyncd auf deinem zentralen Rechner einrichten und einmal wöchtenlich syncen lassen. Die anderen Rechner stellst du so ein, dass sie auf deinen zentralen Rechner ihr rsync machen.

[1] http://www.gentoo.org/doc/en/rsync.xml
Back to top
View user's profile Send private message
Robelix
l33t
l33t


Joined: 21 Jul 2002
Posts: 760
Location: in a World created by a Flying Spaghetti Monster

PostPosted: Wed Nov 05, 2003 6:42 pm    Post subject: Reply with quote

Ich hab' seit einiger Zeit schon ein zentrales /usr/portage auf mehreren Maschinen über NFS gemountet - funzt Bestens.

Einen rsync braucht man dann nur einmal machen - alle anderen Maschinen haben automatisch den aktuellen portage tree.
Auch die distfiles werden von Allen gemeinsam verwendet - portage schaut automatisch nach ob ein File schon heruntergeladen ist.
Einziges Problem, das auftauchen kann ist wenn 2 Rechner gleichzeitig den selben File downloaden - das ergibt Müll. Am Besten vorher zeitversetzt ein emerge -f machen, dann kann sowas nicht passieren.

Robelix
_________________
mysql> SELECT question FROM life, universe, everything WHERE answer=42;
Empty set (2079460347 sec)
Back to top
View user's profile Send private message
dertobi123
Retired Dev
Retired Dev


Joined: 19 Nov 2002
Posts: 2679
Location: Oberhausen, Germany

PostPosted: Wed Nov 05, 2003 7:16 pm    Post subject: Reply with quote

Und wenn in den Servern recht ähnliche Hardware verbaut ist, kann man auf Packages (oder GRP, wie mans nennen möchte) zurückgreifen ...

Tobias
_________________
Ganz frisch: Praxisbuch Nagios
Gentoo Linux - Die Metadistribution (2. Auflage)
Back to top
View user's profile Send private message
amne
Bodhisattva
Bodhisattva


Joined: 17 Nov 2002
Posts: 6378
Location: Graz / EU

PostPosted: Wed Nov 05, 2003 7:26 pm    Post subject: Reply with quote

ich habe aus verschiedenen gründen auf nfs verzichtet. mein gateway bezieht den aktuellen portage tree aus dem netz und die clients aus dem lokalen netz können zum gateway syncen:
am gateway:
xinetd ist installiert, /etc/xinetd.conf ist auf standardeinstellungen.
/etc/xinetd.d/rsyncd:
Code:

# default: off
# description: Vsftpd is an FTP server, designed to be secure.
# $Header: /home/cvsroot/gentoo-x86/net-ftp/vsftpd/files/vsftpd.xinetd,v 1.2 200
2/05/04 03:42:50 woodchip Exp $

service rsync
{
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_success  += DURATION USERID
        log_on_failure  += USERID
        nice            = 10
        disable         = no
        port            = 873
        instances       = 10
        bind            = 192.168.0.75
}

anmerkung: wie man am header sieht, habe ich das file vom ftp-server kopiert und geändert ;)
wichtig ist es, bei "bind =" die richtige IP (nämlich die IP der netzwerkkarte im lan anzugeben, bei mir 192.168.0.75).

/etc/rsync/rsyncd.conf:
Code:
# Minimal configuration file for rsync daemon
# See rsync(1) and rsyncd.conf(5) man pages for help

# This line is required by the /etc/init.d/rsyncd script
#pid file = /var/run/rsyncd.pid


#aus gentoo-rsync guide:
#uid = nobody
#gid = nobody
use chroot = yes
max connections = 20
pid file = /var/run/rsyncd.pid
motd file = /etc/rsync/rsyncd.motd
transfer logging = yes
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300

#[gentoo-x86-portage]
#this entry is for compatibility
#path = /usr/portage
#comment = Gentoo Linux Portage tree

wie unschwer anhand der kommentare zu erkennen, habe ich das fast 1:1 aus dem gentoo-rsync guide übernommen.

/etc/rsync/rsyncd.motd
hier kannst du irgendwas blödes reinschreiben ;)

auf den clients im lan:
in /etc/make.conf
SYNC="rsync://192.168.0.75/gentoo-portage"
192.168.0.75 ist natürlich durch die jeweilige IP des lokalen rsync servers zu ersetzen.

was den download der sourcen angeht:
ich verwende squid (ziemlich in der standardkonfiguration) als proxy server, wenn ein client nach dem anderen updatet sollte das dann eh aus dem cache kommen. zusätzlich habe ich /usr/portage/distfiles des gateways via ftp zugänglich gemacht (falls etwas schon wieder aus dem cache vom squid verschwunden ist weil man ein paar wochen später einen neuen rechner aufsetzt):
dazu läuft ein vsftpd:
/etc/xinetd.d/vsftpd
Code:
# default: off
# description: Vsftpd is an FTP server, designed to be secure.
# $Header: /home/cvsroot/gentoo-x86/net-ftp/vsftpd/files/vsftpd.xinetd,v 1.2 200
2/05/04 03:42:50 woodchip Exp $

service ftp
{
        type            = UNLISTED
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/vsftpd
        server_args     = /etc/vsftpd/vsftpd.conf
        log_on_success  += DURATION USERID
        log_on_failure  += USERID
        nice            = 10
        disable         = no
        port            = 21
        instances       = 10
        bind            = 192.168.0.75
}

anmerkung: hier hab ich ein bisschen rumgespielt, im prinzip sollte es auch passen, wenn du das standard-konfigurationsfile um "bind =" erweiterst und "disable = no" einträgst.


auch hier wieder: "bind =" auf die IP im lan, du willst ja weder rsync- noch ftp-server für den rest der welt spielen.

/etc/vsftpd/vsftpd.conf
Code:
# Access rights
anonymous_enable=YES
local_enable=NO
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
# Security
anon_world_readable_only=YES
connect_from_port_20=YES
hide_ids=YES
pasv_min_port=50000
pasv_max_port=60000
# Features
xferlog_enable=YES
ls_recurse_enable=NO
ascii_download_enable=NO
async_abor_enable=YES
# Performance
one_process_model=YES
idle_session_timeout=120
data_connection_timeout=300
accept_timeout=60
connect_timeout=60
#anon_max_rate=500000

anon_root=/usr/portage/
ftp_username=distfiles
vsftpd_log_file=/var/log/vsftpd/vsftpd.log


bei den clients habe ich in /etc/make.conf:
Code:
GENTOO_MIRRORS="ftp://192.168.0.75/ ftp://ftp.tu-clausthal.de/pub/linux/gentoo http://www.ibiblio.org/gentoo"


so, ich hoffe, meine konfiguration ist damit reproduzierbar.


Last edited by amne on Thu Dec 04, 2003 7:39 pm; edited 1 time in total
Back to top
View user's profile Send private message
stefanl
n00b
n00b


Joined: 21 Oct 2003
Posts: 14

PostPosted: Thu Nov 06, 2003 1:26 pm    Post subject: Fehlende Packages zentral speichern Reply with quote

Hi

vielen Dank für die supergenaue Beschreibung. Es hat alles prima geklappt. Nur ein Problem ist noch: Wenn in den Distfiles auf dem zentralen Rechner ein Package nicht vorhanden ist, zieht sich der Client dieses aus dem Netz. Das ist ja auch okay. Nur sollte es doch möglich sein dieses dann auf dem zentralen Rechner zur Verfügung zu stellen.

Jemand ne Idee. Geht es vielleicht so, dass wenn die Anfrage schief geht der zentrale Server sich das Package zieht und es dann anschließend dem Client zur Verfügung stellt??

Vielen Dank für Hilfe
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9625
Location: beyond the rim

PostPosted: Thu Nov 06, 2003 5:55 pm    Post subject: Reply with quote

blackace in #gentoo-server hatte meine ich eine Art "Distfiles-Proxy" Skript oder Apache Modul geschrieben, wodurch alle Anfragen vom Server weitergereicht wurden, wenn er eine Datei nicht selber hatte (ich hab auch nur von gehört, nie selber gesehen/ausprobiert).
Back to top
View user's profile Send private message
ian!
Bodhisattva
Bodhisattva


Joined: 25 Feb 2003
Posts: 3829
Location: Essen, Germany

PostPosted: Thu Nov 06, 2003 6:34 pm    Post subject: Reply with quote

Genone wrote:
blackace in #gentoo-server hatte meine ich eine Art "Distfiles-Proxy" Skript oder Apache Modul geschrieben, wodurch alle Anfragen vom Server weitergereicht wurden, wenn er eine Datei nicht selber hatte (ich hab auch nur von gehört, nie selber gesehen/ausprobiert).

Sowas ist recht einfach mit mod_rewrite zu realisieren.
Wenn ich mehr Zeit hätte... :wink:
_________________
"To have a successful open source project, you need to be at least somewhat successful at getting along with people." -- Daniel Robbins
Back to top
View user's profile Send private message
amne
Bodhisattva
Bodhisattva


Joined: 17 Nov 2002
Posts: 6378
Location: Graz / EU

PostPosted: Thu Dec 04, 2003 7:45 pm    Post subject: Reply with quote

Aus aktuellem Anlass möchte ich darauf hinweisen, dass ich meinem obrigen Post folgendes geändert habe:
/etc/rsync/rsyncd.conf:

Code:
use chroot = yes


Wer wie in meiner Anleitung angegeben den Rsync-Server auf das Netzwerkdevice des LANs gebunden hat (bind = 192.168.0.X / o.ä. in /etc/xinetd.d/rsyncd) braucht sich übrigens keine Sorgen zu machen - ausser er vertraut den Usern in seinem LAN nicht.
Back to top
View user's profile Send private message
stream
Guru
Guru


Joined: 04 Jan 2003
Posts: 401

PostPosted: Thu Dec 04, 2003 10:32 pm    Post subject: Reply with quote

Genone wrote:
blackace in #gentoo-server hatte meine ich eine Art "Distfiles-Proxy" Skript oder Apache Modul geschrieben, wodurch alle Anfragen vom Server weitergereicht wurden, wenn er eine Datei nicht selber hatte (ich hab auch nur von gehört, nie selber gesehen/ausprobiert).


meinst du den tsp-cache?
https://forums.gentoo.org/viewtopic.php?t=110973
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9625
Location: beyond the rim

PostPosted: Fri Dec 05, 2003 7:34 pm    Post subject: Reply with quote

stream wrote:
Genone wrote:
blackace in #gentoo-server hatte meine ich eine Art "Distfiles-Proxy" Skript oder Apache Modul geschrieben, wodurch alle Anfragen vom Server weitergereicht wurden, wenn er eine Datei nicht selber hatte (ich hab auch nur von gehört, nie selber gesehen/ausprobiert).


meinst du den tsp-cache?
https://forums.gentoo.org/viewtopic.php?t=110973


Möglich, habs wie gesagt nie selber gesehen / ausprobiert.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum