Posts Tagged ‘linux’

Jolicloud 1.0 για netbooks

Posted in Linux & Open Source on July 31st, 2010 by atma – Be the first to comment

jolicloud Jolicloud 1.0 για netbooks

Jolicloud - Linux for Netbooks

Κατόπιν παρότρυνσης (tweet) του dali13gr αποφάσισα να δοκιμάσω στο netbook μου, ένα Aspire One ZG5 την διανομή GNU/Linux για netbooks Jolicloud.

Πριν το Jolicloud στο netbook είχα εγκαταστήσει την έκδοση Ubuntu for netbooks. Το συγκεκριμένο netbook είχε μετατραπεί σε ένα κομμάτι πλαστικό, καθότι οποιοδήποτε πρόγραμμα εκτός το Chrome έτρεχε με μεγάλη δυσκολία. Η διανομή ήταν πολύ “βαριά” για το ZG5.

Το Jolicloud με κέρδισε από την πρώτη στιγμή που επισκέφθηκα την ιστοσελίδα τους συστήματος. Φιλική, όμορφη και με αρκετές πληροφορίες για το σύστημα. Υπεύθυνος γι αυτό το μικρό θαύμα είναι ο Tariq Krim. Ο Tariq ίδρυσε την εταιρία Jolicloud το 2008 στο Παρίσι, με σκοπό να δημιουργήσει ένα ελαφρύ, εύκολο κι άνετο λειτουργικό σύστημα για netbooks που να μην υπολείπεται σε δυνατότητες των είδη υπαρχόντων συστημάτων για netbooks αλλά να είναι σαφέστατα πιο ελαφρύ. Και μπορώ να πω με αρκετή έκπληξη ομολογουμένως, ότι το πέτυχε!

Το Jolicloud είναι βασισμένο στην διανομή Ubuntu, που με την σειρά της είναι βασισμένη στην διανομή Debian GNU/Linux. Η εγκατάσταση προγραμμάτων γίνεται με τρόπο παρόμοιο του Google Chrome.

Η εγκατάσταση του συστήματος είναι πολύ απλή. Επέλεξα να την κάνω από USB stick δημιουργώντας ένα iso image σε USB 1GB. Υπάρχει επιλογή χρήσης ολόκληρου του σκληρού δίσκου ή partition για χρήση δύο λειτουργικών συστημάτων.

Jolicloud

Jolicloud Dashboard

Το πρώτο βασικό στοιχείο που το διαχωρίζει από τις άλλες διανομές για netbooks είναι η εμφάνιση. Μπορώ να πω με σιγουριά πως ο τρόπος λειτουργίας και η λογική πλησιάζει το iOs και τον τρόπο λειτουργίας των iPhone και iPad. Προφανώς είναι η σωστή κατεύθυνση αφού το iOs αποτελεί την αιχμή της τεχνολογίας στον τομέα mobile OS. Τα πάντα γίνονται από το “My Jolicloud” application που επιτρέπει την εγκατάσταση/απεγκατάσταση των πακέτων της επιλογής μας.

Η εγκατάσταση προγραμμάτων είναι απλή και γρήγορη. Τα “βασικά” προγράμματα όπως facebook και twitter είναι είδη εγκατεστημένα, ενώ υπάρχουν clients για τα περισσότερα γνωστά web 2.0 προγράμματα που χρησιμοποιούμε: Flickr, Spotify, Last.fm, Google Apps, Evernote, Delicious κλπ.

Ο Ελληνικός ορθογράφος λειτουργεί σωστά τόσο με τον κειμενογράφο gedit (πακέτο aspell-el) όσο και στον Mozilla Firefox αφού εγκαταστήσετε το Greek-dictionary plugin.

Ενώ με Ubuntu Remix δεν μπορούσες να δεις σε καμία περίπτωση με άνεση video στο YouTube, το flash plugin χτυπουσε κόκκινο κι ο επεξεργαστής γονάτιζε, με το Jolicloud καταφέρνω να δω 720p ανάλυση με ευκολία στο YouTube με Firefox.

