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: , , , , , , ,

, , , , , , ,

Det är inte alltid bäst att köra paketen från dist.

Filed in Bloggar | Bloggen | Personligt | Teknik 1 Comment

Suck … jag installerade WordPress med hjälp av pakethanteringsverktyget, jag trodde det skulle vara en bra idé då det skulle vara smidigt att sätta upp och få det att funka, samt det skulle vara enkelt att uppdatera då bloggen uppdaterades tillsammans med resten av systemet.

Så var INTE fallet, till och börja med fick jag en gammal version som var tråkigt. Den var rätt krånglig att sätta upp, jag importerade inläggen från gamla installationen med WordPress eget verktyg och nu funkade inte bilderna, krävde en del manuellt pill.

Vid det här laget hade jag inte gett upp än, det kändes fortfarande som en god idé att lösa mina problem för att sedan en installation som var lätt och uppdatera.

Sedan hände det, jag började skriva ett inlägg och noterade att jag inte kunde lägga till bilder. Efter en del sökande kom jag fram till att det berodde på att Debian folket hade bestämt att spara plats genom att länka in tillägg från separat installerade paket i stället för de som kommer med WordPress. Det verkar bra i teorin men i det här fallet så råkade vi ut för någon inkompatibilitet. Det var droppen, även om jag fixade den här buggen så visste jag inte hur många fler som fanns, och om det kommer uppstå nya i framtiden.

Du kör jag senaste WordPress i stället, manuellt installerat och upp konfigurerat. Allt funkar som det ska, inga problem alls.

Något att tänka på, om det är nu så rekommenderar jag INTE WordPress paketet som finns i Debian/Ubuntu.

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: , ,

, ,

Använd din android/HTC magic som modem

Filed in Android | Internet | Linux | Teknik 4 Comments

Som jag skrev i förra inlägget så tänkte jag låta min telefon ersätta mitt mobila bredband, och nu när den har kommit så kommer en guide hur man gör för att komma igång under Ubuntu Linux.

Det kräver att du har lite koll på datorer och Linux för att kunna följa med, har du frågor så skriv en kommentar så hjälper jag till.

Jag har en HTC Magic som är köpt i Sverige, något som de nordiska telefonerna har gemensamt är att HTC har varit och ändrar lite på koden i Android. Vissa förbättringar, och vissa försämringar. En av de sämre är att dom har tagit bort stöd för att kunna använda iptables. Iptables är det som används i Linux för att begränsa och skicka vidare trafik, precis vad en vanlig router gör. Tyvärr innebär det att du inte har lika mycket htc-magic-2möjligheter, det finns dock en lösning och den heter AziLink och kräver att du har USB-sladden i.

Har du en icke-nordisk Magic eller någon annan modell så kanske du har stödj för iptables, i så fall rekommenderar jag att du kollar upp andra alternativ då du med dem kan använda wlan:et eller blåtand för att koppla ihop telefonen med din dator. Den nordiska Magic identifieras med att det står “HTC” på baksidan (inte Google).

Förbereda

Innan du börjar måste du installera lite saker på datorn, så glöm inte att förbereda det först innan kopplar bort din vanlig uppkoppling för att prova.

Konfigurera

Nu har du laddat ner allt du behöver, börja med att gå in i telefonen under Settings > Applications > Unknown sources och välj den så att du kan installera azilink.apk på din telefon. På nästan samma ställe under Settings > Applications > Development > USB debugging slår du på den.

Öppna nu en terminal om du inte redan har en öppen.

Nu behöver du skapa en fil för att Linux ska hantera telefonen på rätt sätt, döp filen till 51-android.rules och lägg den i /etc/udev/rules.d/, för att göra det med ett kommando skriv:

gksudo gedit /etc/udev/rules.d/51-android.rules

Filen ska innehålla:

SUBSYSTEM==”usb”,SYSFS{idVendor}==”0bb4″,ATTR{idProduct}==”0c02″,SYMLINK+=”android_adb”,MODE=”0666″,OWNER=”USERNAME”
SUBSYSTEM==”usb”,SYSFS{idVendor}==”0bb4″,ATTR{idProduct}==”0c01″,SYMLINK+=”android_fastboot”,MODE=”0666″,OWNER=”USERNAME”

