Tid för mig att röja upp bland min lagring

Filed in Linux | Personligt | Teknik Leave a comment

Åter igen har jag lyckats med att producera ett lite väl långt inlägg, jag satt och skrev på det här under tiden jag höll på under tre dagar, fredag, lördag och söndag förra helgen. Det innehåller mycket text av varierande kvalité, allt är nog inte helt hur man kanske ska göra det, men det var i alla fall så här jag gjorde det. Det här är inte tänkt som en guide eller nått utan som en informativ läsning om hur jag gjorde för att få en liten genomgång om hur en del av sakerna funkar.

Inledning

Så nu sitter jag med totalt tre 2T diskar, två nya och en som sitter i datorn. Tanken är att bygga en RAID5 av diskarna för att få lite mer säkrare lagring. (I en RAID5 så förlorar jag utrymmet från en disk, men jag vinner att valfri disk kan gå sönder utan att jag förlorar någon data).

Först lite bakgrund

Det skönt att ha lite extra utrymme på hårddisken så det inte tar slut så jag har köpt en ny disk till datorn lite då och då under många år. Efter det har jag regelbundet köpt nya diskar i den storlek som var mest prisvärt. 20G, 120G, 200G, 250G, 500G, 1T, 1,5T och slutligen 2T. I början kostade en 20G nästan 3000 kr, för en vecka sedan kostade 2T 600kr.

Den uppmärksamme noterade att jag skrev “för en vecka sedan” och inte “i dag”. Orsaken till det är att priset har ökat kraftigt senaste tiden på disk, så pass mycket att det är värt att nämnas. Dustin har just nu rabatt på en disk på 2T, den kostar “bara” 1990 kr. Det är långt över dubbla priset. Hur kommer det sig? Det har varit mycket översvämningar i Thailand, fabriker, leverantörer och vägar står/är stilla/nere/förstörda och det kommer mycket få leveranser av diskar till omvärlden. Det har skapat ett underskott av hårddiskar på marknaden och inte förvånande så stiger priserna.

I början av november så kostade hårddiskarna "lite" mer än de brukade. För en vecka sedan köpte jag två identiska för 668 kr styck. Dagen efter kostade de ca 1800 kr.

Så här ser det ut nu

Jag började leka med RAID för något år sedan på min dator hemma mellan två av mina diskar, för ett halvår sedan köpte jag en ny dator och slog till på en del bra saker så som en Sandy Bridge i7 2600K, 16G RAM, 2 st SSD:er på 60G samt lite saker runt det som moderkort, låda m.m. Tanken var att installera om och bygga upp saker ordentligt.

Orsaken att det blev två SSD:er på 60G i stället för en på 120G som jag från början tänkte köpa var att det var extrapris på de mindre, jag har sedan slagit ihop de med en RAID0 (stripe) och fått samma storlek men betydligt snabbare disk. Ja, jag gjorde det mest för att det var kul, inte för att jag behövde det.

Mitt system ligger på den RAID:en och den funkar bra och gör vad den ska, jag vet att det är långt från datasäkert då det räcker med att en av SSD:erna ska sluta funka för att allt ska försvinna men de sakerna som jag har i mitt system som jag är rädd om och inte kan återskapa ligger på andra diskar eller är regelbundet säkerhetskopierade.

Problemet är de andra diskarna, alla är olika stora. Just nu sitter det tre vanliga diskar i min dator. 320G, 500G och 2T. 320 disken är en disk som Windows får använda för att installera stora saker på vid behov, startar sällan Windows så den gör inte mycket nu för tiden. Tanken var sedan att bygga en RAID1 (spegel) mellan min 500G-disk och en partition på 500G på min 2T disk. Det skulle ge mig 500G av speglad säker lagring, och 1,5T osäker lagring. Tyvärr blev det inte så då min spegel råkade bli lite större än 500G och jag hade inte tid och ork att fixa det så nu ser det ut så här.

Tycker du att det ser rörigt ut? Det gör jag med. Jag har tre LVM:er, en för snabb disk (SSD), en för säker disk (RAID1) och slutligen en för resten. Det är som jag ville ha det, dock är allt under riktigt rörigt, speciellt med "lvm i raid i lvm" och det skulle bli jobbigt om någon disk dog då det skulle bli en del jobb att få ihop allt igen.

Nu räddningen

När jag är klar så tänker jag bli av med den gamla 320G disken, Windows får 500G disken att leka med i stället och kvar för Linux blir två SSD:er och tre 2T-diskar. Här kommer en bild på hur det ska se ut när jag är klar.

Mycket renare, bort med den icke-RAID:ade lvm:en och in med massor av säker lagring.

Nu det jobbiga (men roliga)

Som du säkert förstår så är det mycket saker som kommer behövas flyttas, jag kommer flytta datan med LVM, det kommer ta tid att få över all data så det här är ett projekt som förmodligen ta hela helgen innan jag är klar. Det vackra är att jag kommer kunna använda datorn som vanligt under nästan hela helgen.

Jag vill flytta data på ett säkert sätt, d.v.s jag vill inte riskera att förlora någon data under tiden jag håller på. Jag börjar med att kolla att min spegel mår bra.

$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md127 : active raid1 dm-6[1] sdd1[0]
591786304 blocks [2/2] [UU]

md3 : active raid0 sdc2[1] sda4[0]
62868480 blocks super 1.2 512k chunks

unused devices: <none>

md3 är SSD:erna och ska ej röras, spegeln heter md127. Allt ser bra ut, både 600G-partitionen på min 2T disk, samt raid-i-lvm-hacket ska innehålla samma data. Jag kommer börja med att ta ut både 320 och 500G diskarna för att få bort dem. De innehåller tillsammans spegeln och jag vill vara säker att jag har en backup som jag inte kan råka förstöra, jag behöver även platsen som de sitter på i lådan.

