Showing posts with label linux. Show all posts
Showing posts with label linux. Show all posts

Sunday, May 03, 2020

kernel in qemu

Wanted to start with kernel development and experiment with it. But i did not want to have to have to install  the kernel in my main machine. In this case the virtualization is the answer. I write the steps i did and the link(s) i used in order to get started.

To put everything together this is what i needed to do:
  1. install necessary packages
  2. download the kernel and build it
  3. create a root filesystem for qemu using buildroot
  4. run the kernel with the root filesystem with qemu

https://medium.com/@clem.boin/creating-a-minimal-kernel-development-setup-using-qemu-and-archlinux-987896954d84 has every detail to get started. There is no need to create a disk on anything and the debugging is a bonus. Although i dont know if the configure as it describes actually works, as i follow slightly different approach here.

Basic, i download the latest kernel (5.6.10) from https://www.kernel.org/ in a directory and then i did the normal make menuconfig, make and sudo make modules_install. If i wanted to install the kernel in my system and boot into it i will have to run also sudo make install and then configure the bootloader with sudo grub2-mkconfig -o /boot/grub2/grub.cfg.

Before go on, i want to share the parameters i used to build the kernel. I was actually trying to follow the http://linuxdocs.org/HOWTOs/Kernel-HOWTO.html#toc4 so the first thing i did was to disable the CONFIG_MODVERSIONS. That was for some convenience as i was just experiment. to find this when the menuconfig opens type / and copy paste the name that you are looking for. This will provide the path of where the config is located and exit. I had to repeat this for another error as the first attempt to build failed.

At the end build was ready and the modules were installed. now i had to build the filesystem. I cloned the buildroot, cd into it and i run make. This also takes some time and apparently you need Internet as it seems to download stuff (if you have perl installed and PERL_MM_OPT is set you will have to unset it).

finally i run the kernel in the qemu:

qemu-system-x86_64 -no-kvm -kernel arch/x86_64/boot/bzImage -boot c -m 2049M -hda ../buildroot/output/images/rootfs.ext2 -append "root=/dev/sda rw console=ttyS0,115200 acpi=off" -serial stdio -display none






























Tuesday, May 05, 2015

Android and full backup notes


these are the steps for a full backup Android phones on Linux.

  1. Download the SDK
  2. install and configure the SDK
  3. Enable debugging mode on the phone and connect it to the computer
  4. Create the backup

  1. Download the SDK
Not much to say here. From the download site under SDK tools only(if you are not interested in downloading the Android Studio as well) select android-sdk_{version}-linux.tgz and unzip with
tar -xvzf android-sdk_<ver>-linux.tgz
You need to have installed java.
  1. install and configure the SDK
 It is recommended to locate it under your home directory. if so, next
cd ~/android-sdk-linux/tools
./android
and install all the updates.

Optional but probably you will need that as well for efficiency. Open .bashrc or  .bash_profile and add:

export PATH=~/android-sdk-linux/tools:~/android-sdk-linux/platform-tools:$PATH
export PATH=~/android-sdk-linux/build-tools:$PATH
export LD_LIBRARY_PATH=~/android-sdk-linux/tools/lib:$LD_LIBRARY_PATH
Now you are able to run adb command from everywhere.
  1. Enable debugging mode on the phone and connect it to the computer 
On the phone now,

Settings>developer options>enable usb debugging.
  1. Create the backup
the last step requires from you to create a folder where the backup will be stored and run

adb backup -apk -shared -all -f ~/Backups/fullbackup-20130722.ab

obviously replace "~/Backups/fullbackup-20130722.ab" with you own folder and give any name on your file that you like.

To restore the backup
adb restore ~/Backups/fullbackup-20130722.ab

That is it. If you need read some extra notes look at http://www.all-things-android.com/content/android-device-backups which was also the resource of this article.

Friday, November 14, 2014

Λυση για DNS σε OpenVPN

το προβλημα
Το προβλημα ειναι οτι καποιος σου παρεχει ενα λογαριασμο vpn και παρολο που συνδεεσαι κανονικα, τουλαχιστο σε Linux μηχανηματα δεν μπορεις να κανεις ping διευθυνσεις.

λιγη επεξηγηση
Αυτο συμβαινει γιατι ο client δεν κανει update το resolv.conf αρχειο. Το resolv.conf περιεχει τις διευθυνσεις που ο υπολογιστης θα ψαξει για μια συγκεκριμενη διευθυνση. Ειναι υπευθυνο λοιπον για να μετατρεπει ip σε διευθυνσεις. Κατι που μπορεις να κάνεις manual περνοντας την ip απο το conf αρχειο που εχεις για τον client στο vpn ή να ακολουθήσεις μερικα απλα βηματα, που περιγραφονται παρακατω.


Η λογικη ειναι να τρεξεις βαλεις ενα script μεσα στον client για να κανει αυτη τη δουλεια οταν ανοιγει το tunnel και ενα script για να επαναφερει το resolv.con οταν κλεινει το tunnel.

η λυση
Στην αναζητηση βρηκα πολλα script. Καποια ομως ειχαν καποιες εξαρτησεις και επρεπε να εγκαταστησεις καποιο προγραμμα, οπως το openresolv. Το οποιο ομως δεν υπαρχει σε ολα τα repository καθε διανομης. Η λυση λοιπον βρισκεται σε ενα repository στο github. Πηγαινουμε στο https://github.com/gronke/OpenVPN-linux-push/ και το κατεβαζουμε. Κανουμε copy τα δυο αρχεια up.sh και down.sh στο /etc/openvpn φακελο και ανοιγουμε τον client.conf ή client.ovpn σε καποιο editor για να προσθεσουμε τρεις γραμμες στο τελος.

script-security 2
up /etc/openvpn/up.sh
down /etc/openvpn/down.sh
Τα δυο script πρεπει να τρεχουν με την παραμετρο  script-security 2 που αν την αγνοησετε μεσα στο αρχειο, θα πρεπει να την δωσετε manual οταν θα τρεξετε το openvpn. Χρειαζετε για το openvpn θα τρεξει δυο εξωτερικα scripts.

Αυτό ήταν.

Tuesday, May 20, 2014

fedora.next at Fosscomm 2014

I gave my first presentation for fedora this year.  In fact my colleague Zacharias Mitzelos and me were the presenters of fedora.next at yearly conference Fosscomm. The conference for 2014 was at Lamia in the Univercity of the town. Three auditoriums be hold.

We chose to talk about fedora.next because we believed would be a very interesting subject for such event and for the greek fedora and open source communities as well. Fedora.next is in the way and many things are going on. Zacharias and I collect as much information and we tried to pass the big picture of Matthews' idea and the current status of the project.

In forty minutes we presented the rings, each group separately and their PRDs, the technical issues and solutions which its group deal with, what we can achieve from that, what the open source gain from that and finally we try to answer some questions from the audiences.

In conclusion, this was my first attempt to present something and I was so exciting about that. For the presentation itself I know it could better. I hope to learn from this attempt and make it better the next time. Read  more if you want at osarema or fedora-gr .You can find the presentation here. As a proud member of fedora, I am clad for this big step of the project. I am waiting to see how all this will affects us into the community and around us. Fedora.next is here and will attract our attention day by day more and more. 

Tuesday, January 28, 2014

Fedora 20 release party

Το Σαββατο που περασε 25-01 η ελληνική κοινότητα της αγαπημένης μας διανομής εκανε το καθιερωμένο παρτυ για την εκδοση 20 που ειναι διαθέσιμο απο τις 17-12-2013 με το κωδικο όνομα "Heisebug". Το όνομα μας προτρεπει σε εναν κβαντικο επιστημονα τον Heisenberg που παρατηρησε οτι η πράξη της παρατήρησης ενός συστήματος μεταβάλλει αναπόφευκτα την κατάσταση του. Απο αυτον λοιπον δανειστηκε η επιστημη των υπολογιστων τον ορο Heisebug για να περιγραψει ενα bug το οποιο φαινεται να αλλαζει οταν μελετιεται. Ψαγμένο αρκετα ετσι??

