View previous topic :: View next topic |
Author |
Message |
LinuxTom l33t
Joined: 26 Mar 2006 Posts: 798
|
Posted: Wed Dec 01, 2010 4:45 am Post subject: emerge --sync lokal |
|
|
Hi,
ich habe einen etwas älteren Laptop, der für Gentoo noch gut ist. Nur leider bekomme ich die Netzwerkverbindung derzeit nicht ans laufen. Ist auch nicht so schlimm. Meine Frage: Kann ich das "emerge --sync", oder auch das "eix-sync", das ich eher verwende umbiegen?
Normal wäre in der make.conf beispielsweise:
Code: | SYNC="rsync://rsync1.de.gentoo.org/gentoo-portage" |
Ich hätte da aber gerne so etwas stehen wie:
Code: | SYNC="file:///mnt/cdrom/gentoo-portage" |
oder auch
Code: | SYNC="/mnt/cdrom/gentoo-portage" |
Wie kann ich das machen? |
|
Back to top |
|
|
Apheus Guru
Joined: 12 Jul 2008 Posts: 422
|
Posted: Wed Dec 01, 2010 7:33 am Post subject: |
|
|
Wenn der Portage Tree schon lokal ist, brauchst du ja nicht mehr --sync'en, eine "file:///" URL würde also wenig Sinn machen. Damit emerge den Ordner verwendet, müsstest du PORTDIR in make.conf auf dieses Verzeichnis setzen, aber prüf erst mal genauer in der Manpage, was da alles dazugehört - ist ein längerer Abschnitt in "man make.conf".
Den Index von eix kannst du dann einfach aktualisieren mit "eix-update".
Ansonsten benutze ich den rsyncd-Dienst zum synchronisieren mehrerer Rechner. Auf dem Hauptrechner (der vom Internet synchronisiert wird) läuft der rsyncd-Dienst, und in seiner Konfigurationsdatei ist eine "Freigabe" eingerichtet:
/etc/rsyncd.conf:
Code: |
# Simple example for enabling your own local rsync server
[gentoo-portage]
path = /usr/portage
comment = Gentoo Portage tree
exclude = /distfiles /packages
|
Ein anderer Rechner hat in make.conf:
Code: |
SYNC="rsync://<Hostname des Hauptrechners>/gentoo-portage"
|
Das müsstests du auch lokal machen können, was aber nur Sinn macht falls das Quellverzeichnis immer nur temporär da ist (z.B. auf CD). |
|
Back to top |
|
|
LinuxTom l33t
Joined: 26 Mar 2006 Posts: 798
|
Posted: Wed Dec 01, 2010 7:54 am Post subject: |
|
|
Alles gut und schön, doch mit dem Laptop habe ich derzeit kein Internet. Ich will ihn nur einmalig syncen. Das Portage-Dir soll so bleiben, da ich nächsten Monat eine Netzwerkkarte für den Laptop bekomme.
Also so etwas wie "rsync /mnt/cdrom/portage /usr/portage". Zur Not muss ich den RSync-Deamon einrichten, mit dem sich emerge sync'd und der Deamon zeigt aufs CD-Rom. |
|
Back to top |
|
|
Apheus Guru
Joined: 12 Jul 2008 Posts: 422
|
Posted: Wed Dec 01, 2010 8:01 am Post subject: |
|
|
LinuxTom wrote: | Also so etwas wie "rsync /mnt/cdrom/portage /usr/portage" |
Ja, für eine einmalige Operation sollte auch ein manueller rsync-Aufruf ausreichen, etwas anderes wird der Dienst wahrscheinlich auch nicht machen. Wie der rsync-Befehl dann exakt auszusehen hat, weiß ich aber nicht. |
|
Back to top |
|
|
Christian99 Veteran
Joined: 28 May 2009 Posts: 1708
|
Posted: Wed Dec 01, 2010 8:02 am Post subject: |
|
|
wenn es doch sowiso nur vorübergehend ist, wieso kopierst du dann nicht einfach per hand? alten tree löschen, neuen tree von der cdrom rüberkopieren. schnell einfach problemlos. wäre mein vorschlag. |
|
Back to top |
|
|
Apheus Guru
Joined: 12 Jul 2008 Posts: 422
|
Posted: Wed Dec 01, 2010 9:40 am Post subject: |
|
|
Egal ob von Hand mit cp oder mit rsync: Pass auf die Verzeichnisse /usr/portage/distfiles und /usr/portage/packages auf, die willst du wahrscheinlich behalten. |
|
Back to top |
|
|
LinuxTom l33t
Joined: 26 Mar 2006 Posts: 798
|
Posted: Wed Dec 01, 2010 10:35 am Post subject: |
|
|
Wenn ich einfach ein rsync von CD-Rom nach /usr/portage machen kann bin ich zufrieden. Klar das mit den Distfiles. Doch "emerge --sync" macht doch noch mehr. Profilecache usw. Ich glaube, da würde doch das eine oder andere ein wenig durcheinander kommen. |
|
Back to top |
|
|
Christian99 Veteran
Joined: 28 May 2009 Posts: 1708
|
Posted: Wed Dec 01, 2010 5:09 pm Post subject: |
|
|
ich weiß nicht genau, was emerge --sync sonst noch alles anstellt, aber ich sag mal so: bei der installation von gentoo wird ja auch per hand ein tree ins /usr/portage/ verzeichnis geschoben, deswegen dachte ich, es kann nicht so schlimm sein. |
|
Back to top |
|
|
Veldrin Veteran
Joined: 27 Jul 2004 Posts: 1945 Location: Zurich, Switzerland
|
Posted: Wed Dec 01, 2010 6:41 pm Post subject: |
|
|
emerge --sync aktualisiert den portage per rsync oder git, und macht danach noch ein emerge --metadata - da geht auch ohne Internet. _________________ read the portage output!
If my answer is too concise, ask for an explanation. |
|
Back to top |
|
|
schmutzfinger Veteran
Joined: 26 Oct 2003 Posts: 1287 Location: Dresden/Germany
|
Posted: Wed Dec 01, 2010 7:26 pm Post subject: |
|
|
Code: | SYNC="foobar" eix-sync |
Bringt nen netten Fehler aber das sieht verdammt so aus als wäre es die Lösung deines Problems. |
|
Back to top |
|
|
LinuxTom l33t
Joined: 26 Mar 2006 Posts: 798
|
Posted: Wed Dec 01, 2010 8:23 pm Post subject: |
|
|
Code: | * Starte emerge --sync
!!! Unrecognized protocol: SYNC='foobar'
* emerge --sync schlug fehl
* Benötigte Zeit:
6 Sekunden für syncen
7 Sekunden insgesamt
|
Sieht eher so aus, als dass emerge abbricht und eix-sync dadurch nichts macht. Irgend wie nicht das, was ich suche. |
|
Back to top |
|
|
LinuxTom l33t
Joined: 26 Mar 2006 Posts: 798
|
Posted: Thu Dec 02, 2010 4:38 am Post subject: |
|
|
Sorry Veldrin, habe Dein Posting gesern Abend vor lauter Schnee nicht gesehen.
Veldrin wrote: | .. emerge --metadata ... |
Also müsste
Code: | sync -ac --stats --partial /mnt/cdrom/portage /usr/portage
eix-sync -m |
doch die Lösung sein. Oder?
EDIT: Die Distfiles werde ich nicht rauslassen, denn dieser Rechner kann ja nichts aus dem Netz nachladen. |
|
Back to top |
|
|
Veldrin Veteran
Joined: 27 Jul 2004 Posts: 1945 Location: Zurich, Switzerland
|
Posted: Thu Dec 02, 2010 9:39 am Post subject: |
|
|
Kein Problem...
Ich bin gerade nicht an meiner Gentoo Maschine, aber wenn eix-sync -m dasselbe wie emerge --metadata macht siehts gut aus.
für den sync command hätte ich sowas eingesetzt:
Code: | rsync -av --delete-after --exclude=/distfiles /mnt/cdrom/portage/ /usr/portage/
rsync -av /mnt/cdrom/portage/distfiles/ /usr/portage/distfiles/ |
Ich verwende 2 Commands - den ersten um den tree zu syncen und aufzuräumen, den 2tem um die distfiles zu aktualisieren, aber ohne die alten zu löschen. wenn es dir egal ist, die alten distfiles zu verlieren, dann reicht auch rsync -av --delete-after /mnt/cdrom/portage/ /usr/portage/.
cheers
V.
bitte schau nochmals ob die angehängten / nötig sind - ich vergess immer wieder welche Variante richtig ist. machst dus falsch erstellt er einen neuen Ordner. _________________ read the portage output!
If my answer is too concise, ask for an explanation. |
|
Back to top |
|
|
ChrisJumper Advocate
Joined: 12 Mar 2005 Posts: 2400 Location: Germany
|
Posted: Thu Dec 02, 2010 3:06 pm Post subject: |
|
|
Warum nicht einfach immer ein aktuelles portage-latest.tar.bz2 herunterladen auf USB oder CD Brennen und wie bei der Ursprungsinstallation entpacken?
Das sollte doch genau den selben Effekt haben von einem sync, oder nicht? |
|
Back to top |
|
|
Genone Retired Dev
Joined: 14 Mar 2003 Posts: 9611 Location: beyond the rim
|
Posted: Thu Dec 02, 2010 3:13 pm Post subject: |
|
|
Kleiner Tip wenn man den Tree manuell mit rsync kopieren will:
Code: | emerge --info | grep PORTAGE_RSYNC_OPTS |
Snapshot entpacken geht auch wenn man vorher den alten Tree löscht/verschiebt. Einen Snapshot in einen vorhandenen Tree zu entpacken ist hingegen keine gute Idee. |
|
Back to top |
|
|
LinuxTom l33t
Joined: 26 Mar 2006 Posts: 798
|
Posted: Thu Dec 02, 2010 3:19 pm Post subject: |
|
|
Genone wrote: | Kleiner Tip ... |
Danke. das ist das was ich gesucht habe. Und dann das eix-sync -m und alles ist gut. |
|
Back to top |
|
|
|