Evaggelos Balaskas's logs

My 127.0.0.1 on the web

libpng 1.4.0 & libjpeg v8 Vs libpng v1.2.42 & libjpeg v7 (or 6.2)

In the past few days libpng & libjpeg have been updated from libpng-1.2.42 to libpng-1.4.0 and libjpeg v7 to libjpeg v8.

If your linux distribution have already updated the libraries to the latest version, it is very probably that all the dependable programs have been updated too.

In the case that a program (or a group of programs) needs the previous version to run properly dont sweat about it. You can easily install the previous libraries versions to an alternative path and use soft links.

Just follow the below instructions:

libjpeg

wget -c http://www.ijg.org/files/jpegsrc.v7.tar.gz
tar zxvf jpegsrc.v7.tar.gz 
cd jpeg-7/
./configure
make
# Now, you really have to became root, for the follow couple commands
make install
sudo ln -s /usr/local/lib/libjpeg.so.7 /usr/lib/libjpeg.so.7

libpng

wget -c ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.2.42.tar.gz
tar zxvf libpng-1.2.42.tar.gz 
cd libpng-1.2.42/
./configure 
make
# Now, you really have to became root, for the follow couple commands
make install
sudo ln -s /usr/local/lib/libpng12.so /usr/lib/libpng12.so

And thats it!

Add a comment(183 views)




Another bash script for backup with a snapshot logic.

In the last days i lost some (non critical) data cause i had forgot to install rsnapshot in my laptop. I was without network for a couple of hours and there was nothing on TV. So … i’ve played with bash and made a bash script to backup some directories with a snapshot logic.

abs4Snap

The bash script is really simple and straight-forward without any difficult parts. So you can easily configure it, to serve your needs.

#!/bin/bash
# Evaggelos Balaskas, <ebalaskas AT ebalaskas DOT gr>, 20090122
DIR="/var/cache/pacman/pkglist"
PATHS="/etc /usr/local/etc /boot"
BACKUP="backup"
PACMAN="/usr/bin/pacman -Qqe"
RSYNC="/usr/bin/rsync -ra"
MKDIR="/bin/mkdir -p"
DATE="/bin/date"
CP="/bin/cp -al "
MV="/bin/mv -f"
RM="/bin/rm -rf"
TOUCH="/bin/touch"
DAYS="10"
	
# Make Directory Structure
$MKDIR $DIR/`$DATE +%Y/%m/%d`
	
#Package List
$PACMAN > $DIR/`$DATE +%Y/%m/%d/pkglist_%H_%M`
	
#Rotation
if [ -d "$DIR/$BACKUP.$DAYS" ] ; then 
	$RM $DIR/$BACKUP.$DAYS
fi
	
for i in `seq $(expr $DAYS - 1 ) -1 1` ;do 
	if [ -d "$DIR/$BACKUP.$i" ]; then
		$MV $DIR/$BACKUP.$i $DIR/$BACKUP.$(expr $i + 1)
	fi
done
	
# Create Hard Link
if [ -d "$DIR/$BACKUP.0" ] ; then
	$CP $DIR/$BACKUP.0 $DIR/$BACKUP.1
fi
	
# Sychronization
for k in $PATHS; do
	$MKDIR $DIR/$BACKUP.0$k/
	$RSYNC --delete $k/ $DIR/$BACKUP.0$k
done
	
# TimeStamp
$TOUCH $DIR/$BACKUP.0

1 comment(352 views)




archlinux powerpill

Το archlinux χρησιμοποιεί τον διαχειριστή προγραμμάτων pacman. To powerpill είναι ένα wrapper πρόγραμμα για τον pacman. Η δουλειά του δλδ είναι να κατεβάζει από διαφορετικές πηγές το πρόγραμμα που θέλουμε να εγκαταστήσουμε κάνοντας χρήση του μέγιστου bandwidth που διαθέτουμε. Το powerpill κάνει χρήση του aria2, ενός προγράμματος που υλοποιεί πολλαπλά πρωτόκολλα και πολλαπλές πηγές με σκοπό να κατεβάσει το αρχείο που επιθυμούμε στον μικρότερο χρόνο.

Η χρήση του powerpill στο pacman μπορεί να γίνει με αυτόν τον τρόπο:

powerpill pacman -Syuw

ή

powerpill pacman -Syu

Ακόμα κι εάν δεν έχετε archlinux, ρίξτε μια ματιά στο aria2. Αποτελεί ένα αξιόλογο πρόγραμμα.

Add a comment(241 views)




archlinux kernel 2.6.32 - xorg (intel) problems

Σήμερα το πρωί εγκατέστησα τη νέα έκδοση του kernel: 2.6.32 στο archlinux. Δυστυχώς για ακόμα μία φορά το τίμημα του να είσαι bleeding edge είναι μεγάλο.

Στην νέα έκδοση (2.6.32) έχει αλλάξει το KMS (kernel mode setting) και ο τρόπος με τον οποίο ρυθμίζεται το intel graphic subsystem (intel kms enabled by default).

Το αποτέλεσμα ήταν να μείνω χωρίς γραφικό περιβάλλον.

Αποφάσισα λοιπόν να εγκαταστήσω τo kernel26-lts (longtime stable),
αλλά διαπίστωσα ότι εξαρτάται από το πακέτο udev-compat το οποίο βρίσκεται στο
testing repository!

Σκέφτηκα: δεν μαμιέται, κι άνοιξα το testing repository.
Ταυτόχρονα με ενημέρωσε να εγκαταστήσω και μερικά ακόμα πακέτα όπως το filesystem/udev κ.λ.π.
Εκείνη την στιγμή σκέφτηκα ότι σιγά το πράγμα, τι κακό μπορεί να γίνει.

Όλα ωραία και καλά, κάνω επανεκκίνηση και ο kernel26-lts ΔΕΝ ξεκινάει !!!
Το πόσο εντυπωσιακό ήταν αυτό δεν λέγεται.

Ξαναμπουτάρω με τον kernel26 (χωρίς γραφικό) και προσπαθώ να αφαιρέσω ότι πακέτο έχω εγκαταστήσει μέσω του testing.

Να μην τα πολυλογώ μένω χωρίς filesystem/udev και φυσικά ότι άλλο εξαρτάται πάνω σε αυτά (δλδ σχεδόν όλα τα πακέτα). Το partiton κάπου εδώ έγινε corrupted με τραγικό αποτέλεσμα.

Την λύση την έδωσε το System Rescue CD .
Μέσω cron τρέχω ανά 3 ώρες ένα rsnapshot και ανά μέρα την εξής εντολή:

/usr/bin/pacman -Qq > /root/pkg_list_`date +%Y%m%d`

Δηλαδή αυτό που έκανα ήταν να ξαναεγκαταστήσω την λίστα των πακέτων που είχα μέχρι σήμερα (πρωινές ώρες) και να αντιγράψω τα configuration files από το latest snapshot.

Κι όμως τα προβλήματα μου ΔΕΝ τελείωσαν εδώ.

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

Την τελική λύση την έδωσε ο έταιρος συνάδελφος, ο οποίος μου δάνεισε τον υπολογιστή του για να κάνω ssh και να το log του Xorg. Το οποίο log με ενημέρωνε ότι το xf86-input-evdev δεν μπορούσε να φορτωθεί. Κι αντί να τερματίσει ο Xorg server απλά πάγωνε!.

Προσπάθησα να επαν-εγκαταστήσω το xf86-input-evdev αλλά το πρόβλημα ήταν ότι τα ήδη εγκαταστημένα αρχεία ήταν corrupted (πιθανά από τα πολλά hard-resets). Τελικά με την χρήση του rm διέγραψα τα corrupted αρχεία, επαν-εγκατέστησα το evdev (το οποίο είναι υπεύθυνο για να κάνει hotplug τις συσκευές εισόδου στο xorg) κι όλα έπαιξαν μια χαρά.

Τελικός απολογισμός: 3 ώρες !!!

Κατά τα άλλα καλά, τα νέα σας;

Add a comment(243 views)