27 februari 2006

XGL versus AIGLX

Na een paar slicke demo filmpjes van XGL en AIGLX in actie te hebben gezien was ik van plan zelf een stukje te gaan schrijven over de verschillen tussen en de voor- en nadelen van deze technieken, maar veel beter dan dit ga ik het niet voor mekaar krijgen. Lekker leesvoer over deze twee stukjes software die de desktop ervaring in Linux op z'n kop zullen gaan zetten, inclusief uitgebreid achtergrond verhaal.

AWStats

In tegenstelling tot Visitors kan AWStats wel met verschillende virtual hosts aan de gang. Dit is een behoorlijk voordeel mijns inziens, dus gaan we hier maar eens mee aan de slag. Te beginnen met de installatie:

$ sudo apt-get install awstats

Voor de configuratie heb ik vervolgens dit blogstukje geraadpleegd; ik zal hieruit de belangrijke punten even samenvatten:

  • cd naar /etc/awstats/
  • Kopieer hier voor elke virtual host waar je stats van wilt het bestand awstats.conf naar awstats.virtualhostnaam.conf waar virtualhostnaam iets is in de geest van avecpinguin.kikkum.net.
  • Ik heb nu de volgende aanpassingen gemaakt in dit nieuwe bestand:
    • Verander in LogFile="/var/log/apache/access.log" apache in apache2
    • LogFormat=4 moet LogFormat=1 worden.
    • SiteDomain="" moet zijn SiteDomain="virtualhostnaam".
    • In de volgende optie, HostAliases, kun je elke alternatieve naam voor je site (die heb je in kunnen stellen in je sites-available bestand met ServerAlias) aangeven. Volg hiervoor de aanwijzingen in de tekst erboven.
    • Verander DNSLookup=1 in DNSLookup=0. Deze optie zoekt als hij op 1 staat bij IP-adressen de domeinnamen op wat vertraging van je server veroorzaakt. Als dit je niet uitmaakt en je het toch leuk vindt om er namen bij te zien dan kun je hem op 1 laten staan.

Wat een gedoe. Nu maar eens starten dan:

$ sudo /usr/lib/cgi-bin/awstats.pl -config=avecpinguin.kikkum.net -update

Hiermee wordt er een database aangemaakt met data die vervolgens omgezet kan worden in mooie pagina's. Om deze database regelmatig te blijven updaten kun je er een cronjob van maken. Doe hiervoor

$ sudo crontab -e 0,10,20,30,40,50 * * * * /usr/lib/cgi-bin/awstats.pl -config=avecpinguin.kikkum.net -update >/dev/null 2>&1

En sluit hierna nano af met ctrl-x (sla het bestand op!). Nu wordt elke 10 minuten de database geupdate. Allemaal leuk en aardig, maar nu wil ik toch wel eens resultaten zien. Hiervoor gebruik ik methode twee van de Setup pagina op de AWStats site. Om dit te doen moet je nog wel even de Perl plugins voor Apache hebben geïnstalleerd. Dit doe je met

$ sudo apt-get install libapache2-mod-perl2 $ sudo /etc/init.d/apache2 force-reload

Ook moet Apache Perl bestanden weer kunnen geven in plaats van dat ie ze als downloadbare bestanden aanbiedt. Hiervoor is een aanpassing in de Apache configuratie nodig. Dit kunnen we netjes doen door een bestand /etc/apache2/conf.d/cgi-bin aan te maken met de volgende inhoud:

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

Je kunt het ook anders doen door een bestand /etc/apache2/conf.d/htaccess aan te maken met deze inhoud:

AllowOverride Options

In het eerste geval maak zorg je er voor dat alleen scripts die in de map /usr/lib/cgi-bin staan gestart mogen worden. Ze zijn dan te bereiken op adres http://domein/cgi-bin/script. Op deze manier kunnen alleen personen met toegang tot de cgi-bin map scripts toevoegen. Dit is dus de veilige manier. Wil je wat meer vrijheid dan kun je de tweede manier toepassen. Als je dit doet kun je door in willekeurige mappen een bestand .htaccess aan te maken de scripts in die map draaibaar maken. Je zet zo echter ook de kraan open voor een flinke hoop andere opties, dus qua veiligheid is dit niet de beste optie. Vertrouw je iedereen op je server echter volkomen dan kun je het bestand met de volgende inhoud opsieren om scripts in die map draaibaar te maken:

Options +ExecCGI

Ik heb gekozen voor de eerste optie, omdat het awstats.pl script al in de cgi-bin map geplaatst staat en ik in dit geval m'n systeem het liefst zo laat als het is. Je kunt nu dan dus eindelijk (na nog een korte $ sudo /etc/init.d/apache2 force-reload) je statistieken bekijken met een URL als http://kikkum.net/cgi-bin/awstats.pl?config=avecpinguin.kikkum.net.

En dat ziet er al meteen een stuk beter uit dan visitors! Sowieso is het leuk dat het in het Nederlands is (zou iemand met een Engels of anderstalig OS eens kunnen checken of dat voor iedereen persoonlijk wordt veranderd?) maar ook de layout is wel lekkerder en sowieso staat de info er een stuk duidelijker op. Een succes verhaal dus.

26 februari 2006

Visitors

Visitors is een geinig klein progje om een lijstje statistieken over je sites te maken. Dit gebeurt op basis van je Apache logs (gebruik van Apache is dus wel een vereiste). Om het te installeren doen we even

$ sudo apt-get install visitors

Nu heb je een aantal mogelijkheden om het te draaien. Laten we beginnen met de simpelste methode. Ga hiervoor voor het gemak even de map /var/log/apache2 binnen. Doe vervolgens

$ visitors -o text access.log | less

Je krijgt dan in je terminal een lijstje met nog vrij basale statistieken te zien die gelden voor al je sites. Apache maakt overigens standaard elke week een nieuwe log file aan zoals je kunt zien. De ouderen worden daarnaast ook nog gecomprimeerd met gzip. Je kunt in plaats van access.log natuurlijk ook een van deze andere logfiles bekijken. Al met al echter allemaal nog niet bijster spectaculair, maar weest niet bevreesd; er is zoals gezegd echter meer. Een andere, al vrij coole output methode is de volgende:

$ visitors -A access.log -f ~/log.html

Dit commando genereert een html bestand ~/log.html met daarin een nog grotere bult statistieken dan in het eerste commando. Nog leuker wordt het echter als je dit proces nu om de zoveel minuten zou kunnen herhalen om live-statistieken bij te kunnen houden... en natuurlijk voorziet visitors hierin. Geef hiervoor een commando als volgt:

$ visitors --stream -A -f ~/public_html/livelog.html access.log &

Vergeet vooral de & op het eind niet; deze zorgt ervoor dat het programma op de achtergrond blijft draaien terwijl je andere dingen kunt gaan doen. Nu is op livelog.html om de 10 minuten een geüpdate versie van het uitgebreide log te zien. Leuke functie dus.