Το μόνο κάπως ενοχλητικό είναι ότι δεν μπορείς να βάλεις applications στο background με τον κλασικό τρόπο. Δεν μπορείς π.χ. να αφήσεις ανοιχτό τον twitter client γιατί δεν είναι “client” με την συμβατική έννοια. Τα περισσότερα προγράμματα χρησιμοποιούν έναν HTML5 browser που ανοίγει όταν κάνεις διπλό click  στο εικονίδιο με αποτέλεσμα να χρησιμοποιείς τον web-client άσχετα αν πολλοί χρήστες δεν το καταλάβουν γιατί είναι υλοποιημένο με τέτοιο τρόπο ώστε να λειτουργεί σαν stand-alone app.

Δυστυχώς κάποια προβλήματα αναξιοπιστίας που το GNU/Linux κουβαλάει από τότε που δημιουργήθηκε δεν λείπουν. Αν προσπαθήσετε να ανοίξετε π.χ. το Keyboard Shortcuts menu, δεν ανοίγει. Τουλάχιστον στον δικό μου netbook crash-άρει συνεχώς. Κάποια παράθυρα επιλογών στο administration panel είναι μεγαλύτερα από την οθόνη και δεν υπάρχει ορθολογικός τρόπος για δεις τις επιλογές που βρίσκονται εκτός οθόνης. Οι γραμματοσειρές που χρησιμοποιούνται είναι άσχημες, αλλά γι αυτό φταίνε τα GTK libraries που χρησιμοποιήθηκαν.

Το αποτέλεσμα πάντως, είναι πάρα πολύ καλό και αν εξαιρέσουμε κάποια προβλήματα που υπάρχουν σε οποιοδήποτε παραθυρικό σύστημα GNU/Linux, είναι αξιοσημείωτο το ότι μπορείς να λειτουργήσεις το σύστημα “out of the box” χωρίς την χρήση γραμμής εντολών. Φυσικά το Terminal αλλά για το ευρύ κοινό, δεν χρειάζεται. Είναι η πρώτη φορά που συμβαίνει κάτι τέτοιο σε ένα σύστημα Linux-based που συναντώ.

Επίσης, το όλο σύστημα είναι ελαφρύ. Τα περισσότερα προγράμματα θα ανοίξουν το πολύ σε 5″. Αν ο χρόνος σας φαίνεται πολύς τότε προφανώς τα netbooks δεν κάνουν για εσάς! Πάρτε ένα iPad :-)

Monitoring your server via twitter!

Posted in Apple, HowTo, Internet & technology, Linux & Open Source on November 25th, 2009 by atma – Be the first to comment

Manolis Kiagias is a FreeBSD addict. He runs the Greek FreeBSD community website. The FreeBSD operating system is an open source, free of charge UNIX based system from which Apple’s OSX derives!

Manolis has created a neat twitter command line python client, using the py-twitter extension in order to create a twitter user for the community server! It’s a great idea to keep track of your server’s change! Of course, you can read the system’s emails but, twitter is easier to use and much more laconic, which is a good thing.

Manolis shared with me the python twitter script:

#! /usr/bin/env python
#
# twitthis.py - Tweet a message (status update)
#
# Copyright (c) 2009 Manolis Kiagias
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
import sys
import twitter
#
# Enter your real twitter username
# and password in the variables below
#
myusername='myusername'
mypassword='mypassword'
#
# Note: It seems py-twitter can only handle en_US.ISO8859-1
#
count=len(sys.argv)
if count==1:
	print 'You must provide a message!'
	exit(1)
else:
	message=sys.argv[1]
	api=twitter.Api(username=myusername,password=mypassword)
	status=api.PostUpdate(message)
	exit(0)

The way the script works is simple. First you create an account at twitter.com, it’s fast and easy. Afterwards you just “follow” the new account. I used a closed twitter account, because I don’t want my server updates to be publicly available. You can see Manoli’s updates on MyServerStatus twitter account.

The script runs from command line as follows:

atma@devon:~ > python tweet \"Hello World\"

It takes just 1 argument, which in natural language parlance, can be a phrase enclosed in quotes “”. Manoli’s uses traditional cron demon to run the script.