Το Fedora 20 συμπιπτει με την επετειο των 10 χρόνων του project καθως και με την αποφαση μεγαλη στροφη στο infrastructure, ωστε να γινει ακομα πιο καινοτομο, ευχρηστο και ελκυστικο για τους developers. Το Fedora.Next εχει ηδη ξεκινησει και το αναμενουμε, προσωπικα αγωνιωδως. Τα οσα γινονται και οσα θα φερει ηταν ενα απο τα θεματα που συζητησαμε στο party καθως ολα ειναι ακομα σε εμβρυικο σταδιο και οι αλλαγες ειναι σημαντικες.

Επισης πριν λιγες μερες το askbot του Fedora στο ask.fedoraproject.org συμπερίελαβε υποστηριξη στα ελληνικα. Η ελληνικη κοινοτητα ειναι υπευθυνη για τη λειτουργια και την μεταφραση. Ετσι ειχαμε και ενα workshop με μεταφραση για το συγκεκριμένο project. Τωρα μπορειτε να κανετε τις ερωτήσεις σας και να λυνετε τις αποριες σας στα ελληνικα. Οσοι θελουν μπορουν να συνησφερουν στην μεταφραση πηγαίνοντας εδω. Θα ηταν χαρα μου να σας απαντησω σε αποριες ή οτιδηποτε σχετικα.

Περα απο αυτα, εγιναν και δυο μικρες παρουσιασεις, ενα με τα νεα features και τις αλλαγες στην τρεχουσα διανομη και ενα για το πως θα φτιαξετε το δικο σας repository. Ανταλαχθηκαν αποψεις, γνωσεις και εμπειριες. Μπορειτε να βρειτε περισσοτερα στο report του event

Στο event οπως παντα μοιραστηκαν cd και stickers σε φιλους και γνωστους. Λυσαμε αποριες σε καινουργιους χρηστες και καναμε σχεδια για το μελλον. Ενα απο αυτα προκειται για ενα lab για τη security spin. Ολα αυτα συνεβησαν και θα συμβουν στο hackerspace. Πολλοι απο μας ετοιμαζομαστε και θα βρεθουμε την προσεχως βδομαδα στο Βέλγιο που παιρνει μερος η Fossdem. Το Fedora και η ελληνικη κοινοτητα θα είναι εκει.

Sunday, September 08, 2013

Fedora: Μια διανομη GNU/Linux

Πολλοι χρηστες των Windows εχουν σκεφτει κατα διαστηματα να βγαλουν το συγκεκριμενο λειτουργικο απο τους υπολογιστες τους για διαφορους λογους, οπως ασφαλειας, ελευθεριας ή λειτουργικοτητας. Καποιοι ισως γιατι αρχιζουν να ξαχνοντε και να ζητανε πιο advanved πραγματα να κανουνε. Αλλα τι θα μπορουσαν να εγκαταστησουν??


Αρκετοι σιγουρα θα εχουν σκεφτει να δοκιμασουν το linux. OK. Για αυτο θα μιλησουμε ετσι και αλλιως. Αλλα τι ειναι αυτο?? Πως το εγκαθιστουμε? Γιατι διαφερει και τι προσφερει? Πως λειτουργει? Πολλα ερωτηματα.... Καταρχην ειναι μια ξεχωριστη εμπειρια...

Και περνοντας τα πραγματα απο την αρχη και να λεμε τα πραγματα σωστα, παροτι ονομαζουμε λειτουργικο συστημα linux εννοουμε GNU/Linux. Ποια ειναι η διαφορα?? Το Linux ουσιαστικα δεν ειναι λειτουργικο. Ειναι ο πυρηνας. Καθε λειτουργικο εχει πυρηνα, το ιδιο και τα Windows. Ιστορικα λοιπον, το λειτουργικο ειναι το GNU το οποιο ξεκινησε να κατασκευαζεται το 1984. Ελειπε ομως ο πυρηνας. Κατι το οποιο ηρθε και δημιουργησε ο Linus Torvald και εδεσε για να δημιουργηθει το λειτουργικο που σημερα καλουμε Linux. Ολο αυτο εχει τη σημασια του και θα το δουμε αργοτερα, γι' αυτο κρατηστε το.

Το λειτουργικο αυτο λοιπον ειναι ελευθερο. Ελευθερο δεν σημαινει αναγκαστικα χωρις λεφτα. Σημαινει ομως οτι μπορεις να παρεις τον κωδικα και να φτιαξεις το δικο σου custom λειτουργικο συστημα. Ολα στα μετρα σου. Αυτο σημαινει ελευθερια. Αυτο που ουσιαστικα προσπαθησε να πετυχει το GNU project. Ενα εντελως ελευθερο και ανοικτο λειτουργικο(βασισμενο στο unix). Περνωντας τα χρονια πολλοι πηρανε τον καινουργιο πυρηνα και φτιαξανε τη δικη τους διανομη. Αυτη τη στιγμη υπαρχουν πανω απο 600 διανομες, οι οποιες δεν ειναι ολες active. Καθε μια μπορει να εξηπυρετει καποιο σκοπο, συγκεκριμενο λογο ή ιδεολογια. Για παραδειγμα το Edubuntu για την εκπαιδευση, το dsl για παλια μηχανηματα, knoppix σαν live cd, IPCop για router/firewall. Για το Desktop μας οπως μπορειτε να φανταστειτε και σαν εναλλακτικες υπαρχουν απειρες επιλογες. Το Fedora ειναι μια απο αυτες.



Το Fedora ειναι μια απο τις μεγαλυτερες και ενεργες διανομες που κατασκευαζεται απο το Fedora project. Προερχεται απο μια αλλη μεγαλη διανομη, τη Redhat η οποια αποφασισε καποια στιγμη να διαχωρισει το λειτουργικο της σε RHEL για εταιρειες και σε μια community διανομη για desktops. Αναμεσα στις δυο υπαρχει μεγαλη συνεργασια και μια δυνατη σχεση. Το Fedora ωστοσο στοχευει αλλου και αναπτυσετε ανεξαρτητα. Η RedHat χορηγει το Fedora Project και ενθαρυνει την συνεργασια για να εκκολαψει νεες τεχνολογιες που οταν πια θα ειναι stable μπορει να τις περασει στις δικες της εκδοσεις.

 Το Fedora ακολουθει πιστα τις αρχες του ανοικτου λογισμικου. Αναπτυσετε απο την κοινοτητα του και χρησιμοποιει μονο ανοικτο λογισμικο μεσα στις διανομες του. Σε καθε εκδοση περιλαμβανεται καθε νεα τεχνολογια ή προγραμμα αρκει να ειναι κατω απο ενα licence ανοικτου κωδικα. Αυτο βεβαια ειναι πολυ σημαντικο. Το να μπορεις να εχεις τα παντα σε ανοικτο κωδικα σημαινει οτι οποιος θελει μπορει να δει τι περιεχει ο κωδικας, να τον τροποποιησει και να τον μοιρασει ελευθερα. Σκεφτειτε το. Σημαινει ελευθερια επιλογης, ελεγχου και δυνατοτητα εξελιξης.

Για να λειτουργησει ολο το project υπαρχει μια τεραστια υποδομη που ελεγχεται απο ενα board εννια ατομων και εναν project leader που ειναι υπευθυνοι να διατηρουνται οι αρχες του λογισμικου, να κρατανε καλες τις σχεσεις αναμεσα στο fedoraproject και στη redhat και να φτανουν τους στοχους της κοινοτητας. Το board απαρτιζεται απο πεντε εκλεγμενους μεσα απο την κοινοτητα και τεσσερις που διαλεγονται απο τον Fedora Project Leader αναμεσα απο μελοι και υπαλληλους της RedHat. Κατω απο αυτη την υποδομη κατασκευαζονται και συντηρουνται επιπλεον project, απο εκατομμυρια εθελοντες.

Οπως καταλαβαινετε υπαρχει μια ιεραρχια, και μια πολυ σοβαρη υποδομη για να αναπτυχθει το Fedora και να συνεχισει το οραμα του. Στη σειρα που σκεφτομαι να ακολουθησει θα γραφω για αρχες και εννοιες του ανοικτου λογισμικου και θα περιγραφω λειτουργιες απο αυτη την τεραστια υποδομη που λεγετε Fedora Project για να γνωρισουμε καλυτερα το fedora.
 

Thursday, February 14, 2013

python script for send mails