Efter det stoppar jag in mina två nya 2T diskar och bootar dator igen och nu bör det se ut så här:

Min "säkra" lvm som ligger i spegeln är inte säker längre då hälften av spegeln är borta. Men all data går att nå och skulle disken gå sönder nu så kan jag koppla tillbaka de andra diskarna och nå min data.

Nu stänger jag av datorn, öppnar lådan och flyttar om disk.

Nu är jag tillbaka och allt är enligt plan, den speglade disken ville ej komma upp automatisk. Något som var väntat. En RAID kan användas för att få mer prestanda, för att slå samman flera diskar, för att få datasäkerhet och/eller för att göra systemet robust. Linux tar det säkra före det osäkra, som standard så startar den ej RAID:s där en eller flera diskar saknas utan det är något användaren manuellt måste göra. Vill man ändra det beteendet så går det så klart att göra.

$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md127 : inactive sdd1[0](S)
591786304 blocks

md3 : active raid0 sdc2[1] sda4[0]
62868480 blocks super 1.2 512k chunks

unused devices: <none>

Som synes så saknas det en disk på md127. Samt man ser att den är stoppad (S). Då det är en spegel så finna all data på sdd1 så det är bara en fråga om att tvinga igång den. Du kan använda det trevliga inbyggda programmet “Disk Utility” för att göra det, men för sakens skulle gör jag det från skalet.

$ sudo mdadm --run /dev/md127
mdadm: started /dev/md127

$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md127 : active raid1 sdd1[0]
591786304 blocks [2/1] [U_]

md3 : active raid0 sdc2[1] sda4[0]
62868480 blocks super 1.2 512k chunks

unused devices: <none>

Som synes körs md127 nu, på en disk. Jag har ett par partitioner som ligger på den spegeln som inte blev anslutna vid start, för att montera dem så räcker det med att skriva:

$ sudo mount -a

Det ska vara allt för nu. Nu har jag tillgång till all min data och kan börja kolla på mina nya diskar. Men innan jag börjar göra det så kan det vara en god idé att kolla igenom dem. Nästan alla diskar har något som heter SMART, det är mjukvara på disken för att hålla reda på hur den mår. Den kör regelbundna tester men det går att manuellt trigga lite mer utförliga texter och det är något jag tänkte göra nu. Kommandot för att kontrollera diskar heter smartctl men den här gången tänkte jag använda mig av “Disk Utility”.

Du får en bra översikt av din disk, vilka partitioner den har, om SMART har raporterat något fel m.m. Jag tycker om Disk Utility då man får en bra översikt. Sedan att det är enklare skadar inte heller.

Jag ser tre diskar som heter “2.0 TB Hard Disk”, det är lätta att se vilka diskar som är nya då de är helt tomma. Jag klickade på SMART Data-knappen och valde att köra ett “extended test”. Det kommer ta lång tid men jag har ingen broska utan kan använda datorn som vanligt.

Inte en av de nya diskarna, det här är en av mina SSD:er men här ser du i alla fall ut det ser ut innan man startar testet samt hur det kan se ut efter att ha använt disken ett tag.

Här är en av de nya diskarna, det går bra att stänga ner alla fönster om du vill då testet pågår internt i disken. Stäng inte av datorn bara (eller starta om).

Det går bra att stänga fönstret om du så vill, lät datorn stå eller använd den för fullt. Lämna bara de nya diskarna i fred. Själv blir det nog lite film eller minecraft medan jag väntar.

cirka sex timmar senare…

Jag passar på att köra lite benchmark på diskarna, alltid kul och veta vad de klarar av. Efter det är det tid för att skapa RAID5:an.

Vänta nu kanske du säger, behöver jag inte tre diskar för det? Jo, tre diskar är minimun för en RAID5 med full redundans, det är dock möjligt att temporärt köra den med två diskar, den extra disken innehåller bara redundant data.

Här ser man att det spelar roll vart på disken som datan ligger.



Jag väljer åter igen att använda mig av kommandoraden för att arbeta med min RAID, tycker det känns som man har mer kontroll. Men det går att arbeta med den från Disk Utility med om du föredrar.

Det finns olika sätt man kan bygga RAID:en på, du kan använda rådisken rakt av, eller en partition på den. Jag rekommenderar att du använder en partition av två orsaker.

  1. Om du någon gång behöver kunna boota från disken så behöver du de där 512 byten i början av disken, om du partitionerar disken så är de reserverade.
  2. Alla tre diskar på 2T är på 2000398934016 bytes, låt säga att en av diskarna behöver bytas. Låt säga att utbytesdisken är på 2T den med men den är lite mindre, låt säga 2000397885440 bytes (1 MB mindre). Den kommer ej gå att använda då den är för liten. Min rekommendation är att du lämnar “lagom mycket” på slutet av disken för att undvika att sånt här händer.

Jag dog till med ett runt och fint värde på 1998 och lämnar lämnar strax över 2G på slutet. Jag hade kunnat lämna lite mindre men 2G duger fint och lämnar bra marginal. Som synes lämnade jag även lite plats i början av disken (1 räcker förmodligen) för att ge parted möjlighet att aligna partitionen efter diskens fysiska block.

Skapa en partitionstabell på diskarna, jag valde gamla klassiska msdos men GPT bör funka lika bra om du föredrar det.

$ sudo parted /dev/sdb mktable msdos
$ sudo parted /dev/sde mktable msdos

Nu skapar jag partitionerna

$ sudo parted /dev/sdb mkpart p 4 1998G
$ sudo parted /dev/sde mkpart p 4 1998G

Nu skapar vi vår nya RAID5 på två diskar, och en disk som saknas:

$ sudo mdadm --create /dev/md4 --level=raid5 --raid-devices=3 /dev/sdb1 /dev/sde1 missing

Nu ser det ut så här

$ cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md4 : active raid5 sde1[1] sdb1[0]
3902331904 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]

md127 : active raid1 sdd1[0]
591786304 blocks [2/1] [U_]

md3 : active raid0 sdc2[1] sda4[0]
62868480 blocks super 1.2 512k chunks

unused devices: <none>

Som synes är md4 uppe och kör, även om den saknar en disk. Nu är det tid att börja flytta över LVM till den nya disken.

Jag formaterade vår nya raid för LVM, nu verkar LVM vara duktig på just att aligna i 4k block men det skadar inte att vara lite petig och ange några parametrar.

$ sudo pvcreate --dataalignment 4096 /dev/md4

Jag har sedan tidigare följande volymgrupper i LVM

$ sudo vgs
VG        #PV #LV #SN Attr   VSize   VFree
RD_mirror   1   2   0 wz--n- 564.37g 380.00m
RD_pool     1   6   0 wz--n-   1.27t 190.58g
SSD         1   2   0 wz--n-  59.95g  22.70g

RD_mirror är den gamla spegeln, RD_pool är den stora poolen av data som inte var RAID:ad samt SSD är föga förvånande mina SSD:s. Tanken är att flytta alla volymer över från RD_mirror till vår nya raid. Jag tänker göra det genom att utöka RD_mirror så den innefattar vår nya RAID för att sedan ta bort den gamla disken från volymgruppen. Det kommer ta ett tag men när det är gjort bör all data i RD_mirror bara ligga på vår nya RAID.

Så här ser det ut nu, vår volymgrupp är på ca 564G och ligger bara på den gamla speglade RAID:en.

$ sudo vgdisplay RD_mirror | grep Size
VG Size               564.37 GiB
PE Size               4.00 MiB
Alloc PE / Size       144384 / 564.00 GiB
Free  PE / Size       95 / 380.00 MiB

Jag stoppar in den nya stora RAID5-raiden i volymgruppen

$ sudo lvextend RD_mirror /dev/md4

Vi har nu ca 3,6T att leka med, nu ligger volymgruppen över både gamla och nya RAID:en.

$ sudo vgdisplay RD_mirror | grep Size
VG Size               4.19 TiB
PE Size               4.00 MiB
Alloc PE / Size       144384 / 564.00 GiB
Free  PE / Size       952811 / 3.63 TiB

Nu vill vi få bort datan från den gamla spegeln och in i vår nya fina RAID. Om man kör pvmove på bara en måldisk så utryms den på alla volymer, i det här fallet så kommer allt åka över till md4.

$ sudo pvmove /dev/md127

Det här kommer ta lång tid, som ni ser har jag 564.37G att kopiera. Passande nog så är jag ganska trött och klockan är mycket så nu går jag och lägger mig. En sista sak först, pvmove är en destruktiv handling, om något går fel så får du dataförlust, även om det inte är troligt så är det bra att ha en backup först. Jag har redan en backup (de två diskarna som nu ligger på mitt skrivbord).

Nu har jag vaknat och allt har gått bra, nu plockar jag bort spegeln från volymgruppen.

$ sudo vgreduce RD_mirror /dev/md127

Som synes har vi nu “bara” ca 3T, allt ligger nu på /dev/md4

$ sudo vgdisplay RD_mirror | grep Size
VG Size               3.63 TiB
PE Size               4.00 MiB
Alloc PE / Size       144384 / 564.00 GiB
Free  PE / Size       808332 / 3.08 TiB

Jag tycker inte att namnet RD_mirror passar så bra länge så jag döper om den till RD_raid

$ sudo vgrename RD_mirror RD_raid

Glöm inte bort att om du har monteringar som använde RD_mirror så kan det vara en bra idé att uppdatera sökvägarna.

Nu är det tid för volymerna i RD_pool att flyttas över till RD_raid, för det så gör jag så här:

Jag kommer använda mig av vgmerge, för att det ska funka så måste extents i volymgruppen vara lika stora, i mitt fall är dom det. Funkar inte det så kan du alltid ta en snapshot (eller avmontera volymen och kopiera direkt från den), skapa en lika stor volym där du vill ha den och dd:a över datan. Lösningen med dd har jag gjort förr och den funkar bra men den här gången blir det vgmerge för mig.

Vi behöver stänga av RD_pool innan vi kan slå samman den med RD_raid

$ sudo vgchange -a n RD_pool

Här slår vi samman RD_pool med RD_raid

$ sudo vgmerge RD_raid RD_pool

Som synes finns ej RD_pool längre utan allt ligger i RD_raid

$ sudo vgs
VG      #PV #LV #SN Attr   VSize  VFree
RD_raid   2   8   0 wz--n-  4.90t  3.27t
SSD       1   2   0 wz--n- 59.95g 22.70g

Nu börjar vi närma oss, även om datan ligger i rätt volymgrupp så ligger den fortfarande kvar på samma fysiska disk.

$ sudo pvs
PV         VG      Fmt  Attr PSize   PFree
/dev/md127         lvm2 a-   564.37g 564.37g
/dev/md3   SSD     lvm2 a-    59.95g  22.70g
/dev/md4   RD_raid lvm2 a-     3.63t   3.08t
/dev/sdd5  RD_raid lvm2 a-     1.27t 190.58g

Vi applicerar samma teknik som innan:

$ sudo pvmove /dev/sdd5

Förra gången flyttade jag bara 564G, den här gången är det 1,1T så det kommer ta strax över dubbelt så lång tid, vilken tur att jag har planer för dagen. Det blir en tur för mig till tekniska för att se på NASA utställningen.