However my home server, runs Apple’s (Tiger) OSX 10.4.11 . Which means that I can’t use cron. I need to use launchd. I chose to display the following informations: System IP address, it’s dynamic hence often changes, the system’s available GB and the Fail2ban last banned IP which I want to know for personal reasons and finally the uptime. Of course you can display other info such as, UPS status, etc.

First we need to install the components that will permit us to run the script. Manoli’s script needs python py-twitter. So using Macports we can install all the needed packages:

$ sudo macports install py25-twitter

NOTE: Under Macports 1.8.1 we have several versions of py-twitter. The one I used is the py25-twitter which is made for Python 2.5, which is the default Python version in my system, installed via macports. If you use Python-2.6 you should install py26-twitter instead.

Here is the script called “tweetall” that will execute Manoli’s script:

#!/bin/bash
 
#command line
cmd="/Users/atma/Progs/bin/tweet"
 
# aliases
ip=`links -dump http://www.whatismyip.org/|awk '{print $1}'`
ban=`echo $(grep Ban /var/log/fail2ban.log|tail -n 1|awk -F " " '{print $7}')`
uptime=`uptime`
gb=`df -h|grep disk0s3|awk -F "G" '{print $3}'`
 
# execute the commands
$cmd "My IP is: $ip |Last banned ip is: $ban |uptime: $up |Free Space is $gb GB"

The only thing we need to do now, is place the script to user’s $PATH or a custom made directory and then create our custom launchd script. Here is the launchd script that will launch the script once every hour:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>GroupName</key>
        <string>atma</string>
        <key>Label</key>
        <string>com.twitter.user</string>
        <key>ProgramArguments</key>
        <array>
                <string>/Users/atma/Progs/bin/tweetall</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>StartInterval</key>
        <integer>3600</integer>
        <key>UserName</key>
        <string>atma</string>
</dict>
</plist>

This file is placed in the following directory: $HOME/Library/LaunchAgents/ and the name is com.twitter.user. This directory is custom, you could place the launchd script anywhere in your system, does not matter, it’s just for the sake of “standards” that I used this directory. The second thing you need to change is the “atma” strings in the launchd script. You should change this with your username under OSX. These are the user/groups permissions which the script will be executed, so you need to change the values.

Now launch the script as a user:

$ launchctl -w /Users/atma/Library/LaunchAgents/com.twitter.user

The rest will be handled by your system in automatic. To check that everything is okay just check your launchctl list:

$ launchctl list
com.twitter.user

And this is what you get:
m Monitoring your server via twitter!

Enjoy! :-)

Ubuntu 9.04: Linux στο γραφείο

Posted in Linux & Open Source on May 8th, 2009 by atma – Be the first to comment

Linux for Human Beings

Linux for Human Beings

Μετά από λίγες ημέρες με Ubuntu 9.04 σαν κλασικό σύστημα γραφείου έχω κάποιες παρατηρήσεις να κάνω. Αυτό το post είναι follow-up του προηγούμενου post σχετικά με την διανομή Ubuntu και τα προγράμματα γραφείου.

Οι διαφορές μετά την αναβάθμιση από Ubuntu 8.10 σε 9.04 είναι εμφανής. Το σύστημα είναι αρκετά πιο σταθερό και δεν ξέρω γιατί, μου δίνει την ψευδαίσθηση ότι το Open Office τρέχει καλύτερα, σαν να είναι integrated καλύτερα στο σύστημα. Οι διαφορές από την προηγούμενη έκδοση δεν σταματούν εδώ. Μιας και είμαι αρκετά βαρεμένος για να ασχοληθώ με την εμφάνιση του Gnome, δεν κατεβάζω από το Gnome Look themes τα οποία θέλουν επεξεργασία. Αν κάνω καμιά αλλαγή είναι από τα predefined themes που βρίσκεις έτοιμα στο σύστημα. Τα καινούρια themes μου άρεσεαν πάρα πολύ, τόσο που έκανα ένα από αυτά default – σύντομα σε screenshot – άλλαξα εύκολα και γρήγορα τον default browser από Firefox σε Opera μέσω Gnome κι όχι γραμμής εντολών.

