• Sparka igång en server med Kickstart

    Jag gillar att testa nya funktioner, programvaror och annat som kräver en server för ändamålet. Då jag kör VMware:s ESXi hemma så kan jag närhelst jag vill sparka igång en ny virtuell maskin. Då jag gör detta hyfsat ofta bestämde jag mig för att automatisera det hela så långt som möjligt.

    Det finns både kommersiella och gratis alternativ för att uppnå vad jag egentligen ville göra, nämligen att automatisera installationen av CentOS 7 så långt det bara var möjligt. Givetvis kan man via VMwares egna VRealize automatisera skapandet av den virtuella maskinen och sedan skjuta in operativsystemet från en på förhand skapad mall, men det kändes som det var lite väl mycket jobb för att göra något som egentligen är ganska enkelt.

    Funktionen jag använder kallas kort och gott “Kickstart” och den är inbyggd i Red Hat Enterprise Linux och därmed också i CentOS version 7 som jag använder för det mesta (även om jag börjat bygga mer och mer på FreeBSD, men det är ett ämne för en kommande bloggpost).

    Kickstart är enkelt: en dator på ett subnät, exempelvis 10.10.10.0/24, startar upp och istället för att försöka starta från en inbyggd hårddisk, CD-ROM-skiva, floppy eller vad man nu tänker att denna dator ska starta från. Denna dator kan vara antingen virtuell eller fysisk, det spelar ingen roll. Funktionen datorn använder för att starta kallas PXE (Preboot Execution Environment) och den gör på många sätt exakt samma sak som vad gamla TFTP (Trivial FTP) gjorde vilket är detta: datorn skriker ut medelst en broadcast på det lokala subnätet att den efterfrågar en fil.

    Med TFTP fick man, om man exempelvis skulle starta en Sun-maskin via detta protokoll, döpa filen som skulle serveras via TFTP till datorns MAC-adress för att rätt maskin skulle “plocka upp” rätt fil.

    I fallet PXE är använder man bland annat TFTP och DHCP i kombination utan att behöva döpa en fil till ett visst namn. Det är nämligen lite smartare än så.

    Datorn startar upp och via PXE försöker den få en IP-adress via DHCP. När denna adress tilldelas så skickas också adressen till en bootserver med i samma paket och därefter kan datorns BIOS begära en PXE-fil som innehåller grundläggande information för att installationen ska hoppa igång. I denna fil talar man om hur uppstartsmenyn ska se ut, var Linuxkärnan ska hämtas från och vilket protokoll som ska användas, och så vidare.

    Min fil (/var/lib/tftpboot/pxelinux.cfg/default) ser ut så här:

    default menu.c32
    prompt 0
    timeout 10
    MENU TITLE melin.org PXE Menu
    LABEL centos7_x64
    MENU LABEL CentOS 7_X64
    KERNEL /networkboot/vmlinuz
    APPEND initrd=/networkboot/initrd.img inst.repo=ftp://10.10.10.113/pub ks=ftp://10.10.10.113/pub/centos7.cfg
    

    Som synes är nästa steg för servern att hämta filen centos7.cfg via FTP (ks=ftp://...). På samma FTP-server ligger också hela repot för CentOS 7 (inst.repo). Filen centos7.cfg är ganska lång och kanske inte helt självförklarande men här komner ett försök:

    firewall --disabled
    install
    url --url="ftp://10.10.10.113/pub/"
    rootpw --iscrypted $1$ywI.eO8s$YNZ50c4X6MIG21Lovjn9f0
    auth useshadow passalgo=sha512
    text
    firstboot disable
    keyboard sv-latin1
    lang en_US
    selinux disabled
    

    I denna första del stänger vi av brandväggen, säger att det är en installation som ska göras och var installationsfilerna finns. Vi sätter ett root-lösenord som läggs in i krypterad form i denna fil, säger åt installationsprogrammet att köras i textläge, sätter svensk tangentbordslayout, engelska som systemspråk och stänger av SELinux.

    logging level=info
    eula --agreed
    logging --host=10.10.10.115
    timezone Europe/Stockholm --ntpservers=ntp.melin.org
    bootloader location=mbr
    clearpart --all --initlabel
    part swap --asprimary --fstype="swap" --size=2048
    part /boot --fstype=ext4 --size=4096
    part / --fstype=ext4 --size=16384
    %packages
    @^minimal
    open-vm-tools
    nano
    nfs-utils
    wget
    @core
    %end
    

    I detta andra steg sätter vi loggningsnivå och vilken server vi vill skicka loggarna till (i mitt fall min syslog-server), vi ställer in att klockan ska synkroniseras mot min NTP-server, hur bootloadern ska skrivas, hur stor swapfil servern ska ha, hur stor bootpartitionen ska vara och hur stor root-partitionen ska vara. Här kan man givetvis lägga in andra partitioner som /var eller /home om man vill det - så länge den totala storleken för samtliga partitioner inte överstiger ytan på den fysiska eller virtuella hårddisk servern har att tillgå.

    %addon com_redhat_kdump --disable --reserve-mb='auto'
    %end
    %post --log=/root/ks-post.log
    mv /etc/rc.d/rc.local /etc/rc.d/rc.local.old
    wget http://kickstart01.melin.org/rc.local -O /etc/rc.d/rc.local
    systemctl enable rc-local
    wget http://kickstart01.melin.org/zabbix_agentd.conf -O /etc/zabbix_agentd.conf
    wget http://kickstart01.melin.org/zabbix_agentd.psk -O /etc/zabbix_agentd.psk
    wget http://kickstart01.melin.org/CentOS-Base.repo -O /etc/yum.repos.d/CentOS-Base.repo
    wget http://kickstart01.melin.org/afterinstall.sh -O /etc/afterinstall.sh
    wget http://kickstart01.melin.org/selinux/config -O /etc/selinux/config
    wget http://kickstart01.melin.org/selinux/ifcfg-ens192.example -O /etc/sysconfig/network-scripts/ifcfg-ens192.example
    wget http://kickstart01.melin.org/main.cf -O /etc/postfix/main.cf
    wget http://kickstart01.melin.org/bacula-fd.conf -O /etc/bacula/bacula-fd.conf
    wget http://kickstart01.melin.org/bconsole.conf -O /etc/bacula/bconsole.conf
    chmod 755 /etc/afterinstall.sh
    chown root:root /etc/afterinstall.sh
    mkdir /root/.ssh
    wget http://kickstart01.melin.org/authorized_keys -O /root/.ssh/authorized_keys
    chmod +x /etc/rc.d/rc.local
    mkdir -p /bacula/restore
    chown -R bacula:bacula /bacula
    chmod -R 700 /bacula
    %end
    reboot --eject
    

    I detta tredje steg händer en del intressanta saker som är special för min installation. För att få Kickstart att köra ett script när servern startar om efter installationen är klar så ska man enligt dokumentationen kunna köra detta i avsnittet %post men det fungerar inte riktigt. I CentOS 6 fungeade det däremot utmärkt, så jag tvingas göra en fuling där jag som synes först döper om /etc/rc.d/rc.local tillfälligt. Därefter hämtar jag hem en egen version av /etc/rc.d/rc.local som placeras på rätt plats.

    Vad som sedan följer är en rad filer som laddas ner och placeras på rätt ställe. Bland dessa finns konfigurationsfilerna för övervakningssystemet Zabbix, en egen /etc/yum.repos.d/CentOS-Base.repo som hämtar sina filer från min egna spegling av CentOS 7-repot, en konfigurationsfil för SELinux, Postfix samt backupsystemet Bacula. Jag sätter fulla rättigheter och ägare på filen /etc/afterinstall.sh och slutligen laddar jag ner SSH-nycklarna så jag kan logga in från min bastion-server utan att slå in något lösenord.

    Lite kataloger skapas för Bacula och därefter får /etc/rc.d/rc.local korrekta rättigheter för att exekveras. I denna fil anropar jag sedan filen /etc/afterinstall.sh som vi diskuterar härnäst i denna bloggpost:

    wget http://kickstart01.melin.org/resolv.conf
    cd /root
    rpm -ivh http://kickstart01.melin.org/zabbix-release-3.0-1.el7.noarch.rpm
    yum install epel-release -y
    yum install deltarpm -y
    yum install zabbix-agent -y
    yum install bacula-client -y
    yum install net-tools -y
    yum install telnet -y
    yum install figlet -y
    figlet ${HOSTNAME%%.*} > /etc/motd
    mv /etc/zabbix_agentd.conf /etc/zabbix/
    mv /etc/zabbix_agentd.psk /etc/zabbix/
    mv /etc/bacula-fd.conf /etc/bacula/
    mv /etc/bconsole.conf /etc/bacula/
    systemctl start zabbix-agent
    systemctl enable zabbix-agent
    mkdir /backup
    echo "stor03.melin.org:/backup2 /backup nfs defaults 0 0" >> /etc/fstab
    yum update -y
    chmod -x /etc/rc.d/rc.local
    reboot
    

    Då tar vi det från början. Vi tankar hem en egen /etc/resolv.conf och lägger in. Man kan givetvis fråga sig varför jag inte bara sätter DNS:erna i filen för nätverkskonfigurationen men det är för att min /etc/resolv.conf ser ut så här:

    search melin.org
    options rotate
    options timeout:1
    nameserver 10.10.10.134
    nameserver 10.10.10.169
    

    Med en fil som ser ut som ovan kommer klienten försöka anropa den sekundära DNS:en efter en sekund om den första inte svarar. Dessa inställningar går mig veterligen inte att sätta via konfigurationsfilen för nätverkskortet i CentOS 7.

    Hur som helst, åter till den andra filen i kickstart-kedjan. Jag laddar ner klienten för Zabbix, därefter lägger jag till epel-repot, lägger in deltarpm-paketet (väldigt trevligt då det endast installerar skillnaderna mellan det gamla och det nya paketet vilket går snabbare och sparar bandbredd. Därefter installerar jag Zabbix-agenten, Bacula-klienten, net-tools-paketet, telnet och slutligen figlet som därefter pangar in serverns värdnamn i filen /etc/motd. Detta är i sig ganska onödigt i dagsläget då den kommer skjuta in värdnamnet localhost i /etc/motd men jag har lagt in det redan nu för att irritera mig tillräckligt mycket för att bygga tidigare steg där jag via ett enkelt webbgränssnitt kan skapa grundkonfigurationen och sätta värdnamn och IP-adress och sådant redan innan servern är installerad. Det vore också trevligt att automatiskt skjuta in servern i Bacula för backuper samt i Zabbix för övervakning.

    Räkna med att jag kommer blogga om detta här.

    Jag flyttar Zabbix konfiguratonsfiler på plats, skapar katalogen /backup som sedan monteras upp via nfs och jag lägger in raderna för detta i /etc/fstab. Slutligen kör jag en total uppdatering av alla paket, slår av exekveringsflaggan på /etc/rc.d/rc.local som annars skulle köra samma fil en gång till och till sist startas servern om.

    Det jag måste göra manuellt efter detta är att sätta serverns värdnamn i /etc/hostname, konfigurera dess IP-adress, subnätmask och gateway slutligen lägga in servern i mina lokala DNS:er. Sen är det bara att köra på. Den initiala konfigurationen i VMware innefattar att skapa den virtuella servern med val av operativsystem, ställa in RAM och hårddiskyta och slutligen “slå på strömmen” på maskinen. Inte så blodigt egentligen men det vore trevligt att kunna automatisera även det ovanstående (se nedan).

    När jag började titta på detta så utgick jag från denna guide som jag varmt rekommenderar. Sen är det bara att börja gräva i Red Hat:s dokumentation för Kickstart för att hitta roliga saker att lägga in.

    Uppdatering För de som liksom jag tycker det är på tok för jobbigt att sitta och klicka fram en ny VM varje gång den ska skapas så finns det tack och lov script som andra redan hackat ihop. Detta är ett bra exempel - notera dock att du behöver justera följande rader så de passar just din miljö. Här är mina ändringar och/eller tillägg. Notera att dessa alltså är anpassade för ESXi 6.5 (detta gör att jag satt config.version och virtualHW.version till de värden som står nedan) där jag kör med VmxNet3-adaptern i ett nätverk som heter “VM Network” (standardnamnet). Det är CentOS 7 i 64-bitarsversion som körs:

    config.version = "8"
    virtualHW.version = "13"
    vcpu.hotadd = "TRUE"
    mem.hotadd = "TRUE"
    ethernet0.virtualDev = "vmxnet3"
    ethernet0.networkName = "VM Network"
    guestOS = "centos7-64"
    

    Lycka till!

  • Har du alla tre nummer av Datormagazin Retro?

    För några veckor sedan nådde det tredje numret av Datormagazin Retro äntligen de som hade den stora vänligheten att beställa den.

    Om du ännu inte har beställt nummer två, nummer tre eller både-och (nummer ett är slutsåld sedan länge och de andra två lär också bli det. Nej, vi kommer inte trycka fler!) så är det hög tid att göra det nu! Surfa omedelbums till Datormagazin Retros hemsida!

  • Det är billigare i Kina

    En gång i tiden jobbade jag på ett bolag som hette IDG. Detta företag publicerade tidningar, arrangerade datamässor och en hel del andra saker. Då var IDG ett bolag med drygt 250 anställda enbart i Sverige och det gick som tåget. På IDG fanns en närmast legendarisk inköpschef som heter Lars Jonsson. Många av oss kallade honom för “6091” för det var hans internnummer i telefonisystemet (mitt var 6234 om jag inte missminner mig).

    En del av vad som gjorde Lars Jonsson till den levande legend han är var den namnskylt han hade på sitt skrivbord. Det stod: Lars “Det är billigare i Polen” Jonsson.

    Jag kom och tänka på Lars när jag för några veckor sedan beställde hem en nätverksansluten övervakningskamera för utomhusbruk. Jag förstod givetvis vad jag gav mig in på - den kostade drygt 250 kronor inklusive frakt och efter ett par veckor så landade den i brevlådan.

    Bilden ovan är annonsbilden från eBay. Ja, det står “Mental House IP66”. Ja, den ska klara PoE, alltså Power over Ethernet, men det finns inga instruktioner på vilken strömstyrka denna PoE ska ha, om det är 24 eller 48 volt, så jag kör med den medföljande strömadaptern.

    Gränssnittet, om det kan kallas det, på den här kameran är avskyvärt. Det fungerar inte med någon webbläsare på Windows så vida man inte installerar det osignerade ActiveX-tillägget i Internet Explorer (någon mer som hör varningsklockorna ringa?), eller installerar ett program för att administrera kameran utan att blanda in någon webbläsare. Det finns, hör och häpna, en version för Mac OS X på den lilla CD-ROM-skivan (ja du läste rätt) och en manual, intressant nog skriven i Microsoft Words .docx-format istället för resten av dokumentationen som är i PDF-format. Jag installerade Mac-programmet och lyckades faktiskt konfigurera kameran och bildkvaliteten inomhus var inte helt skabbig, även om kameran då och då började uppvisa artifakter i bilden och att man emellanåt fick starta om den.

    Jag monterade sedan upp kameran utomhus, och det var då det roliga började.

    Det första som hände när kameran kom utomhus, i drygt +10 graders “värme” (det vi även kallar “svensk försommar”), var att kameralinsen immade igen. IP66-kapsling, någon?

    Det andra var att artefakterna i kamerabilden fortsatte att dyka upp och det tredje var att kameran hängde sig efter drygt 10 minuter.

    Om man till detta lägger att det första denna kamera vill göra så snart den har åtkomst till Internet är att “ringa hem” till någon server (gissningsvis i Kina) och sedan fortsätta med just det så kan man väl säga att 250 kronor för en kamera är minst 500 kronor för lite. Min andra nätverkskamera, en Qihan, har suttit uppmonterad i snart tre år i ur och skur, +35 grader eller -25 dito, utan att klaga det minsta, men så kostar den några tusen mer än vad denna kamera gör också.

    En annan “intressant” sak jag noterat är att både Qihan-kameran och denna billiga ursäkt till nätverkskamera ständigt försöker koppla upp sig mot Internet, och eftersom jag blockerat båda kamerorna från att komma ut på Internet så kan jag konstatera att Qihan-kameran har passerat över 100000 försök att komma åt något utanför det lokala nätverket sedan jag installerade om min brandvägg för några månader sedan. Potentiella medlemmar i ett botnät, kan man ju undra?

    När kameran varit igång några timmar såg bilden ut så här:

    Jag köpte denna kamera på skoj, det var ett experiment för att se vad som faktiskt skulle hända när man försökte använda den på allvar, och som synes så går den inte att använda alls. Lura inte dig själv - ska du köpa en eller flera kameror för att ha utomhus så betala vad det kostar för bra grejer istället. Det är vad jag redan har gjort och inväntar nu leverans.

  • Från Mac till Linux

    Två saker är ganska allmänt kända, åtminstone hos vissa som råkat springa på något jag skrivit eller sagt genom åren. Det ena är att jag är en Mac-nörd av guds nåde, en Mac-nörd som kört just i princip uteslutande Mac, både på skrivbordet och (så länge det gick) i serverracket sedan 2002. Det andra är att jag i ett bra tag nu funderat på framtiden efter Mac, macOS och i viss mån också iPhone. Apples ständiga prishöjningar gör att jag inte kommer ha möjlighet att köpa varken en ny Mac eller ny iPhone den dagen endera antingen dör eller inte kan köra den nya versionen av respektive enhets operativsystem.

    Min iPhone X lever och frodas men min 2015 års 15-tums Macbook Pro börjar visa tecken på att den inte mår så bra. Lagringen verkar vara där det felas och att byta det skulle kosta drygt 2000 kronor om jag köpte SSD-enheten själv och monterade in den, betydligt mer om Apple skulle göra jobbet åt mig. Eftersom datorn är över tre år gammal så har jag sakta men säkert fått inse att så länge datorn lever så är det frid och fröjd men att investera 2000 kronor eller uppåt i en bärbar dator som redan är över tre år gammal och som fått tillbringa mycket tid både på mitt skrivbord och i min väska är inte helt hållbart. Utöver detta är också en notebook direkt olämplig att ha som skrivbordsdator om man har för avsikt att använda den som jag gör: påslagen dygnet runt. De är helt enkelt inte byggda för det.

    En ny Mac skulle kosta åtminstone 10000 kronor, och talar vi om den klenaste Mac mini Apple säljer med åtta gigabyte internminne och 128 gigabyte lagring. En Mac mini som skulle räcka för mig skulle kosta 16000 kronor, och då är det inte den mest kraftfulla modell de säljer. Utöver det hade jag behövt köpa flera adaptrar eftersom Mac mini enbart har USB-C-anslutningar och mina gamla skärmar pratar endast DVI, HDMI eller DisplayPort. Drömdatorn att ha på skrivbordet, en Mac Pro, landar begagnad på 10-15000 kronor (och detta för en datormodell som är fem år gammal) och ny närmare 33000 kronor i grundutförande.

    En ny bärbar Mac är uteslutet, dels på grund av prislappen och dels då Apple numera valt att stoppa in samma usla tangentbord i alla modeller.

    Sen finns det rent idologiska skäl till att titta annorstädes. Jag har under många år blivit allt mer trött på Apples högtravande syn på sig själva. Det fanns en tid, i princip de första tio åren under 2000-talet, då Apples tal om varför deras produkter ser ut som de gör, faktiskt betydde något. Det var ord som omsattes i handling och i produkter. Sedan desss har Apple förvandlats till ett företag som tillverkar lyxprodukter som inte alltid håller så vansinnigt bra kvalitet men som lik förbaskat kostar galet stora pengar. Det finns fler anledningar att se sig om efter andra lösningar för sitt skrivbordsdatande - Apples inhägnade, oerhört vackra, trädgård som är det ekosystem de byggt upp sedan MobileMe blev iCloud i oktober 2011 är vid en första och säkerligen andra titt just det - en underbart vacker trädgård där allt hänger samman och bara fungerar. När man däremot försöker ta sig ur denna trädgård så inser man snart att den bevuxna rosenklädda inhägnaden egentligen är en betongmur som gör allt vad den kan för att hålla dig kvar. Om inte bildbibliotek, boksamling, molnlagring för filer och slutligen musiksamlingen är bökigt nog att bryta loss och hantera på annat sätt så är den ultimata inlåsningsapparaten iMessage, Apples egna krypterade och (i ärlighetens namn) riktigt bra chatfunktion i iOS och macOS. Faktum är att iMessage är så bra så det är den riktigt stora anledningen till att jag fram tills nu suttit med både iOS och macOS. Eftersom jag kommer fortsätta använda iOS även efter min övergång till Linux så är det också något jag verkligen kommer att sakna - att kunna “chatta” via iMessage från min skrivbordsdator.

    En sak slog mig häromdagen: Apples svar på att de inte är marknadsledande har de senaste åren att överge de billigare modellerna av iPhone till förmån för allt dyrare och exklusivare modeller, där de inte behöver sälja lika många för att dra in lika mycket eller mer pengar. Vad jag funderar på är dels detta: alla de som sitter med gamla telefoner som inte vill eller kan byta upp sig på grund av Apples priser kommer åtminstone delvis att hindra utvecklingen av iOS där snabbare processorer och modernare teknik krävs. Detta i kombination med att Apple säljer allt färre nya mobiltelefoner kommer potentiellt att skada de fristående applikationsutvecklare som alla lever på att deras applikationer är tillgängliga för många enheter så de kan sälja många kopior av sina skapelser. Apple har säkerligen funderat på allt detta och kommit fram till att det inte finns tecken ännu på att något av det jag spekulerat i skulle bli verklighet, och det kommer säkerligen lanseras “nya” billigare iPhone-modeller kanske redan i år för att täcka upp hålet Apple grävt åt sig själva i sin produktportfölj för telefoner, men på sikt skulle jag, om jag vore applikationsutvecklare, vara lite orolig.

    Linux har kommit väldigt långt, det har jag sagt och skrivit många gånger tidigare och under de senaste månaderna har jag lagt mer och mer tid på att använda en äldre Shuttle-dator med en Core i3-processor och åtta gigabyte interminne för att köra Fedora 29 och jag måste säga att jag trivs väldigt bra med den distributionen. Det finns, givetvis, saker även där som jag inte gillar men det jag framför allt gillar är att det finns en större ärlighet, nästan en råhet, i hur Linux är som operativsystem på skrivbordet. En Mac med macOS “Mojave” tar hela tiden oss lite mer avancerade användare längre och längre bort från det som en gång i tiden gjorde Mac en attraktiv plattform: dess Unix-kärna och möjligheten att snabbt kunna hacka loss på ett projekt utan att känna sig hindrad eller begränsad. Och det är kanske det som skavt under de senaste åren och som framkallat mina återkommande försök att “bryta mig loss” från macOS till förmån för Linux: jag känner mig begränsad, jag känner mig nästan lite kvävd och instängd.

    Det brukade inte vara så med Mac OS X (som det en gång hette) - givetvis var det en kontrollerad plattform i form av användargränssnitt och sådant men man kände sig liksom inte kontrollerad på det sätt som man gör nu när snuttifieringen av macOS och hur det sakta men säkert rör sig mot iOS gör att om man är nöjd med att använda de officiellt sanktionerade applikationerna och håller käft sen så är macOS den perfekta plattformen. Så länge man köper att allt man får i sin Mac är grymt bra och perfekt och allt det där så märker man det inte, men så snart man börjar arbeta med andra plattformar och inser att det faktiskt finns fördelar i något så utskrattat som Linux i en skrivbordsdator så börjar man se saker och ting på ett annat sätt - man blir nyfiken, man börjar anpassa sig och efter tredje-fjärde försöket (jag har tappat räkningen på hur många försök jag gjort de senaste 2-3 åren) så inser man att det faktiskt kan fungera.

    Den Core i3-maskin jag använde i mitt senaste försök har inte fungerat något vidare, dels på grund att prestandan inte räckt till och dels på grund av att maskinen någon gång i sitt liv lidit av värmeslag modell värre vilket visar sig i form av att USB 3-portarna inte fungerar, ena nätverksporten fungerar inte och datorn hänger sig ibland när man pressar den ordentligt. Det blev ohållbart och jag tvingades flytta min gamla Core i3-maskin åt sidan och köra Mac:en som primär dator igen. Nu kan jag äntligen återuppta mitt experiment med Linux på allvar, för nu har jag äntligen gjort slag i saken och köpt mig delar till att bygga en rejäl PC med nya komponenter som förhoppningsvis ska fungera bättre än min gamla Core i3-maskin.

    Ryzen

    När Mac-nörden ska bygga sig en PC blir det, inte helt oväntat, en ganska rent designad och väldigt tyst historia. Det sitter utöver den inbyggda VEGA-kretsen också ett ytterligare grafikkort i lådan med NVIDIA-kretsar. Kortet är fläktlöst, inte särskilt kraftfullt men kraftfullt nog att kunna hantera Linux skrivbordsmiljö. De tre fläktar som sitter i datorn (fyra om man räknar den i kraftaggregatet) är för processorn och de två som följde med datorlådan som är en Fractal modell Define C. Valet av denna datorlåda var helt baserat på pris och utseende och jag hade ingen aning om vad jag kunde förvänta mig i form av funktioner och design men det ska sägas direkt: för drygt 800 kronor är detta ett enormt bra köp för Fractals låda är enormt genomtänkt på så många sätt. De medföljande fläktarna är riktigt trevliga, kabelhanteringen inne i lådan är enormt smart och om du som jag enbart har SSD-diskar i datorn så kan dessa monteras i en liten egen hållare bakom moderkortet.

    De skruvar man tenderar att tappa ner i lådan vid helt fel tillfälle, exempelvis skruvarna som håller fast moderkortet, är magnetiska och kan därmed bara sättas i toppen på skruvmejseln och sen kan man bara skruva fast varje skruv utan problem. På tal om skruvar så var allt skruvar pedagogiskt förpackade i plastpåsar i en separat kartong och man får närmast IKEA-vibbar när man tittar på baksidan av kartongen som beskriver i detalj hur många skruvar för moderkort, 2,5”-diskar, kraftaggregat och så vidare som finns i kartongen och hur de ser ut.

    När det handlade om vilken processor jag skulle välja så fanns det flera parametrar som spelade in. Det första var priset och vilken prestanda jag skulle få för pengarna, det andra var integrerad grafik i processorn jag skulle välja och det tredje var hur valet av processor skulle påverka priset för hela mitt PC-bygge i form av kostnad för minne, moderkort och sådant. Kommer man från det madrasserade rum som är Apples datorer så har man i praktiken ingen koll över huvudtaget på vad som händer i “PC-världen”, men en sak var säker och det var att AMD:s processorer hade gjort någon form av storstilad återkomst på marknaden medan Intel mest stått och stampat i kall havregrynsgröt och istället för att utveckla nya, snabbare och tajtare processorer döper om sina gamla dito och skickar in lite fler gamla funktioner i dem.

    AMD blev det med andra ord. En Ryzen 5 2400G köptes och valet av den processorn blev just på grund av det inbyggda VEGA-grafikkortet som sitter i processorn. Detta inbyggda grafikkort är som alla inbyggda grafikkort verkligen inget underverk av prestanda på något sätt men det räcker rätt bra för att driva två skärmar (en via HDMI, en via DVI) även om man tydligt märker att drivrutinerna för detta inbyggda grafikkort inte har så värst lång tid på nacken då de måste optimeras ytterligare.

    Möjligheter och utmaningar

    Därmed inte sagt att Linux i allmänhet och Fedora 29 i synnerhet är utan sina utmaningar. Under förra året beslutade utvecklarna bakom fönsterhanteraren Gnome att ta bort möjligheten att lägga ikoner på skrivbordet vilket tidigare var avslaget men gick att slå på om man så önskade. Givetvis tvingar det dig som användare att hålla bättre ordning på dina filer men det kräver också fler moment i vissa avseenden, exempelvis när man hanterar filer.

    Applikationerna lider också av vissa mindre egenheter. Jag kan exempelvis inte dra en bild från webbläsaren Chromium till chattprogrammet Discord utan jag måste istället kopiera bilden och sedan klistra in den i Discords chattfönster - det är givetis inget större problem att göra när man väl vant sig vid det men man undrar ju varför det ser ut som det ska fungera men sen gör det således inte det. Att bygga en PC för Linux Jag ville använda min Apple Magic-mus med Fedora 29. Det finns stöd för musen och det fungerar faktiskt riktigt bra men musen, eller datorn, kopplar ner anslutningen mellan varandra efter en stund, sannolikt för att spara batterier i musen, och sen vill inte Fedora 29 återuppta kommunikationen med musen utan att man först går in i inställningarna för Bluetooth och ansluter musen igen… vilket kräver en annan mus. Samma sak har jag upplevt med mitt trådlösa Logitech-tangentbord, som inte använder Bluetooth utan Logitechs egna dongel för trådlös kommunikation - det fungerar jättebra men går man ifrån datorn en stund så “tappas” kommunikationen enheterna emellan och då får man bråka lite för att få igång det igen.

    I Fedora 29:s applikationsinstallerare “Software” finns det massor av applikationer. I takt med att man lägger till flera källor för applikationer (något man gör via terminalen) - ett sätt att göra det via exempelvis en lista i Software hade varit trevligt. I mångt och mycket fungerar de alla väldigt bra men det finns också tillägg man kan installera i Gnome. Här har sorterandet inte alls varit lika friskt utan det finns massor av tillägg till Gnome som man gärna skulle köra men som i de flesta fall inte fungerar över huvudtaget. Nackdelen med fri och öppen mjukvara visar sig i de här lägena - om utvecklaren tappat intresset men inte raderat projektet så blir det snart inaktuellt och i takt med att Gnome utvecklas vidare så slutar tilläggen fungera.

    Jag testade för första gången i mitt liv att installera något via Wine. Wine är, för de som inte vet det, en mjukvara som i princip emulerar Windows under Linux en specifik applikation och för det mesta fungerar det faktiskt riktigt, riktigt bra men när det gäller spel är det givetvis lite knepigare. Mitt favoritspel Sid Meier’s Railroads har jag spelat under många, många år nu i både Windows och macOS men spelet har aldrig släppts för Linux. Installationsprogrammet fungerade hur fint som helst men när spelet väl skulle startas fick jag ett längre felmeddelande som i praktiken meddelade att drivrutinen för det inbyggda grafikkortet i datorn inte kunde laddas, trots att den finns där och används av resten av systemet.

    Jag skulle givetvis kunna installera Windows 10 och sen installera Microsofts paketering av Ubuntu eller någon annan Linuxdistribution men det kommer man inte superlångt med. En hel del små smarta program går inte att köra i Linuxläget i Windows 10, exempelvis de som vill använda routingtabellen i Windows 10, som utmärkta mtr. Mtr är endast ett exempel, det finns fler. Att använda Putty som SSH-klient är givetvis görbart men då får man inte ett lokalt shell att sitta och mysa i, vilket är halva grejen med att köra Bash på sin dator. Att använda Powershell är det nog ingen vettig människa som vill göra så mycket som jag använder Bash till vardags.

    En sak jag på förhand visste att jag skulle sakna var att kunna läsa och skicka SMS från min dator. En lösning som jag sprungit på heter Pulse SMS som fungerar utmärkt i macOS, Windows, Linux och Android. Apple tillåter, givetvis, inte Pulse SMS i iOS eftersom Apple inte tillåter att tredjepartsapplikationer kommer åt SMS-informationen i en enhet. Med andra ord så är man “tvingad” till att använda en Mac om man vill ha integration mellan iMessage i iOS och en motsvarighet på datorn - ingen skugga på Apple egentligen men det har under slutet på 2018 började allt fler röster höjas för att Apple skulle göra iMessage tillgängligt på fler plattformar där Android helt klart är den plattform där iMessage skulle göra mest nytta med tanke på den oerhörda röra som ekosystemet för “korta meddelanden” som SMS är på Android och har varit i flera år. Apple vet å andra sidan att inlåsningseffekten som iMessage innebär för många kunder i framförallt USA och delar av Europa gör att man tänker sig för både en och tre gånger innan man överger iOS för något annat. För mig har det närmast haft motsatt effekt - jag känner en allt större irritation över alla de steg man tvingas ta för att “ta sig ur” Apples ekosystem med iCloud och alla kringliggande tjänster, något jag kommer återkomma till i en senare bloggpost här på Unixpro.

    Vad jag saknar

    Jag kommer självklart att sakna en del med macOS, i synnerhet applikationer som Byword, Garageband, Pixelmator, TweetBot, och pwSafe. Jag kommer också sakna hur perfekt integrerat macOS är med sin hårdvara i en Macbook Pro - det är i sanning det bästa operativsystemet för bärbara datorer utan tvekan - ingen annan plattform kommer ens i närheten.

    Jag kommer inte sakna Safaris egensinniga uppträdande (exempel: jag kan inte besöka DN eller Expressens hemsida med Safari men det går utmärkt med Chrome på samma Mac, och Safari har inga tillägg eller annat installerat), halvfärdiga verktyg som Disk Utility och jag kommer inte sakna Apples överlag ganska slappa utvecklingstakt för macOS. De släpper en version varje år och det är sällan det finns nyheter som gör att det är värt att uppgradera men man gör det ändå för att slippa stå där och inse att en av ens applikationer inte fungerar längre då man kör en för gammal version av operativsystemet.

    Jag kommer inte sakna Apple stadiga prisökningar år efter år utan att produkterna egentligen blivit så mycket bättre. Mac-utvecklingen har stagnerat, mycket tack vare Intels oförmåga att ta fram snabbare, effektivare och tajtare processorer vilket i sin tur gör att oavsett vilken Mac du än köper så bygger den åtminstone delvis på gammal teknik redan innan du hunnit hem och öppnat kartongen. Gemene man bryr sig nog inte om detta men en nörd som undertecknad har sakta men säkert återupptäckt de krav som legat och bubblat under ett tjockt lager Applekärlek i alla år: jag saknar fart, modern teknik och lite jävlar-anamma i mina datorer.

    När man i princip uteslutande använt Mac OS X, senare macOS, de senaste 16 åren så sitter givetvis oerhört mycket i ryggraden och alla skillnader därutöver kan vara väldigt påfrestande. Som många andra är jag en vaneperson och jag byter exempelvis inte tangentbord eller styrdon till min dator utan att tänka efter både en och fem gånger och min hög av inköpta och sedan avfärdade tangentbord är vid det här laget ganska ordentlig vilket åtminstone roar min familj en aning.

    Jag märker helt klart av skillnaden i prestanda i det grafiska gränssnittet jämfört med min 3,5 år gamla Macbook Pro, det ska man inte hymla med för fem öre. Min Ryzen-baserade PC är rapp “under skalet” men gränssnittet som presenteras mig är det helt klart inte och då jag så långt det går vill undvika att köpa ett grafikkort med en fläkt, eftersom jag utöver usla tangentbord och möss också avskyr ljudet av fläktar har jag i praktiken inget val utan får leva med detta. Det är, som så mycket annat, en vanesak och jag har vant mig mer och mer under de senaste veckorna. Kortkommandon på tangentbordet är något jag då och då kommer på mig själv med att råka skriva fel, fortfarande, men det släpper väl det med till slut.

    Den stora saken jag saknar är det faktum att Linux på skrivbordet egentligen inte är så roligt att använda. Det är funktionellt helt enkelt men roligt kan man inte säga att det är. Med tanke på att mitt mål var att bygga en tillräckligt kraftfull arbetsstation åt mig själv för att kunna jobba på den så är min Linuxdator helt klart en succé - jag tillbringar mindre och mindre “dötid” vid skrivbordet vilket man lätt gör om man har en Mac därpå. Istället jobbar jag klart och sen går jag och gör något annat, och det är sannerligen inget misslyckande i mina ögon.

  • Plötsligt händer det

    Stormvarning.

    Inget vidare trevligt ord egentligen. Bor man inne i stan så betyder det kanske att det kommer blåsa lite extra när man ska gå till bussen men bor man på landet som vi gör så innebär det så gott som alltid strömavbrott, ibland kortare och ibland längre.

    När jag skriver detta har strömmen varit borta i sju timmar - själv har jag legat vaken hela natten och lyssnat på stormen som gjort sitt bästa för att slita vår villa i bitar men, ta i trä, så har allt suttit fast och inga träd har rasat över hus eller lada. Åtminstone inte ännu.

    Vårt primära värmesystem är modell bergvärme och därför går det givetvis på el och när jag skriver detta har vi ganska precis 17 grader varmt i huset. Således dags att elda - och det ordentligt. Vedkaminen i vår stora hall får jobba extra och vedspisen i köket visar sig nu från sin bästa sida då vi inte bara värmer upp köket, som är drygt 25 kvadratmeter stort, utan också det anslutande TV-rummet där ungarna sitter under filtar och försöker spela Minecraft på sina iPad utan att ha något Internet. Jag undrar för ett ögonblick om detta blir generationen som bara tar Internet för givet precis som min generation bara antar att det alltid finns rinnande vatten i kranen.

    Uttryck som “Internet of things” ter sig ganska skrattretande i en sån här situation när det är 5-6 minusgrader ute och vi värmer oss enbart tack vare elden.

    Vedspisen i köket får utöver detta också värma vatten, och det av två anledningar. Dels för att varmt vatten är trevligt när man exempelvis vill dricka te, och givetvis också för att uppvärmt vatten genererar värme under ganska lång tid. Man kan säga att jag väntat på att något här ska hända i några år nu - ett längre strömavbrott är ganska jobbigt när man bor som vi gör och därför har jag inte bara samlat ved under många år utan också sett till att jag har bitar som är lagom stora inte bara för vedkaminen utan också för vedspisen som behöver mindre och kortare bitar ved. Således är det kapat, klyvt, sorterat och staplat så det är lätt att komma åt.

    Vi har flera så kallade powerbanks, alltså extrabatterier som vi kan använda för att ladda just mobiltelefonerna med. Problemet denna gång var att ingen av dem var laddade.

    Det finns däremot gott om stearinljus modell längre och värmeljus för att skapa lite mer värme och också ljus i huset. Även om vi har en vanlig, fast, telefonlina hem så är telefonen praktisk att ha om det skulle krisa, men när jag skriver detta så har alla reservbatterier i de närliggande basstationerna för mobiltelefoni tagit slut och vi har därför ingen mobiltäckning. Skulle det bli ett långvarigt strömavbrott, alltså ett dygn eller längre, har jag ett fulltankat elverk som jag kan dra fram och starta. Det genererar 7,5A vilket är tillräckligt för att driva exempelvis kylskåpet på.

    Det är ändå ok på något vis. Vi har värme, vi kan värma vatten och skulle det krisa så kan jag faktiskt laga mat på vedspisen så lunch och middag är fixad utan större problem. På sätt och vis är det lite mysigt men givetvis också frustrerande och det är frestande att packa in ungarna i bilen, vilket man inte ska göra i ett sånt här väder när man bor på landet omgiven av stora skogar med höga träd, och köra till McDonalds och kasta pengar på problemet.

    Vi får klara oss själva och det är både mysigt, spännande och avslappnande på väldigt många sätt men det är också oerhört tärande, både mentalt och fysiskt. När mörkret börjar komma vid 15-tiden och ingen ström finns i huset så inser man snart att man kommer gå ännu en natt till mötes med mörker och kyla, för med 7-8 minusgrader ute så blir det snart väldigt kallt i de delar av huset där man inte har någon möjlighet till uppvärmning. Med det börjar också tankarna gnaga: kommer rören för elementen att frysa i kylan?

    Efter 32 timmar kom strömmen tillbaka. Vi är alla en aning mer ödmjuka nu, och har redan vidtagit åtgärder för att det ska bli lite enklare att hantera den här typen av avbrott nästa gång det inträffar.