Några timmar efter ha kollar på modeller och replica av raketer och kapslar, samt en och annan äkta del. Gått hem, ätit mat och fastnat i långa diskussioner, hamnat framför datorn och spelat minecraft så är det fortfarande 20% kvar. Tror nog inte jag kommer vidare i kväll då klockan redan är efter midnatt. Ang. bilden så är det en liten souvenir som jag köpte i kiosken.

Wow, förvirringen nästan ett dygn senare, men det står 100% på min högra skärm så det är klart. Det blev nog klart för 7-8 timmar sedan tror jag men då sov jag. Nu blir det lite kaffe och några minuter för att samla tankarna vart jag var och vad jag ska göra nu (så bra att jag har skrivit ner det).

Jag tar bort sdd5 from RD_raid:

$ sudo vgreduce RD_raid /dev/sdd5

Så, nu är omflyttningen kvar. Det som återstår är att stoppa in den sista 2T disken i RAID:en (md4). Men innan det så vill jag vara lite ordentlig och kolla att att viktig data funkar. Det i min värld enklaste sätter för att vara 100 000% säker att jag kan läsa datan från de nya diskarna och RAID:en är helt enkelt att stänga av datorn och dra ut den gamla disken och ser om saker startar om om jag kan nå all min data.

Det finns även en fil /etc/mdadm/mdadm.conf, under Debian måste man manuellt uppdatera den, jag väljer att inte göra det nu då jag vill se om Ubuntu gör nått själv med den. Kan vara intressant och se.

Återkommer efter att ha dragit ut lite sladdar och testat.

Nope, var tvungen att updatera mdadm.conf, det görs enklast med att bli root och köra:

mdadm --examine --scan >> /etc/mdadm/mdadm.conf

Nu har du sparat information om alla dina RAID:s i slutet på filen, redigera den nu och ta bort dubbletter samt gamla RAID:s som du inte längre vill ha kvar (md127 i mitt fall).

Efter två ombooter (drog ut fel disk först) så funkar allt fint, jag uppdaterade /etc/fstab så att de pekar på de nya sökvägarna (jag bytte namn på mina volymgrupper) samt körde:

$ sudo mount -a
$ sudo swapon -a

Voilá, jag allt funkar fint, den nya raiden heter dock md127 i stället för md4. Ska jag vara ärlig så vet jag inte exakt vad som får den att namnge den 127, det verkar som att den använder 127, 126, o.s.v. som namn när något inte är helt 100. I mitt fall så döpte den om sig själv tillbaka till md4 efter att jag var klar. Men annars ska logiken vara att göra en --stop, följt av en --remove och slutligen --assemble på allt igen. Det funkar dock oberoende vad den heter.

Nu sätter jag in sista disken, tar bort partitionerna och partitionerar den på nytt på samma sätt som på de andra två, jag bygger sedan ut RAID:en över den och testar att allt funkar. Rundar av med att starta om datorn för att verifiera att allt kommer upp rätt.

$ sudo parted /dev/sdd mkpart p 4 1998G
$ sudo mdadm --add /dev/md127 /dev/sdd1

Nu är RAID:en komplett, det kommer trigga en synkronisering, något du kan se här:

$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md3 : active raid0 sdc2[1] sda4[0]
62868480 blocks super 1.2 512k chunks

md127 : active raid5 sdd1[3] sdb1[0] sde1[1]
3902331904 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
[>....................]  recovery =  0.0% (182400/1951165952) finish=534.7min speed=60800K/sec

unused devices: <none>

Synkroniseringen är något som sker transparent i bakgrunden, det är inget problem att göra vad du vill, inklusive starta om datorn då den kommer fortsätta snällt i bakgrunden. Tänk dock på att du har ingen fullt komplett RAID5:a med redundans förrän den är klar.

Det var allt, några timmar senare var allt klar och jag passade på att uppdatera datorn till 10.11.

Bloggar om: , , , , , , ,

, , , , , , ,

Inget tema i Ubuntu? Har du en SSD eller mycket snabb disk?

Filed in Linux | Teknik Leave a comment

Jag köpte en ny dator för en vecka sedan, det vanliga med moderkort, minne, cpu o.s.v… jag kostade dock på mig två SSD:er som jag valde att köra i RAID 0 (strip) med motiveringen “att det är kul”. Det resulterar till en ganska brutal läs och skrivhastighet och jag stötte på ett ganska lustigt problem.

Om datorn startar för snabbt så kan Ubuntu råka ut för  det roliga problemet att temat inte laddas. Jag påstår inte att jag vet vad som går fel men gnome-settings-daemon hinner starta för fort innan något annat är startat.

Lösningen är enkelt, lägg en liten fördröjning innan gnome-settings-daemon och låt “vad det nu är” hinna starta. Det är vad jag kallar ett fulhack men ett acceptabelt sådant för att fixa en bugg i väntan på att den blir fixad.

Redigera filen
/etc/xdg/autostart/gnome-settings-daemon.desktop

Ändra raden Exec till
Exec= bash -c “sleep 2; /usr/lib/gnome-settings-daemon/gnome-settings-daemon”

Notera “sleep 2″, om du vill experimentera kan du prova med en sekund i stället, men en sekund hit eller dit känns inte märkbart. Hjälper inte det prova med en större siffra. Kanske din dator behöver lite mer tid på sig.

Jag hoppas det hjälper någon.

Bloggar om: , , ,

, , ,

Problem med r8169, Linux och att du inte få en länk?

Filed in Linux | Teknik Leave a comment

Chansen är liten att ni har det här problemet, ärlig talat skriver jag ner det mest för mig själv för framtida bruk men om någon där ute har problemet så kan jag dela med mig lite.

