From ChangeLog:
- Add Max-Size & Min-Size exclude functionality
- Remove Usage Examples from –help
- Add –examples for Usage Examples
- minor code fixes
Get the latest version of PIrsyncD v20091115
TODO (or next goal): Exclude files via pattern
From ChangeLog:
- pyinotify.py was updated to the latest stable version (0.8.8).
- rsync partial functionality was added.
- Minor code changes were made.
Get the latest version of PIrsyncD v20091114
TODO (or next goal): Excludes, Sure there would be files that you dont want to synchronize.
Ημερομηνία: Κυριακή 01 Νοεμβρίου 2009
Τοποθεσία: Θησείο
Μέρος: Μορφή
Διεύθυνση: Ηρακλειδών 21-23 (χαμηλά στην Ηρακλειδών)
Γεγονός: Πάρτυ έκδοσης της διανομής ubuntu 9.10
Φωτοντοκουμέντα:
http://www.flickr.co … s/44234142@N06/show/
http://www.flickr.co … ubuntu-gr/pool/show/
Εάν και κάθε κυριακή ακολουθώ μία ιεροτελεστία ύπνου & καφεδάκι με φίλους χαλαρά για να ξεκουραστώ και να προετοιμαστώ για την πάντα δύσκολη Δευτέρα, εχθές αποφάσισα να τροποποιήσω λίγο το πρόγραμμά μου και να παραβρεθώ στο release party του ubuntu-gr
Μεγάλη παρέα (νομίζω γύρω στα 25 άτομα), άτομα κάθε ηλικίας (από 13ών έως 73ών) με αρκετή όρεξη … για τούρτα.
Γνώρισα αρκετά φιλαράκια (την καλημέρα μου σε Γιώργο,Αντώνη,Ηλία,Νίκο,Λευτέρη,Λουκά,Γιάννη,Κώστα,Θάνο,Διονύση κι όλους τους υπόλοιπους).
Δύο τούρτες οι οποίες εξαφανίστηκαν σε μερικά δευτερόλεπτα, αλλά δυστυχώς οι περισσότεροι πήγαν χορτάτοι (κι εγώ στο μυαλό μου είχα άλλα πράγματα). Μοιραστήκαμε με τον Παπαδήμα μισό λίτρο ρακή (κατά την προσωπική μου εκτίμηση ΟΧΙ και τόσο … αξιόλογη), κι έτσι ζεσταθήκαμε λίγο (εχθές είχε αρκετή υγρασία).
Οι κύριες μου συζητήσεις με τα παιδιά του ubuntu-gr ήταν πιο πολύ “γνωριμίας”.
Γνώριζα μερικά άτομα από άλλους χώρους, αλλά για τους περισσότερους ήμουν άγνωστος.
Οι πιο ειδικές συζητήσεις που είχα (μιας κι ήμουν ο μόνος εκτός ubuntu-gr, μάλιστα πρέπει να ήμουν κι ο μόνος χωρίς Ubuntu !!!) είχαν ως κύριο θέμα τα διάφορα forums/συλλόγους/συμμετοχή κι επέμενα στην παγιωμένη μου θέση:
- Εάν θέλεις να προσφέρεις, κάντο.
- Δεν χρειάζεται να είσαι μέλος σε κανένα forum/σύλλογο/παρέα/λίστα/irc (γενικότερα ΔΕΝ χρειάζεται να φοράς ταμπέλες),
- δεν χρειάζεται να περνάς τον χρόνο σου γκρινιάζοντας με τις επιλογές των άλλων όταν δεν συμφωνείς,
- δεν χρειάζεται να επικρίνεις άλλες συμπεριφορές,
- δεν χρειάζεται να βρίσκεις συνέχεια δικαιολογίες ότι δεν έχεις χρόνο/γνώσεις ή δεν ξέρω εγώ τι άλλο.
Εάν πραγματικά θέλει κάποιος να προσφέρει, βρίσκει τρόπο
Κι επιστρέφω στο αρχικό μου θέμα … πέρασα πάρα πολύ ωραία.
Γνώμη μου είναι ότι κάποια στιγμή θα πρέπει να κανονίσουμε μια συνάντηση όλα τα μέλη από όλες τις κοινότητες/forum/συλλόγους/ομάδες. Πιστεύω ότι θα είναι μία υπερβολικά πολύ καλή συνάντηση με αρχικό σκοπό την γνωριμία των μελών κι έπειτα την συνεργασία των διαφόρων κοινοτήτων (κάτι σαν τα τσίπουρα στην fosscomm στην λάρισσα). Η συμμετοχή σε τέτοιες συναντήσεις είναι πάντα πολύ καλές ευκαιρίες για να γνωρίσεις ενδιαφέροντες ανθρώπους που έχουν μεράκι κι ασχολούνται τελικά λίγο έως πολύ με αυτό που ασχολούμαστε όλοι μας: το linux
Έφτιαξα ένα screencast που παρουσιάζει πως γίνεται η εγκατάσταση της διανομής Ubuntu 9.10 σε ένα σύστημα που έχει μόνο ένα δίσκο (10gb) με Windows XP.
Το αποτέλεσμα είναι ένα Dual Boot σύστημα με Ubuntu & Windows.
DownLoad:

