Inlägg märkta ‘Linux’

Ny disk i RAID-kedjan

måndag, 6 juli, 2009

Jag ber om ursäkt för att sidan har varit lite strulig senaste dagarna. Det beror på att jag har administrerat servern lite. Närmare bestämt utökat RAID5-kedjan med en disk, vilket tog betydligt längre tid än jag trodde.

När jag ändå är i farten plitar jag ner händelseförloppet, så jag vet hur jag ska göra nästa gång det är dags.

Servern hade från början tre diskar, Samsung Spinpoint SATA-II på 1TB per styck. Dessa var uppconfade med en partition per styck som fyllde hela diskarna. I systemet var de betecknade som sda1, sdb1 och sdc1. Dessa var konfigurerade till en mjukvaru-RAID-kedja, md0. Denna var i sin tur krypterad via cryptsetup till /dev/mapper/encrypted.

Jag stängde av datorn och stoppade in den nya disken av samma märke på datorns sista SATA-kanal. Nästa gång måste jag alltså byta moderkort eller stoppa i ett SATA-kort på PCI. Lådan har plats för en disk till, i andra floppy-platsen.

Efter uppboot satte jag upp en ny partition sdd1 av typen #FD, ”Linux raid autodetect” med hjälp av cfdisk. Därefter lade jag till disken i RAID-kedjan,

mdadm /dev/md0 –add /dev/sdd1

Detta tog några timmar, och jag är inte säker på huruvida det var nödvändigt eller ej. Disken lade in sig som en ”spare device”. När detta var klart skulle jag låta den nya disken utöka kedjans tillgängliga utrymme. Följande operation var lite knölig att få att fungera, men till slut fick jag till det:

mdadm –grow /dev/md0 –raid-devices=4

Denna operation påstod sig vilja ta drygt 8 dygn att genomföra. Efter lite googlande kom jag fram till att det går att påskynda det hela genom att höja hastighetsgränsen lite. Detta på bekostnad av cpu-kraft, men det var det värt. Efter följande operation tog det istället 15 timmar:

sudo su
echo 250000 > /proc/sys/dev/raid/speed_limit_min

Efter detta var klart utökade jag storleken på den krypterade enheten:

cryptsetup resize encrypted

Denna förstod att jag ville utöka storleken så mycket som möjligt. Ska man göra annat får man nog peta på vissa parametrar. Den dagen den sorgen… Nästa steg var också ganska tidskrävande. Att öka ext3-filsystemets storlek. Dock ganska straight forward. Nu umountade jag RAID-filsystemet och körde följande:

fsck.ext3 -f /dev/mapper/encrypted
resize2fs /dev/mapper/encrypted

Båda dessa kommandon tog sin tid att genomföra. Även denna resize förstod att det var maxa jag var ute efter. När detta kört klart var det bara att mounta filsystemet och vips hade jag 860GB onyttjat utrymme att spela på. Så nu finns det plats för några nya blogginlägg på servern. :D

Tidig version av Google Chrome för GNU/Linux

tisdag, 30 juni, 2009

Jag råkade ta mig vägarna förbi Googles sida om Chrome och fann att de har släppt ut en tidig utvecklingsversion av webbläsaren Chrome för GNU/Linux. Jag provade att tanka ner deras Ubuntupaket och installationen gick smärtfritt. Sitter nu och skriver detta inlägg däri. Den verkar snabb och kompatibel. Nuvarande version är dessutom befriad från flash och andra onda ting.

Under de 10 minuter jag testat den hittills har jag inte fått den att krasha, men jag blir inte förvånad om den gör det innan jag hinner posta detta inlägg. :) Därför gör jag det nu, så jag slipper oroa mig mer.

HTC Magic med Google Android, och jag har den

lördag, 13 juni, 2009
HTC Magic sedd framifrån (vänster) och bakifrån (höger). Den trevligaste mobiltelefon jag någonsin hållt i.

HTC Magic sedd framifrån (vänster) och bakifrån (höger). Den trevligaste mobiltelefon jag någonsin hållt i. Tre har valt att sälja vita varianter, vilket jag uppskattar. Bilderna är tagna på mitt exemplar.

Jag har aldrig varit speciellt intresserad av mobiltelefoner, utan mest sett dem som nödvändiga ondskor. Mestadels beror det på att de telefoner som funnits på marknaden har varit så otroligt ointuitiva att använda så att det skapat mer frustration än glädje. Nu är dock den tiden förbi. Jag har skaffat en telefon som fungerar som jag vill, och det beror på att det är Google som utvecklat användarinterfacet. Telefonen heter HTC Magic och operativsystemet heter Android.

