Dockerfile to build a docker archlinux image with ssh

Today’s work : A dockerfile to build an archlinux image with sshd

You can find my notes here: Dockerfile notes

Time at hackerspace

I am a very proud member of Athen’s Hackerspace.

I am enjoying the entire 3+ years time (and money) that i’ve spend at this hackerspace. Love it.

Today was a very productive day.

With a good friend of mine, are working to setup an ansible, docker, btrfs workshop !

We want to contribute back to the community and we thought that this is a great opportunity.
We are not guru or anything like that - no, we just want to share the knowledge we are getting by spending time at hackerspace. Nothing more, nothing less. Just share our feedback to all the people that have helped us till now.

So, we are working together (collaboration) by making small steps towards to build these workshop.
Today’s work: Creating a tiny compressed archlinux docker image.

My instruction set is documented here: archlinux installation for docker.

Hopefully my next blog post will be about a simple ssh docker file.
We are trying to keep simple notes so that many people can read and use them.

Imitate TCP Wrapper

archlinux has chosen to remove TCP wrappers from it’s core packages a couple of years now.

You can read this all about here.

This is how to imitate the tcp wrapper (by the way Wietse Venema rocks! ) functionality with iptables and source range.

iptables -A INPUT -p tcp --dport 22 -m iprange --src-range -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
Why i chose archlinux as my primary desktop distro

Why i chose archlinux as my primary desktop distro.

a non techinal approach

I am using linux for personal and work related use, from 2002 on a daily bases. I work as a unix system engineer, so i think of my self as an intermetiate user and not a newbie. Not at least on the majority of linux things, cause things are changing too fast and we must adopt to the new world. In this blog post, i will not write down my linux history but i believed that a prolog should be in place, so everybody (me and you) have the same context.

I am using archlinux from May 2009 so its almost four years now. You could say that i got around archlinux as a mistake (i was using ubuntu at that time and a space character after “rm -rf /usr /local/src/something” made me remove my /usr folder) but the test i’ve made (installing archlinux) that evening changed my life.

Why i chose archlinux ?

at that point, I had three options:
a. fedora
b. archlinux
c. freebsb

I had used fedora before 2009 and i wasnt impressed. At that time ubuntu was the only true choice for someone like me. So the next step was installing archlinux or freebsd. I chose archlinux cause it is a Linux distro and not unix.

So i took a risk.

What i did know about archlinux at that time:

  • archlinux was a binary distro
  • archlinux didnt have any configuration/automate tool
  • didnt have a nice installer but only a text based menu
  • archlinux had the best wiki i’ve ever seen
  • archlinux had a large active forum
  • archlinux had an impressive amount of packages at the default repositories
  • archlinux had an EVEN impressive amount of packages at AUR
  • archlinux had a simple text file for reconfigure a package (PKGBUILD)
  • all of the archlinux packages was as close as the upstream had just uploaded !

i didnt know much about archlinux and all of that obvious things i’ve learned them in a just a few days.

From the first day - i wanted to contribute somehow to that amazing distro.
So the first gallery of archlinux installation had been published at the next couple hours


What i learned in the next couple days.

  • archlinux has a simply to use/configure package manager, called by archers as pacman ! neet
  • archlinux DOESNOT setup Xorg !
  • archlinux doesnt have any configure/automate tool

wait a minute - i knew that already, but there is NONE

if you want to setup your network - you must know how to do it.
You need to read manual pages for breakfast and do it all my hand.
There isnt any tool to setup nothing.
Audio ? you must put your self in the right group and you have to read the wiki.
You have to learn.

And it was perfect for me. I’ve learned so much just by using it and i am still learning.

Any big changes ?

Yes there are some things i didnt like and the main problem is the attitube of arch devs. They are intelligent people and document everything but they make hard decisions that none of the arches around the globe appriciate - at least at the current momment.