ok. Πειραματίζομαι με την python. Δεν ξερω αν εχω αναφερει ποτε ποσο συμπαθω τη συγκεκριμένη γλωσσα. Ενας λογος είναι οτι μερικα πραγματα τα κάνει πολυ ευκολα και γρήγορα. Κατι το οποιο ειναι ζητουμενο πιστευω! Και το να γραψεις ενα προγραμματακι να στελνει mail με python ηταν πραγματικα παιχνιδακι. Δε θελετε να εχετε κατι ετοιμο στον υπολογιστη σας, ωστε οταν θα θελησετε να στειλετε ενα mail στη δουλεια σας, αντι να ανοιγετε browser, να πηγαινετε στη σελιδα του παροχου, να περιμενετε να φορτωσει η σελιδα και γενικα ολα οσα πρεπει να κανεις για να στειλεις ενα απλο email, απλα απο την κονσολα να τρεχετε το προγραμματακι, να γραφετε παραληπτη και το μηνυμα στο πι και φι.

Η version που χρησιμοποιησα ειναι 2.7.3. Το μοναδικο module που ουσιαστικα χρειαζεσαι για να υλοποιησεις την πιο απλη εκδοση ειναι το smtplib. Αυτο!! Τιποτα αλλο. Η υλοποιηση λοιπον περα απο το module απιτει να φτιαξουμε ενα smtp object, να κανουμε login στο server, και να στειλουμε το mail. Πραγματικα ποιο πολλα ειναι οσα γραφω παρα ολο το script.

Στην πραξη, οι παρακατω γραμμες κανουν ολη τη δουλεια που περιεγραψα:

 import smtplib

server = smtplib.SMTP_SSL(host,port,timeout=5)

server.login(usernm,passwd)

server.sendmail(fromaddr,toaddr,msg)
Οπως θα παρατηρειται το αντικειμενο που δημιουργησα ειναι SMTP_SSL. Και αυτο γιατι για Gmail λογαριασμους απαιτειται κρυπτογραφιση ssl. Ευτυχως το smtp module εχει αυτη και πολλες αλλες δυνατοτητες.

Τωρα το αντικειμενο smtp και smtp_ssl περνει καποιες παραμετρους. Η host ειναι η διευθυνση του smtp server. Η port η πορτα του server. Και τα δυο μπορουν να παραλυφθουν και τοτε θα χρησιμοποιήσουν το localhost και τη default πορτα για smtp, δηλ 25. Εγω απλα ελεγξα και το timeout, επιπλεον. Και για τα δυο αντικειμενα υπαρχουν επιπλεον επιλογες τις οποιες μπορειτε να βρειτε το doc της python.

Για να κανω πιο ενδιαφερον, πιο λειτουργικο και για να δειξω κατι ακομα απο το smtplib συνδυασα το παραπανω με μερικα ακομα πραγματα. Ηθελα λοιπον να ξεκιναω το προγραμμα με παραμετρο το mail account μου. Οταν ξεκιναγε λοιπον με ρωταγε που θα στειλω το μηνυμα και ποιο ηταν αυτο. Ολα περναγανε σε μεταβλητες που καταχωρουνταν στις παραπανω μεθοδους. Τελος ενεργοποίησα το debug mode για να βλεπω ολα τα μηνυματα της επικοινωνιας του server. Χωρις αλλα λογια:
import smtplib
import sys, getpass

usernm=sys.argv[1]
passwd=getpass.getpass("Give a passwd: ")

host='smtp.gmail.com'
port=465
def prompt(prompt):
    return raw_input(prompt).strip()

fromaddr=usernm
toaddr=prompt("To: ")
print "enter msg, end with ^D:"
msg=("from: %s\r\nTo: %s\r\n\r\n" % (fromaddr, ", ".join(toaddr)))

while 1:
    try:
        line=raw_input()
    except EOFError:
        break
    if not line:
        break
    msg=msg+line
print "Message length is "+repr(len(msg))

try:
    """create an SMTP object"""
    server = smtplib.SMTP_SSL(host,port,timeout=5)
    server.set_debuglevel(1)
    """log in to the server"""
    server.login(usernm,passwd)

except smtplib.SMTPException:
    print "General Error!!!"


""" send the mail"""
server.sendmail(fromaddr,toaddr,msg)
server.close()

Λιγα λογια ακομα. Το passwd αποθηκευει το password του λογαριασμου για το login. Ακομα δεν εχω πιστει αν αυτος ειναι ο πιο ασφαλες τρόπος αλλα anyway. Χρεισιμοποιουμε τις host, port, fromaddr, toaddr & msg για αποθηκευσουμε οτι πληροφοριες χρειαζομαστε. Και εχουμε μια loop για να διαβαζει γραμμη γραμμη το μηνυμα. Το οποιο τερματιζει οταν σε καινουργια γραμμη αντι για χαρακτηρας πληκτρολογηται ^D. Αυτο για Linux. Για Windows θελει ^Z.

Απο δω και περα ισως θελετε περισσοτερα, οπως το να βαλετε subject, ή να συμπεριλαβετε συννυμενα. Οκ γινεται αλλα πρεπει να παιξετε με ενα αλλο module, το email. Γενικα εμενα ολα αυτα μου φερανε πολλες εφαρμογες στο μυαλο για τη συνεχεια, αλλα το βασικα ειναι οτι τωρα εχω το δικο μου, γρηγορο και απλο τροπο να στελνω mail.

Saturday, December 22, 2012

Shared Bash Scripts #1 - Http Method Identifination


 Σε συνεχεια των Shared Bash Scripts εκλεψα και θα παρουσιασω ενα μικρο script που η εκτέλεση του σας παρουσιαζει ποιες μεθόδους ειναι ανοιχτές σε ένα site.

Για το σκοπο αυτο δηλωνουμε μια λιστα και εκει θα δωσουμε οποια μεθοδο θελουμε να τεσταρουμε. Με ενα loop μεσα στη λιστα θα καλεσουμε τη μεθοδο σε ενα τυπικο HTTP request που περνει τη μια και μοναδικη παραμετρο που απαιτειται, το url του στοχου και θα το περασουμε απο το netcat, που θα ακουει τη port 80. Η μονη προυποθεση οπότε είναι να εχουμε εγκατεστημένο το nc. Οπως καταλαβαινετε θα μπορουσαμε να ρυθμισουμε ειτε hard-code έιτε με παραμέτρους για να τσεκάραμε αλλες πορτες.

Αυτό ήταν! Πιο απλό δε γίνεται!
#!/bin/bash
for webservmethod in GET POST PUT TRACE CONNECT OPTIONS PROPFIND;
do

printf "$webservmethod " ;
printf "$webservmethod / HTTP/1.1\nHost: $1\n\n" | nc -q 1 $1 80 | grep "HTTP/1.1"
done

Thursday, October 25, 2012

Incremental backup

Σιγουρα δεν είναι στα high priority activities. Δεν ξέρω και γω ποσοι μου ανεφεραν corrupted filesystems, broken blocks και άλλα πολλα ωραία και όμορφα που συμβαινουν και σπαταλας το χρόνο σου για να φτιαξεις. Σε μια προσφατη κουβεντούλα, συζητάγαμε σχετικά, γελαγαμε και σχολιαζαμε καθε τρελή υλοποίηση για ασφαλια και backup.

Θα σας πω τη γνωμη μου εν συντομία. Το backup πρεπει να είναι σαν software απλο και ελκιστικό. Μπορεί να γίνει επώδυνη διαδικασία αν ζητάς ταυτόχρονα συμπίεση, κρυπτογράφιση, logs κα.

Για το Linux υπάρχουν απειρα εργαλεία για όλες αυτές τις δουλειές. Το γνωστότερο όλων ίσως το rsync. Για να μπώ κατευθείαν στο θέμα, θέλω να παρουσιάσω ένα εργαλείο που εκμεταλευεται το rsync γραμμένο σε perl και μας παρέχει ακριβως αυτά που ανέφερα λιγο πιο πάνω, απλα και όμορφα...

rsnapshot

Το project ειναι φυσικα open source και μπορειτε να το βρείτε και στο sourceForge.net. Μπορείτε να γραφτείτε στη maillist, να συμμετεχετε και ολα τα καλα ενος open source project.

