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

[Frage zu] zentrales Update für verschiedene PCs mit apt

FensterZu

Newbie
Hallo oc2pus,

da ich mittlerweile meine beiden Töchter vernetzt habe (bzw. Ihre PC's mit meinem :roll: ), habe ich mich mal an deiner Anleitung versucht...
Vor dem Meckern :D aber erstmal ein großes Lob, die Idee ist super.

So jetzt die Sachen, worüber ich gestolpert bin:

Damit apt mit dem Verzeichnis /local/packages arbeitet und nicht per default mit /var/cache/apt und /var/state/apt ist eine kleine Änderung an der /etc/apt/apt.conf.d/apt.conf erforderlich:
Code:
// Directory layout
Dir "/"
{
// Location of the state dir
State "local/state/apt/"

Bei State muß "local/packages/state/apt" stehen, genauso natürlich bei Cache, oder man muß die folgende Verzeichnisstruktur auch nur mit /local/ erstellen.

Wer nur eine SuSE Version auf allen PCs hat, der könnte sogar die apt-Konfiguration ebenfalls auf dem /local/packages Verzeichnis aufsetzen und in ein /local/packages/etc/apt kopieren. Dazu ist dieser Block entsprechend anzupassen:
Code:
// Config files
Etc "etc/apt/" {
sourcelist "sources.list";
main "apt.conf";
preferences "preferences";
};

Die zentrale Konfiguration wird dann dem apt-get -c /local/packages/apt/etc/apt.conf .... mitgegeben

Hier wäre ein kleiner Hinweis für die Newbies unter uns (wie mich) ganz angenehm gewesen, das dieser Abschnitt vor dem letzten "};" eingefügt werden muß, das hätte mir doch einiges an Zeit gespart :?

Ansonsten hat aber alles wunderbar geklappt und ich möchte mich nochmal für die Anleitung bedanken! Vielleicht kommen wir so ja doch noch einige Zeit mit unserem 2 Gb Volumentarif hin.

Ach, zwei Fragen hätte ich noch: 1. Kann man Synaptic auch mit der neuen Konfiguration arbeiten lassen und wenn ja wie geht das? 2. Das Autoupdate, funktioniert das auch, oder muß ich da noch was anpassen.

MfG FensterZu
 

oc2pus

Ultimate Guru
FensterZu schrieb:
Hallo oc2pus,

da ich mittlerweile meine beiden Töchter vernetzt habe (bzw. Ihre PC's mit meinem :roll: ), habe ich mich mal an deiner Anleitung versucht...
Vor dem Meckern :D aber erstmal ein großes Lob, die Idee ist super.
fein, das es jemand gelesen und ausprobiert hat :)

FensterZu schrieb:
So jetzt die Sachen, worüber ich gestolpert bin:

Bei State muß "local/packages/state/apt" stehen, genauso natürlich bei Cache, oder man muß die folgende Verzeichnisstruktur auch nur mit /local/ erstellen.

Hier wäre ein kleiner Hinweis für die Newbies unter uns (wie mich) ganz angenehm gewesen, das dieser Abschnitt vor dem letzten "};" eingefügt werden muß, das hätte mir doch einiges an Zeit gespart :?
ok, das bessere ich nach. Könntest du mir deine aptate.conf via pn zuschicken, dann kopiere ich die komplett in den Thread rein.

FensterZu schrieb:
Ach, zwei Fragen hätte ich noch: 1. Kann man Synaptic auch mit der neuen Konfiguration arbeiten lassen und wenn ja wie geht das?
synaptic verwendet eine Kopie der apt.conf im $HOME, d.h. wenn du dort einen Symlink erstellst, welcher auf die apt.conf auf dem Netzlaufwerk zeigt, sollte das klappen. Oder ein kleines wrapper-script, welches zuerst die zentrale apt.conf in das jeweilige HOME kopiert und dann synaptic startet.
also so ungefähr (Pfade anpassen an deine Pfade):
Code:
#!/bin/bash
cp /local/packages/apt.conf $HOME/.synaptic/apt.conf
kdesu synaptic
dieses script als mySynaptic speichern, mit chmod +x mySynaptic ausführbar machen und als Icon auf den Desktop oder im Menu eintragen.

FensterZu schrieb:
2. Das Autoupdate, funktioniert das auch, oder muß ich da noch was anpassen.
Mit diesem Feature habe ich noch nicht gearbeitet ;)

Da muss ich passen, im Prinzip sollte es funktionieren. evtl muss man den Pfad der Konfiguration noch mitgeben oder in /etc/apt/apt.conf.d einen link auf die zentrale Konfiguration erstellen.
 
OP
FensterZu

FensterZu

Newbie
Oc2pus schrieb:
Könntest du mir deine aptate.conf via pn zuschicken, dann kopiere ich die komplett in den Thread rein.
Ist zwar die apt.conf :D aber ist erledigt.

Oc2pus schrieb:
synaptic verwendet eine Kopie der apt.conf im $HOME, d.h. wenn du dort einen Symlink erstellst, welcher auf die apt.conf auf dem Netzlaufwerk zeigt, sollte das klappen. Oder ein kleines wrapper-script, welches zuerst die zentrale apt.conf in das jeweilige HOME kopiert und dann synaptic startet.
also so ungefähr (Pfade anpassen an deine Pfade):
Code:
#!/bin/bash
cp /local/packages/apt.conf $HOME/.synaptic/apt.conf
kdesu synaptic
dieses script als mySynaptic speichern, mit chmod +x mySynaptic ausführbar machen und als Icon auf den Desktop oder im Menu eintragen.

Ich habe den .synaptic-Ordner nur im Root-Verzeichnis, aber darin ist keine apt.conf gewesen und mit Symlink klappts es auch nicht, guckst du hier:
lrwxrwxrwx 1 0 0 34 2005-05-20 16:49 apt.conf -> /local/etc/apt/apt.conf.d/apt.conf
-rw-r--r-- 1 0 0 1443 2005-05-07 06:18 filters
-rw-r--r-- 1 0 0 98 2005-05-20 16:50 options
-rw-r--r-- 1 0 0 325 2005-05-20 16:50 synaptic.conf
Hier kommt beim Synaptic-Start die gleiche Fehlermeldung wie ohne Symlink, nämlich:
Could not open file /etc/apt/rpmpriorities - open (2 Datei oder Verzeichnis nicht gefunden)

Bei deinem Script weiß ich natürlich jetzt nicht, wo ich die apt.conf hinkopieren soll :?

Naja, hier werd ich noch ein bißchen rumprobieren, vielen Dank einstweilen!

MfG FensterZu
 

oc2pus

Ultimate Guru
ah I see ... synaptic sucht in /etc/apt,

also: da du das /etc/apt ja nicht brauchst weil du es "zentral" liegen hast:

ln -s /local/etc/apt /etc/apt (ggfl noch anpassen für dich)

damit gaukeln wir den anderen Programmen vor das die Konfiguration in /etc/apt steht, aber in wirklichkeit steht sie eben zentral :)

