• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Frage zum zentralen Update mit mehreren PC's

root24

Member
Hallo!

Ausgangssituation: Auf meinem sozusagen Server habe ich schon einiges mit apt upgedatet (ich würde am liebsten die ordnerstruktur so lassen wie sie ist, da ich doch schon einiges runtergeladen habe und das dann für meinen client zur Verfügung stehen würde). Ich habe die apt verzeichnisse so gelassen wie sie default mäßig waren. Beide PC's haben SuSE 9.2.

Aufgabendurchführung: Mache ich dann nur die Änderung beim Client in der apt.conf und auf /var?
Mounten werde ich das NFS in /media/apt-share.

Meine Fragen wären: Was muss ich serverseitig, was clientseitig an der apt konfiguration ändern?

Danke!!

mfg,
root24.
 

oc2pus

Ultimate Guru
root24 schrieb:
Ausgangssituation: Auf meinem sozusagen Server habe ich schon einiges mit apt upgedatet (ich würde am liebsten die ordnerstruktur so lassen wie sie ist, da ich doch schon einiges runtergeladen habe und das dann für meinen client zur Verfügung stehen würde). Ich habe die apt verzeichnisse so gelassen wie sie default mäßig waren. Beide PC's haben SuSE 9.2.
das wird dann schwierig, da alle PCs auf /var/cache/apt und /var/state/apt des Servers zugreifen müssen .. deshalb habe ich diese Verzeichnisse verschoben.

root24 schrieb:
Meine Fragen wären: Was muss ich serverseitig, was clientseitig an der apt konfiguration ändern?
Client-Seitig muss das Repository in der sources.list bekannt sein.
Serverseitig muss apt4rpm und Abhängige installiert werden, aber das steht in dem zitierten Link drin :)

evtl ist es für dich einfacher den Cache via deinem eigenen Webserver zur Verfügung zu stellen. Die Clients müssen dann in ihrer sources.list den eigenen Web-Server ansprechen. Das geht aber nur wenn diese Clients KEINE neuen RPMs installieren, also den Cache verändern. Wenn sie das tun, ist die NFS Lösung die bessere.
 
OP
R

root24

Member
Link hab ich aber keinen gefunden.
Was ist damit gemeint, dass ich das Respository des Servers eintragen muss? Wie trag ich ein solches Respository ein?

Wenn ich jetzt die Verzeichnisse so verschiebe wie du das gemacht hast, dann muss ich serverseitig in der apt.conf die Verzeichnis struktur lokal ändern und am client für das gemountete NFS - Verzeichnis oder?

Reicht es wenn ich apt4rpm installiert habe? Was muss ich noch installieren und wozu brauch ich überhaupt apt4rpm?

Danke!

mfg,
root24.
 
OP
R

root24

Member
Ok, die Verzeichnisstruktur (beim Server) hab ich jetzt einfach kopiert mit:
Code:
cp -r /var/cache/apt /local/packages/cache
cp -r /var/state/apt /local/packages/state

Ich habe auch den Inhalt der apt.conf angepasst, wie folgt:

Code:
Dir "/"
{
  State "local/state/apt/"
  {
    lists "lists/";
    xstatus "xstatus";
    userstatus "status.user";
    status "/local/status";
  };

  Cache "local/cache/apt/"
  {
    archives "archives/";
    srcpkgcache "srcpkgcache.bin";
    pkgcache "pkgcache.bin";
  };
};

Ist das richtig?

ap4rpm ist auch installiert (am Server).

Am Client hab ich jetzt noch nichts geändert.

Ich glaube, dass ich jetzt das Verzeichnis /local/packages am Client mounten muss.

Muss in der apt.conf am Client etwas verändert werden?
Wie soll ich das neue Respository beim Client eintragen?
Wozu brauche ich apt4rpm am Server?
Wie bringe ich überhaupt den Client dazu die lokalen Downloads zum Installieren zu verwenden, die in /local/packages/cache ... liegen?

Ich weiß, dass ich viel zu diesem Thema frage und ich hoffe wirklich, dass ich nicht zu lästig wirke, aber dass ich nicht immer alles doppelt downloaden muss wäre für mich wirklich ein großer Erfolg, da ich ja nur 2GB Downloadvolumen pro Monat habe.

Danke!

mfg,
root24.
 

oc2pus

Ultimate Guru
root24 schrieb:
Ok, die Verzeichnisstruktur (beim Server) hab ich jetzt einfach kopiert mit:
Code:
cp -r /var/cache/apt /local/packages/cache
cp -r /var/state/apt /local/packages/state
gut

root24 schrieb:
Ich habe auch den Inhalt der apt.conf angepasst, wie folgt:

Code:
Dir "/"
{
  State "local/state/apt/"
  {
    lists "lists/";
    xstatus "xstatus";
    userstatus "status.user";
    status "/local/status";
  };

  Cache "local/cache/apt/"
  {
    archives "archives/";
    srcpkgcache "srcpkgcache.bin";
    pkgcache "pkgcache.bin";
  };
};

Ist das richtig?
ja

root24 schrieb:
ap4rpm ist auch installiert (am Server).
ok