När jag började på mitt nya jobb för tre veckor sen fick jag frågan vad jag vill ha för mobiltelefon, för en sådan ville företaget åtga sig att tillhandahålla. Av erfarenhet från före detta arbetsplatser är jag van vid att sådana åtaganden brukar gälla de billigaste och minst upphetsande alternativ som marknaden för stunden erbjuder. Därför var det med en skämtsam ton jag svarade ”en HTC Magic vore trevligt, eh heh…”, varpå jag bara fick tillbaka ”det låter som ett bra alternativ”.

Vägen till en Magic var dock inte helt fri från tuvor. För det första fanns telefonen inte på svenska marknaden för tre veckor sen. För det andra var det tyvärr Tre som vann ensamrätten på försäljning av telefonen, medan företaget jag jobbar på är knutna på att använda Telia, och för det tredje har Tre valt att inte sälja telefonen utan abonnemang. Den säljs dock utan operatörslås, så efter mycket om och men lyckades jag komma fram till en deal där priset för telefonen plus det billigaste abonnemanget under 18 månaders bindningstid gick att motivera, och idag har jag telefonen i min hand.

Den förinstallerade versionen av Google Android bygger på Linux 2.6.27, så kärnan är ny och fräsh. Användargränssnittet är riktigt smart och smidigt, till skillnad från Sonyericssons och Nokias telefoner. Min jämförelse kanske är orättvis, eftersom jag aldrig använt något annat än budgettelefoner tidigare, men jag har svårt att tro att något av deras system är genomtänkt. Jag kan tillägga att jag inte har använt iPhone, och inte heller tänkt att göra det, då jag av princip bojkottar Apple.

Interaktionen med telefonen sker dels igenom ett antal fysiska knappar och en styrkula men framförallt navigerar man genom att peta med fingrarna på skärmen. Den viktigaste fysiska knappen är Hem, som tar dig till startskärmen var du än är. Att telefonen har fysiska knappar för att svara och lägga på samtal ser jag som ett plus, då sådant förväntas fungera även om man har handskar på sig. Styrkulan tycker jag är sådär, men det mesta man styr med den går även att styra direkt på skärmen, vilket jag föredrar. Telefonen har även sensorer som mäter lutningen, med så pass hög precision att det klassiska spelet där du rullar en kula i en labyrint genom att luta spelplanen åt olika håll, finns implementerad i digital form med riktigt naturlig spelkänsla.

På startskärmen (som syns på bilden ovan) ligger som standard en analog klocka och ett par ikoner för att ringa och surfa. Dessa går lätt att byta ut till vad man önskar. Förutom startskärmen har man två till virtuella skrivbord, som man når genom att rulla på styrkulan åt höger respektive vänster eller dra iväg skrivbordet med fingret. På dessa tre skrivbord får man plats med tillräckligt många funktioner för att det man gör 99% av tiden ska få plats. Skulle man inte få plats med alla grejer är det bara en extra knapptryckning för att få en komplett lista över alla program och funktioner som finns tillgängliga.

Jag har suttit några timmar under dagen och tittat på utbudet av spel och program man kan ladda ner från ”Market”, som den officiella programkällan heter. Trots att Android är ganska nytt, finns det en hel del grejer att tanka hem. Jag har provat en handfull av de mest populära. Den viktigaste är Schwartz, som simulerar ett ljussvärd från Star Wars… Eller var det Space Balls? :) Schwartz är förövrigt ett bra exempel på vad man kan nyttja de ovannämnda lutningssensorerna till. Ett annat ännu mer användbart program jag installerade är förstås en jabberklient. Det finns förvisso en inbyggd, men den är gjord endast för att användas med Google talk, och det är inte tillräckligt för mig.

Vad det gäller övriga godsaker som jag kommer använda Magic till är bland annat att den har en inbyggd GPS, men den har jag inte testat ännu. Om den fungerar bra, vilket jag har all anledning att tro, eftersom den är kopplad till Google Maps, är det en otroligt användbar funktion för mig, då jag lider av exceptionellt uselt lokalsinne. Det ryktas även om att Spotify är i stad att släppa en klient för Android. Det ser jag fram emot, även om jag hellre ser att någon portar Despotify, så jag får fri mjukvara som jag eftersträvar. Den inbyggda kameran har jag provat, och även om det är den bästa mobilkamera jag har använt, vet jag inte om jag skulle klassificera den som användbar. Den har autofokus, men i övrigt är den sådär…