so sollte auch das autoupdate funktionieren, da das auch in /etc/apt sucht und das jetzt ein link auf dein zentrales Verzeichnis ist.
 
OP
FensterZu

FensterZu

Newbie
Jawolle, that's it.

Jetzt klappt wieder alles.

Durch diesen Tip kannst du natürlich auch meinen Tip mit den Aliasen aus der PM wieder vergessen und du musst deine Bash-History nicht mehr bemühen :wink:

:idea: Warum gibt man auf dem Serverrechner eigentlich nicht gleich /etc/apt als Nfs-Ordner frei, dann kann man sich doch das Alles sparen und muß nur noch die Clients bearbeiten :eek:

Mfg FensterZu
 

oc2pus

Ultimate Guru
FensterZu schrieb:
Jawolle, that's it.

Jetzt klappt wieder alles.
fein ;)

FensterZu schrieb:
:idea: Warum gibt man auf dem Serverrechner eigentlich nicht gleich /etc/apt als Nfs-Ordner frei, dann kann man sich doch das Alles sparen und muß nur noch die Clients bearbeiten :eek:
jepp,
... es hat nicht jeder NFS laufen.
... nicht jeder will seine Konfig zentral halten.

... aber mir gefällt diese Idee auch, mal sehen was die Entwickler von autoupdate und synaptic dazu meinen, vielleicht gibt es ja dann dort eine Kommandozeilenoption um andere Konfigs zu verwenden :)

auf jeden Fall freut es mich das wir eine schöne Lösung für dein Problem gefunden haben :)
Und ich danke dir für die aktive Mitarbeit an diesem Problem.

Ich bin eher Konsolen-Freak und nutze synaptic und autoupdate gar nicht ..., deshalb auch erst eine Lösung im zweiten Anlauf ... aber auch ich lerne dazu :)
 

aproX

Newbie
Hallo Leute,

indem Howto wird geschrieben das man den NFS Lock deamon aktivieren muss damit man auf die Verzeichnisse mit APT zugreifen kann.

Ich wollte das Howto mit SUSE 10 nachvollziehen, aber irgendwie gibt es keinen nfslock daemon. Muss man den noch irgendwoher nachinstallieren (auf der DVD ist nichts zufinden) oder hat SUSE 10 eine Alternative die die Aufgaben des Deamons übernimmt?

Gruß
aproX
 

oc2pus

Ultimate Guru
aproX schrieb:
indem Howto wird geschrieben das man den NFS Lock deamon aktivieren muss damit man auf die Verzeichnisse mit APT zugreifen kann.

Ich wollte das Howto mit SUSE 10 nachvollziehen, aber irgendwie gibt es keinen nfslock daemon. Muss man den noch irgendwoher nachinstallieren (auf der DVD ist nichts zufinden) oder hat SUSE 10 eine Alternative die die Aufgaben des Deamons übernimmt?