Jammer genoeg wordt in al deze informatie niet aangegeven via welke virtual servers er op je sites wordt gekeken. Je kunt dus eigenlijk alleen maar de totaalscores bekijken, maar als je gedetailleerdere info wilt zul je het ergens anders moeten gaan zoeken. Dat is dus precies wat ik ga doen (het ergens anders zoeken), maar voorlopig is dit wel even een leuk stukje speelgoed.

P.S.: Voor wie het leuk vindt is hier mijn live logje te bewonderen. Hoe lang ik hem door zal laten updaten is echter nog maar de vraag, maar dat merk je dan vanzelf wel.

ATI Radeon drivers

Met nieuwe technieken als XGL up and coming lijkt het me tijd om de 3D acceleratie van m'n ATI Mobility Radeon 9600 kaartje eindelijk eens op orde te brengen. Mijn eerdere poging hiertoe liep niet helemaal lekker, maar op basis daarvan ga ik het toch nog maar een keer proberen.

Te beginnen met de installatie van het driver pakketje voor xorg:

$ sudo apt-get install xorg-driver-fglrx

Vervolgens gaan we aan de edit met het bestand /etc/X11/xorg.conf. Verander hier onder het kopje Section "Device" de Driver van ati naar fglrx. Alvorens nu de x-server te herstarten met ctrl-alt-backspace is het handig eerst nog even de module voor fglrx te laden met

$ sudo modprobe fglrx

Als je nu dus je x-server herstart heb je als het goed is 3D ondersteuning in je X... En dat is bij mij inderdaad het geval! Een snelle test met TuxRacer (te halen bij apt-get) brengt ons tot de blijde conclusie dat de 3D acceleratie werkt als een tiet. Wat er nou de vorige keer in hemelsnaam fout ging? Of lag dat nou aan de 64 bits driver die ik toen nog nodig had...

In elk geval, om het verhaal even mooi af te maken is het handig de module even aan /etc/modules toe te voegen. Open dus de file en voeg een regel toe met daarop enkel het woord fglrx. Klaar ben je!

Sox

Sommige programma's, zoals aMSN, hebben niet de mogelijkheid om geluid af te spelen ingebouwd, maar wel om een ander programma het werk te laten doen (zie vorige post over aMSN). Als je hiervoor het terminal programma play wilt gebruiken (speelt een hoop formaten af waaronder mp3, wav en ogg) zul je in Ubuntu eerst nog even het sox pakket moeten apt-getten. Tis maar dat je het ff weet.

$ sudo apt-get install sox

Toetsenbord indelingen

Om een of andere reden werkt in Breezy het veranderen van toetsenbord indelingen bij Systeem -> Voorkeuren -> Toetsenbord niet. Ik wil er Amerikaans-Engels Internationaal van maken zodat ik trema's kan typen, maar Ubuntu schijnt het hier niet mee eens te zijn. Nederlands laat me wel trema's typen, maar die komt niet overeen met al m'n toetsen (aanhalingstekens worden dubbele punten, enzovoort).

Eens kijken hoe we dit kunnen fixen dus. En hopsa, daar hebben we het! Kleine vertaling van stap 3 (in ieder geval, hoe ik het heb gedaan): zet al je instellingen terug naar hoe ze waren en stel daarna de indeling in die je wilt hebben. Als het goed is werkt hij nu wel.

Dit gedoe is dus een blijkbaar bekende en vrij ernstige bug in Ubuntu Breezy. Beetje jammer. Maar goed, zolang het op te lossen is hoor je mij verder niet klagen.

25 februari 2006

Liferea 1.0.6

Naast een paar kleine bugfixes is deze versie nu inclusief Nederlandse vertaling die zich wat meer aan de GNOME richtlijnen houdt en bovendien bevat hij een paar extra Nederlandse standaard feeds! Hierzo neder te halen voor uw Ubuntu.

Update: De nieuwe vertaling is om de een of andere reden slechts deels aan de nieuwe versie toegevoegd; het vertalingsbestand bevat alleen in het begin een paar van de nieuw vertaalde delen en is voor de rest weer gewoon gelijk aan de oude. Beetje raar natuurlijk, dus ik zal die beste man nog maar eens mailen.

21 februari 2006

Zalm op z'n giecheltje

Zalm staat er wat sip bijMogen we even een applausje voor het VVD-campagneteam? Brilliant om de toch al (om niet altijd even duidelijke redenen) ontevreden kiezers op te roepen de regenten nu eens lekker keihard te negeren! Erg jammer natuurlijk als je vervolgens een beetje onzin blijkt uit te kramen. Wel stijlvol dat ons aller vice-premier alle verantwoordelijkheid neemt. Je zou inderdaad haast medelijden met 'em krijgen...

Edit: Mocht u het nog niet doorhebben; ik ben ineens flink aan de nieuwsfeeds. Mede mogelijk gemaakt door Liferea!

Liferea 1.0.5

En daar istie dan, de nieuwste Liferea, deze keer helemaal in het Nederlands! Deze heerlijke nieuwe versie (sorry, ik zal proberen me in te houden, maar een beetje opscheppen mag wel toch?) is natuurlijk vers van de pers en dus nog niet te verkrijgen via onze lieve apt repo's. Omdat ik echter zo enthousiast ben dat ik iedereen wil laten genieten (hopelijk) van dit stukje werk heb ik besloten er zelf even een debje voor te koken.

Natuurlijk hebben we voor dit recept allereerst de nieuwste source van het progje nodig. Pak deze uit (tar -xzf) en zet de uitgepakte map voor het gemak even in een nieuwe map. Ga dan deze map binnen en doe

$ wget http://archive.ubuntu.com/ubuntu/pool/universe/l/liferea/liferea_1.0.4.orig.tar.gz $ wget http://archive.ubuntu.com/ubuntu/pool/universe/l/liferea/liferea_1.0.4-1ubuntu2.dsc $ wget http://archive.ubuntu.com/ubuntu/pool/universe/l/liferea/liferea_1.0.4-1ubuntu2.diff.gz $ dpkg-source -x liferea_1.0.4-1ubuntu2.dsc

om de nieuwste deb source van Liferea uit de Ubuntu repositories (versie 1.0.4, eigenlijk bedoeld voor Dapper Drake, de volgende versie van Ubuntu) te downloaden en uit te pakken. Het plan is nu om de bestanden in die deb source die gebruikt worden om er een deb van te maken te gebruiken om van de 1.0.5 source ook een deb te kunnen maken. De enige extra directory in de deb source is de debian map, dus deze kopiëren we meteen maar even naar de liferea-1.0.5 map uit de nieuwste source. Ga vervolgens deze liferea-1.0.5 directory, nu inclusief debian map, binnen voor het volgende spannende deel.

Namelijk het aanpassen van de bestandjes in de debian map aan deze nieuwere versie van Liferea. Na een korte inspectie lijkt dat echter neer te komen op enkel een kleine toevoeging aan het changelog bestand, en wel de volgende:

liferea (1.0.5-1) dapper; urgency=low * New upstream release. -- Patrick Bos Tue, 21 Feb 2006 18:00:00 +0100