Η εγκατάσταση απλη. Στην ιστοσελιδα του project θα βρείτε πακέτο σχεδόν για καθε διανομη, μεχρι και για bsd. Επίσης απλο το σετάρισμα μεσα απο το αρχειο διαμόρφωσης που πιθανότατα θα βρείτε στο /etc/rsnapshot.conf.
Εκει θα δωσετε που θα αποθηκευτει το backup(επιλογη snapshot_root),
να ενεργοποιήσεις remote ssh backups, το schedule, να ορισεις τι μυνηματα θα εμφανιζονται και τι θα καταγραφετε στα logs(επιλογη μεσα στο GLOBAL OPTIONS), ποια αρχεια θα συμπεριλαβεις και ποια οχι μεσα στο backup.
Το  rsnapshot.conf σου δίνει και άλλες ενδιαφέρον επιλογες να ενεργοποιήσεις, οπως και εντολες. Δυο απο αυτές ας πουμε είναι η rsnapshot_du και rsnapshot_diff. Η πρωτη σου επιστρεφει το χωρο του backup και η δευτερη τις αλλαγές. Γαμάτο??? Ακομα πιο γαμάτο??? Σου δινει επιλογη να τρεξει script πριν και μετα το προγραμμα.

Τέλος το τρέχεις με μια επισης απλη εντολη:
rsnapdhot daily ή rsnapshot weekly

Λόγω του οτι το προγραμμα ειναι incremental τα backups δεν θα σας πιανουν μεγαλυτερο χωρο καθε φορα, απλα μετα τη πρωτη εκτελεση θα ανανεωνουν τα αρχεια που εχουν αλλαξει. Ετσι σωνεται χωρο και χρονο. Η δυναμη του ειναι η δημιουργια hard links αναμεσα στα backups. Θα προσθετα επισης την δυνατορητα για αντιγραφα ασφαλειας απομακρυσμενα μεσω ssh, και τη συνεργασια με το cron.

Δοκιμαστε το και οπως παντα περιμενω απορίες ή οτι άλλο...

Thursday, June 07, 2012

Shared Bash Scripts

Ολοι οι admins κατα τα γνωστα φτιαχνουν τα δικά τους scripts για βασικες λειτουργικες διαχειρισεις του συστηματος. Απο την αλλη οι χρηστες ξεχνουν την ευκολια που σου δινει η συγγραφη ενος script. Με ένα script μπορεις να τρεξεις μια σειρα εντολων συστηματος, ελεγχοντας αν θες και την εκτελεση ή τη ροη. Για παραδειγμα εχουμε βρεθει πολλες φορες μπροστα στο browser να ξαχνουμε λυση για κατι, και εντελει βρισκουμε ενα blog με αυτο που χρειαζομαστε. Το post μπορει να σου δινει μια δυο εντολες για την επιλυση. Και αρχιζεις να κανεις copy-paste μια μια. ΟΚ...

Σκεψου λιγο τωρα αυτο. Γιατι να μη βαλεις ολες τις εντολες σε ενα bash αρχειο και απλα να εκτελεσεις το script. Ακομα καλυτερα να προσθεσεις τα δικα σου μυνηματα στην οθονη για να ξερεις τι γινεται ή γιατι ετσι σ'αρεσει??? Νομιζω πως ακουγεται πολυ πιο ωραια η δευτερη λυση. Επιπλεον το αρχειο σου μενει αποθηκευμενο για μελλοντικη χρηση. Δηλ δεν χρειαζεται καν να θυμιθεις ολες τις εντολες που χρειαζοντουσαν για να κανεις μια απλη εργασια.

Προσωπικα καθε τοσο βρισκομαι σε μια κατασταση που σκεφτομαι: "αυτο πρεπει να γινει scriptaki; μακαρι να ειχα ενα για αυτη τη δουλεια; ". Δεν εχω πολλα αλλα οσα εχω γραψει πραγματικα μου ελυσαν τα χερια. Οταν αρχιζεις λοιπον σκεφτεσαι, -Μα καλα, για τι να γραψω? Σκαλωμα πρωταρη. Γιαυτο ομως ειναι οι φιλοι!! Μερικες ιδεες λοιπον ειναι: για να σβηνεις τους παλιους kernel, να εγκαθηστας ενα προγραμμα που εχεις κατεβασει, scanner για διπλα αρχεια στο δισκο, διαγραφη διπλων ή παλιων αρχειων, φτιαξε ενα ξυπνητηρι ή ενα alarm.... Αυτες ειναι μερικες αλλα αρκετες και καλες ιδεες για να αρχισεις. Το σημαντικο ειναι οτι ο καθενας εχει αλλες αναγκες και μπορει να ελεγξει οπως θελει το προγραμματακι του ωστε να κανει ακριβως αυτο που θελει.

Σκεφτομαι μετα απο αυτο το αρθρο, να αρχισω να κανω shared τα δικα μου, με σκοπο να υπαρξει μια μινι βιβλιοθηκη για οποιον τα χρειαζεται και για να τα βελτιωσει αμα θελει. Σας προκαλω για αρχη να γραψετε ενα που να εγκαθιστα προγραμματα που δεν βρισκετε στα repos. Θα μπορουσε ας πουμε να παιρνει σαν argument το link και να το κατεβαζει πριν το εγκαταστησει.

Monday, March 12, 2012

Η HTML5 μπορει...

Δεν θυμάμαι πότε πρωτοάκουσα για το όνειρο ενός λειτουργικού συστήματος εξ ολοκλήρου στο web!! Μια προσφατή συζήτηση επανέφερε το θεμα. Αφορμή ήταν μια παρουσίαση των δυνατοτήτων της ανερχόμενης html5. Ανερχόμενης?? Δεν κάνω λάθος. Λαμβάνοντας υπόξην οτι δεν υποστηρίζεται πλήρως απο όλους τους browsers και δεν αξιοποιήται απο αρκετούς προγραμματιστες. Μπορείτε να ελέγξετε την συμβατότητα του δικού σας browser στο www.html5test.com. Εκεί θα διαπιστώσετε ας πούμε οτι ο Internet Explorer παιρνει ενα πολύ μικρό ποσοστο, μόλις 32 στα 400 των δυνατοτήτων της html5. Τι να πεις? Προφανώς τη Microsoft δεν την συμφέρει να κάνει το άλμα!! Το γιατί? Η Microsoft φαίνεται είναι η μεγάλη χαμένη απο το παιχνίδι αυτό. Πρώτον δεν μπορεί να βγάλει λεφτά απο αυτό. Δευτερον πιστεύω οτι η υπεροψία της την βρίσκει απροετοίμαστη και δεν μπορει να ελέγξει το παιχνιδι της εξέλιξης(Αυτο ειναι ανακριβεια για να είμαι ειληκρινής. Η εταιρία έχει κανει βήματα σε mobile εφαρμογές πανω στο θέμα). Αυτό είναι βεβαια ένα άλλο θεμα.

Οι προγραμματιστές απο την άλλη, διχάζονται αν πρέπει να επιλέξουν να γράφουν σε html5 ή να συνεχίσουν με τις γνωστές ως τώρα τεχνικές που ξέρουν και βολέυονται ως τώρα. Ετσι και αλλιώς, για αυτούς σημασία εχει να κάνουν μια δουλεια και να την κάνουν καλά. Απο τη στιγμή που browsers και υλικό δεν τους δίνουν μεγιστη ευκολία για να κάνουν οσα θέλουν δεν τρελαίνονται κιόλας. Μία άλλη προσέγγιση είναι να γράφουν ενα application και σαν native και σαν web ανάλογα την περίσταση. Οι συντιριτικοί λοιπόν το αποφεύγουν παρόλα τα καλά λόγια που εκφράζονται απο όσους την εφαρμόζουν ήδη.

Ολοι νομίζουν πως υστερα απο 30 χρονια με την html οπως την ξέραμε είναι η ωρα να την αφήσουμε να προχωρήσουμε σε κάποια άλλη. Ετσι είναι η τεχνολογία, ετσι είναι η εξέλιξη. Και η html σταθηκε υπεράνω των περιστασεων αξιόπιστη. Αλλα για να φτιάξουμε οσα φανταομαστε για το μέλλον  και το ιντερνετ ερχεται η html5 και μάλιστα υπόσχεται πολλά. Μερικά παραδείγματα σελίδων που ήδη χρησιμοποιούν html5 μπορείτε να δείτε εδώ. Δεν θα επεκταθώ στις δυνατότητες της html5 τεχνικα και μη. Οι ειδικοι λένε πως σε επόμενα 3 χρονια θα έχουμε περάσει πλήρως σε εφαρμογές html5. Ο λόγος είναι η άναγκη που εξαιτίας της αυξανόμενης χρήσης κινητών τελευταίας γενιάς.