Installation:
Ubuntu 9.10 with Windows XP on a single hard disk from Evaggelos Balaskas on Vimeo.
Εάν θέλει κάποιος να κατεβάσει το βίντεο:

ΥΓ: Έχω χρησιμοποιήσει το VirtualBox, αλλά και σε πραγματικό σύστημα η διαδικασία είναι ακριβώς η ίδια.
Μέχρι την εκδοση 5.2.x όταν ήθελα να εγκαταστήσω την php ως fastcgi έπρεπε κατά το configuration να προσθέσω το εξής:
./configure --enable-fastcgi
Στην έκδοση 5.3.0 παρατήρησα το εξής:
FastCGI is now always enabled and cannot be disabled
Τι σημαίνει αυτό θα ρωτάτε;
[ebal@myarch php-5.3.0]$ ./configure –enable-fastcgi
…
…
…
Notice: Following unknown configure options were used:–enable-fastcgi
Check ‘./configure –help’ for available options
Δεν χρειάζεται να παραμετροποίησουμε απολύτως τπτ. Με ένα απλό ./configure, αρκεί για να εγκατασταθεί η php ως FastCGI.
Ναι αλλά πως μπορώ να ρυθμίσω τον apache ώστε να εκτελεί τα web apps σε php;
Η αλήθεια είναι ότι δεν είναι ιδιαίτερα δύσκολο! 3 βήματα φτάνουν (τουλάχιστον απλά για να δείτε ότι παίζει).
Εάν ακολουθήσετε τις default εγκαταστάσεις σε apache 2.2.14 & php 5.3.0 θα καταλήξετε με παρόμοια (εάν όχι ακριβώς ίδια εγκατάσταση) με αυτή που έχω εγώ.
1. Πρέπει να δημιουργήσουμε το εξής script:
cat > /usr/local/apache2/cgi-bin/php5.3.0.cgi << EOF
#!/bin/sh
exec /usr/local/bin/php-cgi
EOF
2. Πρέπει να δώσουμε σε αυτό το script δικαίωμα εκτέλεσης και να το τροποιήσουμε τα δικαιώματα σε αυτά του User/Group που έχουμε δώσει στον apache.
chmod u+x /usr/local/apache2/cgi-bin/php5.3.0.cgi
chown apache.apache !$
3. Να ρυθμίσουμε τον apache ώστε να στέλνει όλες τις php σελίδες στο παραπάνω script
vim /usr/local/apache2/conf/httpd.conf
...
AddType application/x-httpd-php .php
Action application/x-httpd-php /cgi-bin/php5.3.0.cgi
...
Αυτό ήταν!
Δημιουργούμε το εξής αρχείο:
# cat > /usr/local/apache2/htdocs/p.php << EOF
<?php phpinfo(); ?>
EOF
Και εκκινούμε τον apache:
/usr/local/apache2/bin/httpd -k start
Εάν ανοίξουμε τo http://localhost/p.php θα παρατηρήσουμε το εξής:
PHP Version 5.3.0
Server API CGI/FastCGI
Simple As That
Κατά καιρούς έχω δεχθεί την εξής ερώτηση (με παραλλαγές):
- Τι cms/blog/wiki/forum να βάλω στο site μου.
Η απάντηση μου είναι η εξής:
- Να δοκιμάσεις τα πιο δημοφιλή σε ένα lampp περιβάλλον και να επιλέξεις αυτό που σε κάνει να νιώθεις πιο άνετα μαζί του.
Χρήσιμα links είναι τα εξής:
Να έχετε στο πίσω μέρος του μυαλού σας τα εξής στοιχεία:
- Να είναι ευκολόχρηστο, μακριά από περίπλοκα συστήματα.
- Να δουλεύουν σωστά τα ελληνικά με UTF-8
- Να μπορεί να αναβαθμιστεί εύκολα (κρίσιμο σημείο)
- Να είναι ενεργό ως έργο τουλάχιστον 6 μήνες πριν
- Να είναι αρθρωτό και να υποστηρίζει θέματα
- Να χρειάζεται την ελάχιστη συντήρηση
- και τέλος να νιώθετε άνετα μαζί του.
Για να οργανωθούμε λίγο:
Τετάρτη 14 ως τη Κυριακή 18 Οκτωβρίου στο Γκάζι.
Υπάρχει μάλιστα ξεχωριστή ενότητα Open Source
Πολύ ενδιαφέρον για όποιον ενδιαφέρεται να αγοράσει ένα laptop και θέλει να εργαστεί με opensolaris:
Ένα αρκετά καλό σημείο για να ελέγξει κανείς τις αδυναμίες σε ένα web site είναι φυσικά τα logs του web server.
Τι προσπαθούν οι hackers να βρουν;
Τι προσπαθούν να κάνουν;
Έχω μόνο δύο εφαρμογές στο balaskas.gr:
οπότε τα περισσότερα hits τα παίρνω από το 404 (not found) error του apache.
Ενδεικτικά παραθέτω μερικά entries:
- /phpmyadmin//scripts/setup.php
- /phpMyAdmin//scripts/setup.php
- /mambots/content/multithumb/multithumb.php
- /mysql/config/config.inc.php
- /p/m/a/config/config.inc.php
- /scripts/setup.php
- /phpmyadmin/config/config.inc.php
- /pma/config/config.inc.php
- /xmlrpc/xmlrpc.php
- /PHPMYADMIN/config/config.inc.php
- /xmlsrv/xmlrpc.php
- /admin/config/config.inc.php
- /pma//scripts/setup.php
- /b2/xmlsrv/xmlrpc.php
- /phpadsnew/adxmlrpc.php
- /dbadmin/config/config.inc.php
- /webmail/bin/msgimport
- /phpads/adxmlrpc.php
- /xmlrpc.php
- /drupal/xmlrpc.php
- /wordpress/xmlrpc.php
- /phpAdsNew/adxmlrpc.php
- /community/xmlrpc.php
- /phpMyAdmin/config/config.inc.php
- /blogs/xmlrpc.php
- /blog/xmlsrv/xmlrpc.php
- /adserver/adxmlrpc.php
- /blog/xmlrpc.php
- /mysql//scripts/setup.php
- /php-my-admin/config/config.inc.php
- /ads/adxmlrpc.php
- /roundcube/bin/msgimport
- /blogs/xmlsrv/xmlrpc.php
- /phpmyadmin/main.php
- /adxmlrpc.php
- /bin/msgimport
- /mail/bin/msgimport
- /phpgroupware/xmlrpc.php
- /b2evo/xmlsrv/xmlrpc.php
- /pMA//scripts/setup.php
- /myadmin/config/config.inc.php
- /blogtest/xmlsrv/xmlrpc.php
- /includes/orderSuccess.inc.php
- /database/main.php
- /mantis/login_page.php
- /typo3/phpmyadmin/js/keyhandler.js
- /horde-3.0.9//README
- /pma/js/keyhandler.js
- /administrator/phpMyAdmin-2.6.3/main.php
- /mycal//tools/send_reminders.php
- /websql/js/keyhandler.js
και κάπου εδώ σταματάω να γράφω, νομίζω όλοι το έχετε πιάσει το νόημα.
Μερικές συμβουλές:
- Διαβάστε τα logs
- Κρατήστε επαφή με τις τελευταίες εκδόσεις των προγραμμάτων που υπόσχονται λύσεις σε όλα τα bugs και security holes που έχουν βρεθεί στις προηγούμενες εκδόσεις
- Μετονομάστε τους καταλόγους των προγραμμάτων σε κάτι διαφορετικό από τα κοινά ονόματα. Έτσι θα δυσκολεύσετε λιγάκι τους επιτιθέμενους.
- Αλλάξτε τα default συνθηματικά των εφαρμογών
- Κρατήστε επιτέλους ένα αντίγραφο, σώζει ζωές το έχουμε ξαναπεί.
Δοκίμασα στον υπολογιστή μου να εγκαταστήσω μερικά gtk engine, themes & styles.
Ορίστε το αποτέλεσμα στο xfce.
Gtk Themes & Styles on Xfce 4.7.0git from Evaggelos Balaskas on Vimeo.
Εάν θέλετε να κατεβάσετε όλο το αρχείο: xfce.gtk.themes-styles.ogv
Μαρκάρετε την παρακάτω ημερομηνία στο ημερολόγιo σας:
10.10.09
Ημέρα Σάββατο στους 5 δρόμους στα εξάρχεια κανονίζουμε μία συνάντηση για μπύρες, (to know us better).
Το συζητάμε εδώ,
αλλά αφορμή ψάχνουμε για να μαζευτούμε παρέα και να πιούμε μια μπύρα.
Η πρόσκληση είναι ανοιχτή για όσους διαβάζουν αυτό το post
(εάν τυπώσετε αυτό το post - τα νερά θα είναι κερασμένα)
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 εικόνες!