I mean, remove tcp wrappers cause the last version was ten years ago ?
stupid, right ?

  • Change your /lib to /usr/lib
  • Convert your init to systemd
  • Remove the text base menu installer !!!
    (still pretty angy about that)
  • grub2 as a default boot loader the same day that gnu released an annouchment that grub is legacy!

and some other things that people dont get along.

There was a time that updating your linux kernel meant you had no system after that!

So what about know ?

what i know now about archlinux

  • archlinux is a binary distro
  • archlinux dont have any configuration/automate tool
  • archlinux has the best wiki i’ve ever seen
  • archlinux has a large active forum
  • archlinux has an impressive amount of packages at the default repositories
  • archlinux has an EVEN impressive amount of packages at AUR
  • archlinux has a text simple file for reconfigure a package (PKGBUILD)
  • all of the archlinux packages are as close as the upstream upload them !

so … this is the most stable linux distro i have ever use !

The feeling of understing and knowing your linux distro is underappriciate to every other linux distro user cause you need to learn linux.

What about pacman ?

Till archlinux, i had the feeling that the package manager of a distro isnt that important.
You add packages, you remove packages and every now and then you upgrade packages.
Every six or nine or 12 months you have to dist-upgrade your distro version.

And then … there is pacman !

pacman is a strong package manager that uses simply text files that describes how to build a package.
PKGBUILD are easy read and easy to hack. So you can have your own packages in just a few minutes.

Archlinux is a rolling distro. You are always on the latest version.
Is it stable ?

I dont see how it shouldnt be!

Security updates are just a momment away, as the upstream upload a new version of their software
Non free code? non opensource codex ? doesnt matter. We just want to have a desktop awesome desktop distro.

I want to use vlc to play mp3 and divx - i care enough about opensource, but i also dont care enough to be an evangelist
or make my life difficult.

Yes the stable versions of the packages arent tested enough but lets face it,
is just how the opensource word works! You find a bug - you are yelling to the internet.
Perhaps you are the first one that had a problem with this new version of program.
So its for you to contribute.

Same policy as fedora project, or unstable debian.

Are there any cons ?

yes they are, its a bleeding age linux distro.
you have to ugprade at least every week your machine.
You need to read the news section first,
you need to read the wiki,
you need to read the manual pages.

So if all of that are cons, then thats it.

You system is broken ?
You can blame Alan for that.
Everybody else does that - why not you ?
There are actual times that he blames himself too.
So everybody happy - you have someone to blame.

Learn and adopt archlinux.
You need to time to adopt - i understand that.
But you need just one evening, then its all there - at the wiki.

GReek comminuty ?

yes and no

They (we ?) keep a low profile. None of the “major” players attrack attetion.
We (they ?) just use the archlinux forum/irc/wiki to interact with others.

There is a greek site - just to translate the news section (mostly).

So give it a spin - if you have a couple hours to spare - and start using,
perhaps the last linux distro you’ll ever use.

Tag(s): archlinux
Raspberry Pi with Archlinux under QEMU

Reading v13’s blog post about Raspberry Pi under QEMU i was insired to do a similar post for archliux.

This is the easy-way (you can find a lot of copylefts here) !

Step Zero: Downdload the archlinux version of raspberry pi

Go to the archlinux arm site and download the disk image: archlinux-hf-2013-06-06.img

Decompress the image

$ unzip archlinux-hf-2013-06-06.zip

and here you are !

Step One: Find a propel kernel to boot the disk image

V13 built his own kernel - i am lazy !

From xecdesign i’ve downloaded their kernel:

wget -c http://xecdesign.com/downloads/linux-qemu/kernel-qemu

Step Two: You are ready to boot your archlinuxarm disk image:

tldr note:

        -kernel kernel-qemu 
        -cpu arm1176 
        -m 256 
        -M versatilepb 
        -no-reboot -serial stdio 
        -append "root=/dev/sda2 panic=0" 
        -hda archlinux-hf-2013-06-06.img

Step Three: Play