Αδυναμία παραμένει το κακό integration που έχει το skype στο σύστημα. Γι αυτό όμως δεν φταίει η κοινότητα Linux. Είναι τρύπιος ο client της εταιρείας Skype. Επίσης έχω παρατηρήσει ένα μικρό πρόβλημα με την κάρτα δικτύου, μετά την αναβάθμιση, έχω την εντύπωση, ότι κάποιες φορές χάνει το “lease” ο dhcp-client χωρίς λόγο. Παρόλα αυτά, θα ξαναγράψω γι αυτά τα προβλήματα αν επαναληφθούν στο μέλλον.

Ως tweeter client χρησιμοποιώ το gwibber χωρίς προβλήματα. Το βρίσκω όμορφο και σχετικά αρκετά πιο κοντά στο Gnome Desktop από το Twhirl. Το pidgin είναι ένας client χωρίς προβλήματα πλέον, κι ο Firefox για Ubuntu αν και είναι γρήγορος, κυριολεκτικά εκτινάσσεστε όταν κάνω click στο εικονίδιο, παρόλα προτίμησα τον Opera για την ώρα. Θα δούμε αν αυτή η αλλαγή γίνει μόνιμη στο μέλλον.

Το Open Office δεν “σκάει” τόσο συχνά όσο πριν, αλλά υπάρχουν προβλήματα σταθερότητα. Για παράδειγμα όταν προσθέτω πίνακες 3×4 σε ένα .odt αρχείο κειμενογράφου, μου αλλάζει αυτόματα focus και βγαίνει μπροστά ο browser ή όποιο άλλο πρόγραμμα βρίσκεται στο background. Πιστεύω ότι αυτό γίνεται γιατί το Open Office ανοίγει αυτόματα ένα ακόμη παράθυρο το οποίο προσπαθεί να το φέρει frontground αλλά για κάποιο λόγο, αντί να έρθει ο πίνακας με τις επιλογές, έρχεται κάποιο άλλο πρόγραμμα το οποίο τρέχει εκείνη την στιγμή. Όταν επιστρέφω στο open office, είναι όλα όπως πριν. Όπως είπα, δεν σκάνε τα μεγάλα αρχεία .xls κι αυτό είναι αρκετά σημαντικό. Θα ήθελα όμως, ακόμη καλύτερο integration με το σύστημα, φαίνεται πολύ ξένο στα μάτια μου, σε σχέση με τα άλλα GTK προγράμματα για Gnome.

Πολύ πιο σταθερό δείχνει και το Evolution. Ο default email client του Gnome μοιάζει να μην αργεί να συγχρονιστεί με το Google Calendar  & Contacts ενώ, δεν μπλοκάρει καθόλου στα emails.

Σε ότι αφορά το uptime υπάρχει ένα θέμα. Αν κι έχω συνδέσει το UPS το οποίο φαίνεται να λειτουργεί άψογα με Ubuntu και NUT νομίζω πως έγινε ένα reboot αυτόματα εχθές το βράδυ. Στα logs δεν βρήκα κάτι.

Η βελτίωση από την προηγούμενη έκδοση δεν είναι κραυγαλέα, αλλά είναι εμφανής, τόσο σε ότι αφορά την ομορφιά του περιβάλλοντος εργασίας όσο και στην σταθερότητα του συστήματος.

Κάποιες παρατηρήσεις σε ότι αφορά το Ubuntu Desktop

Posted in Internet & technology, Linux & Open Source on February 14th, 2009 by atma – Be the first to comment

 

Linux for Human Beings

Linux for Human Beings

Έπειτα από έναν μήνα χρήσης του Ubuntu στο γραφείο, μπορώ να κάνω κάποιες παρατηρήσεις γι αυτήν την καταπληκτική κατά τα άλλα διανομή. Ο build in package manager είναι αρκετά καλός, διαχειρίζεται με σχετική άνεση και χωρίς πολλά προβλήματα τις αναβαθμίσεις των πακέτων του συστήματος.

