zellda's

notes on Linux

Services - Debian, Ubuntu

Handle Services in Debian Based Distros

This is an update on my old services-post.

To enable services at system-boot:

bum - graphical Boot-Up-Manager

To install it just run:

Terminal
1
sudo apt-get install bum

Start it from terminal with:

Terminal
1
gksu bum

rcconf - utility

Install:

Terminal
1
sudo apt-get install rcconf

Run:

Terminal
1
sudo rcconf

update-rc.d

It’s simply a script run in a terminal (I guess that is the original Debian-way).

Use:

In a terminal type:

Terminal - Start services at system start
1
update-rc.d service-name defaults
Terminal - Disable services to start at system boot
1
update-rc.d service-name remove

sysv-rc-conf (see below as well)

Install:

Terminal
1
sudo apt-get install sysv-rc-conf

Use:

Terminal
1
sudo sysv-rc-conf

Start / stop services on the fly:

sysv-rc-conf (see above as well)

Install:

Terminal
1
sudo apt-get install sysv-rc-conf

Use:

Terminal
1
2
3
4
sudo service service-name status
sudo service service-name restart
sudo service service-name stop
sudo service service-name start

Manually:

Terminal
1
2
3
4
sudo /etc/init.d/service-name status
sudo /etc/init.d/service-name restart
sudo /etc/init.d/service-name start
sudo /etc/init.d/service-name stop

Start services delayed

Recently the problem occured to start a daemon (dnsmasq) delayed, as it needed the dns router to work properly on a different machine.

Here’s how you do it:

Open rc.local and paste the following:

rc[.]local
1
sleep 300 /etc/init.d/SERVICE start

or:

rc[.]local
1
(sleep 300 && /etc/init.d/SERVICE start/restart)

e.g.:

rc[.]local
1
(sleep 300 && /etc/init.d/mysql restart)

Both lines seem to work.

Attention! Last time the first line in rc.local read:

rc[.]local
1
#!/bin/sh -e

It didn’t work without removing -e which prevents rc.local from being processed at all.

That’s it. Just a minor update. Done.

Have fun!

Secure Shell - Use Multiple Certificates

This is going to be very short really.

The problem:

I have a mess of private and public certificate-files lying around. To gain some overview I named them differently. But when the private key created with

Terminal
1
ssh-keygen -t rsa -b 4096

is not named ‘id_rsa’ SSH won’t use it.

The simple solution is to point ssh to the private key it should use with the ‘-i’-option:

Terminal
1
ssh -i /path/to/private_key user@ip

e.g.

Terminal
1
ssh -i /home/adam/.ssh/adams_id_rsa adam@192.168.0.2

That’s it.

Have fun!

Experimenting With IPv6. Part I - SixXS and Aiccu

I thought I’d start my first post on how to get IPv6 working by putting the cart before the donkey. By that I mean I’ll first describe how to connect with aiccu - a smart little program - to the IPv6 provider SixXS before demonstrating how to subscribe to SixXS. Both is not a worldshaking task, but installing aiccu and using it is much more fun and easy peasy. After that I hope you won’t shy the hassle applying to SixXS for an address.

Let’s start!

Installing Aiccu

The nice thing about aiccu is it’s in most distro’s repositories.

Debian / Ubuntu / Mint:

Terminal
1
sudo apt-get install aiccu

Fedora / Red Hat / CentOS / Suse Linux:

Terminal
1
sudo yum install aiccu

Arch Linux:

Terminal
1
yaourt -S aiccu

That simple!

We’ll have a look at how it looks like in Linux Mint (it works the same in any other distribution except Arch where a little more work is needed).

So after you issued

Terminal
1
sudo apt-get install aiccu

your terminal will become blue and ask you for your SixXS username:

After you typed in your username it will ask you for your password for SixXS. Type that in too and hit enter.

The installation will finish and all is good and well. Aiccu is even started for you.

Aiccu is not started at boot from that moment on. It needs to be launched manually like this:

Terminal
1
sudo aiccu start

or stopped:

Terminal
1
sudo aiccu stop

Aiccu is installed. What now?

To check if you really have IPv6 up and running you can do the following things:

A) Check for a new network interface

Fire up a terminal. Hammer in ifconfig.

Terminal
1
ifconfig

Ifconfig should result in something like this (alongside your other interfaces like eth0/eth1 or wlan0/wlan1 and so on):