Ο παράγοντας user λοιπόν είναι αυτός που καθορίζει την εξέλιξη. Για να προχωρήσει η ολη διαδικασία πρέπει οι εταιρίες να επενδύσουν στο καινουργιο  πρότυπο, έτσι ώστε οι προγραμματιστες και τα software houses να αναπτυσουν περισσότερες web apps. Αλλα οι χρήστες ειναι αυτοι που κινούνε τελικά τα νήματα. Και αυτοί είναι που αυριο μπορούν να αλλάξουν εντελώς την πορεία της εξελιξης. Αυτή τη στιγμή όλα δείχνουν πως ο mobile κοσμος ευνοει προς τη συγκεκριμένη προοπτική αλλα δεν είμαι σίγουρος κατα πόσο ολα πρέπει να αλλάξουν σε web. Αν αρχίσεις να υπολογίζεις την απόδοση, τους πόρους ίσως και την ασφάλεια, κατα πόσο θέλει ή χρειάζεται ο χρήστης ολα τα περιεχόμενα και τα δεδομένα του να είναι on cloud. O αστάθμητος παράγοντας είναι αυτός και αν σημερα μιλάμε για web apps  είναι γιατι είναι κάτι που αναζητουσε με βάση τις συσκευες που χρησιμοποιούσε. Αλλα αυριο οι τάσεις μπορεί να αλλάξουν. Κάποιες τεχνολογίες ήταν ετοιμες απο καιρό αλλα δεν ήταν ωριμο το περιβάλλον και ο χρήστης. Θα μπορούσαν να λειτουργούσαν ήδη. Με λίγα λόγια θετω το ερωτημα μήπως ήδη έχουμε αργήσει να αναβαθμιστούμε και να υοθετήσουμε ενα νέο προτυπο στο web. Πιθανότατα ναι. Τώρα περιμένουμε πότε θα εκμεταλευτουμε το καινουργιο πρότυπο, το οποίο όταν αυτό θα γίνει, οι ανάγκες να έχουν πάλι αυξηθει. Ακόλουθα ο χρήστης παρατηρήται να χρησιμοποιεί για συγκεκριμένους σκοπούς web apps και για άλλα native apps. Ενα ενδιαφέρον post σχετικα με τη δυσκολία που αντιμετωπίζουν οι πρώτες εφαρμογές εναντι των δευτερον βρήκα στο blog.mobileroadie.com.

Το html5 φέρνεί πολλά καλούδια, δυνατότητες και λειτουργίες, και οι ςεβ web εφαρμογες όλο και θα αυξάνονται μπροστα στο μοτο "καντα ολα μεσα απο το browser". Τελικά ποσο μακρυα είναι η στιγμη που ενα browser θα μπορει να αντικαταστήσει ένα λειτουργικό συστημα?


Βεβαια ολα αυτα ειναι λιγα απο αυτα που σκεφτομαι αυτη τη στιγμή και ίσως οχι οσο ακριβή και λεπτομερεις θα επρεπε. Ειναι ετσι και αλλιως μεγάλο θέμα. Οποιοσδήποτε εχει να πει ή να συμπληρώσει είναι ελεύθερος να επικοινωνήσει.

Thursday, October 27, 2011

Ανουσιες διαφορες

Για αλλη μια φορα θα αναφερθω στη μαχη των λειτουργικων. Κυριως γιατι βαριεμαι και δεν μου ερχεται κατι αλλο τωρα. Εχω βρεθει πολλες φορες σε συζητησεις που ποτε δεν βγαζει ακρη κανενας με κανεναν. Τι περιεργο ετσι!! Θα μου πεις μονο για τα λειτουργικα γινεται αυτο. Οχι αλλα δεν ειναι το θεμα αυτο.

Εχω καταλήξει πως δεν εχει ουσια πια ολη αυτη η διαμαχη. Απλα γιατι ο καθένας έχει ανάγκες και για αυτο το λογο χρησιμοποιει τους υπολογιστές. Επειδη ο καθένας είναι διαφορετικός δεν εχει τις ιδιες ανάγκες. Νομίζω πως μπορώ να φανταστώ πως θα ήταν ο κόσμος αν κυριαρχούσε μονο ένα απο τα λειτουργικα. Και νομίζω πως θα ήταν βαρετο.Υποτίθεται θα πρεπει να το δικαιολογίσω τωρα αυτο. Απλα θα πω πως το να σπρωξεις ολοκληρο τον κόσμο στην τεχνολογια, ισως να ειναι και κοινωνικα λαθος. Ο κοσμος θα παρει οτι του πασάρεις. Οτι του πουλήσεις. Οτι βρεθεί στη μοδα. Ακόμα και αν δεν είναι ετοιμος. Και πολύς κόσμος δεν είναι έτοιμος κατα τη γνώμη μου, αν αναλογιστει κανείς τι σε ρωτανε ωρες ωρες. Δεν μπαίνουν καν στον κόπο να το ψαξουν. Η απαντηση συνηθως καθολικη, "Τι σχεση εχω εγω με αυτα" 'η κατι παρομοιο. Καλως ή κακώς το εφε, η φινέτσα, η φιρμα ακομα πουλάει. Οχι όμως το λειτουργικο.

Προσωπικα δεν χρειαστηκε κανένας να με κανει να διαλεξω. Ηταν θεμα ιδιοσυγκρασίας. Ηθελα να ξερω περισσοτερα για τον υπολογιστή μου, ήθελα να κάνω περισσοτερα. Και οσο εξαχνα εβρισκα ακομα περισσοτερα που με ενδιεφεραν. Νεες εφαρμογες, νεα κολπα, νεους οριζοντες να ανακαλυψω. Δεν μπορουσα να κοιταξω πισω. Οταν κοιτας κατι πρεπει να βλεπεις και λιγο πιο περα. Να μη στεκεσαι μονο σ'αυτο που βλέπεις.

Αν λοιπον σας ρωτουσαν να διαλεξουμε μονο ένα κινιτο, ενα αμαξι, ενα δεντρο, ενα λειτουργικο, ενα απο καθε τι, τι θα ήταν αυτο? Νομιζω πως είναι πολύ ενδιαφερουσα ερωτηση αλλα επισης πολύ θεωριτικη. Θεωρω οτι δεν υπάρχει απάντηση (αν και θα μας προσδιοριζε ελαφρως για το τι ζηταμε), γιατι υπαρχει η ανθρωπινη αλαζονια και δεν λειτουργουν ολα σαν bit. 0 ή 1.


Τα παραπανω ειναι απλη φιλοσοφια και τη σταματαω εδω.

Monday, July 18, 2011

rpm packaging diary part1

Είπα και γω να κανω κατι χρήσιμο για την κοινότητα του fedora και εψαχνα μια ευκαιρια. Ενδιαφερόμουν για rpm packaging. Πριν απο αυτο βεβαια ξεκινησα σιγα σιγα να διαβαζω το guide στο site του fedoraproject. Ότι πρέπει για να ξεκινήσει ισως κάποιος. Το αρχικό μου ερώτημα ήταν ποιό πακέτο να κάνω packaging. Στα πρώτα κεφάλαια του guide δίνει λιστες με υπάρχων πακέτα για τη διανομή. Εκεί θα πρέπει ουσιαστικά να ελέγξεις οταν φτιαξεις το δικό σου για να μην κανει supply ενα ήδη πακεταρισμο προγραμμα. Δεν είχα τιποτα λοιπόν στο μυαλό μου που να μπορούσα να κανω package.

Γενική συμβουλη είναι κάνε κατι με το οποίο ήδη χρησιμοποιείς και δεν βρίσκεις στα repos. Εμένα αυτό που μου άνοιξε την πόρτα για να κάνω την πρωτη μου απόπειρα ήταν ένα bug στο gtranslator (bug 716320). To bug λοιπον διορθονώταν λοιπόν ή τουλάχιστον ετσι δείχνει με την εγκατάσταση δυο επιπλέον πακέτων. Αυτό ηταν. Λέω γιατί να μην φτιάξω το πακέτο ξανά με τα συγκεκριμένα dependencies.

