View previous topic :: View next topic |
Author |
Message |
ksenos Apprentice
Joined: 06 Nov 2003 Posts: 164 Location: Athens, Greece
|
Posted: Fri Apr 01, 2005 1:49 pm Post subject: Getting distfiles from local network |
|
|
Γεια και χαρά.
Πρόσφατα πρόσθεσα ένα μικρούλι υπολογιστή στο δικτυό μου. Έχοντας λίγο δίσκο και επεξεργαστική ισχύ αποφάσισα όσα πακέτα θα βάζω και στον κεντρικό υπολογιστή να τα κάνω binary ώστε να μην τα φτύνει ο μικρούλης στο compile (i686 και τα δύο). Επίσης για να μην κατεβάζω δύο φορές τα ίδια πακέτα σκέφτηκα να κάνω τα εξής:
Εγκατέστησα samba και στα δύο (στο κεντρικό το είχα ήδη διότι μοιράζομαι αρχεία και με windows pcs) και δημιούργησα στο κεντρικό δύο shares, distfiles και packages, τα οποία δείχνουν στα /usr/portage/distfiles και /usr/portage/packages αντίστοιχα. Στο μικρό έφτιαξα δύο directories /mnt/raziel_distfiles και /mnt/raziel_packages. Έβαλα και στο fstab τις αντίστοιχες εγγραφές για να κάνει τα κάνει mount (noauto). Οι ρυθμίσεις του samba στο κεντρικό για τα shares ήταν:
Code: |
[distfiles]
comment = Portage distfiles
path = /usr/portage/distfiles
public = yes
writable = no
guest ok = yes
[packages]
comment = Portage binary packages
path = /usr/portage/packages
public = yes
writable = no
guest ok = yes
|
Τέλος έθεσα στο μικρό τις μεταβλητές συστήματος $DISTDIR και $PKGDIR να περιέχουν τα paths των mount points /mnt/raziel_distfiles και /mnt/raziel_packages.
Το αποτέλεσμα ήταν αρχικά πετυχημένο. Έκανα mount κανονικά χωρίς προβλήματα και το emerge -pv <πακέτο> έδειχνε οτι έχω τα sources (αν τα είχα κατεβάσει νωρίτερα στον μεγάλο). Το πρόβλημα ξεκίνησε όταν πήγα να κάνω κανονικό emerge. Το μύνημα σφάλματος που μου έβγαλε ήταν:
Code: |
*** Adjusting cvs-src permissions for portage user...
!!! Unable to chgrp of /mnt/raziel_distfiles/ to portage, continuing
Traceback (most recent call last):
File "/usr/bin/emerge", line 3074, in ?
mydepgraph.merge(mydepgraph.altlist())
File "/usr/bin/emerge", line 1848, in merge
retval=portage.doebuild(y,"merge",myroot,self.pkgsettings,edebug)
File "/usr/lib/portage/pym/portage.py", line 2595, in doebuild
if not fetch(fetchme, mysettings, listonly=listonly, fetchonly=fetchonly):
File "/usr/lib/portage/pym/portage.py", line 1744, in fetch
raise oe
OSError: [Errno 13] Permission denied: '/mnt/raziel_distfiles/'
|
Στην προσπάθεια μου να βάλω να κανει mount τα shares ως χρήστης portage (ώστε να μπορεί να αλλάξει πράγματα μέσα στο directory - ο χρήστης δεν έχει password) παίρνω το εξής:
Code: |
Anonymous login successful
6245: tree connect failed: ERRDOS - ERRnoaccess (Access denied.)
SMB connection failed
|
Σημειώνω οτι έχω προσθέσει με smbpasswd τον χρήστη portage. Δοκίμασα επίσης να βάλω έναν άλλον χρήστη, sambaportage, ο οποίος θα είχε password. Παίρνω όμως το παραπάνω χωρίς το "Anonymous login successful".
Τι δεν έχω κάνει σωστά?
Τι άλλο θα μπορούσα να κάνω εκτός από το να χρησιμοποιώ samba για να μοιράζω τα distfiles και τα packages?
Ευχαριστώ _________________ Honor guide me... |
|
Back to top |
|
|
ksenos Apprentice
Joined: 06 Nov 2003 Posts: 164 Location: Athens, Greece
|
Posted: Fri Apr 01, 2005 2:56 pm Post subject: |
|
|
Για αρχή κατάλαβα ένα πράγμα. Με samba δεν μπορείς να έχεις χρήστες χωρίς password . Για αυτό ο χρήστης portage δεν μπορεί να γίνεται authenticate και πάει να κάνει Anonymous Login. Ένα καλό είναι οτι οι χρήστες που κάνουν authenticate μέσω samba πρέπει απλώς να έχουν το ίδιο usernam e (το ίδιο uid βασικά) και ας είναι διαφορετικό το password. Έτσι εφόσον ο portage δεν έχει password στο σύστημα (ή έχει? ) τότε αν μπορούμε να προσθέσουμε samba password και θα κάνει authenticate επιτυχώς.
Το θέμα όμως είναι... γιατί θέλει κατά το emerge να αλλάξει τα permissions στο cvs-root? Γιατί το samba δεν δίνει τα ίδια permissions στα μοιραζόμενα αρχεία? _________________ Honor guide me... |
|
Back to top |
|
|
ksenos Apprentice
Joined: 06 Nov 2003 Posts: 164 Location: Athens, Greece
|
Posted: Fri Apr 01, 2005 4:08 pm Post subject: |
|
|
Παραιτούμαι....
Raziel είναι ο κεντρικός, jaunty είναι ο μικρούλης.
Code: |
jaunty mnt # ls -l
total 20
drwxr-xr-x 2 root root 4096 Μάρ 30 21:52 cdrec
drwxr-xr-x 2 root root 4096 Οκτ 28 00:38 cdrom
drwxr-xr-x 2 root root 4096 Οκτ 28 00:38 floppy
drwxr-xr-x 2 root root 4096 Μάρ 30 21:58 raziel_distfiles
drwxr-xr-x 2 root root 4096 Μάρ 30 21:58 raziel_packages
jaunty mnt # mount -t smbfs //raziel/distfiles raziel_distfiles -o gid=portage,mode=2775,username=portage
Password:
jaunty mnt # ls -l
total 20
drwxr-xr-x 2 root root 4096 Μάρ 30 21:52 cdrec
drwxr-xr-x 2 root root 4096 Οκτ 28 00:38 cdrom
drwxr-xr-x 2 root root 4096 Οκτ 28 00:38 floppy
drwxr-xr-x 1 root portage 4096 Απρ 1 19:06 raziel_distfiles
drwxr-xr-x 2 root root 4096 Μάρ 30 21:58 raziel_packages
jaunty mnt #
|
Δεν δίνει στο mounted directory τα permissions(2775 -> drwxrwsr-x) που του λέω στην εντολή.
Υ.Γ.
Προφανώς δεν γίνεται αυτό που θέλω με samba. Θα δοκιμάσω και με nfs. Μπορεί κάποιος να μου προτείνει κάποια καλύτερη υλοποίηση? _________________ Honor guide me... |
|
Back to top |
|
|
ag_x Tux's lil' helper
Joined: 11 Jun 2004 Posts: 142 Location: Self Sarkarm.
|
Posted: Fri Apr 01, 2005 7:00 pm Post subject: |
|
|
Δοκίμασε στο smb.conf writable = yes |
|
Back to top |
|
|
Slammer Bodhisattva
Joined: 28 Mar 2003 Posts: 270 Location: Greece
|
Posted: Fri Apr 01, 2005 11:13 pm Post subject: |
|
|
Η samba δεν ειναι σε θεση να διατηρήσει πλήρως τα permissions και τα properties των αρχειων linux οπότε δεν ξέρω αν ειναι εφικτό αυτό που θέλεις. Αλλά γιατι να το κανεις με samba? Μπορεις να μοιράσεις το portage tree ευκολα με nfs, το κάνω συστηματικά εδω και μήνες (ενα μηχανάκι που χρησιμοποιείται ως router μοιράζει το tree σε άλλα 3 εσωτερικά) _________________ Keep Slamming... |
|
Back to top |
|
|
ksenos Apprentice
Joined: 06 Nov 2003 Posts: 164 Location: Athens, Greece
|
Posted: Sat Apr 02, 2005 11:15 am Post subject: |
|
|
Ναι με nfs τελικά είναι πολύ πιο εύκολο. Αλλά πάλι permission denied μου βγάζει παρόλο που έχω τις εξής ρυθμίσεις στο /etc/exports
Code: |
/usr/portage/distfiles 192.168.0.2/255.255.255.0(rw,sync)
/usr/portage/packages 192.168.0.2/255.255.255.0(rw,sync)
|
_________________ Honor guide me... |
|
Back to top |
|
|
Captain n00b
Joined: 29 Dec 2002 Posts: 23 Location: Greece
|
Posted: Mon Apr 04, 2005 3:59 am Post subject: |
|
|
ksenos wrote: | Ναι με nfs τελικά είναι πολύ πιο εύκολο. Αλλά πάλι permission denied μου βγάζει παρόλο που έχω τις εξής ρυθμίσεις στο /etc/exports
Code: |
/usr/portage/distfiles 192.168.0.2/255.255.255.0(rw,sync)
/usr/portage/packages 192.168.0.2/255.255.255.0(rw,sync)
|
|
Θα πρέπει να προσθέσεις στα options και no_root_squash για να διατηρείται το ownership:
Code: |
/usr/portage/distfiles 192.168.0.2/255.255.255.0(rw,sync,no_root_squash)
/usr/portage/packages 192.168.0.2/255.255.255.0(rw,sync,no_root_squash)
|
_________________ Aris Velouhiotis was right!! |
|
Back to top |
|
|
Captain n00b
Joined: 29 Dec 2002 Posts: 23 Location: Greece
|
Posted: Mon Apr 04, 2005 4:16 am Post subject: |
|
|
A, και να συμπληρώσω, ότι κανένα από τα 2 dirs δεν χρειάζεται να το κάνεις export read-write, αλλά μόνο read-only (ro, sync, no_root_squash).
2 επιπλέον συμβουλές θα σου δώσω εκ πείρας, μια και τη δουλειά αυτή (δηλ. φτιάξιμο binaries σε έναν master και στη συνέχεια μοίρασμα σε καμιά 15αριά μηχανήματα) την κάνω περίπου 1μισυ χρόνο:
1) Στο make.conf του master, οπωσδήποτε πρόσθεσε στα FEATURES το fixpackages. Μην το βάλεις στο make.conf του "μικρούλη".
2) Για να γίνονται σωστά fixed τα packages θα πρέπει στον master πάντα να κάνεις sync το portage με "emerge sync" και όχι με "emerge --sync". Δεν ξέρω γιατί, αλλά έλυσα ένα σωρό προβλήματα (dependencies) με αυτόν τον τρόπο. _________________ Aris Velouhiotis was right!! |
|
Back to top |
|
|
Slammer Bodhisattva
Joined: 28 Mar 2003 Posts: 270 Location: Greece
|
Posted: Mon Apr 04, 2005 6:32 am Post subject: |
|
|
Γιατί μοιράζεις μόνο τα αρχεία στο distfiles και στο packages? Μοιρασε όλο το portage! _________________ Keep Slamming... |
|
Back to top |
|
|
ksenos Apprentice
Joined: 06 Nov 2003 Posts: 164 Location: Athens, Greece
|
Posted: Mon Apr 04, 2005 11:14 am Post subject: |
|
|
Σας ευχαριστώ για τις συμβουλές. Θα τις δοκιμάσω σύντομα.
Αυτό που ήθελα ακόμα να ρωτήσω είναι το εξής. Τα δύο μηχανήματα δεν θέλω να έχουν τα ίδια πακέτα. Τον μικρό (jaunty) τον έχω για να τον βασανίζω . Βασικά τον θέλω πέρα απο συμπληρωματικό pc (να το χρησιμοποιούν οι αδελφές μου όταν είμαι στο κεντρικό) να τρέχω apache mysql κτλ. για δοκιμές. Όταν δοκίμασα να κάνω στον μεγάλο (raziel) "emerge -B apache mysql mod_php" μου έβγαλε, όπως ήταν λογικό, ένα σωρό dependencies. Αλλά για να κάνω emerge -B, να φτιάξει δηλαδή μόνο τα binaries ώστε να τα περάσω στον jaunty εύκολα, μου έλεγε, και πάλι λογικό, ότι πρέπει να κάνει emerge πρώτα όλα τα dependencies στον raziel. Δεν θέλω να μπω στην διαδικασία να κοροϊδεύω το portage ότι τα πακέτα είναι εγκατεστημένα ώστε να μπορεί να μου τα κάνει όλα binaries, αλλά αν μόνο αυτό μπορεί να γίνει τότε θα το κάνω .
Επίσης σκέφτομαι και το άλλο. Με ένα γείτονα μου έχουμε στήσει wireless lan για να μοιραζόμαστε μια adsl γραμμή. Αυτός όμως δουλεύει με debian. Σκεφτόμασταν να στήσουμε ένα μηχανημα που να κατεβάζει τα πακέτα που χρειαζόμαστε καθώς να κάνει ένα rsync mirror για τα gentoo pc μου (όχι όμως να κάνει compile τα πακέτα. Δυστυχώς δεν μας παίρνει να βάλουμε κάτι ποιο δυνατό απο ένα p1 ή p2 με μπόλικο δίσκο ). Αν και με όσα μου είπατε και όσα έχω και εγώ κατά νου δεν θα είναι κάτι δύσκολο αυτό, τι έχετε να μου προτείνετε? _________________ Honor guide me... |
|
Back to top |
|
|
Slammer Bodhisattva
Joined: 28 Mar 2003 Posts: 270 Location: Greece
|
Posted: Tue Apr 05, 2005 6:17 am Post subject: |
|
|
Το κάθε μηχάνημα κρατάει τοπικά τι εχει εγκατεστημένο στο /var/db, ολα ομως μπορούν να βλέπουν ενα portage tree. Οπότε μοιράζεις κανονικά το portage χωρίς προβλημα. _________________ Keep Slamming... |
|
Back to top |
|
|
ksenos Apprentice
Joined: 06 Nov 2003 Posts: 164 Location: Athens, Greece
|
Posted: Tue Apr 05, 2005 7:30 am Post subject: |
|
|
Χμ... ή κάτι δεν κατάλαβα ή κάτι δεν πάει καλά. Έκανα share όλο το portage του raziel. Το αποτέλεσμα ήταν.... τραγικό!! Όχι μόνο οτι ακόμα παίρνω τα μυνήματα περί ελλειπών δικαιωμάτων αλλά o jaunty πήγε να εγκαταστήσει λίγοτερα πακέτα από αυτά που θα εγκαθιστούσε χωρίς το shared portage. Ενιγουέι θα το ψάξω και άλλο και θα δώ τι θα κάνω. Το πολύ πολύ.... να μεταφέρω manually τα distfiles . _________________ Honor guide me... |
|
Back to top |
|
|
Slammer Bodhisattva
Joined: 28 Mar 2003 Posts: 270 Location: Greece
|
Posted: Tue Apr 05, 2005 5:02 pm Post subject: |
|
|
Να το /etc/exports από τον υπολογιστή που μοιράζει (IP:192.168.0.1):
Code: |
/usr/portage 192.168.0.0/255.255.255.0(rw,no_root_squash,sync)
|
Να και το τμημα από το fstab απο τους υπολογιστές που πέρνουν το portage tree....
Code: |
192.168.0.1:/usr/portage /usr/portage nfs rw,rsize=8192,wsize=8192 0 0
|
Mε αυτά δεν θα εχεις κανενα προβλημα, ουτε και χρειάζεται καμμια αλλαγή στο make.conf, αφου όλα ειναι στις default θεσεις. _________________ Keep Slamming... |
|
Back to top |
|
|
|