If you can see your virtual SixXS adapter this is a good sign.

B) Ping an IPv6 address

Now issue the following:

Terminal
1
ping6 ipv6.google.com

Let it run a while and hit Ctrl+c. You should see something like this:

The first time you used the IPv6 protocol! Nice hm?

C) Visit an IPv6 test site

Fire up your internet browser. Type into the address bar:

browser address bar
1
http://ipv6test.google.com/

Voila:

Superb! Next go to the Kame project and see the turtle swim and wag its head! (Without IPv6 you only have a static pic.)

browser address bar
1
http://www.kame.net/

Isn’t this amazing? And did I promise too much? With aiccu and SixXS it really is a piece of cake to get started with IPv6!

Now you can surf to

browser address bar
1
http://www.sixxs.net/misc/coolstuff/

and figure out what else you can do with IPv6.

Get your IPv6-address from SixXS

So. Now that you know how simple it is to install aiccu it is about time to know how to apply for an IPv6 address.

You will have to do two things:
1) Apply for a user account at SixXS.
2) Apply for getting a tunnel assigned (aka an IPv6 address).

Nr. 1) Apply for a user account

With your internet browser go to:

browser address bar
1
http://www.sixxs.net

Klick on ‘Signup for new users’. You’ll be presented with the following form:

As you can see you are supposed to give away personal information such as where you live, phone number and e-mail address. Beyond that you should be able to name a reason why you want to sign up. This information is mainly for SixXS making sure their network is not abused. After all they are your internet service provider (ISP) even if you don’t pay them.

Your name and address is also available on the whois-server. If you don’t want that this is nothing for you.

After you have submitted your input and confirmed that your e-mail address is verified (the usual: you get an e-mail from SixXS and have to klick a conformation link) you’ll have to wait some time. Sometimes several days. Eventually you get something along the lines of this:

Dear … … ,

You have successfully completed the user registration at SixXS.
Your account has been verified and SixXS have approved the
information you have supplied. You can now log in to the website
with the following credentials:

Username : Something-SIXXS
Password : yourpassword
URL : http://www.sixxs.net/home/

Note that the secure version of our website requires one to install
the CACert certificate. Follow the links on the website for more
details on this subject.

You should change your password on a regular
basis (now is a good time to change it). Please look carefully at your
information supplied on the website, and change anything that seems out
of order. You can contact us by replying to this email.

Regards,
The SixXS tunnelrobot.

SixXS tunnelrobot

Nr. 2) Apply for a tunnel

Now, with your username and your password, you can log in to SixXS and apply for a tunnel (I know, a bit tedious). Applying for a tunnel means you apply for your IPv6 address so that you can install and use aiccu. Aiccu then creates an IPv6-tunnel to SixXS from where your IPv6 traffic is passed on to other IPV6-network-isles.

When your request for a tunnel is approved you get an e-mail like this:

Dear … … ,

SixXS have honored your request for a tunnel with the following
specifications:
——-
Tunnel Id : T123456
PoP Name : decgn01 (de.netcologne [AS8422])
TIC Server : tic.sixxs.net (which is the default in AICCU)
Your Location : Berlin, de
SixXS IPv6 : 2001:abcd:abcd:abcd::1/64
Your IPv6 : 2001:abcd:abcd:abcd::2/64
SixXS IPv4 : 123.123.123.123
Tunnel Type : Dynamic (ayiya)
——-

The SixXS PoP at AS8422 will set up the tunnel automatically
in the next hour. Please be patient and do not be alarmed if the tunnel
does not ping after you enabled it.
Check the tunnelinfo pages for configuration examples.

Install the AICCU client software as per instructions on:
http://www.sixxs.net/tools/aiccu/

Note: Keep your machine NTP synced, if the timestamp difference
is bigger than 120 seconds the heartbeat will be silently dropped.
The AICCU client will not work when it detects a large time difference.

Regards,
The SixXS tunnelrobot.

SixXS tunnelrobot

After you received this e-mail you can finally install aiccu like shown above.

Arch Linux

A note on Arch Linux.

I first tried aiccu on Arch Linux which worked perfectly. But I had to manually configure the aiccu.conf file. You wont’t be asked for your credentials during installation.

This is how my /etc/aiccu.conf config file looks like:

/etc/aiccu[.]conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# AICCU Configuration