Ακολουθώντας τις οδηγίες απο το guide που αναφεραμε παραπανω κατέβασα το gtranslator-1.9.11-3.f14.src.rpm. Δεν σκοπεύω να μπω σε πολλες λεπτομέρειες αφού αρχικος σκοπός για αυτό το αρθρό ήταν να δώσει μια εμπνευση για αρχάριους που δεν ξέρουν που να βρουν πακέτα να δοκιμάσουν.
Γι' αυτο παρακάτω ειναι οι εντολες χωρις επεξηγηση που ακολούθησαν:

Σαν απλος user
rpm -ivh gtranslator-1.9.11-3.f14.src.rpm


Κατώπιν ανοιξα το αρχείο SPECS/gtranslator.spec για επεξεργασία

και

και build
rpm -v -bb SPECS/gtranslator.spec


Αυτο θα δημιουργήσει ενα binary RPM το οποίο μπορόυμε τωρα να εγκαταστήσουμε είτε με rpm -i ειτε με το yum localinstall.
Επίσης θα πρέπει να βρείτε κατω απο το φάκελο RPMS ενα i386 φακελο που θα περιέχει επίσης το καινούργιο rpm.

Σε περίπτωση σφαλμάτων το rpm δεν δημιουργείται και πάμε πάλι πίσω στο spec αρχειο. Μια πιθανότητα είναι να μην υπάρχουν εγκατεστημένα τα dependencies στο συστημα κατι που θα εμφανιστεί στο output της τελευταίας εντολης.

Καλή αρχή, newbies...

Tuesday, August 10, 2010

cleanKernel Script Doc

Στο netbook, ενα ASUS eeepc, εχω εγκαταστησει Ubuntu. Μετα απο καιρο, και καμποσα update οταν ξεκιναει εμφανιζονται αρκετα image πυρηνων που αφενος δεν χρησιμοποιω πια. Ετσι εφτιαξα ενα script για τη διαγραφη τους. Το script ολοκληρο μπορειτε να το κατεβασετε και να το δοκιμασετε απο το link που δινω πιο πανω. Για μενα ομως ηταν μια εξερευνηση στο κοσμο των script και θα παρουσιασω τις δυνατοτητες και τα εργαλεια που χρησιμοποιήθηκαν σαν οδηγο για αρχαριους για να δημιουργησουν δικα τους script. Αν και μικρο το προγραμμα χρησιμοποιει καποια πολυ δυνατα και χρησιμα εργαλεια οπως το awk στην πιο απλη μορφη του.

check it out!!!

Απο δω ξεκιναει καθε script, καλωντας το προγραμμα που θα το εκτελεσει. Οταν τρεχεις το προγραμμα αυτο τρεχει σε ενα καινουργιο bash.

#!/bin/bash


Με το συμβολο # δημιουργουμε σχολια.

#clean system and grub from old kernels that have been installed.
#the current script remove every kernel in your system and update the menu.lst
#



Η echo εμφανιζει το string στην κονσολα

echo "#############################"
echo " cleanKernels.sh "
echo "_-_-_-_-_-_-_-_-_-_-_-_-_-_-_"




Η εντολη ελεγχου if ελεγχει μια συνθηκη. Αυτη συντασετε :

if [ condition]; then
commands
fi

Η επιλογη -d ελεγχει αν το string ειναι directory και αν υπαρχει. Αν η συνθηκη ειναι αληθης θα δημιουργησει ενα φακελο log.

if [ ! -d "/home/j0ni/Documents/Scripts/Admin/logs" ] ;then

mkdir ~/Documents/Scripts/Admin/logs

fi

Αυτο που θελουμε ειναι να βρουμε ποιοι πυρηνες ειναι εγκατεστημενοι, να τους αποθηκευσουμε σε ενα αρχειο μεσα στο log directory, περνωντας ομως μονο τη στηλη που εμφανιζει την εκδοση. Καταρχην η dpkg-query -l θα δωσει μια λιστα με οτι βρει στη database της. Με διασωληνωση θα εξαιρεσουμε την τρεχουσα εκδοση, την οποια τρεχουμε. Η grep με την επιλογη -v κανει ακριβως αυτο. Η dpkg-query επιστρεφει μια λιστα πληροφοριων σε 3 στηλες (name,version,description). Για να απομονωσουμε μονο τη στηλη version oλα τα αποτελεσματα θα τα περασουμε απο το awk το οποιο θα μας επιστρεψει μονο τη δευτερη στηλη. Τελος τα αποτελεσματα θα αποθηκευτουν στο αρχειο με το ονομα που εχουμε ορισει με τη χρηση του '>' . Αυτο καθε φορα θα μας δειχνει τα αποτελεσματα της τελευταιας εκτελεσης( θα διαγραφει τα προηγουμενα). Αυτο γινεται γιατι μεσω του αρχειου θα σβησουμε τους πυρηνες και δεν θα μας χρειαζεται περαιτερο.

sudo dpkg-query -l 'linux-image-?.?.*'|grep -v `uname -r`|awk '{print $2}'>/home/j0ni/Documents/Scripts/Admin/logs/kernel-logs.txt


Η εντολη read διαβαζει απο την κονσολα οτι εισαγετε.


echo -e "do you want to erase these kernels?(yes or no)"

read yesorno


η for ειναι ελεγχος επαναληψης. Για να δειτε τη συνταξη και παραδειγματα δειτε εδω. Η for για μια σειρα μεταβλητων που οριζονται μετα το in παιρνει την περναει στην i. Ενα συντομο παραδειγμα ειναι :

$ for i in 1,2,3,4,5; do echo $i; done
1,2,3,4,5 #auto einai to output

Οπως βλεπετε και απο τον κωδικα στη λιστα μπορει να δωθει ενα αρχειο. Εδω συγκεκριμενα δινουμε την εξοδο της cat. Με αυτο τον τροπο στο i περναει καθε γραμμη του αρχειου και επειτα εκτελειται η εντολη διαγραφης.


for a in `cat /home/j0ni/Documents/Scripts/Admin/logs/kernel-logs.txt`; do

sudo apt-get -y remove $a

done


Επιτυχης εξοδος


exit 0


Οπως φαινεται η διαδικασια και οι εντολες ειναι απλες για κατι αρκετα χρησιμο. Εντωμεταξυ συμπεριελαβα σε ενα τοσο μικρο κομματι κωδικα χρησιμες εντολες, αλληλεπιδραση, απλη και γρηγορη λειτουργικοτητα. Αυτη ειναι η δυναμη των script. Αντιθετα θα επρεπε να παω στο synaptic και να διαλεξω τα πακετακια αυτα. Ευκολο και αυτο. Σε γραμμη εντολων θα ηθελα λιγο χρονο περισσοτερο. Τωρα με μια εντολη ολα στο μπαμ.

Οσοι θελουν μπορουν να το επεξεργαστουν και να μου στειλουν τη δικια τους εκδοση με τις δικιες τους δυνατοτητες.

Thursday, May 06, 2010

ubuntu 10.04 LTS the first days

OK εκανα πριν λιγες μερες upgrade στην αναμενώμενη εκδοση του Ubuntu. Πραγματικα δεν μπορώ να σας πω πως μου φάνηκε!!! Ο λόγος ειναι ενα γνωστο θεματάκι που εχω με καθε εγκατασταση ή αναβαθμιση που κανω!! Ο Χ... Μια ξαχνω drivers, μια πρεπει να μαθω για το xorg, μια το ενα και μια το αλλο, και μετα παλι κατι με τα εφε, κατι με το compiz ή με dual screen implementations, και αλλα σχετικα.................

Μια απο τα ιδια και αυτη τη φορα. Και μετα απο 3 μερες,(ναι ξερω οτι ειναι πολλες) να ψαχνω, να βγαζω, να βαζω κατεληξα στην πιο απλη δικαιολογια. Απλα αυτα που κανει δεν πρεπει να εχουν κανενα νοημα.