(Notera USERNAME, byt ut det mot ditt användarnamn)

Ändra filen /etc/resolv.conf med:

gksudo gedit /etc/resolv.conf

Den ska innehålla

domain lan
search lan
nameserver 192.168.56.1

Stoppa nu in USB-kabeln till telefonen (sitter den redan i, ta ur den och sätt i den igen).

Gå nu in i katalogen tools med en terminal, du hittar katalogen i Androids SDK som du packade upp tidigare. I den ligger ett program som heter adb som vi kommer använda (eventuellt går det att kopiera adb och ta bort resten av SDK:n, inget jag provat själv).

Prova nu om adb hittar din telefon med ./adb devices, du bör få tillbaka en träff som liknar “HT85FKF11362  device“.

Installera

För att installera azilink.apk på din telefon skriv ./adb install sökväg_till_apk_fil, t.ex. om filen ligger i tools-katalogen:

./adb install azilink.apk

Om allt har gått bra så är nu AziLink installerad på din telefon, starta nu programmet på telefonen och välj “Service Active”. Du kan hålla ett öga på status i programmet längre fram om du vill.

Anslut

Då jag inte använder NetworkManager så stäng av den med:

sudo /etc/init.d/NetworkManager stop

För att ansluta börja med att skapa en anslutning mellan telefonen och din dator med:

./adb forward tcp:41927 tcp:41927

För att sedan starta OpenVPN med konfigurationsfilen du laddade ner tidigare. sudo openvpn --config sökväg_till_azilink.ovpn, t.ex om azilink.ovpn ligger i tools:

sudo openvpn --config azilink.ovpn

Massa text kommer komma upp, efter ett tag bör du se “Initialization Sequence Completed” och det bör stå “Connected to host” under status på telefonen. Prova nu att surfa på nätet.

Avbryt och återanslut

För att avbryta, tryck control-c i terminalen. För att sedan ansluta vid ett senare tillfälle så så måste du köra följande kommandon:

  • sudo /etc/init.d/NetworkManager stop (bara om du har startat den igen, eller startat om datorn)
  • Aktivera AziLink på telefonen (om den inte är aktiverad längre).
  • ./adb forward tcp:41927 tcp:41927 (bara om du har loggat ut eller startat om datorn)
  • sudo openvpn --config azilink.ovpn

Återställ NetworkManager

Vill du få tillbaka NetworkManager igen så skriv bara:

sudo /etc/init.d/NetworkManager start

(eller starta om datorn)

Slutsats

När jag fick ner alla steg på svart och vitt så insåg jag att det blev ett par steg, eventuellt kan jag hacka ihop några skript för att förenkla installationen och hanteringen längre fram. Någon som känner att dom har nytta av det så säg till. Jag kommer nog dock för min egen skull skiva nått som gör det enklare (automatiskt) att använda när saker redan är konfigurerade.

Bloggar om: , , ,

, , ,

Att installera och sätta upp AWStats i Ubuntu

Filed in Internet | Linux | Teknik | Webben Leave a comment

awstatsJag har just spenderat några timmar med att installera och sätta upp AWStats på en av mina servrar. Jag tänkte dokumentera hur jag gjorde.

AWStats är ett utmärkt program för att få statistik för din webbplats. AWStats har även stödj för andra typer av statistik som t.ex. ftp-servrar men det kommer jag inte ta upp här. Vill du veta mer kan du läsa på den officiella hemsidan eller kolla på ett demo.

AWStats official web site
Demo av AWStats

Vad ska jag med AWStats till kanske du undrar, jag har redan ett bra webbaserade statistikverktyg som t.ex. Google Analytics. Jo, saken är den att webbaserade statistikverktyg fångar inte all trafik, t.ex. om du har en blogg så får du ingen information om hur många som läser bloggen via din feed, du missar även besökare som har javascript avstängt eller har installerat något som blockerar t.ex. Google Analytics. Allt det för att de webbaserade verktygen baserar sin statistik på ett litet javascript, eller liknande teknik som finns på din hemsida.

