Μετά από αρκετό καιρό απραξίας “έφαγα” το opensolaris από το laptop μου.
Τα πράγματα όμως ΔΕΝ ήταν τόσο απλά όσο ακούγονται.
Αγόρασα στις 08.11.2006 το FUJITSU-SIEMENS AMILO SI1520R2
με προεγκατεστημένα Windows Home Edition σε έναν 100GB δίσκο.
Λόγω δουλειάς αποφάσισα να μην αφαιρέσω τα Windows Home Editions από τον υπολογιστή μου.
Οπότε με το gparted έκανα resize το sda1 σε 30GB. Τα υπόλοιπα 70GB σκέφτηκα να τα διαχωρίσω
με τέτοιο τρόπο ώστε να έχω ευελιξία στην εγκατάσταση διαφόρων διανομών στο laptop μου.
Μιας και το λειτουργικό σύστημα Linux δεν ενδιαφέρεται εάν είναι σε logical ή primary partition
σκέφτηκα ότι δεν έχει νόημα να μπει σε primary. Οπότε λοιπόν έφτιαξα το sda2 ως extended
και έφτιαξα ένα 2GB swap partition στην αρχή ως sda5. Σκέφτηκα να το δημιουργήσω στην αρχή
του extended ώστε να μπορούν να το χρησιμοποιήσουν και οι υπόλοιπες διανομές. Παρόμοια
ιδέα είχα για την χρήση ενός κοινού /boot (150MB) partition (sda6) για όλες τις διανομές.
Υπόθεσα ότι θα ήταν καλύτερα έτσι, κι ότι θα είχα δύο μεγάλα partition χωρισμένα ισότιμα
(sda7 & sda8) ώστε να μπορώ να έχω το / (root partition) στο sda7 και το sda8 είτε ως /home
είτε ως / για μία άλλη/εναλλακτική διανομή.
οπότε στο πρώτο ΣΚ μετά την αγορά του laptop το laptop είχε την εξής μορφή:
sda1 —> Windows XP Home Edition ( Primary Partition - 30 GB )
sda2 —> Extended ( 70 GB )
sda5 —> Swap Partition ( Logical - 2 GB )
sda6 —> Boot ( Logical - 150 MB )
sda7 —> Root ( Logical - 20 GB )
sda8 —> Home ( Logical - 20 GB )
sda9 —> Opt ( Logical - 20 GB )
μετά από αρκετό καιρό κι επειδή είχα “ασελγήσει” επάνω στο linux μου - έπρεπε να έχω κι ένα partition με Linux
το οποίο θα έπαιζε όταν θα έπρεπε. Έπρεπε λοιπόν να μεταφέρω το /opt ( sda9 ) στο / ( sda7 ).
Κι έτσι έστησα ένα xubuntu (basic installation) στο /sda9 οπότε είχα ένα trible boot.
Φυσικά μετά από λίγο καιρό στο sda9 δοκιμάστηκαν αρκετές διανομές ή όποτε χρειαζόταν λειτουργούσε κι ως αποθηκευτικός χώρος.
Το sda7 σε κάθε διανομή ubuntu αναβαθμιζόταν, έβγαιναν προγράμματα - έμπαιναν προγράμματα.
Μιας και έχω ιδιαίτερη αδυναμία σε source based εγκαταστάσεις προγραμμάτων - κι επειδή ξεκίνησα να βοηθάω στις μεταφράσεις του xfce, το τελικό αποτέλεσμα στο sda7 είναι το εξής: ubuntu minimal κι όλα τα υπόλοιπα build από τον πηγαίο κώδικα, όπως κι όλο το xfce
Τα πράγματα πήγαιναν αρκετά καλά μέχρι την στιγμή που αποφάσισα να δοκιμάσω το opensolaris.
Εδώ υπήρχε και το “σοβαρό” πρόβλημα. Το OpenSolaris δεν μπορεί να μπει σε logical partition.
Έλα μου ντε που εγώ δεν είχα primary partition.
Η λύση δόθηκε τρώγοντας το sda9 και “διορθώνοντας” το partition table. Εδώ φυσικά ΔΕΝ έπαιξαν όλα όπως θα έπρεπε.
Κάποια στιγμή λοιπόν έχασα ολόκληρο το partition table - ευτυχώς όμως δεν πείραξα δεδομένα από τον δίσκο.
Μέσα σε ένα ΣΚ λοιπόν και με την χρήση των fdisk, cfdisk, parted, gparted και gpart ξαναδημιούργησα το partition table
του δίσκου μου - χωρίς να χάσω ούτε ένα αρχείο.
Η εικόνα όταν έφαγα και το sda9 ήταν η εξής:
Disk /dev/sda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0×35f135f0Device Boot Start End Blocks Id System
/dev/sda1 * 1 3916 31455232 7 HPFS/NTFS
/dev/sda2 3917 9418 44194815 5 Extended
/dev/sda5 3917 4177 2096451 82 Linux swap / Solaris
/dev/sda6 4178 4196 152586 83 Linux
/dev/sda7 4197 6807 20972826 83 Linux
/dev/sda8 6808 9418 20972826 83 Linux
με περίπου 20 GB αδήλωτα
Εδώ για να είμαι ειλικρινής τα χρειάστηκα για τα καλά. Υπήρχε πρόβλημα, έπρεπε με κάποιο τρόπο
να διορθώσω τον partition table - να καθαρίσω το /boot (αχρείαστο ήταν) και να ορίζω το παλιό μου sda9
ως Primary Partition και μάλιστα αφού υπήρχε ήδη το sda2 (extended) έπρεπε να δηλωθεί ως sda3.
Αυτό ΔΕΝ γίνεται εύκολα - αλλά με υπομονή και μεγάλη προσοχή η εικόνα έπειτα ήταν η εξής:
Disk /dev/sda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0×35f135f0Device Boot Start End Blocks Id System
/dev/sda1 1 3916 31455232 7 HPFS/NTFS
/dev/sda2 3916 9418 44194821+ 5 Extended
/dev/sda3 * 9419 12161 22033147+ bf Solaris
/dev/sda5 3917 4177 2096451 82 Linux swap / Solaris
/dev/sda6 4178 8113 31615920 83 Linux
/dev/sda7 8114 9418 10482381 83 Linux
Φυσικά όταν προσπαθούσα πλέον να δω τον δίσκο είτε με το parted είτε με το gparted είτε με το cfdisk
υπήρχαν errors. Και φυσικά υπήρχαν errors μιας και έπρεπε μέσω του fdisk να αλλάξω στην σειρά των κατατμήσεων
ώστε να δηλώσω το παλιό μου sda9 ως sda3.
Εάν για κάποιο απίστευτο λόγο διαβάζεται μέχρι εδώ - λίγη υπομονή.
Το ωραίο ξεκινάει από εδώ και κάτω!!!
Αποφάσισα λοιπόν να κάνω τις εξής εργασίες στον δίσκο μου:
α. Δεν χρησιμοποιούσα το opensolaris - έπρεπε να φύγει
β. είχα ήδη μεταφέρει το /home σε ext4 - έπρεπε και το /
γ. έπρεπε να μεταφέρω το /home στο / ώστε να υπάρχει ελεύθερος χώρος
δ. έπρεπε να διορθώσω το partition table μου για να παίξει το laptop μου κάτι.
Ξεκίνησα με το fdisk και αφού διέγραψα το sda3 - διέγραψα και το swap partition (λάθος κίνηση)
θεωρώντας ότι έπρεπε να το ξαναδημιουργήσω με σκοπό να διορθώσει την σειρά των κατατμήσεων.
Επίσης έπρεπε να χρησιμοποιήσω κάποιο live cd ή live usb με υποστήριξη ext4 για να μπορώ να κάνω
την μετατροπή του / (root partition) από ext3 σε ext4. Εδώ υπήρχε ένα πρόβλημα, καθώς το live usb
που είχα - είχε μέσα xubuntu χωρίς υποστήριξη ext4. Ταυτόχρονα με αυτό το πρόβλημα διαπίστωσα
ότι τελικά είχα σεξουαλικές σχέσεις με το partition table μου με αποτέλεσμα ούτε το gparted να παίζει
ούτε το cfdisk ούτε τπτ. Κάπου εκεί χάθηκε και το grub για να δω ότι παίζει χωρίς πρόβλημα το winxp
Κάπου εκεί κοντά έχασα και την δυνατότητα να “διαβάσω” και το root partition μου !!!
Τα δεδομένα είναι απείραχτα, αλλά δεν μπορώ να έχω πρόσβαση σε αυτά.
Στην προηγούμενη αναζήτησή μου για restore του partition table βρέθηκα αντιμέτωπος με το gpart
Λοιπόν - σκέφτομαι πολύ να στείλω λεφτά σε αυτόν τον άνθρωπο (και πρέπει δλδ).
Αναζητώντας μία διανομή για να περάσω στο usb μου με υποστήριξη εργαλείων όπως το gpart
και ext4 βρέθηκα με το systemRescueCd. Αφού ακολούθησα τις εξής οδηγίες:
SystemRescueCd on a USB-stick
το πέρασα στο usb stick μου, κι εκκίνησα το laptop μου με την επιλογή να μπορεί να boot-άρει από το usb.
Έτσι κι έγινε, κι αφού φορτώθηκε το system rescue cd, έτρεξα την εξής εντολή:
gpart /dev/sda
κι αφού βεβαιώθηκα ότι το partition table που προκύπτει είναι σωστό, έτρεξα την εξής εντολή:
gpart.linux -W /dev/sda /dev/sda
και voila !!!! όλα τέλεια.
έβαλα τις τελικές διορθώσεις με το gparted και στην συνέχεια έκανα το convert από ext3 σε ext4:
tune2fs -O has_journal,dir_index,filetype,extent,flex_bg,sparse_super,large_file,huge_file,uninit_bg,dir_nlink,extra_isize /dev/sda3
fsck -pDf /dev/sda3
e2fsck -fD /dev/sda3
(με τις παραπάνω εντολές - τσεκάρω δύο φορές το partition, δεν είναι απαραίτητο - απλά το κάνω εγώ έτσι)
Πλέον έχω πρόσβαση σε όλες μου τις κατατμήσεις - είναι όλες σε ext4 και δεν έχω χάσει κανένα μα κανένα δεδομένο.
Εντυπωσιακό.
Τώρα έμειναν τρία απλά πράγματα:
α. Να διορθώσω το /etc/fstab
β. Να διορθώσω το menu.lst του grub
γ. Να εγκαταστήσω στο grub εκ νέου στον δίσκο του laptop
Προσαρτήσω την κατάτμησή μου:
mount -t ext4 /dev/sda3 /mnt/
mount –bind /dev/ /mnt/dev
mount –bind /proc/ /mnt/proc
Μεταβαίνω σε αυτή:
chroot /mnt
Διορθώσω και ελέγχω ότι χρειάζεται
(δεν χρειάζεται να κάνει κανείς chroot για να διορθώσει τα αρχεία - είναι όμως χρήσιμο για να διαπιστώσει ότι όλα είναι καλά)
Κι έπειτα αφού κάνω exit από το chroot περιβάλλον εγκαθιστώ το grub:
grub-install –root-directory=/mnt/ /dev/sda
Πραγματοποιώ επανεκκίνηση (σε αυτό το σημείο σταυρώνω τα δάχτυλά μου - το γράφει στο manual του gpart)
και διαπιστώνω σε μερικά δευτερόλεπτα ότι όλα είναι τέλεια !!!
Πλεόν το partition table μου είναι το εξής:
Disk /dev/sda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0×35f135f0Device Boot Start End Blocks Id System
/dev/sda1 * 1 3916 31455232 7 HPFS/NTFS
/dev/sda2 3917 4177 2096448 82 Linux swap / Solaris
/dev/sda3 4178 9418 42098332 83 Linux
/dev/sda4 9419 12161 22033116 83 Linux
και πήρα ένα αντίγραφο για να μην το χάσω:
dd if=/dev/sda of=sda.20090516.bin bs=512 count=1
κι εάν ποτέ χρειαστεί να κάνω restore:
dd if=sda.20090516.bin of=/dev/sda bs=512 count=1
Η επόμενη έκδοση λοιπόν της διανομής ubuntu 9.10 είναι γεγονός με όνομα karmic
Ήθελα να κατεβάσω κάτι από το mirror της otenet
Origin: Ubuntu
Label: Ubuntu
Suite: karmic
Version: 9.10
Codename: karmic
Date: Wed, 13 May 2009 8:38:50 UTC
Architectures: amd64 armel hppa i386 ia64 lpia powerpc sparc
Components: main restricted universe multiverse
Description: Ubuntu Karmic 9.10
Οπότε εάν θέλετε να συμμετέχετε στην βελτίωση της επόμενης έκδοσης με κανά καλό bug report ορίστε τι πρέπει να προσθέσετε στο αρχείο /etc/apt/sources.list
deb ftp://ftp.otenet.gr/ubuntu karmic main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu karmic-updates main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu karmic-security main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu karmic-proposed main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu karmic-backports main multiverse restricted universe
ή εάν θέλετε να κάνετε χρήση του http (π.χ. είστε πίσω από http proxy):
deb http://ftp.otenet.gr/ubuntu karmic main multiverse restricted universe
deb http://ftp.otenet.gr/ubuntu karmic-updates main multiverse restricted universe
deb http://ftp.otenet.gr/ubuntu karmic-security main multiverse restricted universe
deb http://ftp.otenet.gr/ubuntu karmic-proposed main multiverse restricted universe
deb http://ftp.otenet.gr/ubuntu karmic-backports main multiverse restricted universe
Fosscomm v2 @Λάρισα
Σάββατο 09 Μαΐου 2009
Κυριακή 10 Μαΐου 2009
Α Μέρος: Το Tαξίδι
Παρασκευή 08 Μαΐου 2009 (το βράδυ) κατεβάζω το larisa_fosscomm.dat που έφτιαξε
ο Γιώργος από εδώ: kargig για το destinator.
Σάββατο 5.30 ξυπνάω, ντύνομαι - φτιάχνω καφέ και πηγαίνω στο αμάξι και ξεκινάω για Λάρισα.
Πρώτα όμως θα πρέπει να γεμίσω τις υπόλοιπες 4 κενές θέσεις, οπότε:
Θέση #2: Κώστας (6.00)
Θέση #3: Θεόφιλος (6.30)
Θέση #4: Νίκος (6.30)
Θέση #5: Γιάννης (7.30)
Μετά από μία στάση για καφέ και 367 χιλιόμετρα μετά φτάνουμε στο ΤΕΙ Λάρισας γύρω στις 10.45
Φυσικά αργοπορημένοι (όπως πάντα δλδ), αλλά όπως και να ‘χει είμαστε εκεί.
Κυριακή αποφασίσαμε οι παραπάνω 5 αμαρτωλοί να φάμε με καλή παρέα στο πάρκο του Αλκαζάρ για μεσημέρι
κι έπειτα σιγά - σιγά να επιστρέψουμε για Αθήνα (λίγο νωρίτερα από ότι είχαμε προσχεδιάσει).
Με λίγη υπομονή (απαγορεύεται το τσιγάρο στο αμάξι) και με μία μικρή βόλτα προς Τύρναβο για να
βάλουμε βενζίνη (ευτυχώς που άνοιξα το GPS δλδ) και μία στάση για τσιγάρο και νερό στο 140 φτάσαμε
Αθήνα κατά τις 21.00
Εντυπώσεις από το ταξίδι στον δρόμο:
Το skoda μετά από 800 χιλιόμετρα περίπου έκαψε 60ευρώ (αρκετά οικονομικά - μπράβο του)
5 άτομα τελικά είναι πολλά
Το τσιγάρο είναι πάθος - είναι κρίμα να ζει κάποιος δέσμιος από πάθη.
B Μέρος: Οι Φίλοι
Μπορεί να ακούγεται λίγο περίεργο, αλλά πραγματικά με όλους αυτούς τους geeks
περνάω πραγματικά πάρα πολύ όμορφα και κάθε φορά χαίρομαι που τους συναντάω.
Σάββατο βράδυ βγήκαμε για Τσίπουρα με γλυκάνισο (δεν έχω ξαναπιεί ποτέ)
Οι φωτογραφίες που τράβηξα είναι εδώ:
fosscomm v2
Οι συζητήσεις, flames, διάλογοι και αντίλογοι είναι τελικά κάτι το ξεχωριστό.
Δεν έχω να προσθέσω τπτ άλλο - νομίζω οι φωτογραφίες μιλάνε από μόνες τους.
Γ Μέρος: Η fosscomm
Φέτος έγινε εκτός Αθήνας - προσωπικά είμαι υπέρ αυτής της άποψης και μάλιστα το βρίσκω
κι ως ευκαιρία να ξεφεύγω από δουλειά και Αθήνα. Θα αναφέρω τι δεν μου άρεσε πρώτα:
Περίμενα να δω πολλές περισσότερες κοινότητες από ότι πέρσι (δεν είδα)
Στον χρόνο των παρουσιάσεων περίμενα να δω περισσότερο για το έργο των κοινοτήτων
και λιγότερο χρόνο για το πόσοι έχουν γραφτεί στο forum τους.
Τι μου άρεσε:
Πολύ ωραία η παρουσίαση της κοινότητας gentoo.
Τεχνικά δομημένη και άνθρωποι που ήξεραν τι να πουν.
Επίσης ένα plus ακόμα για το workshop.
Ακόμα και στην προσπάθειά μου να τους το καταστρέψω - τελικά έμαθα και 5 πράγματα παραπάνω.
Εκπληκτικό το workshop του Κώστα Δρόγγου. Πραγματικό workshop. Μάλιστα ήρθαν και μας πέταξαν από
την αίθουσα. Τουλάχιστον από εμένα υπήρχαν πάρα πολλές ερωτήσεις κι όλες απαντήθηκαν τεχνικά.
Μου άρεσε το 1ο μέρος του android
Το hackfest του fedora, η κοινότητα του fedora, οι άνθρωποι του fedora.
Για κάποιο περίεργο λόγο δλδ νομίζω ότι είναι αρκετά δομημένοι και οργανωμένοι
χωρίς όμως να τους στερείτε ελευθερία.
Τα παιδιά από το ΤΕΙ Λάρισας - αρκετό μεράκι για μία πάρα πολύ καλή δουλειά. Τα συγχαρητήριά μου.
Τι δεν μου άρεσε:
Αρκετά λιγότερες κοινότητες φέτος,
αρκετές ακυρώθηκαν,
μα που είναι τελικά αυτοί οι Θεσσαλονικιοί; περίμενα πως και πως το thelug, και μάλιστα σε ένα μέρος δυο ωρίτσες (το πολύ) μακριά.
παρουσιάσεις που άκουσα και πέρσι - χωρίς κάτι ενδιαφέρον
δεν μου άρεσε το 2ο μέρος του android - άσε δε που μας έφαγε όλη με την μέρα με την παρουσίαση.
δεν μου άρεσε που δεν είδα μία παρουσίαση του freebsd - την περίμενα πως και πως
δεν είδα αρκετά workshops.
Είμαι εξαιρετικά ενθουσιασμένος καθώς το αμάξι μου γέμισε από φίλους για να ανέβουμε παρέα στην Λάρισα.
Τι περιμένω λοιπόν μετά από 360χιλιόμετρα στην Εθνική:
δύο μέρες ΕΛΛΑΚ (ΣΚ στην Λάρισα)
εκατοντάδες geeks (ήθελα να γράψω χιλιάδες όμως)
είκοσι παρουσιάσεις (τουλάχιστον)
και φυσικά θα κάνουμε και Party (Key signing)
κι όλα αυτά με: ΜΗΔΕΝ ΕΥΡΩ
Προσπαθώ να εκβιάσω τους διοργανωτές για κανά beer event το Σάββατο βράδυ
έχω φωτογραφίες από μερικούς από την fosdem :) ελπίζω να το καταφέρω.
Πολύ ενδιαφέρον προγραμματάκι.
Το βρίσκεται εδώ: dnstop
κατεβάζοντας τον κώδικα από εδώ
η εγκατάσταση είναι εξαιρετικά εύκολη:
wget -c http://dns.measurement-factory.com/tools/dnstop/src/dnstop-20090128.tar.gz
tar zxvf dnstop-20090128.tar.gz
cd dnstop-20090128
./configure
make
make instal
και το αποτέλεσμα από έναν cache dns server είναι κάπως έτσι:
ΥΓ: έχω παραποιήσει τις IPs των πελατών
Καμιά φορά απλά θέλετε να διαμοιράσετε κάποιο αρχείο (ή αρχεία) μέσω http.
Δεν είστε όμως root - δεν μπορείτε να εγκαταστήσετε κάποιον web server που να παίζει σε κάποια known (low) port κ.λ.π. - κ.λ.π.
Μπορείτε να τρέξετε python?
Εάν ναι τότε απλά στον κατάλογο που είστε:
python -m SimpleHTTPServer
και ο κατάλογος που βρίσκεται σερβίρεται μέσω της tcp port: 8000
Σας έχουν κόψει όλες τις πόρτες εκτός π.χ. της 8080:
python -m SimpleHTTPServer 8080
Θέλετε μάλιστα να μπει στο background για να έχετε το shell:
python -m SimpleHTTPServer 8080 &
Περισσότερα εδώ: http://docs.python.org/library/simplehttpserver.html#module-SimpleHTTPServer
Το διάβασα εδώ
Όλοι ετοιμάζονται για το τριήμερο της Πρωτομαγιάς, υπάρχουν όμως και μερικοί geeks που ετοιμάζονται για το επόμενο ΣΚ. Εάν δεν ξέρετε τι είναι το επόμενο ΣΚ τότε πιθανά αυτό το post δεν σας ενδιαφέρει.
Είναι το 2ο Συνέδριο Κοινοτήτων Ελεύθερου Λογισμικού / Λογισμικού Ανοιχτού Κώδικα
και μόλις έκλεισα και ξενοδοχείο σήμερα το πρωί και το πιο πιθανό σενάριο είναι
να ξεκινήσω από Αθήνα το Σάββατο 9 του μήνα αρκετά πρωί.
Περισσότερα διαβάστε εδώ:
Τα λέμε Λάρισα (σε είδα και λαχτάρισα)
Βρήκα ένα πολύ ενδιαφέρον post και σκέφτηκα καλό να το μοιραστώ μαζί σας
Kernel Log: What’s coming in 2.6.30 - File systems: New and revamped file systems
The patches adopted in Linux 2.6.30 introduce many significant changes affecting data security and Ext3 and Ext4 performance. Support for the EXOFS and NILFS2 file systems is new, as is the cache for the AFS and NFS network file systems. There are also a few fixes for the almost forgotten ReiserFS file system.
Tftpd on Ubuntu (jaunty) 9.04
On Linux machine:
sudo apt-get install tftpd
sudo mkdir -pv /srv/tftp
sudo chmod 777 !$
sudo /etc/init.d/openbsd-inetd restart
On Cisco Router:
Router#copy run tftp:
Address or name of remote host []? 192.168.2.2
Destination filename [Router-confg]?
!!
2722 bytes copied in 0.036 secs (75611 bytes/sec)
Linux Desktop - Fast & Furious
Ως διαχειριστή παραθύρων χρησιμοποιώ το xfce και μάλιστα από subversion. Αποτέλεσμα αυτού να έχω ένα ελαφρύ και γρήγορο περιβάλλον. Πριν από λίγες καιρό και με αφορμή αυτό το post ξεκίνησα να εγκαθιστώ και να δοκιμάζω διάφορα gtk engines.
Στο εξής site gtk engines benchmarks μπορείτε να βρείτε μία πάρα πολύ ωραία παρουσίαση γύρω από τα πιο δημοφιλή gtk engines και να δείτε μερικές μετρήσεις.
Το πρόγραμμα που μπορεί οποιοσδήποτε να χρησιμοποιήσει για να μετρήσει το πόσο γρήγορο είναι το gtk dekstop του είναι το gtk perf
Παραθέτω την δική μου μέτρηση κάνοντας χρήση του cleanice engine με Xfce-light Theme and Human Icons:
ebal@xubuntu:~\€ cat .gtkrc-2.0
gtk-theme-name = "CleanIce"
Και η μέτρηση:
ebal@xubuntu:~\€ gtkperf -a
GtkPerf 0.40 - Starting testing: Fri Apr 24 23:07:13 2009GtkEntry - time: 0,00
GtkComboBox - time: 0,85
GtkComboBoxEntry - time: 0,59
GtkSpinButton - time: 0,12
GtkProgressBar - time: 0,07
GtkToggleButton - time: 0,10
GtkCheckButton - time: 0,10
GtkRadioButton - time: 0,23
GtkTextView - Add text - time: 0,81
GtkTextView - Scroll - time: 0,22
GtkDrawingArea - Lines - time: 0,86
GtkDrawingArea - Circles - time: 0,71
GtkDrawingArea - Text - time: 1,19
GtkDrawingArea - Pixbufs - time: 0,11
—
Total time: 5,96Quitting..
Φυσικά μπορείτε να βρείτε στο google αρκετά gtk engines
Η αρχή πάντως γίνεται από εδώ: gtk engines
Αναβάθμιση της διανομής Ubuntu από 8.10 σε 9.04
1. Backup
sudo su -
tar jcvf backup.conf.tbz2 /boot/ /etc/ /usr/local/etc/
2. Sources
Πρόσθεσα στο αρχείο: /etc/apt/sources.list
Τα εξής repositories:
deb ftp://ftp.otenet.gr/ubuntu jaunty main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu jaunty-updates main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu jaunty-security main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu jaunty-proposed main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu jaunty-backports main multiverse restricted universe
Οπότε το αρχείο μου: /etc/apt/sources.list
πλέον δείχνει ως εξής:
deb ftp://ftp.otenet.gr/ubuntu intrepid main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu intrepid-updates main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu intrepid-security main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu intrepid-proposed main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu intrepid-backports main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu jaunty main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu jaunty-updates main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu jaunty-security main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu jaunty-proposed main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu jaunty-backports main multiverse restricted universe
3. Αναβάθμιση των repositories
apt-get update
4. Αποθήκευση των νέων πακέτων στον δίσκο μου
apt-get -dy dist-upgrade
5. Πριν την αναβάθμιση του συστήματος
Κλείνω όλες μου τις εφαρμογές
Μεταβαίνω με ctrl+alt+F1 σε τερματικό
Σκοτώνω τα γραφικά κι ότι υπηρεσία βρω που δεν χρειάζεται για την ώρα
6. Αναβάθμιση
apt-get dist-upgrade
7. Επανεκκίνηση (με τον νέο πυρήνα)
reboot
8. Καθαρισμός
Στο αρχείο μου /etc/apt/sources.list
αφαιρώ όλες τις δηλώσεις για το intrepid
αφήνω μόνο όσες υπάρχουν για το jaunty
Στην συνέχεια:
apt-get update
apt-get autoremove
apt-get autoclean
apt-get clean
Κι έπειτα ανοίγω το synaptic, μεταβαίνω στην κατηγορία “Κατάσταση”
και καθαρίζω ότι έχει μείνει.
Μέσα σε μία ωρίτσα (πάνω κάτω) έχει ολοκληρωθεί η αναβάθμιση χωρίς το παραμικρό πρόβλημα.
Χρόνος εκκίνησης: 22 δευτερόλεπτα
ΥΓ: Από τον Aύγουστο του 2006 που έβαλα Ubuntu κάνω συνέχεια dist-upgrade.
Δεν έχω “καθαρή” εγκατάσταση και δεν έχω κάνει format.
Αρχίζω να νοσταλγώ το format στα windows.
Παρακολουθώ με μεγάλο ενδιαφέρον την πρόοδο και εξέλιξη του midori.
O midori web browser βασίζεται στο webkit
και μπορεί να περάσει με επιτυχία το acid 3 test.
Είναι εξαιρετικά γρήγορος/ελαφρύς και πολύ απλός στην χρήση.
Μάλιστα έχει υλοποιηθεί και για το maemo κάνοντας χρήση του hildon.
Φτάνοντας στην έκδοση 0.1.6 φαίνεται ότι αρχίζει σιγά σιγά να κερδίζει το χαμένο έδαφος
από τις προηγούμενες εκδόσεις του - οι οποίες είχαν το χαρακτηριστικό να crashάρουν πολύ γρήγορα.
Πιο σταθερός και με περισσότερες λειτουργίες αξίζει έστω και για λίγο το ενδιαφέρον σας.
Φυσικά ακόμα είναι σε πρώιμα στάδια και χρειάζεται αρκετή δουλειά.
Το xfce τον έχει συμπεριλάβει στα project του
και ο κώδικας βρίσκεται στο git αποθετήριο του xfce.
Σκέφτηκα ότι θα είναι καλή ιδέα να μοιραστώ μαζί σας μερικά screenshots:
midori v0.1.6
ΥΓ: Έχω κάνει την μετάφραση - οπότε εάν βρείτε κάτι στείλτε μου mail :)
Πόσες φορές έχουμε όλοι βρεθεί στο σημείο να έχουμε διαγράψει κάποιο αρχείο χωρίς να έχουμε κρατήσει κάποιο αντίγραφο; Ή ακόμα και να έχουν γίνει αρκετές αλλαγές από το χρονικό σημείο που κρατήσαμε κάποιο αντίγραφο;
Η προφανής λύση θα είναι να κάνουμε χρήση ενός COW (Copy On Write) File System ώστε να μην χάνουμε απολύτως τπτ. Φυσικά τέτοιες λύσεις συνήθως είναι και αρκετά ακριβές.
Για να καλύψω τις δικές μου ανάγκες κάνω χρήση του rsnapshot και μάλιστα μπορώ έχοντας ένα ssh σε κάποιο άλλο μηχάνημα να έχω και off line backup. Αλλά και πάλι δεν είναι μία 100% bullet proof λύση.
Στο παράδειγμα της ανάπτυξης ενός προγράμματος η προφανής λύση είναι κάποιο versioning control system (π.χ. mercurial).
Αναζητώντας μία πιο αξιόπιστη λύση για snapshots (μέχρι το B-tree FS να γίνει stable) παλαιότερα είχα δει το ext3cow. Το οποίο είναι ένα από τα πιο ενδιαφέροντα project που έχω δει. Η βασική του λειτουργία απλή, ένα cow σύστημα σε ext3. Versioning COW File System.
Πριν από μερικούς μήνες εντόπισα και το NILFS. Το οποίο είναι ένα Log-Structured File System το οποίο υποστηρίζει snapshots. Μου φάνηκε αρκετά πιο εύκολο στην εγκατάσταση αλλά και πιο straight forward από το ext3cow.
Κατέγραψα τις προσπάθειες μου στην παρακάτω σελίδα και πιστεύω ότι αξίζει κάποιος να το δοκιμάζει:
http://balaskas.gr/wiki/nilfs
Δείτε πως γίνεται η εγκατάσταση και τυπικά παραδείγματα λειτουργίας.
Διαβάζοντας το παρακάτω post έμαθα μία πολύ ωραία εντολή την logsave.
Πρακτικά αποθηκεύει το αποτέλεσμα της εξόδου από μια εντολή σε ένα αρχείο ώστε να μπορούμε να το επεξεργαστούμε.
π.χ. quick & simply example:
ebal@amilo:tmp$ logsave -v fdisk.log sudo fdisk -l
Log of sudo fdisk -l
Fri Apr 10 00:04:54 2009Disk /dev/sda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0×35f135f0Device Boot Start End Blocks Id System
/dev/sda1 * 1 3916 31455232 7 HPFS/NTFS
/dev/sda2 3916 9418 44194821+ 5 Extended
/dev/sda3 9419 12161 22033147+ bf Solaris
/dev/sda5 3917 4177 2096451 82 Linux swap / Solaris
/dev/sda6 4178 8113 31615920 83 Linux
/dev/sda7 8114 9418 10482381 83 LinuxFri Apr 10 00:04:54 2009
—————-
ebal@amilo:tmp$
ebal@amilo:tmp$
ebal@amilo:tmp$
ebal@amilo:tmp$ cat fdisk.log
Log of sudo fdisk -l
Fri Apr 10 00:04:54 2009Disk /dev/sda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0×35f135f0Device Boot Start End Blocks Id System
/dev/sda1 * 1 3916 31455232 7 HPFS/NTFS
/dev/sda2 3916 9418 44194821+ 5 Extended
/dev/sda3 9419 12161 22033147+ bf Solaris
/dev/sda5 3917 4177 2096451 82 Linux swap / Solaris
/dev/sda6 4178 8113 31615920 83 Linux
/dev/sda7 8114 9418 10482381 83 LinuxFri Apr 10 00:04:54 2009
—————-
ΥΓ: Μην ξεχνάτε ότι υπάρχει και αρκετοί άλλοι τρόποι, νομίζω όμως ότι αυτός είναι ο πιο elegant
ebal@amilo:tmp$ sudo fdisk -l > fdisk.log
ebal@amilo:tmp$ sudo fdisk -l | tee -a fdisk.log
κι πιθανά πολλοί ακόμα τρόποι
Υπάρχουν στιγμές που θέλω να κάνω μία δύσκολη μαθηματική πράξη (π.χ. 4+4) και δεν βρίσκω τον άβακά μου.
Σε κονσόλα το πρόγραμμα που χρησιμοποιώ για να κάνω αριθμητικές πράξεις είναι το bc και με έχει εξυπηρετήσει αρκετές φορές.
π.χ.
ebal@the_machine_that_goes_PING:~\€ echo 4+4 | bc
8
Αλλά τώρα πρόσφατα βρήκα ότι την ίδια δουλειά κάνει και το bash ακόμα κι εάν δεν έχουμε εγκατεστημένο το bc.
π.χ.
ebal@the_machine_that_goes_PING:~\€ echo $((4+4))
8
Note: Για όσους έχουν απορία:
ebal@the_machine_that_goes_PING:~\€ echo $((34523452345245/0))
bash: 34523452345245/0: division by 0 (error token is “0”)
ΠΡΟΣΟΧΗ Το bash ΔΕΝ καταλαβαίνει από δεκαδικούς αριθμούς, μόνο το BC:
echo $((4+0.5))
bash: 4+0.5: syntax error: invalid arithmetic operator (error token is “.5”)
ενώ με bc
echo 4+0.5 | bc
4.5
Εάν θέλουμε δεκαδικό αποτέλεσμα, χρησιμοποιούμε την παράμετρο -l
echo 10/3 | bc -l
3.33333333333333333333
Ναι καλά,
The big picture:
The thumbnail:
ΥΓ: Και για να αποφύγω τα περιττά σχόλια για το ubuntu, ο firefox έφταιγε.
Τελικά τι να επιλέξω debian ή FreeBSD;
Εάν όμως μπορώ να έχω και τα δύο ταυτόχρονα δεν θα ήταν καλύτερα;
Φυσικά θα ρωτήσει κάποιος πως είναι δυνατόν;
Η λύση είναι το kfreebsd
Πρακτικά είναι ένα debian σύστημα πάνω από έναν FreeBSD kernel.
Αποφάσισα να του δώσω μία ευκαιρία και για αυτό το δοκίμασα σε ένα VirtualBox. Κατέγραψα την εγκατάσταση του kfreebsd στο παρακάτω link
http://balaskas.gr/wiki/kfreebsd
και το σκέφτομαι πολύ σοβαρά να το εγκαταστήσω
Όσο περνάει ο χρόνος τόσο μεγαλώνουν οι χωρητικότητες των δίσκων. Συνέπεια αυτού να μην σβήνουμε τπτ.
Έτσι ενώ κάποτε στο σπίτι ένας δίσκος 10Gb ήταν υπέραρκετός αυτή την στιγμή 2ΤB να είναι ελάχιστα.
Το γεγονός αυτό σε μία εταιρεία που όλα τα δεδομένα της είναι κρίσιμα και μάλιστα εθνικής υψίστης σημασίας σημαίνει
hw raid / sw raid / tapes / εξωτερικά usb κ.ο.κ. Εντάξει το rsync για backup (χρησιμοποιώ το rsnapshot μου κάνει την ζωή πιο εύκολα αλλά και πάλι όταν έχεις 2TΒ (ίσως και λίγο παραπάνω) τι κάνεις;
Σκέφτηκα να δοκιμάσω το fdupes και θα τολμήσω να πω δημόσια, ότι μου αρέσει αρκετά. Φυσικά δεν μου λύνει το πρόβλημα κι όταν υπάρχουν πολλά αρχεία σε ένα κατάλογο ψιλοαργεί (π.χ. 120337 αρχεία, 3,7G έκανε 7,5 λεπτά, ενώ για περίπου 1500000 mp3 γύρω στα 35GB έκανε 28λεπτά)
Πως το χρησιμοποιεί κανείς:
fdupes -R . > fdupes.log
Έτσι το τρέχω εγώ και μετά από το log διαβάζω τι πρέπει να διαγράψω και τι όχι, φυσικά έχει και επιλογή για άμεση διαγραφή … αλλά ποιος τρέχει μετά να βρει αρχεία από το backup :)
Εάν κάποιος έχει να προτείνει παρόμοιο πρόγραμμα ή ακόμα καλύτερα κάποιο patch kernel και να παίζει σε fs layer ακόμα καλύτερα. Σίγουρα θα έχω impact σε time read/write αλλά εάν ο δίσκος είναι μόνο για backup ποιος νοιάζεται.
Στους διαδικτυακούς προβληματισμούς μου τις τελευταίες ημέρες μπήκε η χρήση scripting languages μέσω fast-cgi. Φυσικά ο λόγος ήταν (και είναι) η (δοκιμαστική ακόμα) χρήση του nginx web server. Αναζητώντας στο διαδίκτυο περισσότερες πληροφορίες με σκοπό να ικανοποιήσω την περιέργειά μου έφτασα σε μία εναλλακτική PHP.
Αναφέρομαι στον alter-native php compiler με όνομα RoadSend-PHP.
Μέχρι στιγμής οι προσπάθείς μου είναι ικανοποιητικές μεν, μη αποδεκτές δε.
Ο σκοπός μου είναι να προσπαθήσω να περάσω το wackowiki σε nginx+roadsend
Ένα από τα ενδιαφέροντα που είδα είναι η ύπαρξη backend με όνομα: MicroServer ώστε να μπορεί κανείς να δημιουργεί stand alone web applications (αυτό θέλει λίγο ψάξιμο - στα todo).
Εάν ενδιαφέρεται να δει κάποιος πως φαίνεται ένα phpinfo στο roadsend
ας ρίξει μια ματιά εδώ: http://balaskas.gr/wiki/RoadsendPHP
Αυτό που μου λείπει από τον nginx είναι ένας εύκολος και πιο generic τρόπος για να εκκινώ ή να τον σταματάω κατά βούληση.
Οπότε αποφάσισα να γράψω ένα δικό μου Init Script για αυτή την δουλειά.
Το script είναι αρκετά generic για να μπορεί να χρησιμοποιηθεί και σε άλλες περιπτώσεις με ελάχιστες τροποποιήσεις.
Ελπίζω να φανεί χρήσιμο.