Καταρχην να πω πως μετα το  boot τα παραθυρα εμφανιζονταν χωρις titlebar, τα εφε δεν επαιζαν στην καμια, διαφορες αλλες διευκολυνσεις και υπηρεσιες μισο εως καθολου. Εφτασα στο σημειο λοιπον που για εμφγανιζω την titlebar εκανα την αγγαρια να ανοιγω system>preferences>appearance>visual effect
για να επιλεξω καποια επιλογη εκει, το συστημα να κανει αναζητηση για drivers, κατοπιν να κενει refresh και τελος να με ειδοποιησει οτι απλα δεν γινεται να ενεργοποιηθουν τα εφε. Ρε τι μας λες? Και καθε φορα τα ιδια. Σε διαφορα forum διαβασα διαφορες αλλες επιπλοκες και διαστροφες που του εκανε το συστημα, οπως και διαφορα γκουρου και αλλες λυσεις του προβληματος, τα οποια καποια δοκιμασα.

Ειναι μαγικο πως πανω στην τρελα σου μπορεις καμια φορα να σκεφτεις το πιο απλο που θα σε σωσει. Εσβησα το xorg.conf. Τρεις μερες παλευα να το φτιαξω, να βαλω τα modules ή να βγαλω, και στο τελος ειπα αφου δεν βοηθαει τι το  κραταω. Και το εσβησα. Επανακινιση και voila.... Ψεμματα αλλα τα αλλα ειναι περιττα.

Το θεμα ομως που αρχισα να σκαλιζω ειναι πως καταφερνουν πια τα νεα συστηματα Linux να τρεχουν τα γραφικα χωρις το xorg.conf??

Sunday, November 15, 2009

Τελικα ολα μπορουν να γινουν μεσω terminal. Για chat κατευθειαν απο το terminal irssi.

Thursday, August 20, 2009

Dirty Little Secret

Συνηθως οταν περνουμε ενα καινουργιο αξεσουαρ οπως ενα κινητο, μια τηλεοραση, ή ακομα και ενα αμαξι ξερουμε για ποιο σκοπο θα το χρησιμοποιήσουμε και αρχιζουμε να το ξαχνουμε. Οι περισσότεροι τουλαχιστον οτι πιανουμε το σκαλιζουμε. Μπορει να πεσουν στα χερια μας και ασχετα πραγματα που στην αρχη να μην γνωριζουμε τι είναι αλλα η περιέργια που μας τρωει δεν μας αφηνει μεχρι να μαθουμε. Αν το χαλασουμε πιθανοτατα θα αρχισουν οι ερωτησεις για να μαθουμε τι και πως σε γνωστους, φιλους και ειδικους. Μεχρι να αποφασισουμε αν θα το φτιαξουμε μονοι, αν αξιζει να το φτιαξουμε, ή θα πληρωσουμε γι' αυτο.

Παντα ακουγα για το χασμα του κλειστου με του ανοιχτου λογισμικου, χωρις να μπορω να παρω συγκεκριμενη θεση, χωρις να εχω απαντησεις ουτε εγω ο ιδιος. Πως ας πουμε ενας χρηστης των Windows θα μυηθει στο κοσμο του GNU/Linux , θα παραμεινει ξεπερνωντας ολες τις δυσκολιες της συγκεκριμενης "μετακόμισης", μηπως δεν ειναι για απλους ή εντελως αρχαριους χρηστες??? Κατα την ταπεινη μου αποψη το ανοιχτο λογισμικο ειναι αρκετα προσιτο (πλεον), βοηθεια μπορεις να βρεις οπουδηποτε, οποτε δεν υπαρχει λογος για καποιον νεο χρηστη να αποθαρυνθει. Αλλα οπως καθε καινουργιο πρεπει να περασει απο σταδια μυησης.

Το θεμα ειναι μακρυ και για να μη μακρυγορω, θελω μονο να αναφερθω σε ενα post που διαβασα. Το κειμενο αναφερόταν στη καζουρα που δεχονται καποιοι newbies απο πιο advanced users σε καποια forum. Ενω δεν ονομαζει αυτα τα forum και ξεχωριζοντας το forum του Ubuntu σαν user-friendly.
Περιληπτικα αναφερει οτι χρηστες της ανοιχτης κοινοτητας συμπεριφερονται σαν μια κλειστη κοινοτητα που προτιμα οσους ειναι ηδη hard-core geek και οι υπολοιποι πρεπει να ειναι προετοιμασμενοι για μια "πειραχτικη" αντιμετωπιση. Και προβλεπει πως αν το "κινημα" σαν το Linux δεν μεγαλωνει, θα πεθανει!! Αξιολογο συζητισης ειναι επισης το "αν δεχεσαι πολλες ηλιθιες ερωτησεις, ισως πρεπει να ανακαινiσεις το λογισμικο με γνωμονα τον τελικο χρηστη".

Χμ!! Αυτα φαινονται ενδιαφερον! Καταρχην ισχυουν. Εχω πολλη καλη εντυπωση για τα ελληνικα forum, irc και για καποιους hard-core users που γνωρισα απο διαφορα LUGs. Για εξω δεν ξερω αλλα επειδη το post αναφερεται στη συγκεκριμενη διανομη (fedora), και ειμαι fedorakias, βρηκε οτι το forum ειναι καταλεξη "very unfriendly and unhelpful", εχω την εντυπωση πως απο τα γραφομενα εδω, οι administrator δεν θα συμφωνησουν:

When Asking Questions
.................
3 Don't talk yourself down. Don't call yourself an idiot, we have all been newbies at some point. Don't add things like this to your posts:
Quote:
I know I'm an idiot but I just can't figure this out..
No question is too stupid.
4 Don't mark your question as important or critical. All questions asked are equally important.


Οχι απολυτα τουλαχιστον. Αλλα και παλι ειναι κατι καινουργιο για τους νεους. Δεν χρειαζεται να ειναι ολα στο πιατο. Αν ενδιαφέρεσαι το σιγουρο ειναι οτι θα ψαξεις, θα βρεις και θα μαθεις. Επισης θελω να τονισω οτι τα ατομα που μπορει να απαντανε σε καθε forum δεν σημαινει οτι αντιπροσωπευουν και την ανάλογη κοινότητα της εκάστοτε διανομης. Οι κοινότητες Linux μονο φιλικες είναι κατα το πληστον προς τους νεους χρηστες και νομιζω πως είναι απο τις βασικες τους προτεραιότητες.

Χωρις καμία αμφιβολια, υπαρχουν προβληματα στις διανομες, και οι developers εχουν πολυ δουλεια. Αλλα τι να κανεις οταν βρισκεις και πορτες κλειστες!!!!!! Αν μεγαλες εταιριες δεν βοηθανε στην υλοποιηση προσκαιρων drivers και διαθεση διασημων παιχνιδιων, θεωρω τη συγκριση ανιση και αδικη. Το Linux ειναι περισσοτερο μια υοθετηση ιδεων (ελευθερων και διαχρονικων) παρα ενα απλο εμπορικο λειτουργικο. Τα Windows ας πουμε, οπως καθε εμπορικο προιον, ισως καποια στιγμη αντικατασταθει με καποιο αλλο εμπορικο προιον. Το Linux ομως μπορει να συνεχισει, γιατι παντα θα υπαρχουν ατομα να υποστιριζουν την ιδεα και το πνευμα της ελευθεριας, χωρις να μπαινουν σε καλουπια. Η εξελιξη δεν προηρθε ποτε απο καποιο κλειστο κυκλο. Το σιγουρο είναι οτι οι developers του ανοιχτου λογισμικου βελτιωνουν συνεχως τον κωδικα τους και τις περισσοτερες φορες ειναι ενα βημα μπροστα σε τεχνολογικες εξελιξεις.

Τα γραφω αυτα γιατι οποιος θελει να μαθει θα μαθει. Οποιος πιστευει οτι η Microsoft πρατει σωστα, οτι ολα τα εμπορικα προγραμματα αξιζουν τα λεφτα τους ή οτι δεν χρειαζεται η ελευθερη βουληση σε ενα προιον που χρησιμοποιουμε καθημερινα για προσωπικα και αλλα θεματα, ας το ξανασκεφτει. Οσα αναφερονται στα forum ανοιχτου λογισμικου, πιστευω συμβαινουν επισης και σε ολα τα αλλα forum.

Για οποιον λοιπον τυχαινει να διαβαζει αυτο το κειμενο, ας του μεινει αυτο... Δωστε μια ευκαιρια στο open source κινημα. Μην ακουτε και κρινετε οτι δεν εχετε βιωσει...αλλα αξιζει να ζησετε. Το Linux Θα συνεχισει να τρεχει σε πολλους Η/Υ για παρα πολυ καιρο ακομα...