Υπάρχουν παρόλα αυτά κάποια πράγματα που πρέπει να λυθούν. Πρώτα από όλα, υπάρχει πάρα πολύ μεγάλη εξάρτηση από την γραμμή εντολών. Είναι δυστυχώς για τους mainstream users ένα σκαλί που το Ubuntu Linux αν και δείχνει ότι θέλει να ξεπεράσει δεν μπορεί. Σε αυτό δεν πιστεύω ότι φταίει κατά κύριο λόγο η διανομή, αλλά η γενικότερη νοοτροπία γύρω από τον κόσμο του Linux. Πολλοί developers ή maintainers σημαντικών προγραμμάτων δεν μπαίνουν στην διαδικασία να φτιάξουν ένα GUI της προκοπής, ο οποίος να είναι συμβατός με τις stable βιβλιοθήκες της εκάστοτε έκδοσης GTK/QT που χρησιμοποιούν οι stable versions των GNOME και KDE. Ως αποτέλεσμα έχουμε ένα κάποια άσχημα applications. Δυστυχώς ή ευτυχώς, η ομορφιά και η ευελιξία, καθώς κι αυτό που αποκαλούμε user experience παίζει έναν σημαντικό ρόλο στο λειτουργικό σύστημα, κι αυτό το έχω καταλάβει πολύ καλά με την χρήση του MacOSX.

Παρόλα αυτά, αν κάποιος θέλει να βρέξει τα χέρια του με την γραμμή εντολών, δεν έχει παρά να ακολουθήσει τα manuls και να καταλάβει το mindset πίσω από αυτήν την πανέμορφη, κατά τα άλλα, διανομή. Πραγματικά, είναι μια τεράστια ευκολία να πατάς ένα κουμπάκι ή να δίνεις μια εντολή και να γίνονται όλα… auto-magically!

Το σύστημα έχει κολλήσει δύο φορές. Είναι συνεχώς ανοιχτό αν κι ακόμη δεν έχω πάρει το APC UPS που θέλω για τον σπιτικό iMac, έτσι ώστε να βάλω τον MGE, για τον οποίο έχω έτοιμα config scripts από τότε που είχα FreeBSD server στο σπίτι. Οπότε θα τρέξει απευθείας στο Ubuntu με το netmontools πακέτο. Πέρα από αυτά τα δύο κολλήματα, που προήλθαν από την αλλαγή χρήστη Guest μέσα από το γραφικό περιβάλλων (στο menu πάνω αριστερά), υπάρχουν κάποια bugs στο OpenOffice 3.0 που (κακώς) διάλεξα να χρησιμοποιήσω στο γραφείο. Είχα OOffice στα Windows κι επέλεξα να βάλω την ίδια έκδοση και στο intredip Ubuntu παρότι δεν ήταν η υποστηριζόμενη. Η λογική επιλογή θα ήταν να περιμένω έως ότου τα official repos περάσουν στην έκδοση 3.0 .

Παρόλα αυτά, το Open Office 3.0 κάνει αρκετή δουλειά. Είναι σαφώς πιο αργό και βαρύ από το MS Office 2004, ειδικά σε Mac (iBook G4) σέρνεται το Open Office 3.0 Aqua, αλλά και στον iMac (2.8 Ghz interl c2d, 4 GB Ram) είναι το πιο αργό από τα 3 office suites που έχω: iWork, MS Office 2008 & Open Office.

Υπάρχει και η λύση του Abiword & Gnumeric τα οποία είναι μέρος του Gnome Office suite, αλλά φοβάμαι πως θα έχω μεγάλα προβλήματα συμβατότητας με .xls αρχεία. Το Abiword το χρησιμοποιώ και παραδόξως μου αρέσει περισσότερο από το Writer του OOffice.

