You are hereLinux / Debian
Debian
mu - maildir utils
Ik zag deze tweet passeren van @DriesBultynck:
zoekt nog steeds een manier om een reeks mails uit gmail te exporteren naar excel (incl. date + content). Niemand?
Volgens @haploc zou dat wel moeten lukken met Perl, Email::Simple en Spreadsheet::SimpleExcel. Aangezien ik niet zo vlot ben met Perl, heb ik een andere oplossing gezocht en gevonden: mu (kort voor Maildir Utils).
Helaas heeft mu geen kant-en-klaar pakket voor Debian dus moet het van source geïnstalleerd worden.
wget http://mu0.googlecode.com/files/mu-0.9.7.tar.gz
tar -xvf mu-0.9.7.tar.gz
cd mu-0.9.7
Op mijn systeem ontbraken nog een paar dependencies, met een paar keer ./configure te draaien heb ik ze kunnen achterhalen:
Daarna mu configureren:
Als alles goed gegaan is, dan krijg je op het einde ongeveer zo'n output:
-----------------------------
Xapian version : xapian-config - xapian-core 1.2.3
GLib version : 2.24.2
GMime version : 2.4.14
GTK+ version : 2.20.1
GIO version : 2.24.2
Guile version : 1.8.7
Build unit tests (glib >= 2.22) : yes
Build 'mug' toy-ui (requires GTK+) : yes
McCabe's Cyclomatic Complexity tool : yes
xdg-open : /usr/bin/xdg-open
Have direntry->d_ino : yes
Have direntry->d_type : yes
-----------------------------
Daarna builden en installeren:
sudo make install
cd
Klaar? Bijna. mu werkt door een maildir te indexeren als een database, waar je dan queries op kan loslaten. Voor het indexeren gaat mu uit van een aantal zinnige defaults dus het is niet meer dan:
Afhankelijk van de grootte van de maildir kan dit even duren. Alhoewel. Bij mij viel het nog best mee:
mu: indexing messages under /home/amedee/Maildir [/home/amedee/.mu/xapian]
/ processing mail; processed: 69736; updated/new: 69736, cleaned-up: 0
mu: elapsed: 210 second(s), ~ 332 msg/s
mu: cleaning up messages [/home/amedee/.mu/xapian]
\ processing mail; processed: 69736; updated/new: 0, cleaned-up: 0
mu: elapsed: 2 second(s), ~ 34868 msg/s
real 3m32.500s
user 1m21.021s
sys 0m7.692s
Als je mu regelmatig gebruikt, dan is misschien geen slecht idee om mu index toe te voegen als cron job.
Nu mu geïnstalleerd is, kan je queries draaien zoals
Dit geeft bij mij als output:
<messages>
<message>
<from>1T3XT BVBA <info [at] 1t3xt [dot] info></from>
<to>Post all your questions about iText here <itext-questions [at] lists [dot] sourceforge [dot] net></to>
<subject>Re: [iText-questions] Adding watermark in front of the page background color</subject>
<date>1323524095</date>
<size>7149</size>
<msgid>4EE35FFF [dot] 6070006 [at] 1t3xt [dot] info</msgid>
<path>/home/amedee/Maildir/.mailinglijst.itext-questions/cur/1323524308.25506_3.intrepid:2,</path>
<maildir>/.mailinglijst.itext-questions</maildir>
</message>
<message>
<from>Balder VC <lists [at] redlab [dot] be></from>
<to>itext-questions [at] lists [dot] sourceforge [dot] net</to>
<subject>Re: [iText-questions] XMLWorker & RTL</subject>
<date>1323524276</date>
<size>7769</size>
<msgid>4EE360B4 [dot] 8040008 [at] redlab [dot] be</msgid>
<path>/home/amedee/Maildir/.mailinglijst.itext-questions/cur/1323524480.9255_3.intrepid:2,</path>
<maildir>/.mailinglijst.itext-questions</maildir>
</message>
<message>
<from>Balder VC <lists [at] redlab [dot] be></from>
<to>Post all your questions about iText here <itext-questions [at] lists [dot] sourceforge [dot] net></to>
<subject>[iText-questions] Fwd: Re: XMLWorker & RTL</subject>
<date>1323525006</date>
<size>19787</size>
<msgid>4EE3638E [dot] 7020708 [at] redlab [dot] be</msgid>
<path>/home/amedee/Maildir/.mailinglijst.itext-questions/cur/1323525223.17054_3.intrepid:2,</path>
<maildir>/.mailinglijst.itext-questions</maildir>
</message>
</messages>
Meer voorbeelden van queries zijn te vinden op de mu cheatsheet.
Nu is het gewoon nog een kwestie van:
- Een lokale IMAP-server installeren die Gmail binnentrekt (zelf ben ik nogal fan van Dovecot)
- De gepaste query verzinnen, met XML output.
- De XML-file binnentrekken in een spreadsheetprogramma.
Voila, dit is één mogelijke oplossing.
Welke QNAP NAS zou ik kopen?
Ik zou me een NAS willen kopen. Het doel is file storage, in hoofdzaak media (oa foto's van de madam). Ik heb mijn zinnen al gezet op het merk QNAP, omwille van deze héél duidelijke Debian HOWTOs: http://www.cyrius.com/debian/kirkwood/qnap/
Inderdaad, de meegeleverde firmware kan me niet schelen. Er komt Debian op zodat ik mijn goesting kan doen. Onder meer om er CrashPlan op te zetten: http://www.pchilton.co.uk/2011/01/29/crashplan-online-backup-on-qnap-ts-...
Zelf zou ik de prijs wat willen drukken en voor een model met 2 schijven gaan zoals de TS-210 (http://www.qnap.com/pro_detail_feature.asp?p_id=135) of TS-212 (http://www.qnap.com/pro_detail_feature.asp?p_id=192), maar ons madam zegt dat ik voor een NAS met 4 schijven moet gaan. Oh well... 
Dat wil dan zeggen dat het 1 van deze wordt:
- TS-410 http://www.qnap.com/pro_detail_feature.asp?p_id=192
- TS-412 http://www.qnap.com/pro_detail_feature.asp?p_id=193
- TS-419P+ http://www.qnap.com/pro_detail_feature.asp?p_id=183
Prijsvergelijking bij Coolblue: http://bit.ly/nXa1uq
Als ik de reviews er op nalees, dan is de TS-410 het zuinigst in energieverbruik, maar tegelijk ook redelijk traag. Langs de andere kant vraag ik me af of de snellere cpu, meer memory en een LCD de 106€ meerprijs van de TS-419P+ t.o.v. de TS-412 wel waard is.
Help! Ik kan niet kiezen! 
Wuala
Ondertussen heeft iedereen al lang een Dropbox account. Indien niet: hier is een referral link, 2 GB storage in de cloud voor u en 250 MB extra voor mij: http://db.tt/AdWPVma.
De laatste tijd is er een en ander te doen over Dropbox, dat het by design niet zo veilig zou zijn, en dat Dropbox werknemers toegang hebben tot je bestanden. Ik wil al de argumenten voor en tegen hier niet oprakelen, maar omdat het sowieso geen goed idee is om alle eieren in één mandje te leggen, ben ik eens gaan rondkijken naar alternatieven.
Het Zwitserse Wuala, van hardeschijvenfabrikant LaCie, is zo'n alternatief. Er zijn nog *tig andere storage-in-the-cloud oplossingen zoals Sparkleshare (git-based, draait op uw eigen server(s)), Sugarsync (geen Linux support),... en de djoef van de week gaat naar de eerste commentator die er nog een paar andere opsomt. 
Voor mij zijn dit de belangrijkste gelijkenissen en verschilpunten tussen Wuala en Dropbox:
- Wuala claimt dat je bestanden versleuteld worden vóór ze naar hun systeem gaan. Bijgevolg kan het personeel van Wuala jouw bestanden nooit lezen. Dit in tegenstelling tot Dropbox, waar alleen de verbinding versleuteld is.
- Beiden starten ze met een beperkte gratis ruimte (Dropbox 2GB, Wuala 1GB) die je kan uitbreiden door te betalen of via referrals. Bij deze geef ik mijn referral link voor Wuala:
http://www.wuala.com/referral/BH73565NBBPN6CJCJF5M - Daarnaast kun je bij Wuala extra storage verdienen door te ruilen met andere Wuala-users, in een Wuala-cloud. Daarover later meer.
Je kan het een beetje vergelijken met het uitwisselen van backupruimte met Crashplan.
Je pc moet dan wel minstens 4 uur per dag aan staan en goed bereikbaar zijn. Een correcte router- en proxy-configuratie zijn dan noodzakelijk. - LaCie is het moederbedrijf van Wuala, dus als je een LaCie harde schijf koopt, dan zit daar tegenwoordig een code bij voor extra Wuala-storage.
- Aangezien Dropbox zogezegd minder secure is dan Wuala, zou je de twee voor verschillende zaken kunnen gebruiken. Ik ga bijvoorbeeld mijn ebooks in Dropbox steken en mijn timesheets in Wuala. Mijn portable apps blijven voorlopig ook nog in Dropbox, zie blogpost: http://amedee.be/dropbox-portableapps-cloud-computing-ftw
- Dropbox en Wuala werken allebei op Windows, Mac, Linux, headless Linux (servers yay!), Android.
EDIT: Hans van Gent maakte er mij attent op dat Wuala ook compatibel is met iOS. Blijkbaar is iOS iets anders dan Mac.
De extra storage die je kan verdienen, wordt in principe berekend op basis van de gedeelde ruimte en hoe lang de pc online is. Bijvoorbeeld als je 10 GB aan de Wuala-cloud schenkt, en je pc staat 8 uur per dag aan, dan heb je 10 GB * 33% = 3,3 GB extra. De storage die je ter beschikking stelt, moet niet noodzakelijk allemaal op één pc zijn: de gedeelde storage wordt opgeteld. Bijvoorbeeld 10 GB 40% online en 20 GB 50% online geeft samen 14 GB extra. Wanneer je meer dan 20 GB deelt, wordt er ook rekening gehouden met hoeveel storage je effectief verbruikt.
Stel dat je een onderbenutte server hebt ergens in een datacenter, dan kan Wuala daar 24/7 op draaien. Als dat een Debian server is, dan vind je hier de installatie en een init script:
Post-Debian upgrade
Te fixen probleempjes na een Debian upgrade, voornamelijk als bookmark voor mezelf.
- Restanten van MySQL 5.0 verwijderen + phpMyAdmin deed wat raar:
sudo apt-get remove mysql-server-5.0
sudo apt-get purge phpmyadmin
sudo apt-get install phpmyadmin - SpamBayes spuwde een lelijke error:
Traceback (most recent call last):
File "/usr/bin/sb_filter.py", line 4, in <module>
import pkg_resources
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 2671, in
<module>
working_set.require(__requires__)
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 654, in
require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 552, in
resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: spambayes==1.1a6
De oorzaak was een versiesprong van Python. Debian Lenny had 2.4, Debian Squeeze heeft 2.6.6.
Oplossing: Spambayes 1.1a6 opnieuw downloaden van SourceForge, uitpakken, en installeren met:
sudo python setup.py install
Todo: blijkbaar is er al een versie 1.1b1 van SpamBayes - Ik had backup2l gepatcht, deze patchen waren weg door de upgrade. Door wat creatiever om te springen met
find, zijn de patchen zelfs niet meer nodig.
Dit is nu mijn nieuwe/etc/backup2l.conf(commentaren en lege lijnen weggelaten):
FOR_VERSION=1.5
VOLNAME="all"
SRCLIST=(/bin /etc /home /lib /opt /root /sbin /srv /usr /var
-path '/home/amedee/download' -prune
-o -path '/home/backup/crashplan' -prune
-o -path '/home/backup/intrepid' -prune
-o -path '/home/*/Maildir' -prune
-o -path '*/home/*/Maildir/*.Trash' -prune
-o -path '/lib/modules' -prune
-o -path '*lost+found' -prune
-o -path '*.nobackup*' -prune
-o -path '/usr/include' -prune
-o -path '/usr/share/zoneinfo' -prune
-o -path '/var/cache' -prune
-o -path '/var/lib/apt' -prune
-o -path '/var/lib/dpkg' -prune
-o -path '/var/lib/mysql' -prune
-o -path '/var/lock' -prune
-o -path '/var/log/apache2' -prune
-o -path '/var/mail' -prune
-o -path '/var/tmp' -prune
-o -path '/var/run' -prune
-o -path '/var/spool' -prune
-o -path '/var/www/squirrelmail' -prune
-o -path '/var/www/squid-reports' -prune
-o -path '*/.git' -prune
)
SKIPCOND=(
-type s
-o -name "*~"
-o -name "*.bak"
-o -name "*.o"
-o -name "*.old"
-o -name "Thumbs.db"
-o -wholename "*/home/*/Maildir/*dovecot*"
-o -wholename "/var/log/mail*"
-o -wholename "/var/www/sites/*/files/js/js_*.js"
)
BACKUP_DIR="/home/backup/intrepid"
MAX_LEVEL=2
MAX_PER_LEVEL=9
MAX_FULL=8
GENERATIONS=2
CREATE_CHECK_FILE=1
PRE_BACKUP ()
{
for script in /root/bin/hotcopy-*.sh
do
"$script" &
done
wait
}
POST_BACKUP ()
{
nice --adjustment=19 /usr/local/bin/timeout -t 3600 /usr/local/bin/hardlink.py -t /home > /dev/null
/root/bin/clearswap.sh
php /home/amedee/twitter/backup.php
}
AUTORUN=1
SIZE_UNITS=""
CREATE_DRIVER="DRIVER_MY_TAR_LZ"
Mijn tar.lz-driver staat hier.
TODO: sockets niet meenemen in de backup. - Drupal gebruikte geen Clean URLs meer.
Oplossing:AllowOverride Allaanzetten in/etc/apache2/sites-enabled/000-default, Apache herstarten en Clean URLs terug aanzetten in Drupal. - TODO: Apache status is niet meer bereikbaar op localhost/server-status (voor Munin).
- Shorewall startte niet wegens iptables probleem wegens modules niet geladen. Opgelost met
sudo apt-get purge linux-modules-2.6.26-2-xen-amd64
sudo apt-get install linux-modules-2.6.32-5-xen-amd64
Probleem en oplossing gevonden via- http://org.pc-freak.net/papers/iptables-tutorial.html#MODULEPROBLEMS
- http://wiki.pcprobleemloos.nl/using_lxc_linux_containers_on_debian_squee...
- Ook met dank aan Luc voor de feedback via mail.
- php5-imagick en php5-curl herinstalleren (deden een beetje lastig):
sudo apt-get purge php5-imagick php5-curl
sudo apt-get install php5-imagick php5-curl
Todo-lijstje
Ik maak voor mezelf eventjes een lijstje van dingen die ik eens zou moeten doen.
Debian upgrade op m'n webserver- DONE- Websites upgraden naar Drupal 7
- Webserver IPv6-ready maken (voor World IPv6 Day 2012)
- OpenVPN tunnel leggen van de router thuis naar de webserver
- Twitter API bestuderen en er iets nuttig mee doen
- Netbook (Acer Aspire One) herinstalleren met een barebones Ubuntu installatie.
- Prutsen met de Toshiba AC100 tot ik er een Android Market op krijg.
- Blogpost schrijven over de AC100 voor The Mobile Revolution.
- Partities op pc reorganiseren en btrfs in gebruik nemen.
- App schrijven voor mijn Karotz
- NAS aanschaffen
- Gaming pc kopen voor Annette
- Latijn leren
- Alle boeken lezen die ik de afgelopen 2 jaar gekocht heb
- Deftig werk maken van backups
- Schouw afbreken in bureau
- Badkamer renoveren
- Zolder isoleren en afwerken
To be continued...
/etc versiebeheer met git
Sinds ik dit jaar begonnen ben met programmeren (Java), ben ik ook in aanraking gekomen met versiebeheer. Meer bepaald gebruik ik nu git voor al mijn programmeeropdrachten van de avondschool.
Vandaag bedacht ik net dat git niet alleen gebruikt kan worden voor software development, maar ook voor versiebeheer van configuratiebestanden in /etc. Blijkbaar ben ik niet de eerste die daar aan denkt, want er bestaat zoiets als etckeeper. Met etckeeper worden de bestanden in /etc bijgehouden in een git, mercurial, darcs, of bzr repository.
Volgende stappen moeten als root uitgevoerd worden:
- Git en etckeeper installeren:
aptitude install git-core etckeeper
git config --global user.name "Amedee Van Gasse"
git config --global user.email amedee@vangasse.eu /etcinitialiseren als git repository:
cd /etc
git init- Enkele bestanden negeren:
cat > .gitignore
*~
*.dpkg-new
*.dpkg-old - Pas
/etc/etckeeper/etckeeper.confaan om ervoor te zorgen dat git gebruikt wordt:
# The VCS to use.
# VCS="hg"
VCS="git"
# VCS="bzr"Dit is alleen nodig op Ubuntu omdat die standaard mercurial gebruikt in plaats van git.
De rest van de configuratie laat je zoals ze is. - De huidige versie van
/etcin de git repository steken:
git add .
git commit -am "Initial commit"
Da's alles. Wanneer er vanaf nu via apt een wijziging gebeurt in /etc, dan wordt etckeeper automatisch aangeroepen om een nieuwe commit te doen.
Na manuele wijzigingen in /etc moet je juist nog het volgende doen:
Onmisbare console software
Anderzijds zijn er enkele commandline tools die ik absoluut niet kan missen, en die ik altijd als eerste installeer op iedere Ubuntu- of Debian-installatie:
Intrepid²: logging en monitoring
htop
Installatie:
vnstat
Installatie:
apachetop
Installatie:
mailtail.sh
Zelf geschreven scriptje:LOGFILE=/var/log/mail.log
SKIP='(dovecot|imap-login|fetchmail|postfix/anvil|qmgr.*removed|postgrey.*cleaning|timeout.after|lost.connection.after|policy-spf)'
tail -F --lines=100 --max-unchanged-stats=5 $LOGFILE | egrep -v $SKIP
apticron
Om dagelijks een mailtje te krijgen van beschikbare updates.Installatie:
/etc/aliases is al aangepast.
munin
Luc is zo vriendelijk om munin te draaien op zijn bakje. Ik moet alleen maar munin-node installeren:/etc/munin/munin-node.conf:
intrepid²: mailserver
http://www.debianadmin.com/debian-mail-server-setup-with-postfix-dovecot...
http://www.linuxmail.info/postfix-smtp-auth-dovecot-sasl/
sudo /etc/init.d/apache2 reload
intrepid²: ssh zonder wachtwoord
Voor wie nog geen RSA keypair heeft, lees eerst dit artikel: Password-less logins with OpenSSH.
Ik heb wel al een RSA keypair, dus voor mij is het gemakkelijk:
amedee@migration.amedee.be's password:
Now try logging into the machine, with "ssh 'amedee@migration.amedee.be'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
Linux intrepid 2.6.26-2-xen-amd64 #1 SMP Fri May 29 00:30:34 UTC 2009 x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
amedee@intrepid:~$
/etc/ssh/sshd_config: