commit 12f0d2ae826f4623bce3d94481c66d0b321fe190 Author: Rogier Neeleman Date: Sat Aug 9 00:35:55 2014 +0200 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..49937f4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +# Ignore the renderd site +/site/ + +# Ignore the photo's +/photo/*/*.jpg diff --git a/_layout/footer.html b/_layout/footer.html new file mode 100644 index 0000000..32c4a08 --- /dev/null +++ b/_layout/footer.html @@ -0,0 +1,10 @@ + +----------------------------------------------------------------------------------- + © R.P. Neeleman +----------------------------------------------------------------------------------- + + + + + + diff --git a/_layout/header.html b/_layout/header.html new file mode 100644 index 0000000..92cea65 --- /dev/null +++ b/_layout/header.html @@ -0,0 +1,10 @@ + + + Sciuro.org + + + +
+
+  Home  |  Blog  |  Photo's  |  Howto  |  Servers  |  Links  |  About  |  Contact
+-----------------------------------------------------------------------------------
diff --git a/_layout/servers.html b/_layout/servers.html
new file mode 100644
index 0000000..7ee46c8
--- /dev/null
+++ b/_layout/servers.html
@@ -0,0 +1,2 @@
+                             \ Layout  |  Status   |  Graphs /
+                              +-----------------------------+
diff --git a/about.txt b/about.txt
new file mode 100644
index 0000000..d4ebeaf
--- /dev/null
+++ b/about.txt
@@ -0,0 +1,24 @@
+About
+
+My name is Rogier, or Roger as most non-dutch speakers
+will prefer. I am a 33 year old computer engineer,
+living in The Netherlands.
+
+Besides being a computer nerd, I spend my time with
+Scouting, Geocaching, hiking and biking. And sometimes
+climbing and skiing.
+
+The name Sciuro
+The name Sciuro is a nickname I got from some Swiss
+scouts. In Switserland it's common to give every scout
+a nickname and they came up with the nickname Sciuro.
+It's pronounced as t.si.uro and meaning 'squirrel' in
+Esperanto. If you don't know what esperanto is, here
+is an explaination.
+
+
+
+
+
+
+
diff --git a/blog/2012-05-07_Geek_and_Poke.txt b/blog/2012-05-07_Geek_and_Poke.txt
new file mode 100644
index 0000000..381923e
--- /dev/null
+++ b/blog/2012-05-07_Geek_and_Poke.txt
@@ -0,0 +1,6 @@
+Geek and Poke
+
+I found a new cartoon. It's a couple of years old, but is a very good one!
+Especially for computer geeks. Made by Oliver Widder, an IT-guy from Hamburg,
+Germany. Look for his cartoons on http://geek-and-poke.com/.
+
diff --git a/blog/2014-01-13_Cant_assign_requested_address.txt b/blog/2014-01-13_Cant_assign_requested_address.txt
new file mode 100644
index 0000000..054b628
--- /dev/null
+++ b/blog/2014-01-13_Cant_assign_requested_address.txt
@@ -0,0 +1,56 @@
+Can't assign requested address
+
+Using Mac OS X 10.9 (Mavericks) I noticed that my browser wasn't working. Except
+some sites like google. Almost nothing works anymore. Except IPV6 connections.
+There was no problem with that. Also incomming connections on IPV4 like SSH or
+VNC works.
+
+So I tried to connect from the terminal:
+
+  imac:~ rogier$ telnet www.nu.nl 80
+  Trying 62.69.174.78...
+  telnet: connect to address 62.69.174.78: Can't assign requested address
+  Trying 62.69.166.18...
+  telnet: connect to address 62.69.166.18: Can't assign requested address
+  Trying 62.69.166.15...
+  telnet: connect to address 62.69.166.15: Can't assign requested address
+  Trying 62.69.174.75...
+  telnet: connect to address 62.69.174.75: Can't assign requested address
+  telnet: Unable to connect to remote host
+
+No connection possible. So what went wrong?
+
+The netstat -a gives me really a lot of "CLOSED" connections. That could not be a
+good sign. After some digging on the internet I came to an article on the Apple
+discussion list about this problem. It turns out that there is (probably) a bug
+in Mavericks. It gives you a lot of LAST_ACK connections. You can check your
+connection state with the following command:
+
+  netstat -n | egrep '^(tcp|udp)' | awk '{print $NF}' | psort
+
+If you do the same for IPV6, you get a whole different situation:
+
+  netstat -l
+
+It turns out that after 20 to 25 days, something went very very wrong inside your
+mac. The only thing that will help is rebooting the whole system. Looking at my
+own system, I rebooted 24 day's ago.
+
+  imac:~ rogier$ last reboot
+  reboot ~ Sun Jan 12 11:15
+  reboot ~ Thu Dec 19 10:53
+  reboot ~ Wed Dec 11 08:31
+  reboot ~ Sat Dec 7 09:56
+  reboot ~ Fri Dec 6 07:24
+  reboot ~ Thu Dec 5 14:31
+
+
+Anyone a solution?
+
+Update: A temporary solution could be: Thanks Erik J. Barzeski
+
+  sudo ifconfig en0 down
+  sudo route flush
+  sudo ifconfig en0 up
+
+More information: https://discussions.apple.com/thread/5551686
diff --git a/blog/2014-07-15_Plotting_users_on_facebook.txt b/blog/2014-07-15_Plotting_users_on_facebook.txt
new file mode 100644
index 0000000..230157c
--- /dev/null
+++ b/blog/2014-07-15_Plotting_users_on_facebook.txt
@@ -0,0 +1,33 @@
+Plotting users on facebook
+
+I was playing with Munin, the "network resource monitoring tool". But you can also
+plot other things than CPU usage or network traffic. As long as you can capture it
+in a value.
+
+My default chat application is not facebook, but IRC. To chat with facebook users,
+I use a ZNC bouncer together with Bitlbee.
+
+   +---------+    +---------+    +---------+    +---------+
+   |         |    |         |    |         |    |         |
+   | Client  |--->| ZNC     |--->| Bitlbee |--->| Facebook|
+   | (me)    |    | (log)   |    |         |    |         |
+   +---------+    +---------+    +---------+    +---------+
+
+The ZNC bouncer is logging the users coming and going to the channel when they
+use facebook. I used the Munin plugin "loggrep_" with the next config on that
+logfile:
+
+  [loggrep_facebook]
+    user rogier
+    env.regex localhost sets mode
+    env.label Facebook users
+    env.logfile /home/rogier/.znc/users/rogier/moddata/log/facebook.log
+    env.title User count on facebook
+
+So I filter the logfile for the text "localhost sets mode" because when a user
+came online, he get's a +v from bitlbee. After a while, you will get the next
+graph.
+
+
+ +
diff --git a/blog/2014-08-08_Text_based_website.txt b/blog/2014-08-08_Text_based_website.txt new file mode 100644 index 0000000..259e418 --- /dev/null +++ b/blog/2014-08-08_Text_based_website.txt @@ -0,0 +1,20 @@ +A new text based website + +Yes, a new text based website! After some time without a website, with a website +based on a CMS, and with some 'almost finished' websites, I feel the need to make +a website with the following criteria: + +-Fast +-Simple +-Logica during generating + +I found jekyll, but it took me to much time to learn and I ran into some simple +problems. So I made my own CMS like environment. At this moment written in Bash. +Maybe in the future (Ugh) I will rewrite it in Python, but till then I got a +working solution. + +It relies on a script, a directory structure and some text files. Nothing more. +The script is looking through the directories for text files and reorder, +combine and replace the files for the website itself. + +I hope this one will work a little bit longer. :-) diff --git a/contact.txt b/contact.txt new file mode 100644 index 0000000..2a0449a --- /dev/null +++ b/contact.txt @@ -0,0 +1,10 @@ +Contact + +You can reach me as follows: + +E-Mail: info@sciuro.org +IRC: Sciuro on FreeNode, IRCNet, EFNet and Scoutlink +Twitter: Sciuro_NL +ICQ: 17135284 + +GPG: You can find my pgp/gpg key here diff --git a/files/pgp.txt b/files/pgp.txt new file mode 100644 index 0000000..9a89319 --- /dev/null +++ b/files/pgp.txt @@ -0,0 +1,90 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG/MacGPG2 v2.0.22 (Darwin) +Comment: GPGTools - https://gpgtools.org + +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 +=OyHW +-----END PGP PUBLIC KEY BLOCK----- + diff --git a/genereer b/genereer new file mode 100755 index 0000000..02b0ecf --- /dev/null +++ b/genereer @@ -0,0 +1,209 @@ +#!/bin/bash + +# Variables +SITEURL="/newsite" +LAYOUT=_layout +SITE=site +EXTRA='images scripts files' +SERVERS='314.sciuro.org chip.sciuro.org skippy.sciuro.org slappy.sciuro.org irc.sciuro.org lists.laurentiusgroep.nl' + +# Prereq +mkdir -p $SITE + +# Root pagina's +rm -rf $SITE/*.html +for i in `ls *.txt`; do + FILENAME=`echo $i |cut -d\. -f1` + cat $LAYOUT/header.html >> $SITE/$FILENAME.html + cat $i >> $SITE/$FILENAME.html + cat $LAYOUT/footer.html >> $SITE/$FILENAME.html +done + +# Server directory +mkdir -p $SITE/servers/ +rm -rf $SITE/servers/*.html + +for i in `ls servers/*.txt`; do + FILENAME=`echo $i |cut -d\. -f1` + cat $LAYOUT/header.html >> $SITE/$FILENAME.html + cat $LAYOUT/servers.html >> $SITE/$FILENAME.html + cat $i >> $SITE/$FILENAME.html + cat $LAYOUT/footer.html >> $SITE/$FILENAME.html +done + +for i in $SERVERS; do + HNAME=`echo $i | cut -d\. -f1` + DNAME=`echo $i | cut -d\. -f2,3 --output-delimiter=\.` + FILENAME=servers/graph-$HNAME + cat $LAYOUT/header.html >> $SITE/$FILENAME.html + cat $LAYOUT/servers.html >> $SITE/$FILENAME.html + cat servers/graph.txt >> $SITE/$FILENAME.html + echo "" >> $SITE/$FILENAME.html + echo "
" >> $SITE/$FILENAME.html + echo "" >> $SITE/$FILENAME.html + echo "" >> $SITE/$FILENAME.html + echo "" >> $SITE/$FILENAME.html + echo "
" >> $SITE/$FILENAME.html + cat $LAYOUT/footer.html >> $SITE/$FILENAME.html +done + +# Howto directory +mkdir -p $SITE/howto/ +rm -rf $SITE/howto/*.html + +cat $LAYOUT/header.html >> $SITE/howto/index.html +echo "Howto's" >> $SITE/howto/index.html +echo "" >> $SITE/howto/index.html +echo "Some howto's I wrote. If something is wrong, or you need help, please send me" >> $SITE/howto/index.html +echo "a message." >> $SITE/howto/index.html +echo "" >> $SITE/howto/index.html +for i in `ls howto/*.txt`; do + FILENAME=`echo $i |cut -d\. -f1` + HTT=`echo $FILENAME |cut -d\/ -f2` + echo "-$HTT" >> $SITE/howto/index.html +done +cat $LAYOUT/footer.html >> $SITE/howto/index.html + +for i in `ls howto/*.txt`; do + FILENAME=`echo $i |cut -d\. -f1` + cat $LAYOUT/header.html >> $SITE/$FILENAME.html + cat $i >> $SITE/$FILENAME.html + MODTIME=`date -r $i +%A\ %B%e\ %Y,\ %R` + echo "" >> $SITE/$FILENAME.html + echo "React to Howto" >> $SITE/$FILENAME.html + echo "Last modification: $MODTIME" >> $SITE/$FILENAME.html + cat $LAYOUT/footer.html >> $SITE/$FILENAME.html +done + +# Blog pages +mkdir -p $SITE/blog/ +rm -rf $SITE/blog/*.html + +cat $LAYOUT/header.html >> $SITE/blog/index.html +echo "Blog" >> $SITE/blog/index.html +for i in `ls -r blog/*.txt`; do + FILENAME=`echo $i |cut -d\. -f1` + BTITLE=`echo $FILENAME |cut -d\/ -f2 |cut -b12-` + BFILEDATE=`echo $FILENAME |cut -d\/ -f2 |cut -b-10` + CURMONTH=`date -d$BFILEDATE +%B\ %Y` + if [ "$CURMONTH" != "$LASTMONTH" ]; then + LASTMONTH=$CURMONTH + echo "" >> $SITE/blog/index.html + echo "$CURMONTH" >> $SITE/blog/index.html + fi + echo "-$BTITLE" >> $SITE/blog/index.html +done +cat $LAYOUT/footer.html >> $SITE/blog/index.html + +for i in `ls blog/*.txt`; do + FILENAME=`echo $i |cut -d\. -f1` + cat $LAYOUT/header.html >> $SITE/$FILENAME.html + BFILEDATE=`echo $FILENAME |cut -d\/ -f2 |cut -b-10` + BDATE=`date -d$BFILEDATE +%A\ %B\ %e\ %Y` + echo $BDATE >> $SITE/$FILENAME.html + echo "" >> $SITE/$FILENAME.html + cat $i >> $SITE/$FILENAME.html + BLOGID=`echo $FILENAME |cut -d\/ -f2` + echo "" >> $SITE/$FILENAME.html + echo "React to blog" >> $SITE/$FILENAME.html + cat $LAYOUT/footer.html >> $SITE/$FILENAME.html +done + +# Photo pages +mkdir -p $SITE/photo/ +rm -rf $SITE/photo/*.html + +cat $LAYOUT/header.html >> $SITE/photo/index.html +echo "Photo's" >> $SITE/photo/index.html +for i in `ls -r photo/*.txt`; do + FILENAME=`echo $i |cut -d\. -f1` + PTITLE=`echo $FILENAME |cut -d\/ -f2 |cut -b12-` + PFILEDATE=`echo $FILENAME |cut -d\/ -f2 |cut -b-10` + CURMONTH=`date -d$PFILEDATE +%B\ %Y` + if [ "$CURMONTH" != "$LASTMONTH" ]; then + LASTMONTH=$CURMONTH + echo "" >> $SITE/photo/index.html + echo "$CURMONTH" >> $SITE/photo/index.html + fi + echo "-$PTITLE" >> $SITE/photo/index.html +done +cat $LAYOUT/footer.html >> $SITE/photo/index.html + +for i in `ls photo/*.txt`; do + FILENAME=`echo $i |cut -d\. -f1` + BFILEDATE=`echo $FILENAME |cut -d\/ -f2 |cut -b-10` + BDATE=`date -d$BFILEDATE +%A\ %B\ %e\ %Y` + BLOGID=`echo $FILENAME |cut -d\/ -f2` + DIRNAME=`echo $FILENAME |cut -d\/ -f2` + + mkdir -p $SITE/$FILENAME/normal/ + mkdir -p $SITE/$FILENAME/thumbs/ + #rm -rf $SITE/$FILENAME/thumbs/*.jpg + rm -rf $SITE/photo/$DIRNAME/*.html + + cat $LAYOUT/header.html >> $SITE/$FILENAME.html + cat $i >> $SITE/$FILENAME.html + echo "" >> $SITE/$FILENAME.html + echo $BDATE >> $SITE/$FILENAME.html + echo "" >> $SITE/$FILENAME.html + + echo "
" >> $SITE/$FILENAME.html + T=0 + rename 'y/A-Z/a-z/' $FILENAME/* + for j in `ls $FILENAME/*.jpg`; do + if [ $T == '0' ]; then + echo "
" >> $SITE/$FILENAME.html + T=$((T+1)) + elif [ $T == '5' ]; then + echo "
" >> $SITE/$FILENAME.html + T=1 + else + echo "" >> $SITE/$FILENAME.html + T=$((T+1)) + fi + + IMAGENAME=`echo $j |cut -d\/ -f3` + if [ ! -f $SITE/photo/$DIRNAME/thumbs/$IMAGENAME ]; then + convert -resize 120 photo/$DIRNAME/$IMAGENAME $SITE/photo/$DIRNAME/thumbs/$IMAGENAME + fi + + if [ ! -f $SITE/photo/$DIRNAME/normal/$IMAGENAME ]; then + convert -resize 480 photo/$DIRNAME/$IMAGENAME $SITE/photo/$DIRNAME/normal/$IMAGENAME + fi + + NAME=`echo $IMAGENAME |cut -d\. -f1` + + echo "" >> $SITE/$FILENAME.html + + # Picture page + + cat $LAYOUT/header.html >> $SITE/photo/$DIRNAME/$NAME.html + cat $i >> $SITE/photo/$DIRNAME/$NAME.html + echo "" >> $SITE/photo/$DIRNAME/$NAME.html + echo $BDATE >> $SITE/photo/$DIRNAME/$NAME.html + echo "" >> $SITE/photo/$DIRNAME/$NAME.html + echo "
index
" >> $SITE/photo/$DIRNAME/$NAME.html + echo "
" >> $SITE/photo/$DIRNAME/$NAME.html + cat $LAYOUT/footer.html >> $SITE/photo/$DIRNAME/$NAME.html + + done + + echo "
" >> $SITE/$FILENAME.html + + cat $LAYOUT/footer.html >> $SITE/$FILENAME.html +done + + +# Other directories +for i in $EXTRA; do + rm -rf $SITE/$i + cp -a $i $SITE/$i +done + +# Replace variables +for i in `find $SITE/ -name *.html`; do + sed -i 's/__SITEURL__/\/newsite/g' $i +done + +# Publish +rsync --delete --recursive $SITE/* 314:/usr/share/mini-httpd/html/newsite/ diff --git a/howto/apache_webserver_error_during_restart.txt b/howto/apache_webserver_error_during_restart.txt new file mode 100644 index 0000000..1f0d411 --- /dev/null +++ b/howto/apache_webserver_error_during_restart.txt @@ -0,0 +1,24 @@ +Always the same error during restarting apache + +If you restart your Apache webserver, you could get the following error message: + + Could not reliably determine the server's fully qualified domain name, + using 127.0.0.1 for ServerName + +The reason is because your netwerk is not completly setup properly. + +-Check if your hostname is set in /etc/hostname +-Check if your domainname is set in /etc/resolv.conf + +And the final trick: Put in your /etc/hosts file the next line: + + IP-addres fully-quallified-hostname small-hostname + +Do not swap the fully-quallified-hostname and the small-hostname, because Apache +only looks at the first entry and that one should be the fully quallified hostname + +So for example, for me it will become: + + 192.168.1.1 scrat.sciuro.org scrat + +Restart your apache and the message is gone. diff --git a/howto/apache_webserver_proxy.txt b/howto/apache_webserver_proxy.txt new file mode 100644 index 0000000..cf743bf --- /dev/null +++ b/howto/apache_webserver_proxy.txt @@ -0,0 +1,49 @@ +Proxy HTTP requests in Apache 2.2 with mod_proxy and mod_balancer + +You can actually use an Apache web server as a front web server to proxy +specified requests to other web servers. For example to load balance your backend +servers or to make a failover system in case of an failure. Yes, we are talking +about high availability! + +Simple +First enable the modules mod_proxy and mod_proxy_http. Now we can do a simple +request forward. Of course we use a Debian system, so to enable the proxy modules +we will do: + + a2enmod proxy proxy_http + /etc/init.d/apache2 restart + +Now we can make use of the proxy capabilities of Apache. Put the next part in +your virtual host or any other place. + + ProxyPass /application http://servername:port/somethingelse/ + ProxyPassReverse /application http://servername:port/somethingelse/ + +Loadbalance and/or failover +For this part we need some more modules. So we enable them. You can also enable +the ftp and ajp connectors if you need them. It's exactly the same as with the +mod_proxy_http. + + a2enmod proxy proxy_http proxy_balancer + /etc/init.d/apache2 restart + +Now we can have fun! The ProxyPreserveHost is technically not needed. But there +are some more options in the proxy module that makes life a little bit easier. +We will not proxy requests for /context/static. All the rest will be proxied to +the right server. Server1 is active now. Server2 is disabled. (maintenance?) So +if Server1 will fail, everybody is moved to a balanced cluster of Server3 and +Server4. I know, it's a little bit strange setup, but it's only an example. + + ProxyPreserveHost On + ProxyPass /context/static ! + ProxyPass /context balancer://clustername/something + + <Proxy balancer://clustername> + BalancerMember http://servername1:port lbset=0 route=server1 + # The next server is temporary disabled. + BalancerMember http://servername2:port lbset=0 route=server2 status=+D + # + # Backupservers if other servers failed + BalancerMember http://servername3:port lbset=1 route=server3 + BalancerMember http://servername4:port lbset=1 route=server4 + </Proxy> diff --git a/howto/apache_webserver_rewrite.txt b/howto/apache_webserver_rewrite.txt new file mode 100644 index 0000000..0a1e94a --- /dev/null +++ b/howto/apache_webserver_rewrite.txt @@ -0,0 +1,28 @@ +Apache webserver and rewrite rules + +Here are some rewrite codes I sometimes use. Rewrite is a very powerful Apache +module and so almost everything is possible. Some examples. + +To rewrite your http://www.oldsite.org/something to the new URL +http://www.newsite.org/something, you can use the next code: + + RewriteCond %{HTTP_HOST} ^www\.oldsite.org [NC] + RewriteRule ^ http://www.newsite.org%{REQUEST_URI} [L,R=301] + +To do an action when the user don't have a special cookie, for example to force +somebody to the login page or redirect him to a welcome page. Take a look at the +second rule. This one prevents looping over these rule again and again. + + RewriteCond %{HTTP_COOKIE} !logincookie + RewriteCond %{QUERY_STRING} !page=login + RewriteRule ^(.*)$ %{REQUEST_URI}?page=login [L,R] + +To rewrite a request if it's a search result from google. + + RewriteCond %{HTTP_REFERER} ^http://www\.google [NC] + RewriteRule ^ http://www.somewhere.com/something.gif [R] + +To simple forward your request to your internal server2 on port 8080: + + RewriteEngine On + RewriteRule ^/app/(.*)$ http://server2:8080/app1/$1 [P] diff --git a/howto/awstats_clustered.txt b/howto/awstats_clustered.txt new file mode 100644 index 0000000..2b204d7 --- /dev/null +++ b/howto/awstats_clustered.txt @@ -0,0 +1,14 @@ +Clustered AwStats + +To use AWStats in a multiple vhost environment, you can make a new crontab for +every new site. But that's not very smart. I made this script to look at the +AWStats configuration files and parse all the access.log.1.gz files for all the +different sites. + +It's made for my servers, so probably you have to change something for your own +environment. Make sure your AWStats config match this config and exchange SSH +key's for the AWStatst user to the webservers (read)! The access logging of the +Apache servers in the example below should be +/var/log/apache2/sitename/access.log.1.gz + +You can find the script here. diff --git a/howto/backup_and_restoring_partitions.txt b/howto/backup_and_restoring_partitions.txt new file mode 100644 index 0000000..437ce98 --- /dev/null +++ b/howto/backup_and_restoring_partitions.txt @@ -0,0 +1,25 @@ +backup and restoring partitions + +You always wonder how to make a backup of a complete disk? For example to rescue +the disk, or you want to save te data for later on? Or mayby to make an image +and distribute it over a lot of computers? Here is how. + +Make a backup of a partition (this could also be the whole disk): + +One-to-one: + dd if=/dev/hdx1 of=/path/to/image + +To a compressed image: + dd if=/dev/hdx2 | gzip > /path/to/image.gz + +To mount the partition on a local directory: + mount -o loop /path/to/image /mnt + +To restore a partition (first make sure the partition on disk is the same size or +bigger than the original): + +One-to-one: + dd if=/path/to/image of=/dev/hdx1 + +From a compressed image: + gzip -dc /path/to/image.gz |dd of=/dev/hdx2 diff --git a/howto/debian_on_ibook_g4.txt b/howto/debian_on_ibook_g4.txt new file mode 100644 index 0000000..8e21b71 --- /dev/null +++ b/howto/debian_on_ibook_g4.txt @@ -0,0 +1,119 @@ +Install Debian testing on an iBook G4 + +Fact one, I still have an iBook G4 and little use to it. Fact two, sometimes I +still miss my linux desktop. (Mac OS X is not that bad) Combine those two facts +and we are going to install Debian Testing on an iBook G4. + +Getting the software +I used the netinstaller from +http://cdimage.debian.org/cdimage/daily-builds/daily/arch-latest/powerpc/iso-cd/ +Burn the debian-testing-powerpc-netinst.iso to a CD. (I know, it's an old medium) + +Do an installation +Boot your iBook and insert the CD. Press 'c' and hold while or before +Apple-Boot-Sound to start from CD. Maybe you have to boot it again if you are too +slow. He asks you what you want to do. type + + install video=ofonly + +The debian installer doesn't like the iBook's graphic card. Proceed like a normal +Debian installation, until the disk layout. + +Disk partitioning +Choose for 'guided partitioning'. Then you will get an reconfigured partitionschema +which you can change. You will see an extra partition, the 'Apple' type partition. +Change your disk partition like you want, but keep the first Apple partition!!! +Otherwise it can't format the drive. I did it my way the first time and had some +problems formatting my drive. Maybe it's a bug in testing, but I couldn't find the +Apple type, but it worked using the 'guided partitioning'. + +This is my partition table: + + IDE1 master (hda) - 120.0 GB FUJITSU MHV2120AT + #1 32.3 kB Apple + #2 1.0 MB B K boot untitled + #3 7.0 GB f ext4 untitled / + #4 3.5 GB f swap swap swap + #5 109.6 GB f ext4 untitled /home + +If you got the error 'Partition map has no partition map entry' after writing the +partition table to disk, you forgot to make the first Apple partition. + +Your system will reboot. + +Choose the parts you want to install. I simply only choose to install basics and +laptop. All the rest I will do by myself. + +Reboot into your new OS. The first thing I noticed was the fan. It sounds like a +broken fan. After about 5 minutes it scaled down to zero and the noise was gone. + +Console tools +Just aptitude install gpm. This will install gpm, the mouse interface for the +console. An USB mouse will work out of the box. + +X +Installing X is a bit strange in Debian because of the Radeon Mobility 9200. Main +problem is the framebuffer loaded at boot time. The next can be done by every +windowmanager, but I prefer KDE. Make sure your /etc/apt/sources.list contains +besides main, also the contrib and non-free repo's. + + aptitude install xorg + aptitude install kde-standard + aptitude install firmware-linux + +Do not reboot now! It will freeze during boot. Add the following into your +/etc/yaboot.conf: + + image=/boot/vmlinux + label=Linux + read-only + initrd=/boot/initrd.img + append="video=ofonly video=radeonfb:off radeon.agpmode=-1" + + image=/boot/vmlinux.old + label=old + read-only + initrd=/boot/initrd.img.old + append="video=ofonly video=radeonfb:off radeon.agpmode=-1" + +Then run: + + root@thuu:~# ybin -v + ybin: Finding OpenFirmware device path to `/dev/hda2'... + ybin: Installing first stage bootstrap /usr/lib/yaboot/ofboot onto /dev/hda2... + ybin: Installing primary bootstrap /usr/lib/yaboot/yaboot onto /dev/hda2... + ybin: Installing /etc/yaboot.conf onto /dev/hda2... + ybin: Setting attributes on ofboot... + ybin: Setting attributes on yaboot... + ybin: Setting attributes on yaboot.conf... + ybin: Blessing /dev/hda2 with Holy Penguin Pee... + ybin: Updating OpenFirmware boot-device variable in nvram... + +Now you may reboot. If you accidentally reboot your system before changing +yaboot and you are stuk at the message: + + conflicting fb hw usage radeondrmfb + +Give during boot time in the yaboot menu the command: + + boot: Linux video=radeonfb:off radeon.agpmode=-1 + +It will boot again with the right options. + +Wireless +First, make sure in your /etc/apt/sources.list contains the contrib packages. +Update your repository and install the package b43-fwcutter. Download the +firmware for the b43 from + + http://downloads.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2 + +Untar the broadcom code and cd into the driver directory + + b43-fwcutter -w /lib/firmware/ wl_apsta_mimo.o + +And your Wireless is working. (can somebody test this again? Maybe I missed +something) + +Bluetooth +Bluetooth is working out of the box. Install btscanner to see it for yourself. +Config files are in /etc/bluetooth. diff --git a/howto/debian_remove_packages.txt b/howto/debian_remove_packages.txt new file mode 100644 index 0000000..2a70ec8 --- /dev/null +++ b/howto/debian_remove_packages.txt @@ -0,0 +1,16 @@ +How to remove debian packages + +The normal way to remove a Debian package is to use + + apt-get remove name +Or + aptitude remove name + +But in this way you are left with a bunch of configuration files. You can remove +individual package configuration with: + + apt-get purge name + +Or all those packages that has been removed, but not completely: + + dpkg -l | grep ^rc | cut -d' ' -f3|xargs dpkg -P diff --git a/howto/iphone_headset_button.txt b/howto/iphone_headset_button.txt new file mode 100644 index 0000000..1d6de91 --- /dev/null +++ b/howto/iphone_headset_button.txt @@ -0,0 +1,33 @@ +iPhone headset button + +The headphone of my iPhone has some more capabilities beside taking calls or +start and pause music. I found some information on the internet. + +Incoming call: +1. Press once to pickup the call +2. Press twice to send the call to voicemail. +3. Press and hold center button for about two seconds to decline the call. You + will also hear two low beeps that confirm you the call is declined. + +While you're in a call, you can simply press once to end the call. + +While you're in a call and there is a second incoming call, you can: +1. Press once to switch to another call and put the current call on hold. Press + the button again to switch to the first call. +2. Press and hold the button for about two seconds to ignore the second call. + +While you're not in a call, you can press the button once to activate iPod and +playback your music. + +While you're listening to music in iPod, you can use the button to control the +music playback: +1. Press once to pause the song and press again to resume it. +2. Press twice to skip to the next song +3. Press three time to go back to the previous song + +For iPhone 3GS, the bundled headset is enhanced with volume control buttons. You +can use the "+" and "-" buttons to adjust the volume. And, one more thing. You +can press and hold the center button to activate voice control, which is a new +feature comes with iPhone 3GS. + +(source: http://rdsbc.blogspot.com/2009/08/tips-iphone-headset-shortcuts.html) diff --git a/howto/kiwiirc_on_debian.txt b/howto/kiwiirc_on_debian.txt new file mode 100644 index 0000000..b8ac043 --- /dev/null +++ b/howto/kiwiirc_on_debian.txt @@ -0,0 +1,49 @@ +Install KiwiIRC on Debian + +A some people know, I use IRC a lot. Especially in combination with +ZNC, a bouncer for all my IRC connections. But sometimes you need an +IRC client in a browser with just your own settings. Therefore, how +to install the fantastic webbased IRC client Kiwiirc on a Debian based +server. + +I presume you already have git working. Otherwise, install it +(apt-get install git). Fist we need a working server with node.js. So +let’s install all the software as root: + + apt-get install npm + +The problem is that Debian uses the ‘nodejs’ binary, but the whole rest +of the world called this file ‘node’. So we have to link it to the +right name before starting the installer. + + ln -s /usr/bin/nodejs /usr/bin/node + +After installing all the software, we could become the user with should +run KiwiIRC. Probably you wouldn;t want to run this as root! So find a +nice place to store the software (/home/kiwiirc if the user is called +kiwiirc) and make a git clone of the software tree. + + git clone https://github.com/prawnsalad/KiwiIRC.git && cd KiwiIRC + +I ran into a problem with ZNC. It wouldn’t connect to ZNC, but it +should. After upgrading from stable to the development, it worked. If +you have no problems at all, stay with the stable branch. + + git checkout development + +Copy the config file, edit it to your prefecences and do a rebuild. +This wil generate all you needed files. Remember that after changing +the configfile, you have to run the build script! + + cp config.example.js config.js + nano config.js + ./kiwi build + +After all this trouble, you can start your webbased IRC client! The +first is for starting in the background, the second if you want to run +it in the forground, (debuging) + + ./kiwi start + ./kiwi -f start + +Happy chatting! diff --git a/howto/lvm_cheatsheet.txt b/howto/lvm_cheatsheet.txt new file mode 100644 index 0000000..c374da2 --- /dev/null +++ b/howto/lvm_cheatsheet.txt @@ -0,0 +1,41 @@ +LVM cheatsheet + +Here is a cheatsheet for LVM: + +LVM exists in the following order: + +-PV (physical volume) +-VG (volume group) +-LV (logical volume) + +Create a physical volume + + pvcreate /dev/hdX1 + pvscan + pvdisplay + +Create a volume group + + vgcreate vg_name /dev/hdX1 /dev/hdX2 + vgscan + vgdisplay + +Create a logical volume + + lvcreate -L 10G -n lv_name vg_name + lvscan + lvdisplay + +Activate an external LVM volume +Usefull when you are repairing an external harddisk with a LVM volume. + + lvscan + lvchange -a y lv_name + lvscan + +Disable an external LVM volume +Usefull when you are repairing an external harddisk with a LVM volume. + + lvscan + lvchange -a n lv_name + lvscan diff --git a/howto/mysql_backup.txt b/howto/mysql_backup.txt new file mode 100644 index 0000000..96c8de3 --- /dev/null +++ b/howto/mysql_backup.txt @@ -0,0 +1,10 @@ +How to backup a MySql database + +To backup all your databases from MySql, I made the this script. + +You can run this script from your crontab. Run this every night and it will dump +all of your databases added with a date into the directory /backup/sql You can +also remove the very old ones by crontab. My crontab looks like the following: + + 0 0 * * * find /backup/sql/ -mtime +5 -exec rm -rf {} \; + 0 0 * * * /usr/local/bin/sqlbackup diff --git a/howto/split_big_file.txt b/howto/split_big_file.txt new file mode 100644 index 0000000..2250874 --- /dev/null +++ b/howto/split_big_file.txt @@ -0,0 +1,22 @@ +How to split a big file in smaler ones + +Sometimes you got the problem that a file is something too big. No problem. There +is a solution for that. The command split. + +Split a file +How do we split a file? Simple. To split the file bigfile into smaller files from +100 MB with the name smallfile00, smallfile01, smallfile02 etc. we do: + + split -d -b100m bigfile smallfile + +If you want an extention, some people or program's like that, you can give them +an extention: + + for i in `ls smallfile*` do mv $i $i.abc; done + +And you got all smaller files. + +Join a file +Later on, to join the files together, you can use the command cat. + + cat smallfile* > bigfile diff --git a/howto/wolfenstein_running_in_Debian.txt b/howto/wolfenstein_running_in_Debian.txt new file mode 100644 index 0000000..c72f333 --- /dev/null +++ b/howto/wolfenstein_running_in_Debian.txt @@ -0,0 +1,58 @@ +Getting Wolfenstein (wolf) running in Debian + +Running games in Linux could be a pain in the ass. Here I tried to install +Wolfenstein. + +Install your software. Probebly it goes to /usr/local/games/wolfenstein. And +of course make your openGL working. See the big internet for doing this. + +If you start your game (./wolf) it will come up with the following error: + +Wolf 1.1b linux-i386 Jan 17 2002 +----- FS_Startup ----- +Current search path: +/home/rogier/.wolf/main +/usr/local/games/wolfenstein/main/mp_pakmaps0.pk3 (21 files) +/usr/local/games/wolfenstein/main/mp_pak2.pk3 (3 files) +/usr/local/games/wolfenstein/main/mp_pak1.pk3 (308 files) +/usr/local/games/wolfenstein/main/mp_pak0.pk3 (783 files) +/usr/local/games/wolfenstein/main/pak0.pk3 (4775 files) +/usr/local/games/wolfenstein/main +./wolf.x86/main + +---------------------- +5890 files in pk3 files +execing default.cfg +couldn't exec language.cfg +couldn't exec wolfconfig_mp.cfg +couldn't exec autoexec.cfg +Hunk_Clear: reset the hunk ok +Joystick is not active. +Bypassing CD checks +----- Client Initialization ----- +----- Initializing Renderer ---- +------------------------------- +Loaded 714 translation strings from scripts/translation.cfg +----- Client Initialization Complete ----- +----- R_Init ----- +...loading libGL.so: QGL_Init: Can't load libGL.so from /etc/ld.so.conf +or current dir: /usr/local/games/wolfenstein/libGL.so: cannot open shared +object file: No such file or directory +failed +...loading libMesaVoodooGL.so.3.1: QGL_Init: Can't load libMesaVoodooGL.so.3.1 +from /etc/ld.so.conf or current dir: +/usr/local/games/wolfenstein/libMesaVoodooGL.so.3.1: cannot open shared object +file: No such file or directory +failed +----- CL_Shutdown ----- +RE_Shutdown( 1 ) +----------------------- +----- CL_Shutdown ----- +----------------------- +Sys_Error: GLimp_Init() - could not load OpenGL subsystem + +Solution +There is nothing wrong, but Debian is missing a link. So make the link: + +cd /usr/lib32/ +ln -s libGL.so.1 libGL.so diff --git a/images/foto_me.jpg b/images/foto_me.jpg new file mode 100755 index 0000000..b93c9a4 Binary files /dev/null and b/images/foto_me.jpg differ diff --git a/index.txt b/index.txt new file mode 100644 index 0000000..cbb4513 --- /dev/null +++ b/index.txt @@ -0,0 +1,19 @@ + Welcome to Sciuro.org + +This is my simple place where I will put my thoughts and _.-"""-, +knowlege on the world wide web. .' ..::. `\ + / .::' `'` / +Why is it all text based? / .::' .--.=; +After trying different type's of websites and frameworks, I | ::' / C ..\ +came to the conclusion that they all are slow, difficult | :: | \ _.) +and not inuitive for a nerd like me. What I liked the most \ ':| / \ +was the old text based website. So why not build one. :-) '-, \./ \)\) +Beside that, it's also quite fast on the creepy Dutch `-| );/ +mobile network. '--'-' + +What can I find here? +Everything I want. Solutions for problems I faced (howto's), scripts I use every +day, or ones in a while (scripts), day to day thoughts (blog) and pictures +(photo's). And maybe a lot of other things. + +Have fun! diff --git a/links.txt b/links.txt new file mode 100644 index 0000000..3fb3201 --- /dev/null +++ b/links.txt @@ -0,0 +1,15 @@ +Links + +Security +-GPG handbook +-GPG keysigning + +Geocaching +-Geocaching.com +-OSM charts +-OSM charts for garmin devices +-Routing on OSM charts + +Scouting +-Scoutlink +-Jota Handboek diff --git a/photo/2011-09-25_4x4_rijden.txt b/photo/2011-09-25_4x4_rijden.txt new file mode 100644 index 0000000..7b01916 --- /dev/null +++ b/photo/2011-09-25_4x4_rijden.txt @@ -0,0 +1 @@ +4X4 rijden diff --git a/photo/2012-02-02_winterweer.txt b/photo/2012-02-02_winterweer.txt new file mode 100644 index 0000000..a18cc32 --- /dev/null +++ b/photo/2012-02-02_winterweer.txt @@ -0,0 +1 @@ +Winterweer in Bilthoven diff --git a/photo/2012-10-13_pollex_autoroute.txt b/photo/2012-10-13_pollex_autoroute.txt new file mode 100644 index 0000000..705946f --- /dev/null +++ b/photo/2012-10-13_pollex_autoroute.txt @@ -0,0 +1,4 @@ +Pollex autoroute + +Tijdens een stamopkomst is er een autorally gereden met diverse opdrachten en +hindernissen. diff --git a/photo/2012-11-11_bikkelweekend_uitzetten.txt b/photo/2012-11-11_bikkelweekend_uitzetten.txt new file mode 100644 index 0000000..5a5ce06 --- /dev/null +++ b/photo/2012-11-11_bikkelweekend_uitzetten.txt @@ -0,0 +1,3 @@ +Bikkelweekend uitzetten + +Foto's tijdens het uitzetten van het bikkelweekend in Heeze. diff --git a/photo/2012-11-30_zurich.txt b/photo/2012-11-30_zurich.txt new file mode 100644 index 0000000..e1cbaa8 --- /dev/null +++ b/photo/2012-11-30_zurich.txt @@ -0,0 +1,3 @@ +Zurich + +Een weekend langs in Zurich. diff --git a/photo/2012-12-29_oud_en_nieuw.txt b/photo/2012-12-29_oud_en_nieuw.txt new file mode 100644 index 0000000..5e624f4 --- /dev/null +++ b/photo/2012-12-29_oud_en_nieuw.txt @@ -0,0 +1,3 @@ +Oud en nieuw 2012-2013 + +In Kandersteg met de LG en PBG. diff --git a/scripts/awstats_cron b/scripts/awstats_cron new file mode 100644 index 0000000..3feb6c5 --- /dev/null +++ b/scripts/awstats_cron @@ -0,0 +1,42 @@ +#!/bin/bash + +# Variables +BASE_DIR=/opt/awstats +DATA_DIR=/opt/awstats-data/data +LOGS_DIR=/opt/awstats-data/logs +HTML_DIR=/opt/awstats-data/html +APACHE_LOG=/var/log/apache2 +CONFIG_DIR=$BASE_DIR/wwwroot/cgi-bin + +# Which servers have all the access.log logfiles +SERVERS='server1 server2 server3' + +# Make a list of all the sites that need parsing +SITES=`ls $CONFIG_DIR |egrep '^awstats.*\.conf$' |grep -v awstats.model.conf |sed -e 's/^awstats\.//' -e 's/\.conf$//'` + +# Start making a simple HTML page with all the sites +echo "
" > $HTML_DIR/index.html + +for s in $SITES; do + + # Copy the access logging to the local server + for i in $SERVERS; do + scp -q $i:$APACHE_LOG/$s/access.log.1.gz $LOGS_DIR/$i.$s.gz + done + + # Combine and sort the logfile's + $BASE_DIR/tools/logresolvemerge.pl $LOGS_DIR/*.$s.gz |gzip > $LOGS_DIR/$s.gz + + # Remove the server logfiles + rm $LOGS_DIR/*.$s.gz + + # Update the statistics + $BASE_DIR/wwwroot/cgi-bin/awstats.pl -config=$s -update + + # Remove the combined logfile + rm $LOGS_DIR/$s.gz + + # Write an entry in the HTML file for this website + echo "$s
" >> $HTML_DIR/index.html + +done diff --git a/scripts/sqlbackup b/scripts/sqlbackup new file mode 100644 index 0000000..996d41f --- /dev/null +++ b/scripts/sqlbackup @@ -0,0 +1,21 @@ +#!/bin/bash + +# Settings +MYSQL="$(which mysql)" +MYSQLDUMP="$(which mysqldump)" +GZIP="$(which gzip)" +MyUSER="sys_backup" +MyPASS="secretpassword" +DIR="/backup/sql" +NOW="$(date +"%Y-%m-%d")" + +# Get all the databases in your server +DBS="$($MYSQL -u $MyUSER -p$MyPASS -Bse 'show databases')" + +for db in $DBS +do + if [ "$db" != "information_schema" ]; then + FILE="$DIR/$db.$NOW.gz" + $MYSQLDUMP --routines -u $MyUSER -p$MyPASS $db | $GZIP -9 > $FILE + fi +done diff --git a/servers/graph.txt b/servers/graph.txt new file mode 100644 index 0000000..93b0280 --- /dev/null +++ b/servers/graph.txt @@ -0,0 +1,5 @@ +Graphs + + +-----+------+------+--------+--------+-----+-------+ + | 314 | Chip | Dale | Skippy | Slappy | IRC | Lists | + +-----+------+------+--------+--------+-----+-------+ diff --git a/servers/index.txt b/servers/index.txt new file mode 100644 index 0000000..56c4b54 --- /dev/null +++ b/servers/index.txt @@ -0,0 +1,22 @@ +Layout servers + + +---------+ + | | + | Router |---------+-----------+-----------+-----------+ + | | | | | | + +---------+ | | | | + | +---------+ +---------+ +---------+ +---------+ + | | | | | | | | | + Internet | Skippy | | Slappy | | IRC | | Lists | + | | | | | | | | | + | +---------+ +---------+ +---------+ +---------+ + | + | + +--------------+-----------+-----------+ + | | | | + | | | | + | +---------+ +---------+ +---------+ + | | | | | | | + | | 314 | | Chip | | Dale | + | | | | | | | + | +---------+ +---------+ +---------+ diff --git a/servers/status.txt b/servers/status.txt new file mode 100644 index 0000000..de595ec --- /dev/null +++ b/servers/status.txt @@ -0,0 +1,13 @@ +Server Status + + +--------+--------+ + | Server | Status | + +--------+--------+ + | 314 | Ok | + | Chip | Ok | + | Dale | Error | + | Skippy | Ok | + | Slappy | Ok | + | IRC | Ok | + | Lists | Ok | + +--------+--------+