Κάτι που είναι επίσης πάρα πολύ εκνευριστικό στο Open Office calc είναι η έλλειψη επιλογής εκτύπωσης 1 φύλλου. Π.χ. έχω ένα σύνολο πράξεων/μηνών, μια κατάσταση, και θέλω να την εκτυπώσω σε 1 σελίδα. Αναγκάζομαι να χάσω 4 λεπτά στην μορφοποίηση κι άλλα τόσα σε δοκιμαστικές εκτυπώσεις! Είναι απαράδεκτο να μην υπάρχει σαν αυτόματη επιλογή. Είναι αλήθεια πως η σύγκριση με το MS Office είναι άνιση, καθότι μιλάμε για το καλύτερο λογισμικό μιας εταιρίας όπως η Microsoft, αλλά είναι κι αναπόφευκτη αφού μόνο από τον καλύτερο μπορείς να μάθεις. Χρησιμοποιώ το iWork πάρα πολύ, μου αρέσει υπερβολικά το Pages και Numbers αλλά παρά την ομορφιά και την ευχρηστία τους, πάσχουν από τα ίδια συμπτώματα του Open Office.

Σήμερα αντιμετώπισα κάποιες “δυσκολίες” στην εγκατάσταση πακέτου Java για να κάνει χρήση ο Firefox. Και πάλι χρειάστηκαν γραμμές εντολών κλπ. Προσωπικά δεν με πειράζει καθόλου, άλλωστε σήμερα έχασα κανένα 20λεπτο να κάνω δοκιμές με τον lftp για να παίρνει αυτόματα backup από τα Windows μέσω Filezilla το Linux, έτσι ώστε να έχω backup από όλα τα συστήματα που χρησιμοποιώ στο γραφείο: το Λογιστήριο (WinXP), το φορητό μου (οικονομικές αναλύσεις κ στοιχεία) & Linux που έχει email & γραμματειακές εργασίες.

Δεν ξέρω πως τα κατάφερα κι εγώ έτσι, να έχω 3 διαφορετικά λειτουργικά συστήματα στον ίδιο χώρο, αλλά για την ώρα είναι όλα τους ασφαλή και συνυπάρχουν αρμονικά.

Η διανομή Ubuntu έχει κάνει πολύ θετικά βήματα μπροστά, αλλά δεν είναι καθόλου κοντά σε κάτι τόσο στιβαρό όπως το MacOSX ή τα προγράμματα που τρέχουν σε αυτό (π.χ. Pages, Bento, Quicksilver, Twhirl, Textmate, κλπ). Από την άλλη, με 300 € αγόρασα έναν υπολογιστεί από το e-shop κι έχω ένα full featured desktop με transparent folder encryption, αυτόματες ενημερώσεις ασφαλείας & λογισμικού, κλπ. Ένα πλήρες σύστημα. Κατά την γνώμη μου, αυτό θα έπρεπε να παρέχεται ως default σύστημα σε όλα τα σχολεία, όλες τις πανεπιστημιακές σχολές και δημόσια ιδρύματα. Όποιος θέλει κάτι καλύτερο και μπορεί να πληρώσει παραπάνω ας πάρει έναν Macintosh, τα Windows είναι προϊστορία…

Duplicity: Μια απλή κι ασφαλής λύση για backup σε Ubuntu intrepid 8.10

Posted in Linux & Open Source on January 22nd, 2009 by atma – Be the first to comment

Είχα αναφέρει και παλαιότερα το duplicity σαν λύση για backup. Το duplicity είναι βασισμένο στο καταπληκτικό rdiff-backup. Το duplicity έχει τις ίδιες δυνατότητες με την πρόσθεση της κρυπτογράφησης των δεδομένων μας. Έτσι έχουμε την δυνατότητα να αποθηκεύσουμε τα δεδομένα μας σε έναν απομακρυσμένο server μέσω ssh. Υποστηρίζει κι άλλα πρωτόκολλα επικοινωνίας πέραν του ssh που προτείνεται για μια τέτοια διαδικασία, για λόγους ασφαλείας.

Στο παράδειγμα μου όμως, θα χρησιμοποιήσω ως αποθηκευτικό μέσω έναν εξωτερικό USB δίσκο. Αργότερα, όταν το κάνω, θα παραθέσω ένα παράδειγμα backup σε απομακρυσμένο server.

Αρχικά καλό θα ήταν να κάνουμε ext2fs τον εξωτερικό σκληρό δίσκο. Εάν θέλετε να το κάνετε χρησιμοποιώντας ένα πρόγραμμα φιλικό προς τον χρήστη, εγκαταστήστε το gparted. Έπειτα επιλέξτε filesystem, προτείνω το ext3fs κι όχι κάποιο εκ των xfs, jfs, reiserfs, αλλά η επιλογή είναι δικιά σας, όπως και τα δεδομένα!