AWStats använder din webbservers loggar som källa för att bygga sin statistik, det gör att den får med allt som finns där. Nu sparas inte all information i loggarna så vill du ha bra koll på dina besökare så kör flera statistikverktyg, t.ex. AWStats + Google Analytics. Det skadar aldrig att hålla koll på besökarna.

Jag föresätter att du kör en debian-baserat system (t.ex. Ubuntu), och att du känner dig bekväm med kommandoraden och att du kör webbservern Apache.

Installera

sudo apt-get install awstats

Konfigurera AWStats

AWStats har sin konfiguration i /etc/awstats. Det finns en fil där som heter awstats.conf, utgå från den för att skapa en ny fil som heter awstats.example.com.conf där example.com är ditt domännamn. Öppna den och ändra följande inställningar:

LogFile -- Sökvägen till din access.log för din site.
SiteDomain -- Ditt domännamn, t.ex. example.com
HostAliases -- Lägg till ditt domännamn först där, t.ex. “example.com localhost 127.0.0.1″

Det är det minsta du behöver för att få igång AWStats.

Konfigurera Apache och generera statistik

Nu behöver du sätta upp apache så att du kan se din statistik, skapa en fil i /etc/apache2/conf.d, jag döpte den till awstats.conf. Alla filer i conf.d kommer laddas när apache startar. I den har jag:

Alias /awstatsclasses “/usr/share/awstats/lib/”
Alias /awstats-icon/ “/usr/share/awstats/icon/”
Alias /awstatscss “/usr/share/doc/awstats/examples/css”
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
ScriptAlias /awstats/ /usr/lib/cgi-bin/
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

Det räcker för att AWStats ska laddas när du går till example.com/awstats/awstats.pl. Men innan du gör det så måste du generera någon statistik att kolla på, det gör du genom att köra följande kommando:

sudo /usr/lib/cgi-bin/awstats.pl -config=example.com -update

Det kommer skrivas ut den del information, första gången kommandot körs så kan det ta lång tid att köra. När det är klart så bör du hitta statistiken på example.com/awstats/awstats.pl så fort apache har laddats om med:

sudo /etc/init.d/apache2 reload

(Är servern viktig så kan du kolla filerna efter syntaxfel först innan du kör reload med kommandot “apache2ctl -t”)

Kräv inloggning och lite enklare adress

Nu är det inte bra att ha statistik som din webbplats öppen för alla så en inloggning vore en idé, börja med att ändra variabeln AllowAccessFromWebToAuthenticatedUsersOnly till 1, nu kräver AWStats att du måste vara inloggad. Nu måste du se till att det går att logga in, det gör du genom att ändra lite i apaches konfiguration.

Lägg till följande i din apache-konfiguration  i din vhost. Första 2 raderna gör så att det räcker med att skriva example.com/awstats för att komma till statistiken och är valfria.

RewriteEngine On
RewriteRule ^/awstats/?$ http://%{HTTP_HOST}/awstats/awstats.pl  [R,L]

<Directory /usr/lib/cgi-bin/>
<IfModule mod_authn_file.c>
AuthType Basic
AuthName “AWStats Login”
AuthUserFile /etc/awstats/htpasswd
</IfModule>
Require valid-user
</Directory>

Skapa filen htpasswd i /etc/awstats med:

sudo htpasswd -c /etc/awstats/htpasswd användare

(för att lägga till fler användare, kör samma rad igen men utan flaggan -c)

Ladda om servern:

sudo /etc/init.d/apache2 reload

Nu bör du få en fråga om att logga in när du försöker nå AWStats, prova gärna med att logga in med fel (och tomma) uppgifter så att saker är korrekt uppsatta.

Håll statistiken uppdaterad med cron

Tidigare körde vi awstats.pl för att generera statistik, för att slippa göra det manuellt så ber vi programmer cron att köra kommandot med regelbundna intervall. För att editera cronjobben skriv:

sudo crontab -e

Är det första gången blir du tillfrågad om vilken editor du vill använda, välj din favorit. Syntaxen i cron är:

[MINUTER]   [TIMMAR]   [DAGAR PÅ MÅNADEN]   [MÅNADEN]   [DAG PÅ ÅRET]   [KOMMANDO]

Ett cronjobb skrivs på en rad, och är separerat med ett mellanrum. Du skriver en * för att beskriva “alltid”, du kan även ange datum och tider som 12-15 eller 1,2,3 eller */10. Du kan läsa på mer om cron här.

Exempel där jag uppdaterar statistiken kl. 00:00, 06:00, 12:00 och 18:00:

0 0,6,12,18 * * * /usr/lib/cgi-bin/awstats.pl -config=example.com -update > /dev/null

1 gång i timman (xx:00):

0 * * * * /usr/lib/cgi-bin/awstats.pl -config=example.com -update > /dev/null

1 gång om dagen (midnatt):

* 0 * * * /usr/lib/cgi-bin/awstats.pl -config=example.com -update > /dev/null

Har du flera olika domännamn på servern?

Har du flera olika domännamn på servern så räcker det med att skapa en till konfigurationsfil för AWStats, sätta upp vhost:en så att det går att logga in, eventuellt skapa en till användare och sätta upp en rad till i cron så att statistiken för den nya siten genereras. Ett tipps är att inte köra båda händelserna exakt samtidigt, speciellt inte om dina loggar är stora.

Det finns en del små förbättringar du kan göra så du slipper ha samma typ av information på flera olika ställen. Du kan flytta ut konfiguration från vhost:en till en separat fil, jag har kallat den awstats.conf och lagt den i en katalog som heter inc under /etc/apache2, d.v.s. /etc/apache2/inc/awstats.conf (inte att blanda ihop med /etc/apache2/conf.d/awstats.conf). Sedan räcker det med att inkludera den från de olika vhost:s jag har med:

Include inc/awstats.conf

Fördelen är att du nu har konfigurationen på ett ställe, och om du behöver ändra något så är det bara i inc/awstats.conf du behöver ändra i.

Samma teknik kan användas för konfigurationen till AWStats, jag har skapat en fil som heter awstats.model.conf som ligger i /etc/awstats. Den innehåller alla gemensamma inställningar som gäller alla sidor jag har. De inställningarna som är unika för en sida har jag flyttat in i sidans konfigurationsfil. Filen slutar sedan med att jag inkluderar de generella inställningarna:

Include “/etc/awstats/awstats.model.conf”

Det blir mycket renare och enklare att ha översikt, och risken att du glömmer att ändra någon inställningen på en av sidorna minskar.

Jag hoppas att det här kan hjälpa någon, är det något som inte funkar, eller har jag missat något. Låt mig veta.

Bloggar om: , , , , , , ,

, , , , , , ,

Några intryck från Jaunty

Filed in Personligt | Teknik Leave a comment

desktop1

Sådär, det är en del kvar att göra innan jag känner mig nöjd med Jaunty, men det känns bra, har inte haft några större problem och den enda irritationen löste jag just (efter att ha suttit och läst på ubuntus bugtracker i ca ~30 minuter).

Problemet som jag hade var att det nya notifikationssystemet som används för att visa information som t.ex. volymändringar, anslutningar, meddelanden m.m. hamnade på fel skärm, på min sekundärskärm. För det första är det inte så vanligt med två skärmar, för det andra om man nu har en extraskärm så placerar man oftast den till höger. Jag har satt min högra skärm som huvudskärm i inställningarna men alla program lyssnar inte på det, och så blir det fel.

Det fanns dock en lösning, man kunde sätta en nyckel till focus-follow som gör just vad namnet antyder, den kommar upp på den skärm du för tillfället arbetar. En enkel, och perfekt lösning. Så hur ställde jag in det?

Öppna en terminal och skriv:

gconftool-2 -s -t string /apps/notify-osd/multihead_mode focus-follow