Ziet er wel grappig uit dacht ik zo. Nu even weer zorgen dat je in de liferea-1.0.5 map terecht komt en dan

$ fakeroot dpkg-buildpackage

Ik moest hiervoor eerst nog weer even een aantal dependencies ophalen (libgtkhtml2-dev, firefox-dev en libdbus-glib-1-dev), maar daarna; holladiejee, daar is je lekkere nieuwe Nederlandse Liferea pakketje! Maar dat niet alleen, er is meteen een hele reeks aan leuke spulletjes bijgemaakt, zoals de liferea-gtkhtml en liferea-mozilla pakketten (voor de HTML weergave in het programma) en bovendien de bestanden die je normaal gesproken binnenkrijgt als je een deb source ophaalt met apt-get. Wat leuk!

Voor de hele reeks bestanden kun je natuurlijk weer terecht op m'n debjes pagina; ook de source is dus deze keer hier op te halen, voor als je hem zelf ff in elkaar wilt zetten voor bijvoorbeeld op je Mac of op je 64bits Ubuntu.

Updateje: Blijkbaar heb ik me niet helemaal aan de GNOME vertalers regels gehouden. Gaan we even fixen dan. Tot die tijd kan er echter natuurlijk prima gebruik gemaakt worden van deze "foute" vertaling.

Gesteggel op het spoor

Het blijft een geliefd onderwerp voor onze dagelijkse portie geklaag en gezeur: de gigantische vertragingen die de grote boze Nederlandse Spoorwegen ons blijven voorschotelen. Deze keer hebben ze echter positief nieuws weten te produceren. Relatief gezien zijn we er namelijk volgens de statistici niet eens zo slecht aan toe, vergeleken met de rest van de wereld! Wat een verrassing. Natuurlijk heb je altijd die zeikerdjes van Rover die de boel willen verzieken, maar laat dat de pret niet drukken. Driewerf hoera voor onze spoorweg kampioenen!

20 februari 2006

Programma's (Liferea in dit geval) vertalen

De Liferea site heeft een paginaatje met reviews en blog stukjes, dus ik meteen maar even mijn linkje mailen vergezeld van een samenvatting van de belangrijkste punten van kritiek die ik had, waaronder het ontbreken van de Nederlandse vertaling. Als reactie hierop kreeg ik de aansporing het zelf maar eens te gaan vertalen en aangezien de beste man zelfs aanwees welk bestand ik met welke programma's zou kunnen gaan editen besloot ik dit maar eens te gaan proberen.

Het programma dat me werd aangeraden is gtranslator, conveniently neer te halen bij uw plaatselijke apt-get. Vervolgens hebben we uit de source de file po/liferea.pot nodig. Pak dus de source uit en open deze file met gtranslator (te vinden in Toepassingen -> Ontwikkeling). Voor je hem opent is het echter misschien ook handig even bij Bewerken -> Voorkeuren alles in te vullen; vooral onder Kop, waar je je naam en andere standaard opties in kunt stellen. Handig voor als je credits voor je werk wilt.

Het vertalen met dit programma gaat enorm handig. Het programma houdt precies bij welke delen er al vertaald of niet vertaald zijn en ook welke delen er onzeker zijn (dit kun je zelf per vertaling aangeven). Je hebt twee hokjes met tekst; in de bovenste komt een stuk te vertalen tekst te staan en in de onderste typ je vervolgens de vertaling. Hierna druk je op de Volgende knop en zo ga je alles bij langs. Makkelijk zat! Let wel even op dat je het bestand niet op moet slaan als liferea.pot, maar als nl.po (of met een andere taalcode als je niet naar Nederlands vertaalt).

Het compileren gaat niet meteen helemaal goed, maar een check met

$ msgfmt -cvv nl.po

wijst uit dat dit ligt aan de regel met meervoudsregels; dit dus maar even handmatig met gedit verbeterd volgens de suggestie die het programma gaf. Compileren gaat nu prima! Je hebt dan dus geloof ik een voor het programma bruikbaar bestand. Nu kun je volgens de normale procedure het programma compileren en als je Nederlands als standaard taal hebt ingesteld zal het programma dan in het Nederlands verschijnen (als je vertaling tenminste Nederlands was)!

Het uiteindelijke resultaat is hier te vinden voor de ongeduldigen onder u en hopelijk ook in de volgende Liferea versie (ik heb het bestand naar de hoofdman gestuurd). Eindelijk eens wat teruggegeven aan de Linux gemeenschap!

19 februari 2006

GnoeMoe 2.0.4-1

Efkes weer een updateje, alleen was het i386 Ubuntu pakketje nog niet gefixt. Zorgen we even voor dus (ik tenminste wel; als je er zelf geen zin in hebt, skip dan naar de onderkant van de post, daar staat de link naar het resultaat). Icecrew heeft echter jammer genoeg nog geen handige apt repository, dus moeten we even zelf de bestandjes neerladen; haal van hierum de bestanden die beginnen met gnoemoe_2.0.4 (behalve de .asc en .deb). Gooi ze bij mekaar in een mapje en doe daar vervolgens

$ dpkg-source -x gnoemoe_2.0.4-1.dsc

Ga de gnoemoe-2.0.4 map binnen en doe

$ fakeroot dpkg-buildpackage

Klaar is je verse GnoeMoe (tenzij je nog wat dependencies moest apt-getten, maar dat moet geen probleem zijn)! Dit werkt natuurlijk net zo goed als je op een ander platform dan i386 werkt (Macintosh bijvoorbeeld). Natuurlijk kun je dit hele verhaal ook weer prima negeren en gewoon lekker het debje downloaden van m'n debjes pagina.

18 februari 2006

Liferea Mozilla-engine

Om in Liferea HTML pagina's weer te geven kun je kiezen uit twee weergave engine's: de automatisch meegeïnstalleerde GtkHTML2 engine en de Mozilla engine. Nu kwam ik er zojuist achter dat de eerste niet bepaald geweldig werkt voor een aantal pagina's, dus kan ik sterk aanraden het liferea-mozilla pakket ff te apt-getten en vervolgens in de Liferea preferences onder Browser bij "View Headlines With" Mozilla te kiezen. Even het progje opnieuw starten en je Item Pages zien er een stuk beter uit.

Limewire

Limewire is een client voor het Gnutella p2p netwerk. Op dit netwerk is vooral een hele hoop losse mp3tjes te vinden. Limewire is gemaakt met Java en is dus zowel in Linux als in Windows en alle andere OSen die een Java VM hebben te draaien. Afgezien van de reclame, de melding dat je een Pro versie kunt kopen bij het opstarten en de wat drukke indeling van het programma is het best een fijn, compleet en gebruiksvriendelijk ding.