es wird auch ohne NFS-Lock funktionieren, aber bei parallelen Zugriffen ist vorsicht angebracht!

der lockd ist AFAIK im Paket nfs-utils drin.
 

aproX

Newbie
Hallo,

irgendwie funktioniert es bei mir aber aber nicht. Ich habe sowohl auf dem Client Rechner als auch auf dem Server die apt.conf laut dem Howto angepasst. Auf dem Server funktioniert APT doch auf dem Client bekomme ich jedoch folgende Fehlermeldung wenn ich APT benutzen möchte:

Code:
apt-get upgrade
Lese Paketlisten... Fertig
Erzeuge Abhängigkeitsbaum... Fertig
Die folgenden Pakete werden upgegradet werden:
  filesystem libvorbis libvorbis-devel net-snmp netpbm permissions wget
Die folgenden Pakete sind zurückgehalten worden
  amarok amarok-helix amarok-libvisual k3b
7 upgraded, 0 newly installed, 0 entfernt und 4 nicht upgegradet.
E: Konnte Lock /updates/cache/apt/archives-10.0/lock nicht bekommen - open (116 Veraltete NFS-Dateizugriffsnummer)
E: Ausserstande das Download-Verzeichnis zu locken.

Gruß und danke im voraus für die Hilfe
aproX
 

oc2pus

Ultimate Guru
nfs-utils installiert und den lockd gestartet ?

Rechte für die lock datei kontrollieren, bist du root am client ?

gibt es die lock Datei bzw hast du am cache "rumgefingert" und aufgeräumt?

evtl hilft umount und erneutes mount der NFS-Freigabe.
 
OP
FensterZu

FensterZu

Newbie
Hallo aproX,

ich hab seit Suse 10.0 das gleiche Problem:
E: Konnte Lock /updates/cache/apt/archives-10.0/lock nicht bekommen - open (116 Veraltete NFS-Dateizugriffsnummer)
E: Ausserstande das Download-Verzeichnis zu locken.
Ich habe mir so geholfen, dass ich in der fstab die nolock-Option für den Apt-NFS-Ordner angegeben habe. Bei meinem 4 PC-Netzwerk kann ich das riskieren. Vielleicht hilft dir das auch als Workaround weiter, bis jemand die wirkliche Ursache ermittelt hat.

Gruß FensterZu
 

pawe

Member
Auch ich hatte das Problem (ich kann mich nicht genau an die Fehlermeldung erinnern, aber so ähnlich war sie ;)). Bei mir war es der falsch konfigurierte NFS-Server.

Wenn du NFS über Yast einrichtest setzt Yast folgende Standardeinstellungen:
- root auf dem Client hat keine root-Rechte auf dem Server
- nur Lese-Rechte

Wenn du es über Yast verändern willst musst du die Option für die Freigabe verändern:
von ro,root_squash,sync auf rw,no_root_squash,sync

oder über den direkt-Eingriff:
in der Datei /etc/exports eintragen.
/Pfad *(rw,no_root_squash,sync)

Martin Breidenbach schrieb:
Das gibt fuer alle Rechner das Verzeichnis zum Lesen und Schreiben frei wobei der root des Clients auch auf dem Server root-Rechte hat. Nicht sicher aber fuer den Hausgebrauch reichts.

Um es sicherer zu machen kannst du ja die Rechner festlegen die auf die Daten zugreifen können :wink:
 
OP
FensterZu

FensterZu

Newbie
Nee Pawe,

das kanns nicht sein, ich hab
  • rw,no_root_squash
in der exports stehen und es funktioniert trotzdem nicht mit der Apt-Freigabe. Alle anderen NFS-Freigaben funktionieren auch ohne nolock in der fstab, nur apt nicht.

Seltsam, aber so steht es geschrieben :?:

Gruß Fenster Zu

p.s. Außerdem, wenn's ein Rechteproblem wäre, dürfte es ja auch mit der nolock-Option nicht funktionieren :!:
 
OP
FensterZu

FensterZu

Newbie
Ach, noch was:
pawe schrieb:
Wenn du es über Yast verändern willst musst du die Option für die Freigabe verändern:
von ro,no_root_squash,sync auf rw,root_squash,sync

Bei auf muß natürlich
  • no_root_squash
stehen

so wie hier beschrieben:
pawe schrieb:
oder über den direkt-Eingriff:
in der Datei /etc/exports eintragen.
/Pfad *(rw,no_root_squash,sync)

nicht das mir noch jemand durcheinander kommt oder verzweifelt :roll:

Bis denne FensterZu
 

pawe

Member
@FensterZu: :shock: hab ich vertauscht :oops: aber ich habs jetzt geändert.
Schade, dass es dein Problem nicht lösen konnte, aber vielleicht hilft es dem aproX
 

aproX

Newbie
Hallo,

ich habe jetzt beides mal ausprobiert, mit FensterZu's Workaround funktionierts so weit, doch Pawes Lösung bringt bei mir auch keine Veränderung.

aproX
 
Oben