Har du ett nätverkskort på din dator av typ r8169 och kör Linux, du har problem med att du inte får en länk så är lösningen ganska enkel.

Problemet uppenbarar sig med att du regelbundet tappar kontakten med nätet i några sekunder, du hittar även en mängd med “link up” i /var/log/messages.

I mitt fall är problemet att jag har även Windows installerat, när man stänger av Windows så stänger Windows av kortet för att slå av funktionen Wake-On-Lan. I Windows funkar det bra då drivrutinen slår på kortet när man startar Windows, men drivrutinen i Linux kan inte göra det.

I väntan på att någon förbättrar drivrutinen i Linux så löses problemet enklast med att slå på “Wake-on-lan after shutdown” i Windows, då lämnas kortet i fred och allt funkar.

Har du inte Windows installerat längre, eller vill du inte starta det i onödan så kan du manuellt återställa kortet genom att stänga av datorn och dra ut sladden och lämna det så 10-15 sekunder.

Mer information på Ubuntus forum

Bloggar om: , ,

, ,

Installera gamla extensions/tillägg i Firefox

Filed in Linux | Teknik 2 Comments

Jag sitter nu för tiden med en betaversion av firefox 4, det finns i dag många extensions om har anpassats för betan men ligger lite efter, t.ex. jag ville installera ett tillägg som hade stödj för beta 5, men då jag kör beta 7 på den här datorn så gick det inte att installera. Det är dock mycket enkelt att själv uppdatera tillägget. Här är hur du enklast gör det i Ubuntu/Gnome men iden är den samma i andra system och kan lätt anpassas.

Ladda ner xpi-filen

Steg ett är att ladda ner tillägget, det ligger i en xpi-fil. Enklast är att högerklicka på knappen “Install Anyway” och spara filen till valfritt ställe.

Uppdatera paketet

Nästa steg är att öppna filen, xpi-filen är egentligen en zip-fil så du kan använda valfritt program för syftet. Jag dubbelklickade bara på filen så öppnade “File Roller/Archive Manager” filen. Du kan även högerklicka på filen som synes på bilden om vill vara säker på vad som händer, första valet är det som kommer hända när du dubbelklickar.
Filen du vill redigera heter “install.rdf”, det är bara att dubbeklicka  på den för att öppna filen i “gedit/Text Editor”. Leta upp raden “<!-- Firefox -->”, några rader under står det <em:maxVersion>version</em:maxVersion>, byt ut version mot din version eller en större. Nu är det bara att spara filen, dialogen under kommer dyka upp. Det är bara att klicka på uppdatera. gedit kommer nu förmodligen att du vill spara filen igen, det kommer inte gå då den inte existerar längre. Stäng bara programmet samt File Roller.

Klart

Nu ska det vara klar, du kan öppna filen i webbläsaren mha. File > Open File men enklast är det att helt enkelt dra filen och släppa den i webbläsarfönstret. Nu kommer det gå att installera tillägget, att det funkar är dock ingen garanti då det kanske fanns en orsak att din version inte var uppskriven. I mitt fall chansade jag på att utvecklaren bara inte hade hunnit uppdaterat sitt paket och så var fallet.

Bloggar om: , , ,

, , ,

En vecka med en HTC Desire Z

Filed in Android | Linux | Teknik 2 Comments

För en vecka sedan bestämde jag mig att slutligen beställa en ny telefon, mig gamla HTC Magic som jag nu hade haft i ett och ett halvt år började kännas gammal. En av de sakerna jag sagt länge var att min nästa telefon skulle ha ett tangentbord. Jag hade hållit koll på Desire Z i cirka en månad i väntan på att den skulle släppas i Sverige och efter att först fått se G2:an släppas i USA under oktober följt av internationella Desire Z i Europa under september så hade jag tillräckligt mycket information för att slå till med en beställning innan den fanns att få tag på här i Sverige. I torsdags för nu en vecka sedan hämtade jag ut telefonen och jag måste säga att jag är nöjd, riktigt nöjd. Men som alltid så har man synpunkter och här kommer de.

Mjukvaran

Telefonen kommer installerad med HTC:s gränssnitt kallat Sense. Det är en mängt av olika applikationer, widgets och ett omarbetat tema. Det är fortfarande Android i botten men saker ser och funkar lite annorlunda. Jag har aldrig tyckt om utseendet som Sense ger, eller många av dess funktioner och finesser så den störta irritationen jag har haft är just mjukvaran. Nu tänker jag inte kritisera något som jag högst personligt inte tycker om då jag vet att många tycker om Sense. Jag räknar dock med att byta ut mjukvaran mot cyanogenmod som en en ett projekt som utvecklar en alternativ version av Android som i dag går att köra på ett tiotal telefoner. Cyanogenmod är till utseendet nästan identiskt med ren Androd med en del mindre finesser och förbättringar. De har hållit på sedan i Oktober då G2:an släpptes i USA att anpassa cyanogenmod till den, en testversion är nu ute. Då G2:an är nästan identisk som Z så funkar även det på den. Just nu avvaktar jag på att en stabil version är släppt, samt att “rootningen” är lite mer testad innan jag provar själv. Det är redan i dag flera användare på svenska androidsidan swedroid som har börjat installera experimentella versioner av cyanogenmod.

Men mer om detaljer som jag stör mig på i Sense längre ner, nu först kommer hårdvaran. Det som jag faktiskt anser mig ha köpt.

Hårdvaran

Det första jag tänkte när jag tog upp telefonen när den låg fint i sin ask var “vad tung den där”. Något som intressant nog två kompisar även sa som första sak när de fick chans att klämma på den. Visst det är en tung telefon, det är inget jag skulle vilja gå runt med i en bröstficka. Men väl på plats i fickan på mina jeans så vande jag mig nästan direkt av den extra vikten.