root24 schrieb:
Am Client hab ich jetzt noch nichts geändert.
Ich glaube, dass ich jetzt das Verzeichnis /local/packages am Client mounten muss.
ja

root24 schrieb:
Muss in der apt.conf am Client etwas verändert werden?
Wie soll ich das neue Respository beim Client eintragen?
z.Bsp so:
# local packages in /local/packages SuSE 9.2
rpm file:/local/packages/apt/ SuSE/9.2-i386 SuSE92

root24 schrieb:
Wozu brauche ich apt4rpm am Server?
das erstellt den index des lokalen Repositories, der Befehl heisst aptate. Dazu musst du eine /etc/aptate.conf editieren :)

root24 schrieb:
Wie bringe ich überhaupt den Client dazu die lokalen Downloads zum Installieren zu verwenden, die in /local/packages/cache ... liegen?
durch die sources.list
 
OP
R

root24

Member
Danke für die vielen Infos, aber leider ist mir das mit dem Respository eintragen noch nicht ganz klar. Ich habe jetzt durch das Mounten von NFS die am Client die gleiche Verzeichnisstruktur wie beim Server.
/local/packages/cache ...

Passt das so? Du hast nämlich beim Einbinden vom Respository folgendes geschrieben: rpm file:/local/packages/apt/ SuSE/9.2-i386 SuSE92
Bei mir gibt es jedoch kein solches Verzeichnis.

Wie muss ich das Respository eintragen.
Ich hab das so verstanden, dass ich mir mit apt4rpm ein eigenes Respository erstellen soll und dann eintragen soll, aber wenn ich apt4rpm serverseitig installieren sollte wie kann ich dann das mit apt4rpm erzeugte Respository am Client einbinden?
Muss ich vielleicht beim Client die apt.conf auf /local/packages/ anpassen, oder genügt es das Respository einzutragen?

Danke!

mfg,
root24.
 

oc2pus

Ultimate Guru
wenn du nur einen apt-cache sharen willst zwischen deinen PCs brauchst du das apt4rpm nicht.

du musst dann nur entscheiden wo die Konfigurationen abgelegt werde (zentral oder pro client).
 
OP
R

root24

Member
Danke für die Hilfe. Jetzt hab ich es geschafft. Ich hab einfach jetzt eine zentrale apt konfiguration und nutze den cache gemeinsam.
Ich habe auf jedem Rechner eine /etc/apt/apt.conf.d/apt.conf , in der das Abteil mit Etc steht, damit er die "richtige" apt.conf findet, sonst habe ich gar nichts in /etc/apt. Ist das auch sauber so? (funktionieren tut es). Weiters hab ich dann in /local/packages den cache, state und das etc verzeichnis. Das müsste eigentlich so passen.

Meine letzte Frage wäre: ich hab auf dem einen Rechner, wie du es mir erklärt hast, das jdk in apt eingebunden mit dem bauplan und so (jdk 1.5.0). Jetzt findet er es aber nur auf dem einen Rechner, weil es ja in /usr/src/packages ... drinnen ist. Das heißt apt sucht auch in diesem Ordner nach installierbaren rpms???
Kann ich es irgendwie ohne viel Aufwand hinbiegen, dass der andere computer auch zugriff auf diese 1.5.0er rpms hat. Z.B.: ohne Bauplan erstellen, und so, also nicht alles nocheinmal machen, wie du es mir erklärt hast.

Danke!

mfg,
root24.
 

oc2pus

Ultimate Guru
root24 schrieb:
... Ich hab einfach jetzt eine zentrale apt konfiguration und nutze den cache gemeinsam.
Ich habe auf jedem Rechner eine /etc/apt/apt.conf.d/apt.conf , in der das Abteil mit Etc steht, damit er die "richtige" apt.conf findet, sonst habe ich gar nichts in /etc/apt. Ist das auch sauber so? (funktionieren tut es). Weiters hab ich dann in /local/packages den cache, state und das etc verzeichnis. Das müsste eigentlich so passen.
fein ;)

root24 schrieb:
Meine letzte Frage wäre: ich hab auf dem einen Rechner, wie du es mir erklärt hast, das jdk in apt eingebunden mit dem bauplan und so (jdk 1.5.0). Jetzt findet er es aber nur auf dem einen Rechner, weil es ja in /usr/src/packages ... drinnen ist. Das heißt apt sucht auch in diesem Ordner nach installierbaren rpms???
Kann ich es irgendwie ohne viel Aufwand hinbiegen, dass der andere computer auch zugriff auf diese 1.5.0er rpms hat. Z.B.: ohne Bauplan erstellen, und so, also nicht alles nocheinmal machen, wie du es mir erklärt hast.
ja das geht auch: dazu brauchst du ein EIGENES LOKALES REPOSITORY. Dort packst du deine eigenen RPMs rein.

Dazu braucht man dann apt4rpm und wie das geht steht hier:
[HOWTO] apt erweitern um eigene RPM-Repositories
http://www.linux-club.de/viewtopic.php?t=14576

das hatte ich mir nämlich schon gedacht, das du das brauchst, deshlab erwähnte ich weiter oben schon mal die Sache mit apt4rpm ;)
 
Oben