11 februari 2008

E-Tech RTBR05 router virtual server

Ik ben er na een jaar of 2 eindelijk achter hoe de port forwarding functie van mijn router werkt, een E-Tech RTBR05. Wat was namelijk het geval: het ding wilde schijnbaar geen poorten aan de lijst toevoegen. Het probleem bleek echter slechts in de weergave van de toegevoegde poorten te zitten.

Bij nadere inspectie (van de HTML pagina bron) kwam ik er namelijk achter dat de gewenste toevoegingen wel degelijk waren gemaakt en in een javascriptje waren gezet. Dit javascriptje wordt vervolgens echter verkeerd uitgevoerd waardoor de pagina niet juist weergeeft welke poorten er daadwerkelijk worden geforward. In de bron kun je dit dus wel zien.

Ik dacht, laat ik het maar even online zetten, wie weet help ik er een mede-gefrustreerde E-Tech gebruiker mee!

09 november 2007

De koning is dood, leve de koning

Ik moet bekennen dat ik op het moment niet veel meer bezig ben met computers in het algemeen en linux specifiek (druk met m'n studie). Een van de weinige dingen waar ik m'n server nog voor gebruikte (naast mail en het hosten van deze half-dooie blog) was het downloaden van muziek. Sinds een aantal maanden gebruikte ik hiervoor Oink, maar helaas heeft Oink het nu ook moeten ontgelden in de War on Piracy. Voor een briljant stuk commentaar op deze zaak en de hele muziek-download kwestie zie dit artikel op demonbaby.com. Ik heb het niet vaak beter verwoord gezien dan daar; het is even een flinke lap tekst, maar dan heb je ook zeker wat. Gaat dat zien!

02 maart 2007

Bash looping

Werken in de terminal heeft z'n voordelen; als je telkens dezelfde handeling moet doen is het handiger hier in 1 keer een commando voor te geven dan telkens in de rondte te klikken. Als je bijvoorbeeld een hoop rar bestanden in 1 keer uit wilt pakken ben je in Gnome alsnog aangewezen op je supersnelle muis-skills, maar in de terminal zou dit in principe met 1 commando opgelost moeten zijn. Unrar is echter zoals wel meer programma's niet bruikbaar met wildcards; ik kan geen *.rar gebruiken om alles in een keer te doen.

Voor deze en andere gelijksoortige situaties biedt de Bash shell echter uitkomst. Je kunt namelijk een for-lus gebruiken om alsnog te doen wat je wilt en zelfs meer. Bekijk het volgende commando maar eens:

$ for fname in *.rar ; do mkdir "${fname:0:${#fname}-4}" cd "${fname:0:${#fname}-4}" unrar e "../$fname" cd .. done

In de eerste zin wordt de for-lus begonnen. Met een for-lus itereer je over een lijst van strings, in dit geval de lijst met rar bestanden. Onder de for-lus geef je vervolgens aan welke commando's je voor elke iteratie uit wilt voeren. In mijn geval maak ik dus per rar bestand een nieuwe directory aan met de naam van het rar bestand, maar wel met het .rar deel eraf geknipt. Vervolgens cd'en we de directory binnen en pakken we het rar bestand erbinnen uit. Daarna gaan we terug naar de begin directory en begint de for-lus weer opnieuw met het volgende rar bestand.

En dit is slechts het topje van de bash ijsberg! Zeker de moeite waard om voortaan voor het uitvoeren van dit soort dingen eens even te checken of het niet sneller kan.

Bronnen: NedDocWiki en The Linux Documentation Project

23 februari 2007

Server in Groningen

M'n server heeft een nieuw plekje gekregen op m'n eigen kamer. Dit is eigenlijk even een testje om te kijken of de boel werkt op het blog vlak.

30 januari 2007

Deb is kreupel

Debian en Ubuntu lopen niet altijd met alle pakketten helemaal synchroon. Zo komt het nogal eens voor dat ik een nieuwere versie van een programmaatje van de Debian repo's pluk omdat deze in Ubuntu nog niet te vinden is. Helaas zijn deze debjes dan gebouwd in een omgeving die niet compatible lijkt te zijn met m'n Ubuntu systeempje. Eigenlijk heb je dit probleem vaak zelfs al wanneer je een pakketje uit een nieuwere versie van Ubuntu wilt halen om die te installeren op je eigen oudere Ubuntu; omdat het pakket gebouwd is in een nieuwere omgeving gaat het ervan uit dat het minstens de versies van pakketten in de nieuwere omgeving nodig heeft.

Nu is het dus vaak zo dat deze nieuwere pakketten helemaal niet nodig zijn. Download je de deb-source en bouw je het pakket zelf in je eigen omgeving dan krijg je een pakket met dependencies die je al op je eigen systeem hebt staan. Geen enkel probleem meer, geen nieuwere versies van 300 extra pakketten meer nodig.

Mijn voorlopige conclusie: het deb systeem is wat roestig aan het worden. Om de pakketten zo universeel mogelijk te maken lijkt het mij verstandiger om de dependencies automatisch op de laagst mogelijke versie te zetten. Misschien is dit wel een heel naïef idee; ik heb weinig tot geen verstand van de internals van deb pakketten, maar zou iemand me dan uit kunnen leggen waarom dit zo is of is het toch iets waar misschien eens naar gekeken moet worden?