# Login information (defaults: none)
username SOMETHING-SIXXS
password mypassword

# Protocol and server to use for setting up the tunnel (defaults: none)
protocol tic
server tic.sixxs.net

# Interface names to use (default: aiccu)
# ipv6_interface is the name of the interface that will be used as a tunnel interface.
# On *BSD the ipv6_interface should be set to gifX (eg gif0) for proto-41 tunnels
# or tunX (eg tun0) for AYIYA tunnels.
ipv6_interface aiccu

# The tunnel_id to use (default: none)
# (only required when there are multiple tunnels in the list)
tunnel_id T123456

# Be verbose? (default: false)
verbose true

# Daemonize? (default: true)
# Set to false if you want to see any output
# When true output goes to syslog
#
# WARNING: never run AICCU from DaemonTools or a similar automated
# 'restart' tool/script. When AICCU does not start, it has a reason
# not to start which it gives on either the stdout or in the (sys)log
# file. The TIC server *will* automatically disable accounts which
# are detected to run in this mode.
#
daemonize true

# Automatic Login and Tunnel activation?
automatic true

# Require TLS?
# When set to true, if TLS is not supported on the server
# the TIC transaction will fail.
# When set to false, it will try a starttls, when that is
# not supported it will continue.
# In any case if AICCU is build with TLS support it will
# try to do a 'starttls' to the TIC server to see if that
# is supported.
requiretls false

# PID File
pidfile /var/run/aiccu.pid

# Add a default route (default: true)
defaultroute true

# Script to run after setting up the interfaces (default: none)
#setupscript /usr/local/etc/aiccu-subnets.sh

# Make heartbeats (default true)
# In general you don't want to turn this off
# Of course only applies to AYIYA and heartbeat tunnels not to static ones
makebeats true

# Don't configure anything (default: false)
#noconfigure true

# Behind NAT (default: false)
# Notify the user that a NAT-kind network is detected
behindnat true

# Local IPv4 Override (default: none)
# Overrides the IPv4 parameter received from TIC
# This allows one to configure a NAT into "DMZ" mode and then
# forwarding the proto-41 packets to an internal host.
# 
# This is only needed for static proto-41 tunnels!
# AYIYA and heartbeat tunnels don't require this.
#local_ipv4_override

It’s slightly different from when it is automatically configured on Mint/Ubuntu/Debian. It works though.

That’s it for now.

Next time we’ll have a look at Hurricane Electric. Another tunnelbroker (SixXS is a tunnelbroker too). With Hurricane Electric you have another provider from which you can get an IPv6 address. We’ll manually set up Ubuntu/Mint to connect to Hurricane Electric. The drawback is without aiccu you either have to configure port forwarding if your’e behind a NAT or you mustn’t be behind a NAT. Otherwise it won’t work.

I will only demonstrate how it works when you have a public IPv4-address though. This is more for servers or when you have the rare opportunity to get a public IP-address assigned as is the case at my working place.

See yea.

Linux Commands Update III

Debian - should work on most distros though:

Files/Directories:

Files:

List files:
ls
dir
Create file:
touch
Delete file:
rm
Copy file:
cp
Move file:
mv
Display content of file:
cat
less
tail

Directories:

Create directory:
mkdir
Delete directory:
rm -r
rm -rf
Delete empty directory:
rmdir
Copy directory:
cp -r dir1 dir2

Create symbolic/soft links:
ln -s destination/file destination/link

Archives:

Extract filename.tar:
tar -xvf filename.tar
create filename.tar:
tar -cvf filename.tar filename

Extract filename.tar.gz:
tar -xvzf filename.tar.gz
create filename.tar.gz:
tar -czpf /path/filename.tar.gz /path/file(s)-to-archive

Extract filename.tar.bz2:
tar jxvf filename.tar.bz2
create filename.tar.bz2:
tar jxvf filename.tar.bz2 dir1 dir2 file1 file2 …

Extract filename.rar:
unrar-free filename.rar
unrar x filename.rar

Extract filename.zip:
unzip filename.zip
Create filename.zip:
zip filename.zip dir1 dir2 …

Package management:

Command line installation:
dpkg -i filename.deb

Apt:

Fix broken packages:
apt-get install -f
Search for packages:
apt-cache search package-name
Install packages without dependencies:
apt-get –no-install-recommends install package-name
Update:
apt-get update
Upgrade:
apt-get upgrade
apt-get dist-upgrade
Clean cache:
apt-get clean
apt-get autoclean