Den är ganska tjock då tangentbordet tar sin plats, det är mest det jag märker av när den ligger i fickan men åter igen så vande jag mig snabbt vid det. Det är inget jag har haft något problem med.

De lite mer tekniska specifikationerna är vad man förväntar sig av en Android-telefon i den här prisklassen och känns ganska redundant att rabbla upp här, kort och gott är det en andra generationen snapdragon och är såldes en av de snabbaste telefonerna på marknaden just nu, det märks. Det är en fröjd att använda den jämfört med min nu gamla Magic. Vill du veta mer finns det en bra tabell med tekniska specifikationer på wikipedia.

Tangentbordet
Nu det som är speciellt med telefonen, tangentbordet. Efter att ha hållit ett antal konversationer på den kan jag glatt säga att jag tycker att ett tangentbord är överlägset alla skärmtangentbord. Jag skriver visserligen i dag långsammare på tangentbordet då jag inte än har vant mig vid den lilla formfaktorn men till skillnad från skärm-tangentbordet så trycker jag mycket sällan fel på det fysiska. Det gör att jag totalt sätt är snabbare på det fysiska tangentbordet. Det är riktigt skönt att man slipper trycka fel när man skriver, jag använder t.ex. telefonen en del för att ansluta till en server, på den gamla telefonen satte jag nästan direkt upp ssh-nycklar så jag slapp skriva in lösenordet för att det var så jobbigt, nu en vecka senare så ligger det fortfarande på min TODO, det har inte blivit av då det går så smidigt att skriva in mitt lösenord. Det är ett bra betyg tycker jag.

Det är även skönt att jag inte har ett skärm-tangentbord som äter upp en stor del av skärmytan.

Knapparna är inte så sköna att skriva på som jag tycker de bör kunna vara, man får inte tillräckligt med motstånd eller klick-känsla när man trycker på en knapp. Det är förmodligen en vana, just nu begränsar det min skrivhastighet en del då det känns som att jag missar knappar ibland. För övrigt är det ett riktigt qwerty-tangentbord med där knapparna a-z sitter där dom ska. Mellanslag är stor och sitter i mitten och det finns två shift-knappar som är trevligt. För övrigt sitter punkt, komma, å, ä, ö och snabel-a på egna knappar, dock på konstiga ställen så det tar ett tag att vänja sig vid det. På de övriga tecken och knappar så finns det en funktionstangent som aktiverar resterande tecken. Det finns även två knappar (Æ och Ø) som är helt onödiga för mig som bara just nu tar plats. Det är dock något jag kommer lösa längre fram genom att modifiera dem och lägga någon mer användbara knappar där.

Design av utgångar

Något som jag känner att jag stör mig en del på är placeringen av utgångar då de är i vägen när man håller i telefonen, speciellt när man använder tangentbordet. Att datakabeln sitter under tangentbordet kan jag leva med då den inte sitter så mycket i vägen och det är inte så ofta jag kan se mig använda telefonen samtidigt som den är i. Ljudutgången är det en helt annan sak, jag lyssnar ofta på musik eller podcasts när jag är ute och rör på mig och då är det jobbigt att kabeln är mitt i vägen för handen på vänster sida av tangentbordet. Åt andra sidan är det svårt att plassera utgångarna på ett sätt där de inte är i vägen både i porträtt och landskapsläge. Så jag har ett överseende på den här punkten.

Gångjärnen

Det är många som är orolig för den lite ovanliga lösningen med gångjärnen men jag kan inte säga att det har skapat någon form av problem. Stängd håller den bra ihop, som du ser på en av bilderna längst ner på det här inlägget så håller jag den upp och ner utan problem utan att den öppnar sig. Det slår dock ihop sig själv om den är öppen och hålls upp och ner. Något att tänka på om du brukar ligga och skriva på rygg i sängen/soffan. Notera att du måste ligga med telefonen rakt upp över huvudet för att det ska bli ett problem.

Slutligen mer Sense

Om du vet hur sense ser ut så ser du säkert att jag har bytt ut delar av det. Den delen som jag har bytt ut är hemskärmen, valet blev ADW.Launcher som är en utmärkt applikation som ser ut och fungerar som ren Android med en del extra finesser. Det är samma som används i cyanogenmod. Jag planerar att byta ut telefon-delen samt adressboken så jag tycker mycket bättre om den som kommer med Android. När man väl har lärt sig hantera den ordentligt så är den mycket smidigare. Den detaljen som stör mig mest just nu är en finess som låter riktigt bra på ritbordet och förmodligen är riktigt trevlig på många andra telefoner. HTC har lagt till en lista på de senaste körda applikationerna i notifikationslistan. Som synes på bilden till vänster så funkar det riktigt fint när telefonen är i porträttläge men när man vrider den i landskapsläge som vi Z ägare så ofta har den pga tangentbordet så får vi problem.

Som synes till höger så tar applikationslistan upp hälften av det mycket begränsade utrymmet. Om jag t.ex. har en applikation körande som t.ex. ConnectBot i det här fallet så måste jag scrolla ner för att se den första notifikationen. Det är mycket irriterande, jag ska se om jag kan bli av med den funktionen. Vill jag se de senaste programmen kan jag alltid göra som man brukar göra, d.v.s. hålla inne home-knappen några sekunder.

Slutligen

Jag måste säga att det är den bästa telefon som jag har haft, nu sa jag samma sak när jag fick min Magic så ha i åtanke från vad jag har bytt mellan. Det finns många andra bra telefoner där ute från både HTC och andra tillverkare. HTC Desire Z känns som en telefon som riktar sig till oss som skriver lite mer och inte oroar oss för den extra storleken och vikten. Skriver du bara ett par SMS/Mail och surfar om dagen så kanske man inte kan motivera tangentbordet.