Det bör räcka, eventuellt måste du logga ut/in för att ändringen ska börja gälla. Det kommer förmodligen komma upp som en inställning längre fram, eller vara påslagen som standard. Men jag är glad att inställningen fanns, även om inte helt självklar.

För övrigt, jag måste säga att jag gillar det nya temat som följer med (New Wave), lätt modifierat och med blå bakgrund så det det riktigt bra ut. Jag har dock bytt ut fönsterkanterna mot en som heter Correcamins som jag använt sedan tidigare då jag inte gillade de som följde med New Wave. (Använder New Waves fönsterkanter igen, det såg mer enhetligt ut.)

new-wave

Bloggar om: , , , ,

, , , ,

Ubuntu 9.04 (Jaunty Jackalope)

Filed in Personligt | Teknik Leave a comment

Jag sitter just nu och uppdaterar från ubuntu 8.10 till 9.04 som släpptes i går. Jag installerade även ubuntu:s “Netbook Remix” på min Asus Eee (netbook) tidigare i dag, har inte bestämt mig ännu hur jag tycker om den, återkommer när jag har använt den några dagar.

Nu åter till min vanliga dator, den jag nu sitter vid och samma dator som jag håller på att uppdatera. Jag hade egentligen velat installerat om den helt. En ren installation blir alltid mycket bättre, man blir av med massa gammal skit som man aldrig använder o.s.v…. men jag orkar inte, det är för mycket jobb att konfigurera upp allt efter, det är tillräckligt mycket med jobb att konfigurera upp min eee. Det får bli som jag brukar göra, uppdatering varannan gång, och ominstallation den andra.

osd

Till skillnad mot tidigare versioner så är det inget större jag har att se fram i mot, allt är lite uppdaterat och funkar lite bättre men inget nytt, stort coolt. Den punkten som jag just nu är mest intresserad av är nog det nya systemet för att visa händelser (se bild), det är snyggt och riktigt välgjort. Hittar jag något nytt intressant så återkommer jag med ett nytt inlägg, blir jag tyst, ja, då var den här uppdateringen lika ointressant som jag misstänkte.

Du ser jag fram i mot att allt ska funka lite bättre.

screenshot-distribution-upgrade

Bloggar om: , , , , , ,

, , , , , ,

Firefox 3.1 beta 3 i Ubuntu Linux

Filed in Teknik | Webben Leave a comment

Jag installerade Firefox 3.1 beta 3 i förrgår för att testa weave (läs mer här), dock hittade jag inget lätt sätt att installera betan med ett paket så det blev manuellt. Jag hittade en formpost här där en användare skrev en bunt kommandon som jag använde som inspiration.

Installera betan

  1. Ladda ner betan, och packa upp den, du bör få en katalog som heter firefox, om inte så döp om den.
  2. Flytta den till /opt
    sudo mv /sökväg/till/firefox /opt
  3. Ta bort, eller flytta bort plugins-katalogen
    sudo mv /opt/firefox/plugins /opt/firefox/plugins.backup
  4. Länka in installerade plugins i stället
    sudo ln -s /usr/lib/xulrunner-addons/plugins /opt/firefox/plugins
  5. Döp om den installerade binären till firefox.ubuntu
    sudo dpkg-divert --divert /usr/bin/firefox.ubuntu --rename /usr/bin/firefox
  6. Länka in den nya binären
    sudo ln -s /opt/firefox/firefox /usr/bin/firefox
  7. Spara undan en kopia av .mozilla katalogen i din hemkatalog om något går fel
    cp -R ~/.mozilla ~/.mozilla-stable

Nu är det klar, starta om Firefox och betan bör öppnas. Då det fortfarande är en beta så är chansen stor att något inte funkar som det ska på ditt system, så nu kommer hur du tar bort betan och återställer.