System info:

General:
uname -a
Find out version:
lsb_release -a
Installation date:
sudo dumpe2fs /dev/sda1 | grep ‘Filesystem created:’
or:
ls /var/lib/dpkg/info/*.list -lht | tail -1 | awk ‘{print $6}’
disk space:
df -h
List drives:
fdisk -l
Network adapter:
ifconfig
iwconfig
Info hardware:
inxi
Info graphics:
inxi -G
Bus-system:
lspci
Bus-system verbose:
lspci -v
Network:
lcpci | grep -i net
Wireless adapter:
iwconfig

Network:

Network adapter:
lcpci | grep -i net
Wireless adapter:
iwconfig
Stop network:
ifdown eth0
Start network:
ifup wlan0

SSH - Secure Shell

Connect to remote machine:
ssh user@machine-ip
Copy file from local to remote machine with Secure Copy - scp:
scp /path/to/file user@machine-ip:/path/to/destination
Copy file from remote to local machine:
scp user@machine-ip:/path/to/file /path/to/destination
Copy directory from local to remote machine:
scp -r /path/to/directory user@machine-ip:/path/to/destination

Users / Groups:

Users:

List users:
lastlog
cat /etc/passwd
Add user:
adduser username
Delete user:
deluser username
delete files:
deluser -r username
Change password:
passwd username
List group membership:
groups username
detailed:
id username

Groups:

List all groups:
id
cat /etc/group
(cat /etc/group |cut -d: -f1; cat /etc/passwd | cut -d: -f1)
Add group:
addgroup groupname
Delete group:
delgroup groupname
Add user to group:
adduser username groupname
gpasswd -a user group
e.g.:
gpasswd -a daniel kvm
Delete user from group:
gpasswd -d user group
Edit groups:
vim /etc/group

Manage rights:

Classic way (chmod, chown, chgrp) - a file/program can have only one owner/group:

Chown:
chown new_owner file
chown new_owner:new ownergroup file
chown :new_ownergroup file

Chgrp:
chgrp new_ownergroup file

  special rights     owner     group     others
rights     sticky, suid, sgid     x, r, w     x, r, w     x, r, w  
octal     1, 4, 2     1, 4, 2     1, 4, 2  
chmod     u=     g=     o=  

examples:
chmod 754 file
or:
chmod u=rwx,g=rx,o=r file
make executable:
chmod +x filename

ACL - Access Control List (getfacl, setfacl) - refined user-rights management:
First make sure acl is installed and activated (kernel, fstab)!

Usage:
setfacl -m u:user_x:xrw,u:user_z:r,g:group_a:rw,g:group_b:r,o::––– file/program

parameters:
-m (modifiy) assign/change rights
-d (default) assign default rights
-R (recursive) assign rights recursively
-b (remove all ACL-rights)
-k (remove default rights)

Daemons/Services:

Start daemon:
modprobe daemon_name
e.g.:
modprobe kvm
Services:
/etc/init.d/service start
/etc/init.d/service stop
e.g.:
samba, mysql, apache

Modules:

Blacklist modules:
vim /etc/modprobe.d/module-name.conf
e.g.:
vim /etc/modprobe.d/wlan.conf
add:
blacklist module-name
e.g.:
blacklist bcma
blacklist acer_wmi

Backups

Backup home with rsync (example):
rsync -arvu /home/user /run/media/user/external-drive/backups
Backup / with tar (example):
sudo tar cvpzf /media/external-drive/backups/backup-name`date +%d%h%y-%H:%M`.tgz ––exclude=”/proc/*” ––exclude=”/lost+found/*” ––exclude=”/dev/*” ––exclude=”/mnt/*” ––exclude=”/media/*” ––exclude=”/run/media/user/*” ––exclude=”/sys/*” ––exclude=”/tmp/*” ––exclude=”/var/cache/pacman/*” ––exclude=”/home/user/*” ––exclude=”/root/.thumbnails/*” /

Storage / Partitions:

Available disk space:
df -h
List drives:
fdisk -l
Mount drive:
mkdir /media/drive
mount /dev/sdh /media/drive
Unmount drive:
umount /media/drive
Copy Image to USB:
sudo dd if=/path/to/image/imagename.iso of=/dev/sdx bs=4M;sync
(works similarly with partitions)

Samba

Mount a samba share:
mount -t smbfs //IP/shared_folder /folder-to-mount-shared-folder -o username=user,password=password-for-user
or:
mount -t cifs //xyz.xyz.xyz.xyz/shared-folder /folder-to-mount-shared-folder -o username=user,password=password-for-user

Mysql

Login as root:
mysql -u root -p

Reset root password:

1) Stop mysql:
/etc/init.d/mysql stop
service mysql stop
rc.d stop mysql
2) Then (as root):
mysqld –skip-grant-tables &
mysql -u root mysql
UPDATE user SET Password=PASSWORD(‘YOURNEWPASSWORD’) WHERE User=’root’; FLUSH PRIVILEGES; exit;

This worked on Suse:
mysqladmin -u root password new password
or:
mysqladmin -u root -h hostname password new-password

Grub:

Update grub:
update-grub

Arch Linux:

Package management:

AUR - Arch User Repository:

Extract:
tar -xvzf package
Make:
makepkg -s
Install:
pacman -U package.pkg.tar.xz

Pacman:

Search for packages in database:
pacman -Ss package-name
Search for installed packages on host:
pacman -Qs package-name
Install packages:
pacman -S package-name
System update & upgrade:
pacman -Syu
Clean pacman cache - not installed packages and old versions of installed packages:
pacman -Sc
Remove packages:
pacman -R package-name
Remove packages with dependencies:
pacman -Rs package-name

Have fun!

Static IP and Proxy Config for Ubuntu, Debian, CentOS

A while ago I had to install CentOS on a windows hyper drive. As CentOS does not support hyper drive out of the box like ubuntu does I had to configure the network card from scratch. Here’s what you have to do in such a case:

Configure a static IP-address (IPs are examples):

CentOS

Terminal
1
vi /etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth0
1
2
3
4
5
6
7
8
DEVICE=”eth0″
ONBOOT=”yes”
TYPE=”Ethernet”
BOOTPROTO=”static”
NETWORK=”10.161.2.0″
NETMASK=”255.255.255.0″
IPADDR=”10.161.2.14″
USERCTL=”no”
Terminal
1
vi /etc/sysconfig/network
/etc/sysconfig/network
1
2
3
4
5
6
7
NAME=”System eth0″
NETWORKING=”yes”
GATEWAY=”10.161.2.1″
HOSTNAME=”machine”
vi /etc/resolv.conf
search your-dns-search-path
nameserver 10.161.2.4
Terminal
1
/etc/init.d/network restart

Debian / Ubuntu

Terminal
1
vi /etc/network/interfaces
/etc/network/interfaces
1
2
3
4
5
6
## iface eth1 inet dhcp ## dynamic
iface eth1 inet static
address 192.168.1.200
netmask 255.255.255.0
gateway 192.168.1.1
broadcast 192.168.1.255
Terminal
1
2
/etc/init.d/networking stop
/etc/init.d/networking start

or

Terminal
1
2
sudo ifdown eth0
sudo ifup eth0

(/etc/init.d/networking restart is deprecated it seems)

Set up a second or virtual IP address:

Terminal
1
vi /etc/network/interfaces
/etc/network/interfaces
1
2
3
4
5
6
7
auto eth0:1
iface eth0:1 inet static
address 192.168.1.60
netmask 255.255.255.0
network x.x.x.x
broadcast x.x.x.x
gateway x.x.x.x

Proxy config (CentOS and others):

Terminal
1
vi /etc/environment
/etc/environment
1
2
3
4
5
6
http_proxy=”http://10.160.1.1:8080″
ftp_proxy=”ftp://10.160.1.1:8080″
https_proxy=”https://10.160.1.1:8080″
no_proxy=”localhost”
no_proxy=”127.0.0.1″
no_proxy=”*.example.local”

yum:

Terminal
1
vi /etc/yum.conf
add to yum config file:
1
2
proxy=http://10.160.1.1:8080
proxy=ftp://10.160.1.1:8080

apt:

Terminal
1
vi /etc/apt/apt.conf
add to apt config file:
1
2
3
Acquire::http::proxy “http://user:pass@ip:port/”;
Acquire::https::proxy “https://user:pass@ip:port/”;
Acquire::ftp::proxy “ftp://user:pass@ip:port/”;

General:

Terminal
1
vi /etc/bash.bashrc

or

Terminal
1
vi /etc/profile
add to /etc/profile or tolink
1
2
export HTTP_PROXY=http://username:password@proxyserver.net:port/
export FTP_PROXY=http://username:password@proxyserver.net:port/

Nice:
Add the following to /etc/bash.bashrc

/etc/bash[.]bashrc
1
2
3
4
5
6
7
8
9
function proxy(){
echo -n “username:”
read -e username
echo -n “password:”
read -es password
export http_proxy=”http://$username:$password@proxyserver:8080/”
export ftp_proxy=”http://$username:$password@proxyserver:8080/”
echo -e “\nProxy environment variable set.”
}

Then whenever you want to set the proxy variable you just type “proxy” at the command line. When prompted for your proxyserver user name you type it in (you may need to type domain\user if it’s a domain account) and then when prompted type your password (which isn’t echoed to the screen).
This will then set the environment variables, and they’ll be lost when you exit your session.

Have fun!

Pacman Commands

Just wanted to have this around. No further explanation needed I guess.

Command What it does
   
pacman -Syu— Performs a complete system-upgrade
pacman -S [packet1] [packet2]   Install or upgrade one ore more packets
pacman -Sy Update local database
pacman -Syuu Downgrade all installed packages (from testing to core)
pacman -Su Upgrade all installed packages
pacman -Syy Rebuild local database and update it
pacman -Q Lists all installed packages including version number
pacman -Ss [packet] Searches for packages that can be installed
part of package-name suffices
pacman -Sg Searches for packet-groups that can be installed
pacman -Sg [packet group] Prints out content of a packet-group
pacman -Qs [packet] Searches for already installed packets
pacman -R [packet] Removes packet
pacman -Rd [packet] Removes packet, regardless of any dependencies,
USE WITH CAUTION!
pacman -Rdd [packet] Similar to above
all dependencies verifications are disabled
pacman -Rs [packet] Removes packet with all its dependencies
but only if they are not needed by other programs
pacman -Rss [packet] Remove packet with all its dependencies
and the dependencies of the dependencies
pacman -D [packet] Change status of a program, without re-installing it
pacman -Qi [packet] Show info about installed packet
pacman -Si [packet] Show info on not (yet) installed packet
pacman -Sw [packet] Download packet without installing it
pacman -S testing/[packet] Install packet from specific repo (here: testing)
pacman -U [packet-file] Install local packet
pacman -Runs [packet] Removes packet inclusively all its dependencies
pacman -Qdt Lists packets which are installed as dependencies
but are no longer required
pacman -Qet Lists packets which are explicitly installed
but are not needed by other programs
pacman -Scc Empties local pacman cache (/var/cache/pacman/pkg)
pacman -Sc Deletes packets which are not installed any more
and unused repositories from cache
pacman -Ql [packet] Lists all files of a installed packet
pacman -Qm Lists packets which are not in any repo
pacman -Qo [file] Prints packet-name this file is part of
pacman -Qu Prints out for which installed programs updates are available
pacman-optimize Optimize pacman
   

Have fun!

Openbox Distros

After I posted the Arch Linux distributions list I cannot resist to post a list with distributions dedicated to the openbox desktop environment.

Debian based:

Crunchbang
THE status quo openbox distro.
Alien Section OS
Debian and Ubuntu editions. Only 32 bit.
Semplice
Based on Debian Sid. Innovative.
Zenix
Based on Debian Stable with a Buddhist touch.

Arch Linux based:

Archbang
Modeled after crunchbang.
CTKArch
Minimalistic Arch Linux setup - not a distribution.
Elegance
Sadly probably deprecated.

Ubuntu based:

Madbox
Fast.
Alien Section OS
Debian and Ubuntu editions. Only 32 bit.
Ububox
Stylish. Only 32 bit.

Fedora based:

Viperr
Sadly probably deprecated.

Crux Linux based:

Kwort
No live cd.

Slackware Linux based:

Zenwalk
Not openbox-only but they put a lot of effort in their openbox edition too. No live cd.

Puppy Linux:

SlimPup
Heavily inspired by Crunchbang and Archbang.

PCLinuxOS has MiniMe:

There’s the forum and a download page from melodie.
You have to search a bit for the openbox distro.

I know lists are a bit stupid somehow. But for openbox-fans like me it might be nice to try and learn from each one of them.

Have fun!

Experimenting With Ipv6

Since a new dawn is on the horizon with the unstoppable approach of IPv6 it might be a good idea to spend some time exploring this new technique.

The good thing here is if you are not interested in such matters and don’t even know what IPv6 is don’t worry. When it comes along you might not even notice as all current operating systems support it and in future surely will support it even better.

But for all who cant’t wait to play around with it (and a lot of system admins unfortunately will be forced to ‘play around’ with it) there is some neat stuff one can do.

In fact there’s no problem to be expected when IPv6 is finally here. But for system admins the transition will be kind a ruff as a lot of networks will be and already are maintained dual stack (IPv4 and IPv6). This involves a lot of tunneling and lets say hopping from one IPv6 network-isle to another. The problem here is IPv4 normally can’t transport IPv6-packets. To easy the transition from IPv4 to IPv6 some protocols were developped namely 6to4, 6over4, 6in4, teredo, isatap, IPv6 rapid deployment, ayiya (anything in anything). It all boils down to put an IPv6 packet into an IPv4 packet. The protocols are different in matters of security, ease of deployment and the way an IPv6 packet takes to reach another IPv6 network-isle. There’s a lot of info on Wikipedia!

My idea here is to start a little series on IPv6. Not so much about basic info as there already is a lot of out there. More about testing stuff like getting an IPv6-address, setting up a small IPv6-network. Getting OpenVPN to use IPv6. I know there are tutorials around too. But I wanted to see for myself how it works.

Next we will explore the aiccu-program from SIXxS, a service provider where you can get an IPv6-address free of charge. The only drawback with SIXxs is you have to apply for your address and you get kredit points for using IPv6. Without enough kredit points you cannot apply for an IPv6-subnet. That kinda sucks sometimes though the intention might be good.

In my next post we will see how that works.

Have fun!

Arch Based Distributions

A month or so ago someone posted a compilation of all Arch Linux based distributions he knew. I was amazed how many in fact exist. Naturally I copied the list. Today I sadly realized that the mentioned blog is down and swiftly decided to re-post the list on my own blog. So there’s no credit for me in this. I only added one distro.

The list was posted on http://archblog.de/arch-basierte-distributionen/. Could be there were some name conflicts. Anyway thanks unknown blogger for your work!

Here are the distros:

ArchBang (With Openbox)
Arch Hurd (Alternative Kernel)
Arch Linux ARM (For ARM processors)
Arch Linux PPC (PowerPC port)
ArchPwn (For pentesting purposes)
ArchServer (Better tested packages)
Archboot (My guess is it’s a recovery system)
Archlive (Live system)
CDN Linux (For routers and servers)
Cinnarch (With Cinnamon)
ConnochaetOS (For old computers)
CTKArch (With Openbox)
DidJiX (Digital DJ software)
KahelOS (Gnome Shell)
LinHES (Home Theater - Myth TV)
Liqid Lemur (With Xfce)
live.linuX-gamers.net (Includes a lot of games)
Manjaro (With Xfce, Gnome, KDE)
Mesk (Can’t figure it out)
Nosonja (With Xfce)
Pantheon (Site was down)
Parabola/Linux-libre (No proprietary software)
poliarch (System administration, maintenance and recovery)

Unfortunately deprecated:
Elegance (With Openbox)

That makes 23 + 1! Nice!

Have fun!

My Old Posts

They can be found here.

There’s some information on Linux specific topics and some links to interesting farming / farmers’ market projects.

I only abandoned it because of the layout I didn’t like any more. And because I thought good old fashioned HTML isn’t good enough any more. Though after experimenting with Wordpress I figured I don’t need no databases either to manage my homepage. It seemed a bit clumsy too. Logging in, writing, doing the editing in my browser. I know I could have done it in an editor on my computer an then copy and paste it but still I wasn’t satisfied.

Then I discovered Octopress. I was looking for a nice theme for Wordpress when I realized that the theme I was looking at was not applied on Wordpress but on Octopress. (The standard theme by the way which is just awesome!)

Not only has it a very nice theme but the way you write and deploy your posts is just perfect. Namely the posts are written with a text-editor of your choice, then saved and simply rsync-ed to your blog. Isn’t that elegant?

Here’s all you need to know - it applies to every distro:
Octopress Setup

It worked on my Arch box without a hitch. Though I had to read the Arch wiki for some information on RVM.

To sum it up: Very nice indeed!

Have fun!