Do you want to know a little more ?
Click here

Add ArchLinux to your PXE server

a summary - without notes
assuming you are using a http server

cd /var/www/html/
mkdir -pv archlinux/x86_64/

cd archlinux/

wget -c http://ftp.otenet.gr/linux/archlinux/iso/latest/arch/aitab
wget -c http://ftp.otenet.gr/linux/archlinux/iso/latest/arch/checksum.x86_64.md5

cd x86_64/
wget -c http://ftp.otenet.gr/linux/archlinux/iso/latest/arch/boot/x86_64/vmlinuz
wget -c http://ftp.otenet.gr/linux/archlinux/iso/latest/arch/boot/x86_64/archiso.img
wget -c http://ftp.otenet.gr/linux/archlinux/iso/latest/arch/x86_64/root-image.fs.sfs

add these lines to your pxelinux.cfg/default file

LABEL ArchLinux x86_64
        MENU LABEL ArchLinux x86_64
        APPEND ip=dhcp archiso_http_srv= archisobasedir=archlinux/ checksum=y
Tag(s): archlinux, pxe
systemd and slow boot

I’ve recently bought a new laptop.
It has a hybrid disk (470G HDD and a 30G SSD).
On the 30G ssd disk i’ve rsynced my archlinux from my previous laptop to the new one.

The boot process takes almost a full two minutes !


I thought i was drafting to the dark side and my sanity wasnt as good as a couple days ago.
After asking to archlinux forum, they suggest to use

# journalctl -b

I have found that there was an entry at /etc/crypttab (that doesnt exist) and the timeout was almost 90 seconds.
Comment that out and then 14sec to login !!!

Using febootstrap in archlinux with local repo

The last few days i am working with febootstrap.
febootstrap is a tool to build a tiny linux appliance based on your system.

To build an appliance, febootstrap downloads every package it needs from the internet, using the defined repositories on your pacman.conf file.
If you want to test different packages or you have to build libguestfs, febootstrap will try to download again and again the packages from the internet.

The main reason is that it use a custom cachedir and root dir for fakeroot to take place and setup your new appliance.

I work-around that i posted a guide a few days back here. But that guide is telling you to edit your basic pacman.conf.

The developer of febootstrap, Richard WM Jones has a great amount of tolerance so i’ve bugged him enough to think about adding at febootstrap a command option for using your own pacman.conf file.

From today we (archers) can use febootstrap (from git at the moment - PKGBUILD is here) with our own custom pacman.conf file.

Below is a quick setup of using your own local/custom-repo/mirror with febootstrap without editing /etc/pacman.conf file.

If you have already downloaded or saved your packages to a custom location, you can bypass the first step.
The whole process doesnt need root privileges.

Step One:

$ mkdir -pv /tmp/cachedir
$ cp /var/cache/pacman/pkg/*pkg.tar.xz /tmp/cachedir/
$ repo-add /tmp/cachedir/local.db.tar.gz /tmp/cachedir/*

Step Two:

$ cp /etc/pacman.conf /tmp/
$ vim /tmp/pacman.conf 

comment out the exist repo sections: core - extra - community
add the below lines

SigLevel = Never
Server = file:///tmp/cachedir/

Step three :

test it !

$ febootstrap -o /tmp/ -v --names rsync --packager-config /tmp/pacman.conf
Tag(s): febootstrap
febootstrap with custom PKGBUILDs in archlinux

There is an updated blog post about febootstrap. Click here

At some point, especially if you are using libguestfs, you will end up using febootstrap.

febootstrap is a tool to build a supermin appliance to boot strap a tiny base.img with the packages you need.

febootstrap support archlinux so we (archers) can use febootstrap or libguestfs based on an archlinux boot strap tiny appliance. So no extra work for archlinux in rescue virtual-machines or mount virtual disks.

febootstrap has the ability of searching through Arch User Repository to include any extra packages that dont exist in default repositories. This isnt the right way of installing packages from aur … but for lazy people febootstrap seems to do exactly what it should be.

Yesterday i’ve sent my first tiny ocaml patch at febootstrap for changing the location of aur packages.
You can check the patch here.
Hopefully its ok.

Today i want to write down the right way of installing extra packages from aur. The main reason is that aur has a lot of flagged-out-of-date packages and some of them are really … lets say the PKGBUILDs arent up-to-date or with proper dependencies. I am not expert in archlinux packaging so this from a user perspective guide.


First, download the PKGBUILD you want (or use a customize abs PKGBUILD) of the package you need to install in febootstrap.

Check the PKGBUILD, correct the version, add checksum (for package integrity), review the dependencies, make the pkg. Check it again.
This is the most important thing. Try hard not to be lazy on this.


Create the package with makepkg command. You’ll need base-devel packages for this.
Check the files inside the package

pacman -Qpl *.pkg.tar.xz

binaries must be under /usr/bin, libraries under /usr/lib

Be careful


Create a new directory to hold your custom build packages from aur or abs.


 mkdir -pv /opt/custom_repo/

and move your *.pkg.tar.xz file (or files) under this directory


move *.pkg.tar.xz  /opt/custom_repo/


At this point you are ready to create your custom repo db file


repo-add  /opt/custom_repo/repo.db.tar.gz  /opt/custom_repo/*pkg.tar.xz



append the below lines at your /etc/pacman.conf file

SigLevel = Never
Server = file:///opt/custom_repo/


pacman -Syy

to sync your repositories and you are done!

Now you can use febootstrap without searching in aur.archlinux.org for extra packages.

How i converted to systemd

I was thinking to convert to systemd for quite some time now
So every time someone mentioned something about systemd (on the internet), i was reading his/her story as my life depend on it.

I am using archlinux so when i’ve read Jason’s blog post,
i was very happy. After a few days, Allan post a similar post
and that was the moment i told my self: “It’s time, i can blame Allan for breaking my system”

I run this command

# pacman -S systemd systemd-arch-units systemd-sysvcompat

and removed sysvinit & initscripts also.

Noticed that /etc/rc.conf became /etc/rc.conf.pacsave
and rebooted my machine.

How difficult is that ?


There was also a few steps that i needed to do.

Your reading material is here: Archlinux systemd and
systemd services .

After that was trivial to enable my services.
I have only a few of them:

# grep DAEMONS /etc/rc.conf.pacsave 
DAEMONS=(syslog-ng network crond dbus avahi-daemon cupsd xinetd)

I use static network at work.
Followed this link to create my network service.

vim /etc/conf.d/network
vim /etc/systemd/system/network.service

# systemctl status network
# systemctl enable network.service

# systemctl status syslog-ng
# systemctl enable syslog-ng.service

be aware that cron is cronie !

systemctl status crond.service
systemctl enable cronie.service

systemctl status avahi-daemon
systemctl enable avahi-daemon.service

dbus was already enabled

systemctl status dbus

be aware that cupsd is cups

systemctl status cupsd
systemctl enable cups.service

and finally

systemctl status xinetd
systemctl enable xinetd.service

It was simplest than converted from grub to grub2 !

1η Συνάντηση www.archlinux.gr

Ναι είναι γεγονός,
κι εδώ οι πρώτες φωτογραφίες:

1η Συνάντηση ArchLinux.Gr

Add Greek Support to keyboard layout on X.Org X Server 1.8.1

Τις τελευταίες ημέρες τα πράγματα άλλαξαν στο Xorg
και πλέον εκτός του udev,
οι δικές μας ρυθμίσεις πρέπει να αποθηκεύονται στον εξής κατάλογο:

Το archlinux έχει ήδη προβεί σε αναβάθμιση όλων
των απαραίτητων πακέτων κι έτσι “εμείς” πρέπει να αλλάξουμε λίγο τις συνήθειές μας.

Έτσι λοιπόν πλέον η αλλαγή της γλώσσας ΔΕΝ γίνεται πλέον μέσω hal, οπότε χρειάζεται να επιβεβαιώσουμε ότι το συγκεκριμένο αρχείο είτε δεν υπάρχει, είτε έχει μετονομαστεί:

Στην δική μου περίπτωση έγινε έτσι:


Και δημιουργούμε το νέο αρχείο:


με το εξής περιεχόμενο:

Section "InputClass"
	Identifier	"Generic Keyboard"
	MatchIsKeyboard	"yes"
	Option		"CoreKeyboard"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"pc105"
	Option		"XkbLayout"	"us,el"
	Option		"XkbOptions"	"grp:alt_shift_toggle,compose:menu,grp_led:scroll"

Greek on Archlinux

Archlinux 2010.05 net install

Πριν από λίγες μέρες το ArchLinux, έβγαλε νέα iso: 2010.05 snapshots.

Με αφορμή λοιπόν αυτά τα ευχάριστα νέα, και με την χρήση του Oracle VirtualBox δημιούργησα ένα walkthrough που δείχνει αναλυτικά την εγκατάσταση του ArchLinux.

Ρίξτε μια ματιά: εδώ!.

Tag(s): archlinux
archlinux is a rolling distro

and thats what i hate (love) the most !

Everybody else (eg. ubuntu ,fedora) are planning releases party every now and then, but i use a rolling disto and i ‘ve never been invited to a release party :(


Τις τελευταίες ημέρες ενημερώθηκα για μια πάρα πολύ ωραία πρωτοβουλία, την δημιουργία του archlinux.gr!

Η ιδέα δεν είναι νέα, αλλά πλέον αρχίζει και παίρνει σάρκα και οστά. Είναι μία προσπάθεια ώστε οι Έλληνες χρήστες ή developers ή maintainers να έχουν ένα κοινό σημείο αναφοράς.

Το about τα λέει καλύτερα, κι εγώ με την σειρά μου απλά να ευχηθώ: Καλή αρχή σε όλα τα παιδιά που συμμετέχουν.


Εργάζομαι αρκετά συχνά στο laptop (κυρίως λόγο δουλειάς) κι ένα από τα πράγματα που επιθυμώ να δουλεύει τέλεια είναι το: hibernation για να μπορώ να αποθηκεύω την κατάσταση του υπολογιστή και της εργασίας μου ώστε να συνεχίζω από εκεί που σταμάτησα την επόμενη φορά που θα το ανοίξω.

Αλλά τι είναι το hibernation και τι κάνει;

Το λειτουργικό σύστημα και οι εφαρμογές μας όταν τρέχουν χρειάζονται να διαβάζουν/γράφουν και να επεξεργάζονται δεδομένα. Τα δεδομένα αυτά, τα αποθηκεύονται προσωρινά στην μνήμη RAM του υπολογιστή μας. Η μνήμη RAM είναι εξαιρετικά γρήγορη σε διαβάσματα/γραψίματα αλλά έχει δύο σημαντικούς περιορισμούς. Ο πρώτος είναι το μέγεθος σε Mb (ή πλέον Gb) και το δεύτερο πιο σημαντικό είναι ότι δεν μπορεί να αποθηκεύσει τα δεδομένα. Εάν δεν υπάρχει ρεύμα είναι κενή (άδεια) σε αντίθεση με τον σκληρό δίσκο που ακόμα κι εάν είναι σβηστός ο υπολογιστής τα δεδομένα δεν χάνονται.

Στο linux ως επέκταση της μνήμης RAM χρησιμοποιούμε την κατάτμηση swap. Ο παλιός κανόνας, μας πρότεινε να είναι διπλάσιο σε μέγεθος της μνήμης, αλλά πλέον δεν είναι ούτε καν απαραίτητο να έχουμε κατάτμηση swap σε μία διανομή linux (εάν κι αρκετές το επιβάλουν κατά την εγκατάσταση).

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

Αυτό το ΚΑΠΟΥ συνήθως είναι δύο πράγματα: ένα αρχείο ή η κατάτμηση swap.
Υπάρχουν φυσικά κι άλλοι τρόποι όπως και διαδικασίες ώστε οι πληροφορίες αυτές να κρυπτογραφούνται. Ένα μειονέκτημα του swap partition είναι ότι επειδή είναι δίσκος όταν είναι κλειστός ο υπολογιστής έχει δεδομένα, γεγονός που θεωρείτε ως μειονέκτημα από πλευράς ασφάλειας.

Η διαδικασία είναι πλέον εξαιρετικά απλή και στο archlinux που χρησιμοποιώ δουλεύει σχεδόν 100% σωστά!

Χρειάζεται να εγκαταστήσουμε το πρόγραμμα pm-utils και να κάνουμε δύο τροποποιήσεις.

Η είναι στο εξής αρχείο: /etc/mkinitcpio.conf
και να προσθέσουμε στα HOOKS το resume

Δείτε πως είναι το δικό μου:

HOOKS="base udev autodetect pata scsi sata resume filesystems"

Μόλις το κάνουμε αυτό πρέπει να πληκτρολογήσουμε την εξής εντολή:

mkinitcpio -p kernel26

ώστε η εικόνα του πυρήνα μας να ενημερωθεί με το νέο HOOK

Η αλλαγή που πρέπει να κάνουμε είναι στο εξής αρχείο: /boot/grub/menu.lst
ώστε να ενημερώσουμε τον πυρήνα μας, την επόμενη φορά που θα boot-άρει να διαβάσει από την κατάτμηση swap όλες τις απαραίτητες πληροφορίες ώστε να επαναφέρει τον υπολογιστή μας στην προηγούμενη κατάσταση πριν κλείσει.

Εάν για παράδειγμα η κατάτμηση swap είναι η : /dev/sda2
τότε πρέπει να προσθέσουμε το εξής: resume=/dev/sda2

Δείτε πως είναι το δικό μου:

kernel /boot/vmlinuz26 root=/dev/sda1 resume=/dev/sda2 ro

Αυτό ήταν όλο!

Τώρα από την γραμμή εντολών μπορούμε να πληκτρολογήσουμε την εξής εντολή:
pm-hibernate και να κλείσει ο υπολογιστής μας, αποθηκεύοντας τα πάντα στην κατάτμηση swap.

Δοκιμάστε το και πείτε μου τις εντυπώσεις σας.

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:


wget -c http://www.ijg.org/files/jpegsrc.v7.tar.gz
tar zxvf jpegsrc.v7.tar.gz 
cd jpeg-7/
# 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


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/
# 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!

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.


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

# Evaggelos Balaskas, <ebalaskas AT ebalaskas DOT gr>, 20090122
PATHS="/etc /usr/local/etc /boot"
PACMAN="/usr/bin/pacman -Qqe"
RSYNC="/usr/bin/rsync -ra"
MKDIR="/bin/mkdir -p"
CP="/bin/cp -al "
MV="/bin/mv -f"
RM="/bin/rm -rf"

# Make Directory Structure
$MKDIR $DIR/`$DATE +%Y/%m/%d`

#Package List
$PACMAN > $DIR/`$DATE +%Y/%m/%d/pkglist_%H_%M`

if [ -d "$DIR/$BACKUP.$DAYS" ] ; then 

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)

# Create Hard Link
if [ -d "$DIR/$BACKUP.0" ] ; then

# Sychronization
for k in $PATHS; do
    $MKDIR $DIR/$BACKUP.0$k/
    $RSYNC --delete $k/ $DIR/$BACKUP.0$k

# TimeStamp
archlinux powerpill

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

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

powerpill pacman -Syuw


powerpill pacman -Syu

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

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 ώρες !!!

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