Έπειτα εγκαθιστούμε το duplicity:

atma@Humildus:$ sudo apt-get install duplicity
atma@Humildus:~$ duplicity --version
duplicity 0.4.12

Έπειτα ανοίγουμε το αρχείο .bashrc και βγάζουμε τα comments από το bash_aliases:

 (...)
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
(...)

Τώρα μπορούμε να βάλουμε όλα τα aliases που θέλουμε στο αρχείο .bash_aliases αφού αυτό θα διαβάζεται από το .bashrc κάθε φορά που θα ανοίγουμε ένα console.

Το αρχείο .bash_aliases είναι κάπως έτσι:

atma@Humildus:~$ cat .bash_aliases
# atma's aliases file
(...)
# backup aliases
alias backup='duplicity /home/atma file:///media/disk/backup'
alias backup-statistics='duplicity collection-status file:///media/disk/backup'
alias backup-verify='duplicity verify file:///media/disk/backup /home/atma'
alias backup-list-files='duplicity list-current-files  file:///media/disk/backup'
(...)

Όπως έχετε καταλάβει το directory που “κρατάει” το backup είναι το /media/disk/backup το οποίο είναι ο εξωτερικός USB δίσκος. Τα υπόλοιπα aliases είναι απλά και γρήγορα βοηθήματα για να μην γράφω ολόκληρη την εντολή κάθε φορά.

Το duplicity κάνει χρήση του GnuPG. Εάν έχουμε δημιουργήσει προσωπικό κλειδί GnuPG το duplicity θα κάνει αυτόματα χρήση του κλειδιού κι έτσι θα επιτύχουμε την μέγιστη δυνατή ασφάλεια, με την μη συμμετρική κρυπτογράφηση που προσφέρει το GnuPG. Υποθέτω ότι όσοι κάνουν εκτεταμένη χρήση της κρυπτογραφίας γνωρίζουν ότι εάν χαθεί το κλειδί τους για κάποιο λόγο από το $HOME/.gnupg directory χωρίς να έχουν αντίγραφο, όπως είναι φυσικό, χάνουν αυτόματα και την πρόσβαση στο backup τους! Οπότε κάντε μεγάλη προσοχή σε αυτήν την περίπτωση!

Παρόλα αυτά, εγώ δεν ήθελα να δημιουργήσω κλειδιά γι αυτόν τον χρήση, γιατί δεν χρησιμοποιώ τον email client σε αυτό το μηχάνημα. Οπότε το duplicity δημιούργησε μόνο του ένα .gnupg directory και κάνοντας συμμετρική κρυπτογράφηση στα αρχεία μου ζήτησε μόνο ένα κλειδί, το οποίο είναι το μόνο πράγμα που πρέπει να γνωρίζει ο χρήστης. Ακόμη κι αν χαθεί το $HOME/.gnupg δεν υπάρχει κανένα πρόβλημα, το μόνο που θα σας ζητηθεί για την ανάκτηση του backup σας είναι ο κωδικός ασφαλείας.

Ένα παράδειγμα backup με το duplicity:

atma@Humildus:~$ backup
GnuPG passphrase:
--------------[ Backup Statistics ]--------------
StartTime 1232647665.63 (Thu Jan 22 20:07:45 2009)
EndTime 1232647669.41 (Thu Jan 22 20:07:49 2009)
ElapsedTime 3.77 (3.77 seconds)
SourceFiles 3155
SourceFileSize 1985851007 (1.85 GB)
NewFiles 0
NewFileSize 0 (0 bytes)
DeletedFiles 0
ChangedFiles 3
ChangedFileSize 7557 (7.38 KB)
ChangedDeltaSize 0 (0 bytes)
DeltaEntries 3
RawDeltaSize 1443 (1.41 KB)
TotalDestinationSizeChange 1583 (1.55 KB)
Errors 0
-------------------------------------------------
atma@Humildus:~$ backup-statistics
Connecting with backend: LocalBackend
Archive dir: None
	