Nu hoppas jag bara på att jag tar mig tid att prova på att utveckla lite småprylar själv till Android. Den bygger ju i mångt och mycket på fri mjukvara, som är en del av min livsfilosofi, och det är ju en motiverande anledning att själv sätta sig och skriva lite lustig kod. Dessutom har jag idéer om program jag vill ha men som jag inte har hittat på Market än så länge. Men som alltid lär det väl komma innan jag ens har skrivit hello world. :)

Stänga av pc-speaker-beep i bash

torsdag, 11 juni, 2009

Varje gång jag sätter mig vid ett nyinstallerat eller dåligt konfigurerat Ubuntu-system eller annan variant av GNU/Linux, blir jag påmind av att standardinställningarna för pc-speakern är kvar på tidigt 80-tal. Trycker man tab för att komplettera filer i bash eller om man råkar trycka nedåt en rad för mycket i Vim så piper det. Oerhört enerverande. Varför varför varför?

Nåja, det är lätt att fixa. Anledningen till denna bloggpost är att jag själv ska veta var jag kan söka efter svaret så jag slipper googla mig fram varje gång, men kommer du hit och får svaret så bjuder jag på det.

xset b off

Antingen kör man detta kommando i det shell man arbetar, om man bara vill att det ska vara aktivt för den sessionen. Vill man ha det mer permanent kan man lägga raden i filen ~/.bashrc.

Despotify – gör Spotify fritt

tisdag, 24 februari, 2009

För en tid sedan skrev jag om Spotify, och förklarade att tekniken och produkten är riktigt bra, men att det tyvärr inte går i linje med min filosofi om fri mjukvara och öppna protokoll. Nu har protokollet blivit reverseenginerat (”knäckt”) av några flitiga svenska studenter och de har även tagit fram en kommandoradsbaserad Spotifyklient som de släppt under en fri licens. De har fyndigt nog valt att kalla projektet Despotify.

Jag provade som hastigast att kompilera den och det gick smärtfritt. Starta den och logga in med den på mitt Spotifykonto gick lika bra. Jag kunde se mina spellistor och söka efter låtar. Tyvärr krashade klienten när jag försökte spela en låt, men jag vågar inte uttala mig om varför. Jag ska felsöka lite själv och eventuellt skicka en stacktrace (buggrapport med felsökningsdata) till utvecklarna.

De har i själva verket implementerat två klienter. Den ovannämnda med textbaserat användargränssnitt samt en de kallar gateway, som enligt vad jag förstår är en Spotifyklient utan direkt användarinterface, som man kan kommunicera med via HTTP. Detta skulle man nog lätt kunna använda sig av för att bygga Spotifyplugin till andra mediaspelare.

Det pågår redan en diskussion om huruvida det är rätt eller fel att dokumentera Spotifys protokoll, som dessa grabbar har gjort. Vissa påstår att detta betyder döden för Spotify, bland annat eftersom man kan använda detta för att spara musik från Spotify till sin dator. Själv är jag av åsikten att det är helt totalt jävla rätt! Mjukvara ska vara fri och protokoll ska vara öppna. Om detta innebär döden för Spotify, vilket jag inte alls tror, så betyder det att Spotify som koncept är trasigt från grunden.

Uppdatering 27 februari

Jag har nu provat lite mera och även via IRC varit i kontakt med utvecklare av despotify. Att det inte fungerade för mig berodde på att Spotify har blockat så att deras reklamfinansierade gratiskonto inte fungerar med despotify. Ganska förståligt, eftersom reklamen kräver stöd av klienten, vilket givetvis inte är implementerat i despotify. Jag gjorde därmed slag i sak och skaffade mig ett premiumkonto i en månad för 99 kr. Nu fungerar despotify mycket bättre. Det är dock en hel del buggar och det har en bit kvar innan det är en fullvärdig spelare. Dock är projektet bara några dagar gammalt än sålänge, så det har jag full förståelse för. Jag har även slängt ett öga på koden för att se om det är något jag kan göra för att påskynda utvecklingen. Än har jag dock inte kommit fram till något konkret.

Dagens bök med min WRT54G-router

söndag, 22 februari, 2009

Idag har min blogg varit lite svajig, på grund av att jag har strulat med min router till vilken bland annat min webbserver är kopplad. Jag tänkte skriva ner lite detaljer om anledningarna, mest för att ha som egen notering när jag stöter på samma sak igen i framtiden, men även för dem som råkar ut för samma sak och googlar sig hit.

I samband med att jag bytte bredbandsleverantör skaffade jag mig en trådlös router av märke Linksys och modell WRT54G. Detta är en gammal men uppskattad router, då dess firmware är baserat på GNU/linux och det faktum att det finns ett communitybaserat alternativt firmware kallat OpenWRT. Tyvärr nöjde jag mig med den informationen när jag skaffade min, och nu har jag levt i tron att jag har kört fri mjukvara i min router…

Jag har märkt av att jag stundom får rätt seg nedladdningshastighet. Min ISP ger mig ungefär 30/30 Mbps (trots att jag betalar för 10/10), men ibland mäter jag den till runt 3 ner och 30 upp. Vid lite googlande på detta fenomen, stötte jag på en del forumtrådar som antyder att detta är ett känt problem på äldre firmwares på version 5 av denna  router. Och version 5.1 är vad jag har. Vidare kom jag snart fram till att firmwaren från och med version 5 av hårdvaran är proprietär och inte utbytbar till OpenWRT. När detta stod klart för mig greps jag av någon slags känsla av kalkon. Fråga mig inte varför.

Efter ännu mer googlande var jag återigen försedd med en gnutta hopp. Det finns tydligen ännu en fri firmware till WRT-lika routrar – DD-WRT.  Detta projekt har även stöd för WRT54G v5.0, v5.1 och v6.0, efter att utvecklarna har lyckats reverseengineera formatet av firmwaren. Efter att ha följt installationsanvisningarna till punkt och pricka, är nu min router äntligen fri och än sålänge verkar den funka stabilare och bättre än med den proprietära dynghögen.

På vägen trodde jag att jag brickade min router. Ty, vid uppgraderingen hände det som inte får hända – anslutningen till routern bröts innan överföringen var klar. Turligt nog fungerar det inte som jag befarade, utan det var lugnt att försöka igen. Men det fortsatte att dö vid varje försök. Det tog mig timmar av googlande utan framgång. Slutligen kom jag på tanken att slå över från https tillbaka till http, och då funkade det kalas.

Jag återkommer om det uppstår problem på vägen. Just nu funkar det fint, efter några timmars körande, men det gjorde det även med gamla firmwaren.

gNewSense plus CoreBoot ger dator med 100% fri mjukvara

måndag, 19 januari, 2009

För ett år sedan var jag nära att skaffa hårdvara anpassad för att sätta upp ett system som kör helt fri mjukvara – alltifrån BIOS till en fullständig desktop. Fri mjukvara, som den definieras av Free Software Foundation. Det vill säga, användaren ska, i alla situationer, ha:

  1. Friheten att köra applikationen utan hinder
  2. Friheten att studera källkoden till applikationen
  3. Friheten att modifiera applikationen för eget bruk
  4. Friheten att dela med sig av sina förändringar.

Detta innebär att mjukvaran i BIOS på vanliga pc-moderkort måste bytas ut, då den bryter mot de tre sista punkterna. Till det har vi CoreBoot (som tidigare hette LinuxBios), som är ett projekt som ersätter BIOS-mjukvaran på en handfull moderkort med helt fri mjukvara.

När väl vi kan boota moderkortet utan att bli frihetsberövade, måste vi ha ett operativsystem som inte begränsar vår frihet. Vilket GNU/Linuxsystem somhelst torde väl duga? Nej, verkligen inte. De flesta skickar med proprietär mjukvara, som bryter mot en eller flera av ovannämnda punkter, vilket får konceptet att fallera. Ubuntu är inget undantag. Där finns proprietära drivrutiner, flash-spelare och mediaavkodare med mera. Valet blir gNewSense, som är en distribution  av GNU/Linux, förvisso baserad på Ubuntu, men där man plockat bort all ickefri mjukvara.

För ett år sen uppdagades dock ett allvarligt pr0blem. Vissa filer i grafikrenderaren Xorg hade en licens som bröt mot en av punkterna. gNewSense plockade bort  dessa berörda filer, vilket resulterade i att allt som har med 3D-acceleration (GLX) att göra, försvann. Således blev alla applikationer som kräver 3D obrukbara, och det är inte direkt ett hållbart alternativ i ett modernt system.

Tack vare dessa påtryckningar från gNewSense och några andra instanser, har man nyligen löst problemet. För ungefär en vecka sedan, fick man upphovsrättsinnehavarna av dessa filer, främst Silicon Graphics (SGI) att ändra licensen så att den nu är helt fri.

Detta innebär att det uppenbarligen hjälper att kämpa. Genom att ge sitt stöd till projekt som gNewSense kan man göra skillnad. Nu ska jag på sikt återuppta mitt projekt att sätta upp min dator med 100% fri mjukvara. Dessutom har det under året som gått blivit bättre stöd för billigare moderkort i CoreBoot, vilket sǻklart är en bonus.

Tyvärr kommer jag inte kunna bli helt fri, då det exempelvis fodras proprietära drivrutiner för vissa grejer i min eeePC 901, men jag ska satsa på ett helt fritt system på åtminstone en dator.