Men överlag riktigt trevlig telefon, jag är riktigt nöjd.

Bloggar om: , ,

, ,

HTTP proxy från terminalen

Filed in Linux | Teknik Leave a comment

Jag har arbetat på en server som inte är kopplad direkt mot nätet utan sitter bakom en proxy, att ladda ner filer på min arbetsstation för att sedan flytta de till servern är omständigt och onödigt jobb.

Räddningen är variabeln http_proxy som du kan sätta, syntaxen är:

http://user:pass@min.fina.url:8080

Då jag inte ville spara lösenordet i klartext så skrev jag ett litet skript som gör att jag kan skriva:

proxy wget http://example.com/file.txt

Det är inte perfekt men ett snabbt lite hack som gör vad det ska.

proxy() {
  echo -n "Username: "
  read -e _username
  echo -n "Password: "
  read -es _password
  echo
  http_proxy="http://$_username:$_password@proxy.url:8080" $@
}

Bloggar om: , , ,

, , ,

Problem med att starta gdesklets i ubuntu?

Filed in Linux | Teknik Leave a comment

Jag saknade en snygg klocka att ha på min externa skärm, tanken föll på gdesklets och jag installerade det.

Jag råkade dock nästan direkt ut för problem då saker inte startade korrekt då något är fel på paketet som kommer med Ubuntu 10.04. Förmodligen är Ubuntu skeppad med för ny/gammal version av något python-bibliotek. Lösningen är dock enkel:

Redigera filen
/usr/lib/gdesklets/utils/ErrorFormatter.py
ändra:
def _new_imp(name, globs = {}, locls = {}, fromlist = []):
till:
def _new_imp(name, globs = {}, locls = {}, fromlist = [], test = []):
Klart, saker bör nu funka som de ska.

Du kan läsa mer om det här:
http://forum.linuxmint.com/viewtopic.php?f=90&t=32554

Bloggar om: , ,

, ,

Kontrollera Spotify i Linux med mediaknapparna.

Filed in Linux | Teknik Leave a comment

Är du en användare av Spotify samt Linux så har du säkert inte missat att det nu äntligen finns en riktig Linux-klient. Här kommer en kort beskrivning ifall du missat det.

Innan var vi tvungna att köra Windows-binären genom Wine. En lösning som funkade helt ok men långt från bra. Linuxvarianten har nästan alla funktioner som du hittar i Windowsversionen, jag har inte hittat något som jag missar. En av de större sakerna som inte är implementerade i Linuxversionen är reklam så du måste vara en betalande reklamfri kund för att kunna använda programmet.

Spotify för Linux

Det jag har saknat mest med Spotify har varit möjligheten att kontrollera programmet med minna media-knappar som jag har på tangentbordet. De flesta inbyggda programmen lyssnar på dem men enda sättet för mig att byta låt eller stanna musiken har varit att leta rätt på programmet och trycka på “pause”. Det har varit en irritation så möjligheten att just kunna pausa musiken är trevlig att ha lätt åtkomlig om någon pratar med en och man vill få tyst på ljudet fort, att leta rätt på Spotify kan ta ett par sekunder.

Jag hittade lösningen för några dagar sedan när jag hittade det mycket trevliga programmet xdotool. xdotool är ett program för att bl.a. hantera fönster samt simulera tangentryckningar. Jag har skrivit ett litet skript som gör följande:

  • Spara undan fönstret som jag har aktivt
  • Sök upp spotify och gör aktivt (utan att fönstret blir synligt)
  • Tryck på mellanslag
  • Återställ aktivt fönster

Här ovan ser du logiken för att hantera play/pause för spotify. Här kommer koden:

cur_focus=`xdotool getactivewindow`
xdotool windowfocus $(xdotool search --title spotify | head -1)
xdotool key space
xdotool windowfocus $cur_focus

Nu är det bara och göra det till ett litet skript och binda “play/pause” knappen till skriptet.

Du kan göra mycket kul med xdotool, jag har t.ex. skrivit en mobilanpassad webbsida som skickar kommandon till min dator som med hjälp av xdotool kontrollerar olika delar som t.ex. pilarna, spotify, mplayer. Allt för att jag ska kunna ligga i min säng någon meter bort med min iPod eller mobil och kontrollera datorn när jag t.ex. ser på film.

Har du hittat någon kul användning för xdotool så skriv gärna en kommentar. Samma sak om du behöver hjälp med att få något att funka.

xdotool -- fake keyboard/mouse input, window management, and more

Bloggar om: , ,

, ,

Android, Cyanogenmod och öppen källkod

Filed in Android | Linux | Teknik Leave a comment

cyanogenlogo

Som du kanske redan vet är Android öppen källkod, men vad du kanske inte vet är exakt vad som är det, och mer viktigt vad som inte är det.

För nu två dagar sedan så fick Steve Kondik, mer känd som cyanogen som utvecklar cyanogenmod som är en variant av Android (som jag använder) ett brev från Googles juridiska avdelning. Dom krävde att han skulle ta bort mjukvara som Google äger och han inte hade rätten att publicera. Mjukvaran i fråga är saker som Gmail, Maps, Gtalk, Market och nästan “allt google”. Ett dåligt drag för Google, och ett tråkigt drag för oss användare.

Åt ena sidan förstår jag Google, det är deras program som dom har rätten att göra vad som vill med och jag kan förstår att dom vill ha kvar kontrollen över dem, över vilka versioner som installeras var, och när. Men samtidigt är det ett mycket dåligt drag av Google för på sikt kommer det bara motivera folk att utveckla alternativa lösningar (program). Det här kommer bara motivera utvecklandet av öppna program men nu i glappet kan det bli lite jobbigt.android logo bot