Ta bort betan

  1. Ta bort länken till betan
    sudo rm /usr/bin/firefox
  2. Återställ ubuntus binär
    sudo dpkg-divert --rename --remove /usr/bin/firefox
  3. Ta bort de installerade filerna
    Hoppa över det här om du lätt vill kunna ominstallera betan, börja i så fall direkt på steg 5 när du installerar.
    sudo rm -r /opt/firefox
  4. Eventuellt återställa .mozilla, om du inte har sparat några bokmärken eller andra personliga inställningar i betan så rekommenderar jag att du återställer. Annars kan du prova om det funkar först.
    mv ~/.mozilla ~/.mozilla-beta
    mv ~/.mozilla-stable ~/.mozilla
    Beta-versionen:s .mozilla sparas som .mozilla-beta ifall du behöver den senare.

Ett skript för att hoppa mellan betan och ubuntus firefox

Det finns säker ett sätt för att kunna köra betan och Firefox samtidigt, men jag kunde inte lista ut hur. Vad jag där i mot visste var hur jag hoppade fram och tillbaka mellan de olika versionerna med ett par kommandon, då det är obekvämt så skrev jag ett litet skript som automatiserade det.

ff_sw.sh

Ladda ner det någon stans, t.ex. till din hemkatalog. Sätt rättigheter på filen så den går att köra genom att skriva:

  • chmod +x ff_sw.sh

Nu kan du köra filen genom att skriva

  • ./ff_sw.sh

Om du kör den utan parametrar (om jag skrev ovan) så kommer du få en utskrift med de olika alternativen, just nu är de: check, beta och stable. Jag rekommenderar att du kör check först, den kommer kolla att allt står rätt till. Men först ska du förbereda.

Döp den .mozilla-katalogen som används till betan till .mozilla-beta och den för ubuntus stabila version till .mozilla-stable, har du installerat betan med min guide ovan så har du redan .mozilla-stable så det räcker det med att köra:

  • mv ~/.mozilla  ~/.mozilla-beta

Har du ingen gammal (eller ny) .mozilla-katalog så kan du göra en kopia. Nu skapar du en länk, låt oss anta att du just nu kör betan, skriv då:

  • ln -s ~/.mozilla-beta ~/.mozilla

Kör du stable så skriv i stället

  • ln -s ~/.mozilla-stable ~/.mozilla

Nu är alla förberedelserna klara och du kan köra check för att kolla att allt ser bra ut

  • ./ff_sw.sh check

Sedan kan du köra

  • ./ff_sw.sh stable

respektive

  • ./ff_sw.sh beta

för att byta till aktuell version.

Så där, det här var ett långt och krångligt, men lärorikt! sätt att installera och hantera betan på en ubuntu-installation.

Bloggar om: , , , ,

, , , ,

Har firefox fassnat i ett fullskärmsliknade läge?

Filed in Teknik | Webben 1 Comment

firefoxPå en av minna datorer och en vänns dator så har firefox fassnat i något som vid första anblick såg ut att vara fullskärmsläge, men vid en närmare koll så var det att fönstret låg över allt på skärmen, d.v.s. inklusive alla paneler och fönsterkanterna låg utanför skärmen,  du kan inte nå minimera-, maximera-, stäng-knapparna.

Problemet uppstod i båda fallen på Ubuntu 8.10 med firefox 3.0.5 och vad som hade hänt var att firefox hade glömt bort hur fönstret skulle ligga och plasserade det lite fel. Lösningen är enkel, ändra sorleken på fönstret så kommer den nya storleken sparas.

Här kommer en liten punktlista på vad som behöver göras.

  • Se till så du kan nå maximera-knappen, hoppa in och ur fullskärmsläge genom att trycka på F11 två gånger.
  • Nu tryck på maximera, fönstret är nu inte maximerat längre, stäng alla fönster förutom ett.
  • Ändra storleken på fönstret, firefox bör nu spara den nya storleken.
  • Stäng firefox, starta firefox, fönstret bör nu öppnas icke maximerat och i storleken du ändrade till.

Nu är det bara att maximera det igen (om du så önskar) eller ändra till önskad storlek och fortsätta som vanligt.

Hoppas det hjälper någon.

Bloggar om: , , , , , , , ,

, , , , , , , ,

TOP