Monday, August 10, 2009

Απομακρυσμενη Συνδεση

Καταρχην τα παρακατω πραγματοποιήθηκαν στο router της On telecoms με Server Fedora 11 και client Ubuntu 9.04.

To συγκεκριμένο router, κατα τη γνωμη μου, είναι ελλιπης σε θέματα σεταρισματος. Αν και μεχρι τωρα οτι θελησα να κανω πραγματοποιηθηκε με τον ενα η με τον αλλο τροπο, το router δεν ηταν συμμαχος ( και μπορω να πω, ουτε οι τεχνικοι του (sorry guys!!) ).

Η απομακρυσμένη συνδεση λοιπον δυο υπολογιστων ηταν απλο τελικα. Τοσο σε Local Network οσο και ευρυζωνικο. Αν και το τι προβληματα μπορει να εμφανιστουν σε θεματα δικτυωσης εξαρταται απο πολλα ακολουθει ενα μικρο howto.

Πρωτο βημα, φυσικα, στο fedora ενεργοποιησα το Remote Desktop (system>preferences>remote desktop)


Επιλογες μου φαινονται στην εικονα1

εικονα1εικονα1


Στο router τωρα επρεπε να ανοιξω πορτα για το ssh αφου μετα απο ενα απλο scan βρηκα οτι η On εχει κλειστη την θυρα 22 για το συγκεκριμένο πρωτοκολλο και στο λογισμικο του router δεν βρηκα μια επιλογη να την ανοιξω. η διαδρομη ειναι ΝΑΤ>Virtual Server




στο Lan IP Address > ip του τοπικου μηχανηματος.
protocol type > tcp
lan port > 22
public port > xxxx
enable >
push button


Μετα απο αυτα το router πρεπει να ειναι ετοιμο.
Κατι αλλο που θα χρειαστουμε ειναι η εξωτερικη ip του router. Πως αλλιως θα καλεσουμε το μηχανημα
απο καποιο αλλο δικτυο. Υπαρχουν πολλα site που θα σου δωσουν την ip. Μεχρι τώρα εχουμε την διευθυνση, για να καλεσουμε τον υπολογιστη και εχουμε την "θυρα" του ανοιχτη, για να "μπουμε μεσα. Ουσιαστικα μενει μονο ο "γνωστος" του server.

Οι "γνωστοι" θα ειναι προγραμματα οπως το PuTTy ή το vncviewer. Το putty ειναι ενα terminal emulator εργαλειο που μας επιτρεπει την συνδεση μεσω διαφορων πρωτοκολλων και το vncviewer ειναι επισης ενα προγραμματακι κονσολας για desktop sharing απο τη μερια του client για δυκτια με το πρωτοκολλο VNC.

Τα κατεβαζουμε. Λογικα υπαρχουν σε ολα τα repos. Και ανοιγουμε το PuTTy.

PuTTy

Η διαδικασία με το PuTTy ειναι πολυ ευκολη. Ριξτε μια ματια στο interface του.



Στο Host Name (or IP address) θα δωσουμε την εξωτερικη ip, αυτη του router. Και διπλα στο Textfield του port θα γραψουμε την public port που δωσαμε. Κανονικα αν ολα πανε καλα βλεπουμε αμεσως μια κονσολα να μας ζηταει user name και password για τον υπολογιστη που συνδεόμαστε.

Σε περιπτωση που λαβουμε καποιο error κατι δεν πηγε καλα. Αν το σφαλμα ειναι connection refused τα πακετα φτανουν στο server αλλα για καποιο λογο αυτός δεν ανταποκρινεται. Ισως φταιει οτι δεν βρισκει θυρα ανοιχτη ή καποιο firewall στο router.
Αν το σφαλμα ειναι No host to route τα πακετα δεν βρισκουν καθολου την διευθυνση που του ορισαμε οποτε 1ον κοιταμε αν ειναι σωστη η διευθυνση που δωσαμε 2ον αν δωσαμε σωστα τη διευθυνση στο προγραμμα 3ον αν ο server ειναι online κτλ

VNCVIEWER

Mε vncviewer καταρχας δοκιμασα να συνδεθω local.

vncviewer -fullscreen joni.local


αφου εδωσα το password που ειχα ορισει νωριτερα στον host στο παραθυρο του Remote Desktop Preferences. αμεσως μου ανοιξε screen σε πληρη προβολη με μια μικρη αλλα διακριτη καθυστερηση στο refresh των frames. Αλλα ολα οκ.

Οταν μπηκα σε ξενο δικτυο και προσπαθησα να συνδεθω δινοντας την εξωτερικη διευθυνση, πηρα το εξης μυνημα:


vncviewer: ConnectToTcpAddr: connect: No route to host Unable to connect to VNC server
Δεν ξερω ακριβως τι σημαινει αυτο αλλα ουσιαστικα οταν επιλεγουμε να ενεργοποιησουμε το remote desktop, ελεγχεται η συνδεσιμοτητα και σε ενα πλαισιο σου δινει την ip ή ενα domain του τυπου .local .το δευτερο χρησιμοποιειται μονο για το local network. Αν στην ip σου επιστρεψει την ip του υπολογιστη δεν μπορείς να το καλεσεις απο απο αλλου. Απλα ανανεωνεις αυτην την επιλογη για να σου δωσει την external ip. Κυριως ομως θα πρεπει να απενεργοποιησουμε ή να σεταρουμε το iptables του server (/etc/init.d/iptables stop).

Πρακτικα αυτα ειναι πολυ βασικα για την συνδεση μας. Το PuTTy εχει πολλες επιλογες για παραμετρους και για αυτοματη συνδεση. Μπορουμε επισης να χρησιμοποιησουμε υπηρεσιες για να δωσουμε domain name και να καλουμε τον υπολογιστη. No-ip και dyndns παρεχουν δωρεαν τις υπηρεσιες τους. Αυτο που θελω να πω ειναι οτι αυτα που μπορουμε να κανουμε ειναι παρα πολλα.Επισης δεν δοκιμασα απομακρυσμενη συνδεση απο καποιο λειτουργικο της Microsoft. Κατι ομως που δεν νομιζω πως θα ειχε καποιο ιδιαιτερο προβλημα.

Sunday, March 15, 2009

GNU philosophy

Ξαχνοντας για αδειες γενικα βρηκα τον ορισμο που δινει το site του GNU για το ελευθερο λογισμικο.
Παρακατω σημειωνω καποια κυριως κομματια

Πηγη: http://www.gnu.org/philosophy/free-sw.html


Το ελεύθερο λογισμικό είναι ένα θέμα της ελευθερίας των χρηστών να τρέξουν, να αντιγράψουν, να διανείμουν, να μελετήσουν, να αλλάξουν και να βελτιώσουν το λογισμικό. Ακριβέστερα, αναφέρεται σε τέσσερα είδη ελευθερίας, για τους χρήστες του λογισμικού:

* Η ελευθερία να τρεχτεί το πρόγραμμα, για οποιοδήποτε σκοπό (ελευθερία 0).
* Η ελευθερία να μελετηθεί πώς το πρόγραμμα λειτουργεί, και το προσαρμόζει στις ανάγκες σας (ελευθερία 1). Η πρόσβαση στο κώδικα πηγής είναι μια προϋπόθεση για αυτό.
* Η ελευθερία να ανακατανεμηθούν τα αντίγραφα έτσι ώστε να βοηθήσετε το γείτονά σας (ελευθερία 2).
* Η ελευθερία να βελτιωθεί το πρόγραμμα, και να κυκλοφορήσουν οι βελτιώσεις σας (και οι τροποποιημένες εκδόσεις γενικά στο κοινό, έτσι ώστε να οφέληθει η κοινοτητα (ελευθερία 3). Η πρόσβαση στο κώδικα πηγής είναι μια προϋπόθεση για αυτό.

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

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


Αυτα ειναι λιγα απο τα πολλα που γραφει πιο αναλυτικα και σε καποιες περιπτωσεις παραδειγματικα. Το θεμα με τις αδειες πιστευω οτι ειναι σημαντικο οσο και η ελευθερια μας. Η πηγη δωθηκε.

Καλο Διαβασμα