Gmail, Maps, GTalk, YouTube… är alla program som går att byta ut, det finns publika API:er från Google som man kan använda för att få samma, eller nästan samma funktionalitet. Problemet är dock Market, då market är en betallösning och förmodligen innehåller en del DRM så gissar jag på att det kommer bli svårt (om ens lagligt) ett skriva ett program som ansluter till samma databas. Alternativet är att utveckla en helt egen separat lösning. Det är dock inget som är bra för plattformen programmen kommer spridas ut över de olika marknadsplatserna, ingen utvecklare kommer orka publicera sin applikation på alla och ingen användare kommer orka leta på alla. Sedan det där med betalningar, jag litar på att Google hanterar mitt kreditkort korrekt men något litet okänt företag? Nej.

Cyanogen har sagt att han har varit i kontakt med Google och tagit reda på vad exakt som måste bort, det ser ut som att vi kommer ha ett system som startar och går att använda som en telefon (samtal, sms, m.m.) efter att han har tagit bort Googles applikationer. Dock blir det ingen rolig telefon längre så han tänker utveckla en lösning. Programmen som du hade på din telefon när du köpte den har du rätten till, så vad han kommer göra är ett program för att göra en kopia av dem för att sedan återställa dem efter att du har installerat cyanogenmod. Ingen jättebra lösning då vi förlorar framtida uppdateringar på de programmen men vi får åtminstone tills vidare en telefon i det skicket vi vill ha den.

Det ser ut att bli lite mer pyssel i framtiden för att lagligt installera en alternativ ROM på en Android-telefon.

För den intresserade så är en lista publicerad på pastebin över vad som ska bort.

system/lib/libgtalk_jni.so
system/lib/libloc_api.so
system/lib/libpdfreader.so
system/lib/libt9.so
system/framework/com.google.android.gtalkservice.jar
system/framework/com.google.android.maps.jar
system/framework/com.htc.framework.jar
system/framework/com.htc.resources.apk
system/etc/permissions/com.google.android.gtalkservice.xml
system/etc/permissions/com.google.android.maps.xml
system/app/BugReport.apk
system/app/Clicker.apk
system/app/com.amazon.mp3.apk
system/app/FilePicker.apk
system/app/Gmail.apk
system/app/GmailProvider.apk
system/app/GoogleApps.apk
system/app/GoogleCheckin.apk
system/app/GoogleSettingsProvider.apk
system/app/gtalkservice.apk
system/app/ImProvider.apk
system/app/Mail.apk
system/app/Maps.apk
system/app/MarketUpdater.apk
system/app/MediaUploader.apk
system/app/NetworkLocation.apk
system/app/PDFViewer.apk
system/app/SetupWizard.apk
system/app/Street.apk
system/app/Talk.apk
system/app/TmoImPlugin.apk
system/app/Vending.apk
system/app/VoiceSearch.apk
system/app/YouTube.apk
data/app/HTC_IME.apk
data/app/teeter.apk

Bloggar om: , , , ,

, , , ,

Äntligen iptables i kärnan på en skandinavisk 32A android-telefon

Filed in Android | Linux | Teknik Leave a comment

En av orsakerna att köpa min telefon var att jag skulle kunna ersätta mitt mobila bredband, jag har kört med Azilink hittils för att uppfylla det och det har funkat även om det har varit lite buggigt. I bland har den kopplat ifrån och jag har varit tvungen att starta om azilink, och så har telefonen förvandlats till en sladdtelefon när jag kom hem (då den satt fast i datorn med USB-kabeln).

Du kan läsa minna två tidigare inlägg om ämnet:
Använd din android/HTC magic som modem
Anslut automatiskt med AziLink och Android

Jag har länge väntat på att HTC ska släppa sin modifierade kärnas källkod så folk själv kunde kompilera egna kärnor som bootade på våra 32A-telefoner. Källkoden som kommer från Google, d.v.s. ren Android hänger sig när man försöker boota den på en 32A. Har man dock en 32B som säljs i USA, stora delar av Europa och övriga världen så var det inget problem då den körde ren Android utan problem.

Det som hände i stället var att en person på forumet xda-developers listade ut vad skillnaden var och byggde en kärna som bootade. Koden har nu börjat spridas och hemmabyggda ROM:ar (installationer av Android) har börjat dyka upp. Jag provade en ROM som heter Cyanogen som innehåll mycket intressant, förutom den nya kärnan så har den massa förbättringar som kommer från Donut, d.v.s. nästa version av Android som inte är släppt än.

Vill du prova Cyanogen på en telefon av typen 32A, gå till den här länken:
http://www.swedroid.se/forum/showthread.php?t=1414

Där hittar du en fil som heter signed-cyanm-4.0.1_gbo-32a.zip, notera “gbo”. Det är den som innehåller den nya kärnan.

Vill du prova? Du hittar bra guider på Swedroids wiki, notera att du INTE behöver röra SPL:en för att lägga in den här ROM:en då den är signerad.

För ett tag sedan provade jag den nya kärnan med android-wifi-tether, allt funkade perfekt. Ett trådlöst nätverk skapades som det bara var att ansluta till, det kan inte vara enklare. Nu kan jag använda min telefon som modem så länge den är i lägenheten, jag kan svara, går runt med den och prata, sitta och leka med den utan att sladden är i vägen o.s.v. … en enorm förbättring. Att det sedan inte kräver någon konfiguration på datorn gör att man enkelt kan starta ett wlan någon annan stans och dela med sig till någon kompis om man skulle vilja.

Nu väntar jag bara på skype, en bra twitterklient (inte hittat någon som funkar som jag vill) och en bra facebook-applikation (som funkar som jag vill) så är jag nöjd (ett litet tag) :)

Bloggar om: , , , , ,

, , , , ,

TOP