Σήμερα πήγα για καφεδάκι με έναν φίλο μου (ο οποίος δεν έχει καμία σχέση με linux). Εκεί που τα λέγαμε ξαφνικά αντιλήφθηκα ότι στο διπλανό τραπέζι, ένας κύριος με δύο μικρά κοριτσάκια, πολέμαγε να τα καθαρίσει από τις σοκολάτες που είχαν καλυφθεί σε χέρια και πρόσωπο. Πεταμένη στο πάτωμα ήταν μία σακούλα και φαινόταν να περιείχε ένα περιοδικό. Δεν φαινόταν καθαρά ο τίτλος αλλά μόνο τα πρώτα γράμματα: Lin…
Οπότε με περίσσιο θάρρος (κι αρκετό ρίσκο) τον ρωτάω:
- Ποια διανομή Linux χρησιμοποιείται;
Φυσικά ο άνθρωπος τα έχασε και με κοίταγε σαν εξωγήινο που μόλις κατέβηκε στην γη.
Κι εκεί που λέω μέσα (ωχ θα φάμε ξύλο) μου απαντάει:
- Έχω ένα σύστημα με suse κι ένα laptop dual boot με win7 & ubuntu.
- Συγνώμη αλλά που το ξέρεις;
Του απάντησα ότι είδα το περιοδικό και υπέθεσα ότι έγραφε linux format και ξεκινήσαμε μία πολύ ωραία κουβέντα περί unix/linux κι άλλα πολλά. Ο άνθρωπος είναι θεωρητικός φυσικός, εργάζεται ως καθηγητής σε σχολείο στο περιστέρι κι από το 1979 ασχολείται με υπολογιστές. Τα τελευταία χρόνια με την άνοδο της δημοσιότητας του linux δραστηριοποιήθηκε πιο πολύ, μιας και πρώτη φορά χρησιμοποίησε linux το 1994 γιατί παλαιότερα ασχολιόταν με unix!!! Μιλήσαμε για διανομές, για το Πανελλήνιο Σχολικό Δίκτυο, για scolinux, ubuntu, fedora και διάφορα άλλα τέτοια.
Του πρότεινα να ρίξει μια ματιά και στο ελληνικό Linux format που γράφουν έλληνες και συμμετέχουν σε διάφορες κοινότητες, εάν έχει χρόνο κι ενδιαφέρεται να μην μείνει μόνος του αλλά να συμμετέχει σε μία ομάδα εκπαιδευτικών ή σε όποια ομάδα νομίζει ότι μπορεί να τον καλύψει.
Εκτός ότι μου αποκάλυψε ότι τόσα χρόνια ένιωθε τρομερά μόνος κι ότι πλέον ασχολείται με linux για χομπι, μου εκμυστηρεύτηκε και το μεγάλο του παράπονο: δεν έχει δουλέψει slackware ακόμα !!!
Κι επειδή κάπου εκεί τα κοριτσάκια του απειλούσαν την καθαριότητα κι άλλων παρευρισκομένων μα και φυσικά ο φίλος μου κόντευε να κοιμηθεί από την βαρεμάρα, τον χαιρέτισα κι επέστρεψα στην αρχική μου παρέα.
Ελπίζω να τον έπεισα ώστε να αρχίσει να δραστηριοποιείτε πιο ενεργά εντός μιας κοινότητας πλέον.
I had installed DropBear (Dropbear is a relatively small SSH 2 server and client.) to a chroot environment. The existed documentation is very poor, so i wrote down my notes here: Chrooted DropBear.
If you have any questions, i ‘ll be glad to answer them.
Εργάζομαι αρκετά συχνά στο laptop (κυρίως λόγο δουλειάς) κι ένα από τα πράγματα που επιθυμώ να δουλεύει τέλεια είναι το: hibernation για να μπορώ να αποθηκεύω την κατάσταση του υπολογιστή και της εργασίας μου ώστε να συνεχίζω από εκεί που σταμάτησα την επόμενη φορά που θα το ανοίξω.
Αλλά τι είναι το hibernation και τι κάνει;
Το λειτουργικό σύστημα και οι εφαρμογές μας όταν τρέχουν χρειάζονται να διαβάζουν/γράφουν και να επεξεργάζονται δεδομένα. Τα δεδομένα αυτά, τα αποθηκεύονται προσωρινά στην μνήμη RAM του υπολογιστή μας. Η μνήμη RAM είναι εξαιρετικά γρήγορη σε διαβάσματα/γραψίματα αλλά έχει δύο σημαντικούς περιορισμούς. Ο πρώτος είναι το μέγεθος σε Mb (ή πλέον Gb) και το δεύτερο πιο σημαντικό είναι ότι δεν μπορεί να αποθηκεύσει τα δεδομένα. Εάν δεν υπάρχει ρεύμα είναι κενή (άδεια) σε αντίθεση με τον σκληρό δίσκο που ακόμα κι εάν είναι σβηστός ο υπολογιστής τα δεδομένα δεν χάνονται.
Στο linux ως επέκταση της μνήμης RAM χρησιμοποιούμε την κατάτμηση swap. Ο παλιός κανόνας, μας πρότεινε να είναι διπλάσιο σε μέγεθος της μνήμης, αλλά πλέον δεν είναι ούτε καν απαραίτητο να έχουμε κατάτμηση swap σε μία διανομή linux (εάν κι αρκετές το επιβάλουν κατά την εγκατάσταση).
Για να μπορούμε να αποθηκεύσουμε λοιπόν την κατάσταση του υπολογιστή μας και να μπορούμε να την χρησιμοποιήσουμε την επόμενη φορά που θα τον ανοίξουμε, χρειάζεται να αποθηκεύσουμε την πλήρη εικόνα των δεδομένων από την μνήμη RAM μας κι όλα τις απαραίτητες πληροφορίες από τις συσκευές μας κάπου. Κι από αυτό το σημείο ο πυρήνας μας την επόμενη φορά να διαβάσει όλες τις πληροφορίες που χρειάζεται ώστε να μας επαναφέρει την προηγούμενη κατάσταση (πριν κλείσει).
Αυτό το ΚΑΠΟΥ συνήθως είναι δύο πράγματα: ένα αρχείο ή η κατάτμηση swap.
Υπάρχουν φυσικά κι άλλοι τρόποι όπως και διαδικασίες ώστε οι πληροφορίες αυτές να κρυπτογραφούνται. Ένα μειονέκτημα του swap partition είναι ότι επειδή είναι δίσκος όταν είναι κλειστός ο υπολογιστής έχει δεδομένα, γεγονός που θεωρείτε ως μειονέκτημα από πλευράς ασφάλειας.
Η διαδικασία είναι πλέον εξαιρετικά απλή και στο archlinux που χρησιμοποιώ δουλεύει σχεδόν 100% σωστά!
Χρειάζεται να εγκαταστήσουμε το πρόγραμμα pm-utils και να κάνουμε δύο τροποποιήσεις.
Η 1η είναι στο εξής αρχείο: /etc/mkinitcpio.conf
και να προσθέσουμε στα HOOKS το resume
Δείτε πως είναι το δικό μου:
HOOKS="base udev autodetect pata scsi sata resume filesystems"
Μόλις το κάνουμε αυτό πρέπει να πληκτρολογήσουμε την εξής εντολή:
mkinitcpio -p kernel26
ώστε η εικόνα του πυρήνα μας να ενημερωθεί με το νέο HOOK
Η 2η αλλαγή που πρέπει να κάνουμε είναι στο εξής αρχείο: /boot/grub/menu.lst
ώστε να ενημερώσουμε τον πυρήνα μας, την επόμενη φορά που θα boot-άρει να διαβάσει από την κατάτμηση swap όλες τις απαραίτητες πληροφορίες ώστε να επαναφέρει τον υπολογιστή μας στην προηγούμενη κατάσταση πριν κλείσει.
Εάν για παράδειγμα η κατάτμηση swap είναι η : /dev/sda2
τότε πρέπει να προσθέσουμε το εξής: resume=/dev/sda2
Δείτε πως είναι το δικό μου:
kernel /boot/vmlinuz26 root=/dev/sda1 resume=/dev/sda2 ro
Αυτό ήταν όλο!
Τώρα από την γραμμή εντολών μπορούμε να πληκτρολογήσουμε την εξής εντολή:
pm-hibernate και να κλείσει ο υπολογιστής μας, αποθηκεύοντας τα πάντα στην κατάτμηση swap.
Δοκιμάστε το και πείτε μου τις εντυπώσεις σας.
Μην ξεχάσω αυτό το ΣαββατοΚύριακο (13 & 14 Μαρτίου) είναι το ΟπενFest 2010 στο ΤΕΙ Πειραιά.
Εάν δεν ξέρω πως τα πάω: http://openfest.teipir.gr/how-to-come/
Εάν έχω κάτι άλλο να κάνω: ΠΡΕΠΕΙ να το ακυρώσω!
Αλλά το πιο σημαντικό από όλα είναι να μην το ΞΕΧΑΣΩ!
Πριν από αρκετό καιρό έγραψα ένα προγραμματάκι μόλις 17 γραμμών σε python με σκοπό να συγχρονίζει δεδομένα μεταξύ δύο διαφορετικών καταλόγων σε δύο διαφορετικά συστήματα κάνοντας χρήση της δυνατότητας του πυρήνα να καταγράφει τα inode events.
Ήταν (και είναι ακόμα) το πρώτο και μοναδικό μου πρόγραμμα σε python! Χρησιμοποίησα python γιατί βρήκα την καλύτερη τεκμηρίωση και υλοποίηση του inotify σε python κι ήταν αφορμή να δω αυτή την scripting γλώσσα που οι περισσότεροι γνωστοί μου, μου παρουσίαζαν ως την καλύτερη scripting γλώσσα προγραμματισμού.
Στην αρχή τα πράγματα φάνηκαν αρκετά απλά, έγραψα το πρόγραμμα που έκανε την δουλειά που ήθελα κι άρχισα να το εμπλουτίζω σιγά,σιγά. Χωρίς πολλές φανφάρες το δημοσίευσα μέσω του πλανήτη κι έπειτα από λίγο καιρό σκέφτηκα να το διαφημίσω και μέσω του freshmeat.
Η συνέχεια με εξέπληξε πολύ ευχάριστα. Κοιτώντας από τα στατιστικά μου διαπίστωσα πως αρκετός κόσμος το έχει ήδη κατεβάσει (φυσικά δεν αναφέρομαι σε bots) και τουλάχιστον 13 άτομα παρακολουθούν πότε βγάζω νέα έκδοση! Κι αυτό δεν ήταν τίποτα σε σχέση με την πρώτη φορά που πήρα feedback για το προγραμματάκι, που πλέον μεγάλωνε σε γραμμές και λειτουργίες. Κι ύστερα ήρθαν τα πρώτα requests κι έπειτα τα πρώτα patches!!
Το προγραμματάκι που μέχρι πριν από λίγο καιρό έγραφα μόνος μου κι εξυπηρετούσε μόνο εμένα, αυτή την στιγμή λειτουργεί σε production υποδομές εξυπηρετώντας κι άλλους. Μάλιστα έχω φτάσει στο σημείο να κάνω πλέον review σε patches για να προσθέτω νέες λειτουργίες. Οι τελευταίες δύο εκδόσεις του PIrsyncD είναι βασισμένες σε patches και οι προσθήκες που έχω κάνει εγώ είναι μόνο για error handling κυρίως και διορθώσεις των patches ώστε να ακολουθούν την KISS φιλοσοφία.
Από 17 γραμμές έχει φτάσει τις 302. Κι εάν εδώ ακούσω κάποιον να λέει: σιγά τις πολλές γραμμές, να αναφέρω ότι είναι 17φορές περισσότερες από το αρχικό κι ο σκοπός ύπαρξής του είναι υπερβολικά συγκεκριμένος. Να συγχρονίζει καταλόγους χωρίς την ύπαρξη κάποιου cron script ή κάποιας άλλης εξωτερικής παρέμβασης!
Είμαι πολύ ενθουσιασμένος για την πορεία. Εύχομαι να μην σταματήσει εδώ.
Έχω μερικές ιδέες για την συνέχεια μακάρι να βρω και τον χρόνο να τις υλοποιήσω.
Εν κατακλείδι:
- Μην διστάζετε να υλοποιείται και να δημοσιεύετε τις ιδέες σας. Ακόμα κι εάν δεν είστε προγραμματιστής (όπως εγώ!) ή εάν δεν πιστεύετε ότι γράφετε ποιοτικό κώδικα. Ανήκουμε σε μία ευρύτερη κοινότητα, αυτή του ανοιχτού κώδικα, του ελεύθερου λογισμικού και η συνεισφορά μας μπορεί να μας φαίνεται μικρή για την ώρα αλλά σαν τσουνάμι μπορεί να φτάσει στην google και να μας αγοράσει (”δανεισμένο” από φίλο εκ πατρών).
PIrsyncD stands for: Python Inotify Rsync Daemon.
Description:
This is an attempt of writing a daemon to watch a directory for kernel’s inotify events and then execute an rsync command to synchronize two different directories (local or remote). This is a poor man’s mirroring or an alternative (not so) real data replication mechanism and it is based on Pyinotify.
A lot of changes over the past couple releases
From ChangeLog:
- Added functionality to run multiple instances of PIrsyncD (Based on Jeff Templon & Jan Just Keijser’s patch)
- Added functionality to rsync over a destination rsync server (Based on Jeff Templon & Jan Just Keijser’s patch)
- Added python regular expression module (import re), for argument validation.
- Fallback solution if rsync functionality is failed
- Changed –host argument from IP value to hostname
- TODO file Reviewed
- Better examples
- Better usage message
Thanks Jeff Templon < templon AT nikhef DOT nl > and Jan Just Keijser < janjust AT nikhef DOT nl > for your feedback on PIrsyncD.
plz try ./PIrsyncD –help to see more
Get the latest version of PIrsyncD v20100310
Σε προηγούμενο post είχα αναφέρει την υλοποίηση του aria2 στο πρόγραμμα powerpill.
Το aria2, με απλά λόγια, είναι ένα πρόγραμμα που κατεβάζει ένα αρχείο από πολλαπλές (διαφορετικές) πηγές, διαλέγοντας μικρά κομμάτια δεδομένων από την κάθε πηγή, με μοναδικό σκοπό την πλήρη εκμετάλευση της χωρητικότητας της σύνδεσής μας.
Υποστηρίζει τα εξής πρωτόκολλα:
- HTTP
- HTTPS
- FTP
- BitTorrent
- Metalink
γεγονός που το κάνει απαραίτητο εργαλείο στην διανομή μας.
Η χρήση του είναι εξαιρετικά απλή: usage examples.
Για παράδειγμα μπορείτε να κατεβάσετε torrent χωρίς την χρήση άλλων προγραμμάτων.
aria2c ftp://ftp.archlinux.org/iso/2009.08/archlinux-2009.08-netinstall-i686.iso.torrent
How to use a Socks Proxy with putty ?
You are working on a network that doesnt allow http traffic.
that’s a bummer!
Can you ssh to a server ?
If you can, then everything is fine.
You can use a socks proxy for browsing.
Just read this
Μετά την συνεχή προτροπή του mikes (Μιχάλη Γεωργίου), πριν από μερικούς μήνες εγκατέστησα τον chromium στα arch box μου. Εάν και τον χρησιμοποιούσα σχεδόν αποκλειστικά εν τέλη εδώ και 10 μέρες περίπου ξαναγύρισα στον firefox. Από τα κυριότερα προβλήματα που είχα ήταν ότι ΔΕΝ έδειχνε ιστοσελίδες όπως θα έπρεπε. Είτε δεν τις άνοιγε σωστά είτε τις άνοιγε μεν αλλά δεν λειτουργούσαν δε. Μάλιστα τον τελευταίο καιρό μου ήταν αρκετά αργός. Μπορεί ο firefox να μην είναι τέλειος κι ώρες ώρες να σε εκνευρίζει και να κολλάει, αλλά είναι αρκετά πιο λειτουργικός σε σχέση με τον chromium.
Εάν θέλω να χρησιμοποιήσω έναν webkit browser τότε έχω τον midori που έφτασε στην έκδοση v0.2.3
Εργάζομαι ως unix system engineer (ή ακόμα καλύτερα: I am a Linux Administrator but I am looking for a decent job) και σήμερα αντιμετώπισα ένα δύσκολο παλζ. Και λέω παλζ γιατί πλέον τα προβλήματα που “πληρώνομαι” να επιλύσω είναι off the book κι όχι by the book!
Στην διαχείρισή μου βρίσκονται και τρία (3) μηχανάκια με το εξής λειτουργικό σύστημα:
Red Hat Enterprise Linux 2.1 AS (Pensacola). Και πριν προλάβετε να πείτε την κακία σας, να αναφέρω ότι από το 2002 (ή 2003 δεν θυμάμαι) δουλεύουν μια χαρά χωρίς (πολλά) προβλήματα.
Το load λοιπόν είχε ανέβει αρκετά σε τέτοιο σημείο που ένα νέο ssh access προς αυτά ΔΕΝ ήταν εφικτό. Ο συνάδελφος που αντιλήφθηκε το πρόβλημα είχε ήδη ανοιχτό root shell κι έτσι δανείστηκα τον υπολογιστή του (και το πανάθλιο πληκτρολόγιό του - πάταγες ένα πλήκτρο έγραφε τέσσερα γράμματα μαζί!) και ξεκίνησα το οδοιπορικό προς τον παράδεισο.
Έπρεπε όμως να περάσω πρώτα από κόλαση και καθαρτήριο πριν φτάσω στον παράδεισο.
Κόλαση:
Σίγουρα λοιπόν κάποια processes έτρωγαν πόρους από το σύστημα. Αλλά ποια; Η εντολή ps είναι φυσικά αδύνατη να εκτελεστεί (too many open files) όπως επίσης κι άλλες πολλές. Ο φόβος ήρθε όταν το df δεν ολοκληρωνόταν! Τα μηχανάκια είχαν περίπου 500 μέρες uptime που σημαίνει ότι ΔΕΝ ήξερα εάν θα σηκωθούν μετά από ένα hardware reboot. Οκ, δεν έπαιζε τίποτα λοιπόν. Τι κάνουμε; Αρχικά σκέφτηκα ότι κάποιο nfs mount point είχε αποτύχει και διάφορες διεργασίες προσπαθούσαν να γράψουν ή να κλείσουν ανοιχτά αρχεία. Αλλά ούτε η lsof έπαιζε.
Καθαρτήριο:
Κι ενώ έχουμε στο τηλέφωνο συνάδελφο με το δάχτυλο στο power μου ήρθε μια ιδέα και φωνάζω:
- Μηηηηη, όχι ακόμα.
Η εντολή cat λειτουργούσε κι έτσι έκανα ένα cat /etc/fstab για να δω εάν υπήρχε κάποιο nfs mount. Δεν υπήρχε τίποτα. Κι ενώ το load είχε ανέβει πάνω από το 20 (μέσω uptime) και η ps συνέχιζε να μην δείχνει τίποτα, μία φωνή άκουγα να μου λέει: PROC …. PROC … PROC …
Μεταφέρομαι λοιπόν στο /proc και κάνω ένα ls. Χαμός κύριοι και κυρίες μου. Χαμός από καταλόγους με αριθμούς αντί για όνομα. Αρχίζω λοιπόν και ψάχνω αρχικά στα processes με μεγάλο αριθμό και με την εντολή cat να διαβάζω το αρχείο cmdline
Παράδεισος:
Κι έτσι ξεκινάμε λοιπόν να σκοτώνουμε ότι δεν χρειάζεται κι έχει κολλήσει. Δυστυχώς κάποια backup scripts ΔΕΝ είχαν ολοκληρωθεί με αποτέλεσμα να δεσμεύουν αρκετή μνήμη και δίσκο χωρίς λόγο. find, updatedb, perl scripts (πανάθεμα την perl, τίποτα δεν δουλεύει), awk (από διάφορα shell scripts) προσπαθούσαν να πάρουν τους δεσμευμένους πόρους. Σκοτώνω και το cron daemon μέχρι να πέσει το load αρκετά και να αρχίσουν να λειτουργούν τα μηχανάκια και πάλι σωστά.
Κι έτσι μετά από λίγο αυτά τα τρία πανάρχαια μηχανάκια με redhat 2.1 λειτουργούσαν και πάλι άψογα! Οπότε μην ξεχνάτε το proc. Μάθετε τι είναι και τι περιέχει. Τι είναι όλα αυτά τα αρχεία που έχει μέσα.
Έτσι την επόμενη φορά που θα βρεθείτε σε παρόμοιο πρόβλημα θα ξέρετε τι πρέπει να κάνετε.
ΥΓ: Την επόμενη φορά θα σας πω μια ιστορία για τους σηματοφόρους στον πυρήνα.
PIrsyncD stands for: Python Inotify Rsync Daemon.
Description:
This is an attempt of writing a daemon to watch a directory for kernel’s inotify events and then execute an rsync command to synchronize two different directories (local or remote). This is a poor man’s mirroring or an alternative (not so) real data replication mechanism and it is based on Pyinotify.
From ChangeLog:
- Added variable to define the rsync version (parameter: –rsync_v2)
- Rewrite of INSTALL file (to meet better the minimal requirements)
- Checking of the destination directory is now disabled when –host is set.
- rsync append functionality was added.
- Better examples were provided.
All the above were suggested by Jeff Templon < templon AT nikhef DOT nl >
Thanks Jeff for your feedback on PIrsyncD.
plz try ./PIrsyncD –help to see more
Get the latest version of PIrsyncD v20100219
Τις περισσότερες φορές που θέλουμε να κάνουμε κάποια πράγματα quick & dirty, ανοίγουμε την κονσόλα για πληκτρολογούμε μερικές εντολές. Άλλες πάλι φορές αναζητούμε σε διάφορες μηχανές αναζήτησης για να βρούμε την λύση. Το πιο ενοχλητικό όμως από όλα αυτά είναι να έχεις χρησιμοποιήσει ή να έχεις γράψει κάποιο shell script και πλέον να μην θυμόμαστε που είναι ή που το είχαμε βρει. Προσωπικά χρησιμοποιώ σημειώσεις (κυρίως στο wiki μου), αλλά κι αυτό δεν είναι πάντα 100% valid.
Όλα τα παραπάνω προβλήματα έρχεται να λύσει το Command Line Fu.
Ρίξτε μια ματιά, μπορείτε να βρείτε κάτι ενδιαφέρον ή ακόμα καλύτερα εάν έχετε κάτι ενδιαφέρον μπορείτε να το καταχωρήσετε, ώστε την επόμενη φορά να το βρείτε εύκολα ή ακόμα και να το χρησιμοποιήσει κάποιος άλλος.
Μερικά ενδιαφέροντα linux events που αξίζουν την προσοχή μας:
Open Source Days
http://opensourcedays.org
05 - 06 Mar 2010
Copenhagen, Denmark
OpenFest
http://openfest.teipir.gr
13 - 14 Mar 2010
Athens, Greece
Linux Open Administration Days
http://loadays.org
10 - 11 Apr 2010
Antwerp, Belgium
Fosscomm
http://fosscomm.gr
24 - 25 Apr 2010
Thessaloniki, Greece
Linux Tag
http://www.linuxtag.org
09 - 12 Jun 2010
Berlin, German
FrOSCamp
http://froscamp.org
17 - 18 Sep 2010
Zurich, Switzerland
T-DOSE
http://www.t-dose.org
06 - 07 Nov 2010
Eindhoven, Netherlands
ΥΓ: Σε OpenFest & Fosscomm είναι αυτονόητη η παρουσία μου, αλλά υπάρχει ενδιαφέρον και για τα υπόλοιπα. Εάν ενδιαφέρεται κανείς για κάποιο από τα παραπάνω ας μου στείλει ένα email.
Προσοχή: προφανώς έχει βγει κάποιο security issue για το συγκεκριμένο αρχείο.
Ευτυχώς “εμάς” δλδ όσοι έχουμε linux server για web hosting δεν μας επηρεάζει, αλλά μπορεί να έχετε φίλους ή συνεργάτες που θα βρεθούν με τον διακομιστή στο χέρι.
Μέχρι να το “τσιμπήσω” είχα ήδη 500 hits στο balaskas.gr !
Η ελληνική παρουσία στο fosdem είναι και φέτος πάνω από τριαντα άτομα!.
Πρέπει να το οργανώσουμε όμως καλύτερα και του χρόνου να είμαστε οι διπλάσιοι (γιατί όχι).
Παραθέτω λοιπόν του έλληνες που έχω βρει μέχρι στιγμής:
- Ευάγγελος Μπαλάσκας
- Φώτης Γεωργάτος
- Χρήστος Μπαχαράκης
- Πιέρρος Παπαδέας
- Αναστάσης Στασινόπουλος
- Εβελίνα Μπουλουτσίκου-Μπουλούτσο
- Δημήτρης Γλεζος
- Αντρέας Λουπασάκης
- Νικόλαος Κορκακάκης
- Χρήστος Κονίνης
- Γιώργος Κεραμίδας
- Λεωνίδας Τσαμπρός
- Δημήτρης Αγγελάκος
- Νίκος Ρούσσος
- Πάνος Χριστέας
- Κώστας Παπαδήμας
- Τζένη Πετούμενου
- Σεραφείμ Ζανικόλας
- Γιώργος Λογιωτατίδης
- Ηλίας Νταής
- Αντώνης Σγουρός
- Άλεξ Αλεξάντερ
- Σοφοκλής Γκούμας
- Αλέξιος Ζάβρας
- Βασίλης Βασαΐτης
- Φαίδων Λιαμπότης
- Νίκος Νικαλέξης
- Γιάννης Κολοβός
- Γιώργος Διαμαντόπουλος
- Κωνσταντίνος Παλιούρας
- Αλέξανδρος Κουλουμπής
- Γιώργος Φιωτάκης
ΥΓ: Εάν έχω γράψει το όνομα κάποιου λάθος, ζητώ συγνώμη.
Εάν είσαι έλληνας, είσαι στην fosdem και δεν είσαι σε έχω εντοπίσει ακόμα, στείλε μου mail.
Εάν είσαι στην παραπάνω λίστα και ΔΕΝ θέλεις να φαίνεσαι, επίσης στείλε μου mail.
In the past few days libpng & libjpeg have been updated from libpng-1.2.42 to libpng-1.4.0 and libjpeg v7 to libjpeg v8.
If your linux distribution have already updated the libraries to the latest version, it is very probably that all the dependable programs have been updated too.
In the case that a program (or a group of programs) needs the previous version to run properly dont sweat about it. You can easily install the previous libraries versions to an alternative path and use soft links.
Just follow the below instructions:
libjpeg
wget -c http://www.ijg.org/files/jpegsrc.v7.tar.gz
tar zxvf jpegsrc.v7.tar.gz
cd jpeg-7/
./configure
make
# Now, you really have to became root, for the follow couple commands
make install
sudo ln -s /usr/local/lib/libjpeg.so.7 /usr/lib/libjpeg.so.7
libpng
wget -c ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.2.42.tar.gz
tar zxvf libpng-1.2.42.tar.gz
cd libpng-1.2.42/
./configure
make
# Now, you really have to became root, for the follow couple commands
make install
sudo ln -s /usr/local/lib/libpng12.so /usr/lib/libpng12.so
And thats it!
In the last days i lost some (non critical) data cause i had forgot to install rsnapshot in my laptop. I was without network for a couple of hours and there was nothing on TV. So … i’ve played with bash and made a bash script to backup some directories with a snapshot logic.
The bash script is really simple and straight-forward without any difficult parts. So you can easily configure it, to serve your needs.
#!/bin/bash
# Evaggelos Balaskas, <ebalaskas AT ebalaskas DOT gr>, 20090122
DIR="/var/cache/pacman/pkglist"
PATHS="/etc /usr/local/etc /boot"
BACKUP="backup"
PACMAN="/usr/bin/pacman -Qqe"
RSYNC="/usr/bin/rsync -ra"
MKDIR="/bin/mkdir -p"
DATE="/bin/date"
CP="/bin/cp -al "
MV="/bin/mv -f"
RM="/bin/rm -rf"
TOUCH="/bin/touch"
DAYS="10"
# Make Directory Structure
$MKDIR $DIR/`$DATE +%Y/%m/%d`
#Package List
$PACMAN > $DIR/`$DATE +%Y/%m/%d/pkglist_%H_%M`
#Rotation
if [ -d "$DIR/$BACKUP.$DAYS" ] ; then
$RM $DIR/$BACKUP.$DAYS
fi
for i in `seq $(expr $DAYS - 1 ) -1 1` ;do
if [ -d "$DIR/$BACKUP.$i" ]; then
$MV $DIR/$BACKUP.$i $DIR/$BACKUP.$(expr $i + 1)
fi
done
# Create Hard Link
if [ -d "$DIR/$BACKUP.0" ] ; then
$CP $DIR/$BACKUP.0 $DIR/$BACKUP.1
fi
# Sychronization
for k in $PATHS; do
$MKDIR $DIR/$BACKUP.0$k/
$RSYNC --delete $k/ $DIR/$BACKUP.0$k
done
# TimeStamp
$TOUCH $DIR/$BACKUP.0
Το archlinux χρησιμοποιεί τον διαχειριστή προγραμμάτων pacman. To powerpill είναι ένα wrapper πρόγραμμα για τον pacman. Η δουλειά του δλδ είναι να κατεβάζει από διαφορετικές πηγές το πρόγραμμα που θέλουμε να εγκαταστήσουμε κάνοντας χρήση του μέγιστου bandwidth που διαθέτουμε. Το powerpill κάνει χρήση του aria2, ενός προγράμματος που υλοποιεί πολλαπλά πρωτόκολλα και πολλαπλές πηγές με σκοπό να κατεβάσει το αρχείο που επιθυμούμε στον μικρότερο χρόνο.
Η χρήση του powerpill στο pacman μπορεί να γίνει με αυτόν τον τρόπο:
powerpill pacman -Syuw
ή
powerpill pacman -Syu
Ακόμα κι εάν δεν έχετε archlinux, ρίξτε μια ματιά στο aria2. Αποτελεί ένα αξιόλογο πρόγραμμα.
Για όσους δεν το γνωρίζουν (ακόμα), η google μέσω της υπηρεσίας google share (μιας υπηρεσίας από την οποία μπορούν να διαμοιράζονται αρχεία - πάντα online - οι χρήστες της), δίνει πλέον την δυνατότητα να ανεβάσει και να αποθηκεύει κανείς αρχεία με μέγεθος μέχρι 250 MB. Πριν από λίγο καιρό είχε δώσει την δυνατότητα δημιουργίας καταλόγων και πλέον ολοκληρώνει την μετατροπή του google share από docs αρχεία σε μία filesharing υπηρεσία.