Op de installatie na natuurlijk. De Unofficial Ubuntu Starter Guide heeft er een stukje voor geschreven, maar dit werkt bij mij niet helemaal. De volgende wijzigingen in het stappenplan zorgen er echter voor dat je prima aan de slag kunt:

  • 3. Sla hier de laatste regel over.
  • 4. Sla deze stap helemaal over.
  • 5. En deze moet je dan natuurlijk ook niet doen.
  • 6. Hier kun je het eerste commando achterwege laten.
  • 7. Verander hier het pad achter "Exec=" in /opt/LimeWire/runLime.sh. De rest is wèl goed zo.

Liferea reviewtje

Vanwege de lekkere integratie die Evolution biedt in de rest van Gnome (o.a. in de kalender die je krijgt als je de klok/datum-applet aanklikt en in Beagle) ben ik weer afgestapt van Mozilla Thunderbird. Een nadeel van Evolution ten opzichte van Thunderbird is echter dat het geen feeds (RSS, Atom, enzovoort) weer kan geven. Nu kan ik natuurlijk weer teruggaan naar de Live Bookmarks functie van Mozilla Firefox, maar ik heb goeie dingen gelezen over Liferea, dus gaan we dat eens uitproberen.

Installeren gaat gewoon door het liferea pakket met apt-get te installeren. Geen problemen wat dat betreft dus. Meteen maar eens starten dus in het Toepassingen -> Internet menuutje. Het eerste wat opvalt is zoals in de meeste Gnome programma's het strakke, schoongepoetste uiterlijk. Dit wordt echter een beetje ontsierd door een blauwige balk met menu's; had van mij niet gehoeven. Ook is het een beetje jammer dat ik niet automatisch een Nederlandse versie krijg.

Als je bovendien gewend bent aan de luxe die Thunderbird je biedt wat betreft weergave, namelijk volledig in HTML, zul je op het eerste gezicht in Liferea van een koude kermis thuis komen. De inhoud van de feeds wordt namelijk ontdaan van de originele opmaak. Vervolgens komt er weliswaar een standaard Liferea sausje overheen, maar meestal heeft de originele opmaak toch een leukere uitstraling.

Klinkt tot zover niet bepaald positief dus. Als je er echter even over nadenkt is het misschien helemaal zo gek nog niet om gewoon alleen de tekst op te halen; dit levert je natuurlijk een snelheidswinst op. Bovendien kun je wel gewoon op de link van het item klikken om de HTML versie te bekijken (als je dit in Liferea zelf wilt laten weergeven moet je bij Preferences even onder Browser "Open links in Liferea's window." aanvinken en het programma opnieuw starten). Hier komt nog eens bij dat het programma behoorlijk snel opstart. Wat betreft snelheid is dit programma dus zeker een aanrader.

Ook de indeling van het programma is lekker overzichtelijk. Aan de linkerkant staan alle feeds, in te delen in mappen, maar vooral de handige Unread "map" is erg handig; al je ongelezen items ga je zo snel bij langs. Aan de rechterkant kun je kiezen tussen een weergave met bovenaan een lijst van artikelen en onderaan het artikel zelf en een weergave waarin alle artikelen gewoon direct onder elkaar staan. Vooral deze laatste weergave in combinatie met het Unread gebeuren geeft je de mogelijkheid om snel door al je nieuws, blogposts en ander feedsel te bladeren, zonder telkens al je aparte feed mappen door te zoeken, zoals in Thunderbird en Firefox.

Er is na de installatie al meteen een flinke verzamling feeds aanwezig (vooral van sites over open source software). Hier nemen we natuurlijk echter geen genoegen mee, maar het toevoegen van feeds gaat gelukkig erg gemakkelijk met de New Feed knop. Als ze eenmaal toegevoegd zijn kun je bovendien voor elke feed instellen hoe vaak je hem up wilt daten en hoeveel items er bij elke update opgehaald moeten worden. Zelfs is het mogelijk een wachtwoord en gebruikersnaam in te stellen voor als je privé feeds wilt bekijken die dit nodig hebben (ik ben ze nog nooit tegengekomen, maar het is ongetwijfeld erg cool).

Al met al moet ik zeggen dat ik dit progsel goed zijn werk vind doen. De keuze die gemaakt is wat betreft snelheid versus eye-candy pakt voor mij redelijk goed uit; uiteindelijk gaat het in de meeste gevallen natuurlijk om de inhoud van de items. Ik kan me echter voorstellen dat er mensen zijn die liever direct hun zooi weergegeven zien in volle HTML glorie. Het lijkt mij dus geen slecht idee de mogelijkheid om alles in HTML weer te geven toe te voegen, in elk geval als keuze naast de standaard kale weergave.

Ik geef Liferea een 7,5; het loopt best lekker, maar het is nog voor verbetering vatbaar.

16 februari 2006

Nieuwe URL!

Avec Pinguin is verhuist! Vanaf vandaag ben ik te bereiken (hopelijk) via avecpinguin.kikkum.net, avecp.kikkum.net, ap.kikkum.net, apinguin.kikkum.net en avec-pinguin.kikkum.net. Moet wel lukken dus dacht ik zo. Even de bookmarks updaten dus (ook de feed)!

Exit the Hendrik

En tot zover het Hendrik tijdperk! Enerzijds was het best leuk wat anders er tussendoor te lezen, maar anderzijds voelde het toch niet helemaal lekker om iemand anders met mijn kindje bezig te zien zijn (slechte metafoor, maar u get het punt). Hij gaat dus weer lekker verder met programmeren en waarschijnlijk hoor je via mij nog wel eens wat van hem. Als je zin hebt z'n huidige projectje (B3Dengine, een simpele 3D engine) even uit te checken kan dat alhier.

15 februari 2006

Nokia 6230 via infrarood: Wammu, Gammu en Obex

Infrarood op stoom, klaar om er iets mee te gaan doen. In mijn geval komt dit neer op kloten met m'n Nokia 6230, maar de hier beschreven programma's werken ook (soms misschien zelfs beter) met een breed scala aan andere mobiele telefoons (zie bijvoorbeeld hier). Dus let's talk business:

Weer veel dank aan de mensen uit Utopia.

Wammu

Eerste agendapunt: Wammu, een mooi progseltje in Gnome style, waarmee je een aantal basis dingen kunt doen. Zo kun je SMSjes ophalen en opslaan, je belstatistieken bekijken en een aantal kalender functies gebruiken. Vooral dat laatste is misschien interessant voor mensen die hun digitale agenda willen synchroniseren, hoewel er nog geen integratie is met programma's als Evolution (wellicht een leuk idee voor als iemand wat tijd over heeft) en je dus wel zelf alles over zult moeten typen.

Maar laten we het eerst even installeren. Omdat het deb pakket dat de beste man al gemaakt heeft voor Debian is en niet werkt onder Ubuntu, omdat het vraagt om een andere versie van Python dan degene die in Ubuntu standaard is (namelijk die welke in Debian standaard is), zullen we er zelf even één aan moeten maken (of in elk geval moest ik dat doen en kunnen jullie het vervolgens gewoon downloaden van mijn superduper eigen-Ubuntu-debjes pagina). Voeg hiervoor aan /etc/apt/sources.list toe:

deb http://debian.cihar.com/ unstable gammu deb-src http://debian.cihar.com/ unstable gammu

