http://ftp.otenet.gr/www/linuxgazette
cool εεεε ?
Κάτι το οποίο με ταλαιπώρησε αρκετά σήμερα ήταν το γεγονός ότι ο dovecot-lda: /usr/local/libexec/dovecot/deliver δεν είχε την δυνατότητα να παραδώσει τα emails που δεχόταν από τον smtp daemon.
Οπότε τροποποίησα το configuration αρχείο για να καταγράφει όσο το δυνατόν περισσότερα μηνύματα και τελικά βρήκα στα logs το εξής:
==> dovecot-local-deliver.log <==
deliver(dovecot): Sep 22 22:25:52 Fatal: setgid(1000(dovecot)) failed with euid=1000(dovecot), gid=12(mail), egid=12(mail): Operation not permitted
Μετά από μερικά λεπτά διαλογισμού ήρθε η θεία επιφοίτηση ως δια μαγείας:
chgrp mail /usr/local/libexec/dovecot/deliver
chmod 04750 !$
όλα τέλεια πλέον ;)
Αυτά τα μικρά πραγματάκια είναι που σε στέλνουν!
16:15 εγκατάσταση postfix από sources
17:35 1st log entry - attempt for spam (open relay)
1 ώρα και 20 λεπτά !
NOQUEUE: reject: RCPT from mout3.freenet.de[195.4.92.93]:
Τον τελευταίο καιρό προσπαθώ να θυμηθώ βασικές αρχές προγραμματισμού από τον καιρό που ήμουν φοιτητής. Δεν θεωρώ τον εαυτό του σε καμία περίπτωση προγραμματιστή. Μάλιστα οι κόποι μου αποτελούν μικρά patches (diffs) στην δουλειά που κάνουν ήδη άλλοι (hacks) και πιο ειδικά στο xfce.
Όμως απογοητεύτηκα αρκετά από τους προγραμματιστές της isc. Προσπαθώντας να εγκαταστήσω ένα dhcp server για τις ανάγκες ενός μικρού lan από τον πηγαίο κώδικα, διαπίστωσα ότι κατά το compilation που επέστρεφε ένα όχι και τόσο συνηθισμένο σφάλμα:
packet.c:139: error: ‘ip’ is used uninitialized in this function
Οκ προφανώς κάτι μου λείπει;
Αυτό δεν σκέφτεστε όλοι;
Κι όμως ….
Η έκδοση που χρησιμοποιώ είναι η current stable: DHCP 4.1.0p1 και μετά από αρκετό διάβασμα του κώδικα τελικά κατάφερα να βρω γιατί επιστρέφει το συγκεκριμένο μήνυμα.
Ο dhcp προσπαθεί by-default να υποστηρίξει IPV6. Οκ μέχρι εδώ όλα καλά.
Δυστυχώς όμως οι προγραμματιστές ΔΕΝ έχουν βάλει ένα IF-THEN-ELSE κατά την περίπτωση που το linux-box ΔΕΝ έχει ipv6!!! και για αυτό “σκάει” το compilation με το παραπάνω μήνυμα.
Η λύση είναι εξαιρετικά απλή: Πρέπει να απενεργοποιηθεί η υποστήριξη για IPV6
./configure --disable-dhcpv6; make; make install
Αλλά μέχρι να το βρεις από ξυρισμένος κόντρα, καταλήγεις σαν τον stallman
Κατά καιρούς (και μέχρι να μάθω από regular expressions) ένα από τα προβλήματα που με έχει ταλαιπωρήσει αρκετά ήταν το εξής:
Ήθελα σε άπειρα εις το τετράγωνο αρχεία που βρίσκονται κάτω από άπειρους καταλόγους να τροποποιήσω ένα και μόνο αλφαριθμητικό. Στο google θα βρείτε αρκετά προγράμματα κ.λ.π. - κ.λ.π., αλλά μπορεί να γίνει πανεύκολα με μία και μόνο εντολή:
find ΑΡΧΙΚΟΣ_ΚΑΤΑΛΟΓΟΣ -type f -name “ΤΟ ΜΟΤΙΒΟ ΤΩΝ ΑΡΧΕΙΩΝ” -exec sed -r -i ’s/ΑΛΦΑΡΙΘΜΗΤΙΚΟ/ΤΟ_ΝΕΟ_ΑΛΦΑΡΙΘΜΗΤΙΚΟ’ {} \;
και δίνω ένα παράδειγμα για να γίνω πιο κατανοητός:
find /www -type f -name "*.php" -exec sed -r -i 's/ebal/Evaggelos Balaskas/' {} \;
Εάν για παράδειγμα θέλετε να αντικαταστήσετε παραπάνω από ένα αλφαριθμητικό τότε μπορεί κανείς να χρησιμοποιήσει κάτι τέτοιο (έστω ότι θέλω να αλλάξω τις λέξεις ebal ή ebalaskas με το Evaggelos Balaskas):
find /www -type f -name "*.php" -exec sed -r -i 's/(ebal|ebalaskas)/Evaggelos Balaskas/' {} \;
ΥΓ: Την 1η φορά που κατάφερα να κάνω μία υπερβολικά περίπλοκη εργασία σε μερικά δευτερόλεπτα ένιωσα έτσι: i know regular expressions !!!
Την προηγούμενη εβδομάδα εγκατέστησα ένα centos 5.3 μέσω netinstall.
Επέλεξα να κάνω μία minimal installation αλλά να ακολουθήσω τις προτάσεις του centos.
Μία από αυτές λοιπόν ήταν η χρήση lvm σε δύο δίσκους (η 1η επιλογή).
To centos δημιουργεί 3 partition: /boot / & swap.
Όλα καλά κι όλα ωραία, το μηχάνημα είχε ελάχιστο cpu load παραπάνω (ειδικά σε μεγάλα rsync > 65GB) αλλά φαινόταν οκ. Μέχρι εχθές.
Ένα προγραμματισμένο reboot για να ελέγξω ότι όλα τα services και τα iptables λειτουργούν άψογα για να μπορώ να εξασφαλίσω την εύρυθμη λειτουργία του συστήματος.
Και ξαφνικά το grub δεν βρίσκει τπτ απολύτως.
Διατηρώ ένα usb stick με SystemRescueCd και διαπιστώνω με μεγάλη μου θλίψη ότι ΔΕΝ μπορώ να διαβάσω καν τα lvm partitions !!!
lvm sucks
Ευτυχώς που είχα και δεύτερο server όπου ανέλαβε από passive να γίνει active
Στις 30 Αυγούστου 2009 ο David Rosal, δημοσίευσε την νέα έκδοση του paco: 2.0.7.
Αυτή η έκδοση δεν έχει να προσθέσει νέα χαρακτηριστικά, αλλά να βελτιστοποιήσει κυρίως το gpaco (gtk based GUI)
Βρήκα όμως σήμερα την αφορμή για να το εγκαταστήσω εκ νέου και να κάνω ένα review στο Paco Mini How To που διατηρώ για το paco (και έχει προσθέσει στα links και ο David στο project - είναι αυτό με την ελληνική σημαία: http://paco.sourceforge.net/doc.html)
Διαβάζοντας λοιπόν το man 8 paco, πρόσεξα το εξής option:
-o, --configure-options
το οποίο μου είχε διαφύγει στο παρελθόν. Μπορείς να δεις με τι options είχες εγκαταστήσει ένα πρόγραμμα:
paco -o pidgin
–disable-screensaver –disable-vv –disable-meanwhile –disable-nm –disable-tcl
Πολύ εντυπωσιακό έτσι;
Επίσης στα scripts, πρόσθεσε και ένα αρχείο για bash_completion.d:
cp scripts/paco_bash_completion /etc/bash_completion.d/paco
Για όσους ασχολούνται με source compilation ας μην το προσπεράσουν.
Το paco είναι από τα καλύτερα προγράμματα που έχω δουλέψει κι ελπίζω το παραπάνω mini how to που έχω γράψει να σας βοηθήσει.
Σε προηγούμενο μου post είχα αναφέρει κάποια ενδιαφέροντα δρώμενα που συμβαίνουν γύρω από το xfce.
Πλέον η μεταφορά όλων των έργων σε git έχει ολοκληρωθεί, και πολύ σημαντικό είναι ότι ολοκληρώθηκε και η εγκατάσταση ενός instance του transifex για την διαδικασία των μεταφράσεων.
Τα στατιστικά μας για τα κύρια προγράμματα είναι τα εξής:
Xfce: 78% (2007/27/537)
Applications: 65% (2435/159/1151)
Panel Plugins: 42% (601/31/784)
Thunar Plugins: 19% (62/0/262)
Οι δύο (2) συνήθεις ύποπτοι είναι οι εξής:
Σταύρος Γιαννούρης κι εγώ (Ευάγγελος Μπαλάσκας).
Κατά την προσωπική μου άποψη χρειαζόμαστε τουλάχιστον τέσσερα (4) actions που πρέπει να γίνουν και σχετικά γρήγορα.
a. QA στις μεταφράσεις που έχουμε ανεβάσει (θέλει πολύ δουλίτσα αυτό)
b. Φυσικά να 100% τουλάχιστον το xfce (δεν είναι ΠΑΡΑ πολύ δύσκολο αυτό)
c. Να βρούμε ανθρώπους που χρησιμοποιούν το xfce στα ελληνικά και να μας προτείνουν διορθώσεις
d. Να βρούμε ανθρώπους που θα βοηθήσουν στις μεταφράσεις του xfce.
Το QA στις ήδη υπάρχουσες μεταφράσεις είναι σχετικά δύσκολο.
Όσο κι εάν προσπαθούμε με τον Σταύρο να έχουμε ένα “κοινό” μεταφραστικό στυλ, αυτό συνήθως χάνεται με τον καιρό ή γινόμαστε πιο έμπειροι (τουλάχιστον εγώ) και βλέπω λάθη στην απόδοση των όρων.
Δυστυχώς ο χρόνος μας (σίγουρα ο δικός μου - πιστεύω και του Σταύρου) μειώνεται μέρα με την μέρα και όσο περνάει ο καιρός κάποια πράγματα μένουν αρκετά πίσω. Για αυτό λοιπόν όπως ενδιαφέρεται να βοηθήσει με τις μεταφράσεις του xfce ας κάνει ένα βήμα μπροστά. Το μόνο που χρειάζεται είναι λίγο μεράκι παραπάνω και αρκετή υπομονή.
Το archlinux έβγαλε νέα αρχεία iso στις 10.08.2009. Το καλό με τις Rolling release διανομές είναι ότι έχεις πάντα την τελευταία έκδοση, κι αυτό στο archlinux γίνεται πολύ εύκολα και με τον ίδιο τρόπο που γίνεται η αναβάθμιση των πακέτων:
pacman -Syu
Για να δω την εγκατάσταση μέσω του διαδικτύου (net install), κατέβασα το εξής iso image: archlinux-2009.08-netinstall-i686.iso και το boot-άρα μέσω του virtualbox.
Κατέγραψα όλα τα screenshot και δημιούργησα ένα album όπου μπορεί κανείς να δει μία εγκατάσταση archlinux μέσω διαδικτύου:
http://balaskas.gr/archlinux-2009.08/
ΥΓ: Ο οδηγός είναι εξαιρετικά αναλυτικός με 92 εικόνες!
Τον τελευταίο καιρό αναπτύσω ένα python project: PIrsyncD. Χωρίς να έχω γράψει ποτέ κώδικα σε python έκανα το Python Language Reference bookmark. Τολμώ να πω ότι μου λείπουν τα user examples όπως για παράδειγμα αναφέρονται στο Php Manual, αλλά υπάρχουν αρκετά sites για να καλύψουν και τους πιο απαιτητικούς.
Ένα από αυτά χρίζει ιδιαίτερης αναφοράς, κι αυτό είναι το blog του Doug Hellmann: http://blog.doughellmann.com/. Ο ίδιος γράφει το: Python Module of the Week.
Πολλοί μπορεί να τον γνωρίζεται είτε ως συγγραφέα του Python Magazine είτε ως συγγραφέα στο O’Reilly
Για όσους ενδιαφέρονται για python, ρίξτε μια ματιά.
ΥΓ: Εάν έχετε παρόμοια τέτοια sites/blogs αφήστε ένα σχόλιο.
Το καλοκαίρι ήταν αρκετά παραγωγικό για όλους όσους εμπλέκονται με το Xfce. Έπειτα από την συνάντηση όλων των developers στην fosdem, πάρθηκαν αρκετές αποφάσεις σε ότι αφορά την εξέλιξη του έργου.
Μερικά (κι όχι όλα) είναι τα εξής:
Release Model
Translations through Transifex
Move to Git
Better Xfce API documentation
Λίγα λόγια για τα παραπάνω: αποφασίστηκε και δημιουργήθηκε ένα νέο release model που αφορά τόσο το core development όσο και το release των goodies. Για να είναι όμως ενιαίο πλέον όλα τα projects φιλοξενούνται πλέον στο git on xfce. Το οποίο πρακτικά σημαίνει ότι πλέον όσοι τρέχουν κάποιο xfce instance από subversion (like me) χρειάζεται να αλλάξουν από το παλιό svn on xfce σε git. Ταυτόχρονα αποφασίστηκε η αλλαγή του τρόπου που ανεβαίνουν οι μεταφράσεις. ΔΕΝ θα δίνεται svn OR git access στους μεταφραστές αλλά χρησιμοποιείται ένα instance του transifex. Με αυτά τα abstract layers κατά το development, οι core developers αποφορτίζονται από τα διάφορα καθήκοντά τους και εστιάζουν καλύτερο σε αυτό που είναι σημαντικό: Την ανάπτυξη του project. Έγιναν μερικές επιλογές και δοκιμές ώστε να αλλάξει το panel και κάποια core libraries ώστε να συμβαδίσουν με τις εξελίξεις. Και φυσικά επειδή οι core devepolers είναι λιγότεροι από 10 τεκμηρίωσαν (όσο μπορούν) καλύτερα τα διάφορα APIs του xfce και φυσικά τα xfce bindings ώστε να μπορούν όσοι ενδιαφέρονται να αναπτύξουν ευκολότερα panel/thunar plugins ή διάφορες εφαρμογές. Το thunar νομίζω ότι μπορεί να καλύψει τις ανάγκες και των πιο απαιτητικών χρηστών (το bulk rename που έχει είναι απλά το καλύτερο που έχω δουλέψει).
Τα πράγματα δείχνουν αρκετά ενδιαφέροντα και νομίζω ότι μέχρι την επόμενη fosdem 2010 θα είμαστε σε θέση να συζητάμε ακόμα περισσότερα πράγματα.
Μία από τις πιο αγαπημένες μου σειρές (2η κατά σειρά) είναι ο Dexter. Μάλιστα έχω αγοράσει και τα 3 από τα 4 βιβλία του Jeff Lindsay (το τελευταίο βιβλίο του βγαίνει στις 08 Σεπτεμβρίου 2009!)
Σήμερα μόλις βγήκε το 1ο preair επεισόδιο του Dexter της 4ης season και μαζί με αυτό ήπια και τον 1ο καφέ μετά από 5 μέρες και ο ενθουσιασμός μου έχει φτάσει στα ύψη!
Πάντως και η ποιότητα είναι σχετικά κακή και οι διαστάσεις 480×272
Εάν μπορείτε να περιμένετε, περιμένετε την επίσημη air μετάδοση.
Προτείνω να διαβάσετε τα βιβλία, έχουν αρκετές διαφορές αλλά είναι εξαιρετικά. Δοκιμάστε μάλιστα να τα διαβάσετε στα αγγλικά και αφήστε την φαντασία σας να οργιάσει όταν θα αναγνώζετε τις λεπτομερής σκηνές τεμαχισμού του Dexter.
ΥΓ: Η καλύτερη σειρά ever (EVER) που έχω δει είναι η εξής: The Big Bang Theory και την προτείνω ανεπιφύλακτα.
Παρασκευή 7 Αυγούστου 2009 μετά την δουλειά φεύγω για το χωριό (Καρυές - Ανατολικό Ζαγόρι - Γιάννενα), με την μητέρα μου και τον πατέρα μου. Στην εθνική που χωρίζονται οι λωρίδες για Τρίπολη/Πάτρα τύπος αποφασίζει να κάνει προσπέραση από αριστερά και τελευταία στιγμή να συνειδητοποιεί ότι θέλει τελικά να πάει Πάτρα. Οπότε κόβει εντελώς το αμάξι δεξιά με φρένα. Σε εκείνο το σημείο του γλιστράει το αμάξι. Στην προσπάθειά μου να τον αποφύγω γιατί έπεφτε πάνω μας φρέναρα απότομα και έκοψα το αμάξι αριστερά μιας και ήταν άδεια η λωρίδα - ενώ δεξιά ερχόντουσαν αρκετά αυτοκίνητα. Αποτέλεσμα είναι να κάνουμε μία βόλτα μέχρι τα διόδια (περίπου 25χιλιόμετρα μέχρι να ξαναγυρίζω και πάλι στην εθνική). Τουλάχιστον όμως αποφύγαμε το μοιραίο.
Φτάνουμε στο χωριό, κάνουμε ένα ντους κι αλλάζουμε ρούχα γιατί είχαμε πανηγύρι (τα τελευταία χρόνια την βδομάδα πριν τον 15αυγουστο πραγματοποιείτε το “Αντάμωμα” με σκοπό να βρισκόμαστε οι συγχωριανοί).
Τις επόμενες τρεις μέρες έκανα περίπου άλλα 500 χιλιόμετρα με τους γονείς μου, σε Γιάννενα, επισκέψεις σε συγγενείς και σε διάφορα μαγαζιά στην βιομηχανική περιοχή για να ολοκληρώσουμε κάτι δουλειές που αφορούσαν το σπίτι στο χωριό.
Δευτέρα απόγευμα ξεκινώ για να κατέβω σε κάτι φίλους στα Καμένα Βούρλα και ξεχνάω τα πουκάμισα μου στο χωριό. Μπαίνω στην Εγνατία προς Γρεβενά και βγαίνω στην έξοδο για Τρίκαλα. Μετά το Δομοκό κι ενώ διέσχισα το Θεσσαλικό κάμπο καταλήγω σε ανολοκλήρωτα οδικά έργα. Ποτέ μου δεν κατάλαβα ΓΙΑΤΙ παίρνουν τέτοιες αποφάσεις να ξεκινήσουν οδικά έργα τον Ιούλιο και να τα σταματάνε τον Αύγουστο. Τους δύο κατεξοχήν μήνες διακοπών. Μετά από 3 1/2 ώρες τελικά καταλήγω στα Καμένα Βούρλα.
Τρίτη μπαίνω στην θάλασσα με το κινητό στην τσέπη!!!
Πλέον το κινητό βγάζει μπουρμπουλήθρες.
Αλλά δεν με νοιάζει - ούτε το κινητό - ούτε ότι έχω ξεχάσει τα μισά μου ρούχα στο χωριό.
Οι επόμενες μέρες κυλάνε πολύ όμορφα, διακοπές με πολύ καλούς φίλους γεμίζουν τις μπαταρίες όπως κι εάν έχει.
Με αφορμή ότι το Σάββατο θα κατέβαινε ένας φίλος Αθήνα, σκέφτηκα να φύγω κι εγώ. Έτσι κι αλλιώς μου αρέσει τα ταξιδεύω βράδυ (δεν χτυπάει κι ο ήλιος για να σε κουράσει). Και είχα και παρέα στο δρόμο. Έμενε η Κυριακή για να πλύνω κανά ρούχο και καμιά πετσέτα και να τακτοποιήσω λιγάκι.
Δυστυχώς όμως εκτός ότι τελικά κρύωσα, την Κυριακή συνειδητοποίησα ότι ξέχασα μερικά ρούχα (κάτι τζιν) στο σπίτι του φίλου μου στα Καμένα. Έτσι λοιπόν επιστρέφω σήμερα το πρωί για δουλειά.
Με τα μισά ρούχα στα Γιάννενα, τα άλλα μισά στα Καμένα χωρίς κινητό και κρυωμένος !
Το πρωί αναζητώ τον συνάδελφο που είναι βάρδια για να τον αλλάξω. Και με μεγάλη μου έκπληξη διαπιστώνω ότι ΔΕΝ είμαι εγώ αυτή την βδομάδα βάρδια, αλλά την άλλη. Δλδ έχασα μία βδομάδα άδειας που θα μπορούσα να πάρω παραπάνω.
Τελικά εάν είσαι αμαθής στις διακοπές …
Φαίνεται αρκετά ενδιαφέρον:
SecureComm 2009
September 14 - 18, Athens, Greece
http://www.securecomm.org/.
Κατά την (αποτυχημένη μέχρι στιγμής) προσπάθειά μου να κρυπτογραφήσω αμφίδρομα την επικοινωνία μεταξύ ενός mail client (π.χ. thunderbird) κι ενός mail server (π.χ. dovecot), καθώς και την αυθεντικοποίηση των mail client μέσω πιστοποιητικών ασφαλείας (x509 certificates), κατέληξα την συγγραφή ενός mini howto.
Εάν ενδιαφέρεται κανείς να δει απλές οδηγίες για το πως να εγκαταστήσει εύκολα και γρήγορα το dovecot ώστε να υποστηρίζει imap over ssl (993 tpc port) αλλά και να δει μέσω screenshots τι ρυθμίσεις χρειάζονται στον thunderbird, μπορεί να βρει το mini how to εδώ:
btw εάν κανείς μπορεί να βοηθήσει με το εξής, ας κάνει τον κόπο να μου στείλει ένα email.
Η τελευταία παρασκευή του ιουλίου είναι η
χρόνια πολλά σε όσους γιορτάζουν,
μακάρι το uptime σας να είναι αντιστρόφως ανάλογο με τον μισθό σας
Ο μιντόρι web browser είναι ένας αρκετά ελαφρύς (και γρήγορος) gtk2 περιηγητής ιστού, βασισμένος στο webkit. Ακριβώς επειδή βασίζεται στο webkit μπορεί να περνάει από αρκετά WaSP, ένα από αυτά είναι το acid3:
Με την έκδοση 3.5 του firefox, ο firefox ανέκτησε αρκετό από το χαμένο έδαφος που είχε να κάνει με τα εξής προβλήματα:
- κολλήματα
- αργός
- κρασαρίσματα
- 100% cpu usage
- 100% memory usage
Ήδη βρισκόμαστε την έκδοση 3.5.1, οπότε σκέφτηκα να δοκιμάσω εκ νέου το acid3 test, ορίστε τα αποτελέσματα:
Υπάρχει λοιπόν αρκετός δρόμος ακόμα για τον firefox μέχρι να κατακτήσεις τα web standards.
Στην διαμάχη Διαχειριστές Vs Προγραμματιστές να προσθέσω και το εξής:
αποφασίζει ο εκάστοτε super duper developer να αλλάξει το version control σύστημά του από subversion σε git, όχι επειδή του δίνει επιπλέον δυνατότητες - αλλά επειδή άκουσε ότι το έχει γράψει ο linus και είναι πολύ της μοδός.
Οκ ρε μάστορα, αφού την κάνεις την αλλαγή ΓΙΑΤΙ δεν ενημερώνεις και κανέναν ?
Η λογική (εάν θριάμβευε δλδ) θα τον έκανε να προσθέσει ένα ακόμα subversion commit που να γράφει στο log:
έεειι εσύ, ναι εσύ, εσύ που χρησιμοποιείς το πρόγραμμά μου και το ανανεώνεις μέσω subversion:
να ξέρεις, έχει πάψει να υπάρχει. Δες εδώ: ….. για το git
Τι μυστικοπάθεια είναι αυτή ρε γμτ, ο λόγος γίνεται γιατί στην προσπάθειά μου να ανανεώσω το midori, έπρεπε να ανανεώσω το webkit που έπρεπε να ανανεώσω το libsoup το οποίο τράβαγα από subversion και η latest έκδοση του ΔΕΝ ικανοποιούσε κανέναν.
Τελικά έχουν δίκιο για τους gnome developers (η ακακία μου)
Αυτές τις μέρες προσπάθησα να ασχοληθώ λίγο με το PIrsyncD.
Πρόσθεσα την δυνατότητα να ορίζει κανείς τους καταλόγους (source/destination) από την γραμμή εντολών κατά την εκκίνησή, ώστε να μην χρειάζεται να ανοίγει το αρχείο και να τροποποιεί τις μεταβλητές. Οι προκαθορισμένοι κατάλογοι παραμένουν οι εξής:
source: /tmp/data
destination: /tmp/data2
Πρόσθεσα επίσης παραμέτρους ώστε να εμφανίζει την τρέχουσα έκδοση και μία μικρή βοήθεια.
Θα προσπαθήσω τον επόμενο καιρό να προσθέσω νέες επιλογές και δυνατότητες.
Πλέον τα inotify events που παρακολουθεί το PIrsynD είναι τα εξής:
- IN_ATTRIB
- IN_CLOSE_WRITE
- IN_CREATE
- IN_DELETE
- IN_MODIFY
- IN_MOVED_TO
- IN_MOVED_FROM
- IN_DELETE_SELF
Τέλος προσπάθησα να καταγράψω μερικές ερωτήσεις/απαντήσεις και έτσι δημιουργήθηκε ένα μικρό faq, στο οποίο προσπαθώ να εξηγήσω καλύτερα τι είναι και τι κάνει το PIrsynD
Always the latest version is here: PIrsyncD