Found 0 backup chains without signatures.
	
Found a complete backup chain with matching signature chain:
-------------------------
Chain start time: Wed Jan 21 20:44:36 2009
Chain end time: Thu Jan 22 20:07:43 2009
Number of contained backup sets: 8
Total number of contained volumes: 435
 Type of backup set:                            Time:      Num volumes:
                Full         Wed Jan 21 20:44:36 2009               346
         Incremental         Wed Jan 21 21:07:44 2009                 1
         Incremental         Wed Jan 21 21:09:55 2009                 1
         Incremental         Wed Jan 21 21:14:42 2009                81
         Incremental         Wed Jan 21 21:30:10 2009                 1
         Incremental         Thu Jan 22 08:04:03 2009                 1
         Incremental         Thu Jan 22 19:25:24 2009                 3
         Incremental         Thu Jan 22 20:07:43 2009                 1
-------------------------
No orphaned or incomplete backup sets found.

Όπως βλέπεται πιο πάνω, ζητάει τον κωδικό1 κι αν τον καταχωρίσουμε σωστά, ξεκινάει η διαδικασία του backup. Το backup είναι αυξητικό ( incremental ) που σημαίνει ότι το πρόγραμμα ελέγχει τα αρχεία στο directory που έχουμε επιλέξει για backup και μεταφέρει μόνο τα καινούρια αρχεία ή αυτά που έχουν υποστεί αλλαγές. Αυτή είναι η προκαθορισμένη συμπεριφορά. Αυτό γίνεται κυρίως για λόγους ταχύτητας και bandwidth όταν μιλάμε για απομακρυσμένο server. Εάν για κάποιο θέλουμε full backup αρκεί να βάλουμε το flag -full στο duplicity.

Προσωπικά, το backup θέλω γίνεται σε καθημερινή βάση, αυτόματα προσθέτω αυτό το script στον κατάλογο /etc/daily.cron/daily-backup:

atma@Humildus:~$ cat /etc/cron.daily/daily-backup
#!/bin/sh
# take a backup every day to avoid bubbles troubles!
PASSPHRASE=PASS su atma -c 'duplicity /home/atma file:///media/disk/backup'

Τώρα ξέρω ότι το duplicity θα εκτελείτε σε καθημερινή βάση από το σύστημα. Το Flag “PASSPHRASE=PASS” υποστηρίζεται από το duplicity για να μπορούν τα backup να αυτοματοποιηθούν. Είναι ο κωδικός του κλειδιού GnuPG. Στην περίπτωση μου δεν πειράζει διότι θεωρώ ασφαλές το μηχάνημα. Για κάποιον που χρησιμοποιεί προσωπικό κλειδί ασφαλείας πρέπει οπωσδήποτε να το αποφύγει αυτήν την λύση! Η μόνη λύση σε αυτήν την περίπτωση είναι να να παίρνει χειροκίνητα ο χρήστης backup, αλλιώς το κλειδί του κινδυνεύει σε τέτοιο βαθμό που χάνει το νόημα ύπαρξης του.

Επειδή όμως τα logs δείχνουν ότι το cron εκτελείτε στις 8:04 κάθε πρωί δεν μου κάνει. Το αφήνω όπως είναι και προσθέτω άλλο ένα crontab entry στον χρήση atma.

atma@Humildus:~$ crontab -l
# m h  dom mon dow   command
5 23 * * * /etc/cron.daily/daily-backup

Το duplicity έχει πάρα πολλές δυνατότητες για επιλογή καταλόγων που θέλουμε να πάρουμε ή όχι backup. Για παράδειγμα σίγουρα πολλοί δεν θα θέλουν να έχουν σε κρυπτογραφημένο backup τα mp3 τους. Αρκεί να κάνουν ένα –exclude /home/user/mp3directory όπως δείχνει το manual page του duplicity.

  1. Όταν κάνουμε χρήση GnuPG για κρυπτογράφηση, ο κωδικός μπορεί να είναι μια λέξη ή και μία πρόταση ολόκληρη του τύπου: “40 guys from Livadeia are going to take over, The Tripolitsa” []

Convalesco is using WP-Gravatar