Voor we nu verder gaan is het handig (en essentieel) als je even de pakketten build-essential en fakeroot installeert met apt-get; dit heb je nodig om het pakket te bouwen (en sowieso voor als je zelf wel eens wat knutselt met sources van progsels). Doe vervolgens

$ apt-get source wammu

Vervolgens sprinten we de zojuist aangemaakte map (wammu-nogwat) binnen en toetsen we

$ fakeroot dpkg-buildpackage

gevolgd door de ons zo geliefde Enter knop. Het kan zijn dat dit ding zegt dat je nog een paar pakketjes moet hebben (ik had debhelper en python-dev nog niet, maar gelukkig had ik nog een paar dubbele pikachu's om te ruilen!) dus die haal je dan nog ff met apt binnen.

En nu dat geregeld is maak je het af als volgt:

$ sudo dpkg -i wammu_bla $ sudo apt-get -f install $ sudo apt-get install python2.4-gammu

Een kleine opmerking is hier wel op zijn plaats, want voor het geval je meteen in paniek raakt: het eerste commando hoort niet te werken, want dit wordt vervolgens met behulp van het tweede commando handig gefixt. En dan is je Wammu gereed voor gebruik! Hij staat zelfs al in je Toepassingen -> Hulpmiddelen menutje (bij mij tenminste).

Nou ja gereed; er moet natuurlijk nog wel een beetje geconfigd worden, maar als je infrarood (of bluetooth, daar kan Wammu ook mee overweg) goed werkt en je telefoon klaar is om te verbinden dan is dit een kwestie van in het programma bij het menu Wammu op Search phone te klikken en vervolgens Phone -> Connect te doen. Wil je nu data van je mobieltje plukken dan kan je dat doen vanuit het Retrieve menu. De rest spreekt voor zich lijkt me.

Gammu

Met Wammu kun je dus een paar dingen zoals SMS ophalen lekker makkelijk in een grafische omgeving doen, maar voor de echte power moet je toch bij Gammu zijn. Dit command-line progje kan bijna alles uit je telefoon halen of er juist in stoppen (mits je telefoon dit ondersteunt natuurlijk, wat die van mij helaas niet doet). Ook zijn alle opties veel meer aan te passen aan je eigen smaak. Ter illustratie: als het toetsenbord van je telefoon niet meer werkt, maar je bent verbonden met een computer met Gammu, hoef je je geen zorgen te maken over de inhoud van je mobieltje.

Zoals de meeste powertools in Linux heb je echter ook bij deze het nadeel dat de gebruiksvriendelijkheid ver te zoeken is; het is een puur terminal programmaatje. De man is echter behoorlijk uitgebreid dus volkomen verloren ben je ook weer niet. Zo vertelt dit handige documentje je hoe de boel te configgen zodat een verbinding is op te zetten. Je doet dit namelijk door een bestand ~/.gammurc aan te maken of te editen en er iets in de trant van

[gammu] port = /dev/ircomm0 connection = irda

in te zetten (in het geval van een infrarood verbinding dus). Wat je ook kunt doen is voor port en connection de data uit ~/.Wammu gebruiken als je in Wammu Search Phone hebt gedaan om je telefoon te identificeren; zo weet je zeker dat je de goeie verbinding krijgt. Om te kijken of je nu verbinding krijgt doe je

$ gammu --identify

Als dat lukt kun je alle opties eens uitproberen. De man staat er echt stamp en stamp vol mee, dus leef je uit!

Obex

Wat met Gammu en Wammu niet mogelijk is, namelijk de inhoud van de mappen op de Nokia 6230 waarin o.a. foto's en geluidsopnames worden opgeslagen (de Galerij dus) bekijken, downloaden en opvullen met nieuw spul, kan met ObexFTP gefixt worden. Dit is een programma waarmee je met behulp van het Obex protocol via infrarood kunt FTP'en met je mobiele apparaatje. Om te kijken of je telefoon dit protocol ondersteunt kun je hem even klaar maken voor verbinding en

$ sudo irdadump

doen. Je krijgt dan bij de output van je mobiel (je herkent hem als het goed is wel) een lijstje van de ondersteunde protocollen te zien. Mijn 6230 geeft bijvoorbeeld

14:21:23.802796 xid:rsp bd989468 < 00000b20 S=6 s=2 Nokia 6230 hint=b125 [ PnP Modem Fax Telephony IrCOMM IrOBEX ] (27)

Hij ondersteunt dus gebruik van PnP ... IrCOMM en IrOBEX; de laatste hebben we zoals u ziet nodig in dit geval. Om ObexFTP te installeren doe je gewoon

$ sudo apt-get install obexftp

Nu kun je natuurlijk de stoere bikkel uit gaan hangen door alles gewoon via de terminal te doen met dit progje, maar als je liever een GUI gebruikt moet je bij ObexTool zijn. Om dit ietwat lelijke progje aan de gang te krijgen gaan we als volgt te werk:

Download eerst van hier de (binary) pakketten obextool en tablelist. Vervolgens installeren we deze hap met

$ sudo apt-get install bwidget $ sudo dpkg -i tablelist $ sudo dpkg -i obextool

Om nu je Galerij (of iets anders op een ander apparaat) binnen te komen zet je je mobiel in infrarood-stand en start je het programma met

$ obextool

Het programma zelf spreekt weer redelijk voor zich; downloaden van bestanden en ook uploaden gaat zo wel lekker. Fijn dan!

Het kan echter nog gaver met ObexFS. Hier kun je info vinden over dit programma waarmee je je Galerij (ofzo) kunt mounten! Ik heb echter eerst wel even genoeg gehad van dit alles, dus als iemand hier enorm veel zin in heeft moet ie het zelf even uitzoeken. Mijn mobiel is nu dus in ieder geval volledig vanuit Linux te gebruiken, ook al levert Nokia geen fatsoenlijke tools voor Linux. Mooi voor elkaar dus.

Infrarood poort

Na een redelijke bult gekloot en wederom de hulp van een paar Utopianen is het me uiteindelijk gelukt de infrarood poort op mijn laptop prima werkend te krijgen (het bleek uiteindelijk zelfs vrij simpel te zijn). Dit om verbinding te kunnen maken met m'n mobieltje (Nokia 6230; alles is te accessen, zie daarvoor een volgende post). Vandaag dus even een spoedcursus Infrarood poorten installeren onder Ubuntu. Laten we meteen beginnen met het belangrijkste:

$ sudo apt-get install irda-utils

Hiermee installeer je een bultje tools die verbindingen op kunnen zetten via de poort. Om nu je poort automatisch te laten activeren kun je het handigst even rebooten (voor zover ik weet; misschien kan het ook wel anders, maar dat heb ik niet geprobeerd), Ubuntu detecteert en activeert dan automatisch de boel. Dit geldt trouwens wel alleen als je een infrarood poort hebt die ondersteund wordt door een van de drivers in het irda-utils pakket, maar volgens mij is de makkelijkste manier om hier achter te komen bovenstaande procedure. Je weet dat de boel werkt als er bij

$ ifconfig

een stukje met de kop irda0 bij is gekomen.

Om het feest nu compleet te maken voeg je nog even een lijntje met

ircomm-tty

aan /etc/modules toe en doe je om nog een reboot te voorkomen ook meteen even

$ sudo modprobe ircomm-tty

Nu kun je ook met sommige programma's die liever een bestandje in /dev hebben om het infrarood ding te gebruiken aan de gang. Er zijn nu namelijk een 32 tal bestanden bij gekomen onder de naam /dev/ircomm# waar # een getal in de reeks 0 t/m 31 is. Vul een van deze bestandsnamen dus in als er in zo'n programma (Wammu bijvoorbeeld, zie ook volgende post) om een device wordt gevraagd.

Als je meteen even wilt spelen met je infrarood apparaatje kun je dit even proberen:

$ sudo irdadump

Je krijgt als alles goed werkt dan de hele tijd te zien wat de poort ontvangt (hierbij staat standaard de naam van je eigen computer). Leuk speelgoed!

09 februari 2006

Partities naar de knoppen? Geen nood!

Hoe het allemaal begon

Zoals eerder gepost kan defrag in Linux je ext3 schijfje lekker opkloten. Het is dan ook eigenlijk bedoeld voor ext2 schijven; er wordt geen rekening gehouden met de extra's die ext3 biedt. Het is namelijk zo dat de basis van deze bestandssystemen gelijk zijn, maar ext3 heeft er journalling bij. Hierom kan een ext3 schijf in principe ook gebruikt worden als ext2 schijf, maar wanneer je dat doet wordt er geen rekening gehouden met het journal en raakt de boel dus in de knoop.

Anyway, ik had dus m'n home partitie gedefragmenteerd, ext2 style, maar hierna werd de partitie niet meer gemount als ext3 schijf. De wijsheid uit de vorige alinea had me ertoe kunnen brengen de schijf als ext2 te proberen te mounten, maar in plaats daarvan besloot ik raar te gaan doen. Ik kon namelijk ook niet meer inloggen met Linux (logisch natuurlijk als je bestanden niet meer te bereiken zijn) en dus dacht ik dat misschien de fout hersteld kon worden door even Ubuntu opnieuw te installeren. Dit ging echter behoorlijk mis; tijdens het formatteren van de partitie voor Ubuntu liep de installatie vast en moest ik de computer uitzetten met de knop; ziedaar partitie fuckup numero dos.

Gelukkig was Windows nog wel aanwezig en hoewel ook deze steeds slechter leek te booten om reasons yet unknown kwam ik er af en toe nog wel in. Hier heb ik toen gezocht naar een oplossing om de bestanden op m'n home partitie te kunnen recoveren en die vond ik in de vorm van R-Linux, een handig ext2 partitie recovery tooltje voor Windows. Ideaal dus!

Helaas werd ik toen een beetje overmoedig en besloot ik het later wel even te regelen; de tools waren immers klaar voor gebruik en ik had tentamens om voor te leren. Little did I know dat dat de laatste keer zou zijn dat ik m'n oude Windows zag. Een dag later kwam ik niet meer door de boots heen, doordat de harde schijf telkens leek uit te schakelen tijdens het opstarten. Erg vreemd allemaal. Ik had het vanaf dat moment kunnen doen met Ubuntu Live CD's, maar dat zou jammer zijn geweest, want de grootste fuckup moest nog gemaakt worden!

Ik besloot namelijk maar een setje Partition Magic rescue disks erbij te pakken. Normaal gesproken werkt dit allemaal prima, maar de staat van m'n compie in combinatie met een poging tot opnieuw partities aanmaken resulteerde in weer een vastloper en een 5-seconden-uitknop-ingedrukt-houden. Als ik even gewacht had was de vastloper misschien nog los gekomen, maar door deze niet enorm doordachte actie werd, als grote klap op de al vrij sierlijke vuurpijl, de hele boel echt volkomen onbootbaar. En ja, wanhopig als ik was greep ik toen terug op de Windows XP installatie cd om in de reparatie console FIXMBR (een commando dat normaal gesproken de Windows bootloader installeert) te doen... resulterend in een volgens Partition Magic volledig lege schijf! AAAARGH!!! Partitietabel/MBR kapot dus.

<egotrip>Nu wil ik niet opscheppen over hoe heroïsch en volhardend ik toch vastberaden bleef om, ondanks de redelijk slechte kansen om er nog iets van te maken die bovendien keihard bevestigd werden door anderen, toch vol te houden om mijn home partitie te proberen te redden, maar ik doe het bij deze toch maar even; het heeft z'n resultaat namelijk gehad. Exit Common Joe Patrick, enter Partitie Rescue Master Deluxe!</egotrip> Goed, waar was ik...

Live CD to the rescue

Zonder hardeschijf om van te booten of om wat dan ook mee te doen, zat er niet veel anders meer op dan de Ubuntu Live CD er bij te pakken en van daaruit eens op zoek te gaan naar tools om de boel te fixen. Internet en vooral ook GnoeMoe (om op Utopia te komen) waren in dezen mijn grote bondgenoten. Het is gelukkig mogelijk om op een met een Live CD geboot systeem toch programma's te installeren, hoewel je dat dus wel bij elke reboot weer opnieuw moet doen. De mensen op Utopia zijn echter van genoeg waarde om telkens GnoeMoe weer op te halen.

Vanaf dit systeem kon ik dus in principe alles weer met de schijf doen, hoewel er niets meer op leek te staan. Dit kwam dus door het vernielen van de partitietabel, een stukje code aan het begin van iedere harde schijf. De bestanden op de oude partities zijn er echter nog wel, zolang je niet je schijf gaat formatteren; ze kunnen alleen niet meer gevonden worden, omdat de partitietabel de informatie bevat over waar de partities zich bevinden. Hoe komen we dan toch bij de bestanden?

gpart

Na een beetje in de man's van parted en fdisk te hebben rondgesnuffeld kwam ik op het spoor van het programma gpart. Dit progseltje scant de volledige inhoud van je harde schijf en kan op die manier zien waar partities staan en zelfs wat hun bestandssysteem is, zonder de hulp van de partitietabel dus. Je moet wel oppassen het niet voor 100% te vertrouwen; het gaat hier om een programma dat in principe alleen probeert te raden wat het voor een partitie was. Als je echter wel een beetje weet waar je partities zaten kun je hiermee de extra zekerheid vergaren die je nodig hebt om over te gaan tot het redden van je partities.

Om precies te zijn heb ik het volgende commando gebruikt:

$ sudo gpart -vvvvv /dev/hda

Het kan zijn dat je het eerst nog even moet installeren door alle online repositories in /etc/apt/sources.list aan te zetten en het te installeren met apt-get. Dit commando gaf me deze output. Na "Begin scan..." zie je de gevonden partities met precieze gegevens over de locatie op de harde schijf in sectoren (achter size bij elke Possible partition). Met deze info kunnen we dus aan de slag om de partities weer op te bouwen zoals ze waren.

fdisk

Dit heb ik gedaan met fdisk, aangezien je met parted, een programma dat normaal gesproken iets lekkerder werkt, de schijf positie en grootte niet in sectoren op kunt geven. Je kunt dan dus een partitie maken op de exacte plaats waar de oude partitie zat. Als je deze partitie niet formatteert heb je dan dus gewoon exact je oude partitie terug, want met het maken van een partitie op zichzelf doe je niks meer dan even de positie en grootte in de partitietabel zetten. Voor de duidelijkheid, dit alles gebeurt nog steeds vanaf het met Live CD gebootte systeem. Om de partitie die ik wou redden, de zesde in de output van gpart, opnieuw aan te maken deed ik het volgende:

$ sudo fdisk /dev/hda fdisk: u Changing display/entry units to sectors fdisk: n Command action e extended p primary partition (1-4) p Partition number (1-4): 3 First sector (63-117210239, default 63): 86927778 Last sector or +size or +sizeM or +sizeK (86927778-117210239, default 117210239): 100599025 fdisk: w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: If you have created or modified any DOS 6.x partitions, please see the fdisk manual page for additional information. Syncing disks.

Lijkt een hele lap, maar alleen de niet cursieve delen is wat je in hoeft te typen. Wat is er allemaal gebeurd? Om te beginnen zorgt fdisk: u (met "fdisk:" bedoel ik hier gewoon de prompt in fdisk) ervoor dat je dus gegevens in kunt voeren in sectoren, wat handig is met de uitvoer van gpart en wat bovendien de meest nauwkeurige methode is (MB's zijn altijd enigszins afgerond). Met fdisk: n geef je vervolgens de gegevens op voor de partitie die je wilt gaan maken. Ik heb gekozen om er gewoon een primaire partitie van te maken en hem op /dev/hda3 te zetten; dit maakt echter verder niets uit. Daarna komt nog de positie; begin sector en eind sector, zoals gpart had uitgevogeld. Fdisk heeft op dat moment alle gegevens om een nieuwe partitietabel met daarin de nieuwe (of eigenlijk oude) schijf aan te maken en dat doe je met het fdisk: w commando.

En daar is je schijfje weer! Om te voorkomen dat er meteen weer iets misgaat is het op zo'n moment echter verstandig de partitite te backuppen voor je hem mount. Bij het mounten kan er zo maar per ongeluk iets mis gaan en dat willen we niet.

netcat en dd

Op dit punt beland kwam de expertise van de Utopianen me goed van pas. Ik was namelijk niet van plan de backup te maken op de harde schijf zelf, straks weer alles kwijt. Het plan was om een image van de partitie via het netwerk naar een andere computer te sturen; netcat was voor deze situatie het advies. Dit programma werkt in feite exact hetzelfde als cat; je geeft het programma lijnen input en met de commando's in je terminal shell stuur je deze input door naar een bestand of naar een ander programma. Het enige verschil met netcat is echter dat bij dit programma eerst een verbinding met een andere computer wordt gelegd en dat daarna alles wat er ingevoerd wordt direct wordt doorgestuurd naar die andere computer. Die andere computer kan dan op zijn beurt met shell commando's deze output doorsturen naar een ander programma of een bestand.

Zo uitgelegd klinkt het misschien nog niet zo spannend, maar ik kan je aanraden het gewoon voor de grap eens te proberen; je kunt namelijk niet alleen met andere netcat's verbinden, maar met alle soorten servers, van webservers, via mail servers tot ssh. Er zit wel een addertje onder het gras: je moet de taal van die servers kunnen spreken om er iets mee te kunnen. In mijn geval heb ik echter alleen een directe verbinding tussen twee netcats nodig om de data van de backup te versturen.

Long story short; ik heb dit gedaan als volgt. Ten eerste geef je op de ontvangende computer het volgende commando (met dank aan deze site):

$ nc -l -p [poort] | dd of=[bestand waar je het wilt hebben]

Wat je voor poort invult doet er niet toe, als hij maar hetzelfde wordt op de versturende computer. Daar geven we hierna het volgende commando:

$ dd if=/dev/hda3 | nc -q 0 [ip van ontvangende computer] [poort]

/dev/hda3 was dus alleen voor in mijn specifieke geval, dit kan ook een andere partitie of zelfs een bestand zijn. Alle data is in feite op deze manier over te seinen van de ene naar de andere computer. Het kan in het hier besproken geval van een partitie natuurlijk wel even duren, aangezien ook alle lege ruimte op de schijf mee wordt gestuurd; er wordt gewoon een exacte kopie van je partitie gemaakt.

Je bestanden weer tevoorschijn toveren!

Je kunt nu meerdere kanten op. Je kunt proberen de originele partitie te mounten als ext2. Dit ging bij mij aan het begin goed, maar op den duur crashte de harde schijf weer; alles bleek nog niet helemaal flex te zijn daar. Om on the safe side te blijven kun je dus het beste bezig gaan met de backup image. Maak hiervan voor de zekerheid eerst nog een kopie.

Om nu de bestanden die op de partitie stonden eruit te halen kun je het image bestand mounten alsof het echt een partitie was. Dit doe je met

$ sudo mount -t ext2 -o loop [backup bestand] [mount plaats]

De mount plaats moet een map zijn; die kun je het best van te voren even aanmaken. Nu staan dus als alles goed is gegaan al je bestanden van de "verloren partitie" in die map. Haleluja! Kopiëren die hap dus, naar een andere map (ergens anders dus, niet in de map van de gemounte backup file!) met bijvoorbeeld

$ cp -rd [mount plaats] [waar je het heen wilt]

De -r optie zorgt ervoor dat alles wat in de map staat ook meegekopieerd wordt en de -d optie zorgt ervoor dat links niet meegekopieerd worden (bij het redden van 1 partitie wil je niet dat cp gelinkte bestanden uit andere, niet meer bestaande partities mee probeert te kopiëren). En dat was dan dat! Al je bestanden staan mooi in een mapje en zijn klaar om bijvoorbeeld even met tar ingepakt te worden. Zodra je je verrotte computer dan weer op gang hebt kun je in een keer alle bestanden weer terug sturen via het netwerk (dit kan met netcat, maar ook met scp als je even een ssh server installeert).

Eind goed, al goed

En zo was alles uiteindelijk toch nog goed gekomen! Nadat ik nog een tweede schijf met vooral muziek heb gered op dezelfde manier heb ik de computer maar eens uit elkaar gehaald om te kijken of er misschien een kabeltje los zat bij de harde schijf. Zie hier voor een paar leuke actie foto's van de ontlede laptop. Uiteindelijk heb ik niets gevonden dat mis zou kunnen zijn, behalve een flinke bult stof op de ventilator boven de processor; dit heb ik dus even weggezogen.

Na deze operatie deden de harde schijf uitvallen zich echter niet meer voor en kon ik dus weer beginnen de harde schijf te partitioneren en alles te installeren, te beginnen met Ubuntu Breezy natuurlijk. Ondertussen is alles dus weer prima op orde, hoewel sommige dingen, waaronder met name het opstarten, soms een stuk langzamer gaan dan normaal. De harde schijf doet echter niet extreem raar meer en zolang het werkt mag ik niet klagen. Al met al: eind goed, al goed!

Bij deze nog even uitdrukkelijk dank voor alle hulp bij deze operatie aan Haplo, Magmemion, Neàrin, Tempestas en anderen die ik vergeten ben!

Denyhosts

Aangezien de post van Hendrik over dit fijne scriptseltje per abuis een beetje weggegooid is en Google's cache helaas niet op tijd was, bij deze nog maar eens een beschrijving. Denyhosts is dus een progje dat kijkt of mensen proberen in te breken op je ssh-server. Dat doet het door de logs (/var/logs/auth.log) te checken op een verdacht hoog aantal foutieve inlog pogingen van eenzelfde ip-adres. Als hij zo'n neppe inbreker heeft gevonden gooit ie hem op een blokkeerlijst en is het dus over met de pret voor onze 1337 h@xx0r.

Om te beginnen halen we hier een van de rpm's op, afhankelijk van welke versie van python je gebruikt (om hier achter te komen kun je $ python -V doen). Natuurlijk werken we hier liever met debjes dus toveren we de boel met alien even om in een deb pakket (zie Jos' alien post). Installeer dit pakket vervolgens met

$ sudo dpkg -i denyhosts_versie_all.deb

Nu moet er nog even een configuratie bestand aangemaakt worden. Kopieer hiervoor gewoon het voorbeeld bestand naar /etc en open het om het aan te passen met

$ sudo cp /usr/share/denyhosts/denyhosts.cfg-dist /etc/denyhosts.cfg $ sudo gedit /etc/denyhosts.cfg

Een paar dingetjes moeten hier worden aangepast:

  • Kies in het SECURE_LOG deel voor de /var/log/auth.log optie (haal de # ervoor weg en zet een # voor degene die het eerst niet had).
  • Bij LOCK_FILE moet je vanzelfsprekend de Debian LOCK_FILE kiezen (bla/denyhosts.pid).
  • Vul achter ADMIN_EMAIL de gebruikersnaam van degene die in z'n mail moet krijgen wat denyhosts te vertellen heeft (nieuwe geblokkeerde ip's bijvoorbeeld). Dit zal meestal je eigen gebruikersnaam zijn of die van de systeembeheerder.
Vervolgens moet er nog wat gekopieerd worden om het script automatisch in de achtergrond te laten draaien:

$ sudo cp /usr/share/denyhosts/daemon-control-dist /usr/share/denyhosts/daemon-control $ sudo gedit /usr/share/denyhosts/daemon-control

Zoek de regels die lijken op hieronder en verander ze daar in:

DENYHOSTS_BIN = "/usr/bin/denyhosts.py" DENYHOSTS_LOCK = "/var/run/denyhosts.pid" DENYHOSTS_CFG = "/etc/denyhosts.cfg"

Geef nu de volgende commando's om het programma bij het opstarten van de computer te starten:

$ sudo chmod 700 daemon-control $ cd /etc/init.d $ sudo ln -s /usr/share/denyhosts/daemon-control denyhosts $ sudo update-rc.d denyhosts defaults

En dan is je shizzle geconfigureerd. Rest enkel nog het programma aan te zetten met het volgende commando:

$ sudo ./denyhosts start

Dit hoef je dus bij de volgende reboot niet meer te doen. Je kunt ook rebooten om het programma te starten dus, maar dat is natuurlijk niet des Linuxs.

Nu ben je dus een beetje beschermd tegen mensen die telkens het verkeerde wachtwoord intypen. Het komt alleen natuurlijk ook wel eens voor dat je zelf je wachtwoord niet meer helemaal goed uit je vingers krijgt geschud. Je wilt dan natuurlijk niet zelf geblokkeerd worden. Om dit te voorkomen kun je een lijst van ip's maken die nooit geblokkeerd worden. Doe dit door het bestand /usr/share/denyhosts/data/allowed-hosts aan te maken met gedit of emacs of iets dergelijks en daarin de niet te blokkeren ip-adressen te zetten, elk op een eigen regel.

Pfioew, flink verhaal uiteindelijk, maar zeker worth the trouble.

05 februari 2006

Package managen à la KDE

Wat wel fijn is aan mijn huidige configuratie is dat ik mn bekende Gnome programma's gewoon kan gebruiken onder KDE. Maar dit werkt natuurlijk niet optimaal, dus probeer ik voor alles een vervangend programma te vinden onder KDE. Vaak pakt dit goed uit, en hebben de KDE applicaties minstens zoveel funcionaliteit als hun Gnome tegenhanger.

De KDE package manager "Adept" valt echter wat tegen. Het wordt automatisch geinstalleerd bij het installeren van kubuntu-desktop en is te vinden bij K Menu->System->Adept. Wel weer een mooi gekleurd icoon (KDE is zo kleurig, ook een reden om over te stappen) maar de interface hadden ze beter van Gnomes synaptic af kunnen kijken. De zoekfunctie is interactief, oftwel er wordt gezocht terwijl je typt. Das dan wel weer cool. Maar het is wat onduidelijk wat er geinstalleerd gaat worden, geen handige checkboxen maar gewoon een regeltje tekst "install", "keep" of "remove". Ook krijg je geen pop-up te zien als het te installeren programma dependencies heeft, maar wordt er vanuit gegaan dat je zelf bij "preview changes" kijkt wat er bij geinstalleerd wordt. Zo werd er de eerste keer bij mij onverwachts 3 extra packages geinstalleerd. Dat riekt naar microsoft, ongevraagt programma's installeren. Ik blijf wel gebruik maken van Adept omdat ik nu weet dat het verstandig is om bij "preview changes" te kijken, maar ik ben er niet erg over te spreken.

03 februari 2006

Klein layout tweakje

Weer een klein layout verbeteringetje en wel in de vorm van horizontale scrollbalkjes in de terminal en tekstbestand kadertjes wanneer de lijnen tekst te lang zijn om erbinnen te passen. Inspiratie van hierum, hoewel het op zich vrij veel wordt gebruikt natuurlijk. Een voorbeeldje:

$ sudo behoorlijklangprogrammanaampje --met-lange-opties --ook-behoorlijk-veel-bovendien --zou-normaal-gesproken-over-de-zijbalk-heen-komen-te-staan --nogal-lelijk-natuurlijk -v -e -e -l -b -e -t -e -r -z -o -d -u -s -a -l -s --je-het-mij --vraagt

Simpelweg gedaan door het toevoegen van

overflow: auto; overflow-y: hidden;

aan de desbetreffende kader classes. Rejoice!

Stay tuned overigens voor een uitgebreid verslag van mijn recente enorme fuckups op het gebied van mijn laptop en het heroïsche verhaal van de manier waarop ik deze door mezelf voortgebrachte problemen op heb gelost!