Hur jag kom igång med Alpine Linux och Plasma på min ThinkPad T14 G1
Alpine Linux kan enklast beskrivas som ett resurssnålt operativsystem med fokus på säkerhet. Tyvärr får inte Alpine Linux den uppmärksamhet som de förtjänar.
Till skillnad från de flesta andra Linux-baserade operativsystemen, som använder systemd, glibc och GNU Coreuitls, använder Alpine Linux istället OpenRC, musl libc och Busybox. Detta innebär, till storleken, ett mycket mindre operativsystem. En standardinstallation kräver ungefär 130 MB diskutrymme. För en container krävs inte mer än ynka 8 MB. Vilket är varför Alpine Linux är otroligt vanligt för just containers.
Det finns egentligen mycket att säga om Alpine Linux, men värt att nämnas, är bland annat att binära paket, om möjligt, delas upp i flera mindre paket, vilket ger användare en större kontroll över vad man vill installera och inte. Vilket också bidrar till bättre säkerhet och ett mer effektivt system.
Alpine Linux skapades med säkerhet i åtanke. Bland annat, kompileras userland-binärer som “Position Independent Executables” (PIE), med “stack smashing protection”. Dessa proaktiva säkerhetsfunktioner förhindrar exploatering av hela klasser av nolldagarssårbarheter och andra sårbarheter.
Utöver att vara ett litet, resurssnålt och säkert operativsystem, är det otroligt enkelt att komma igång och använda Alpine Linux. Dels för att de har en exemplarisk dokumentation, men också för att man tillhandahåller verktyg som gör det barnsligt enkelt att installera och komma igång med systemet.
Alpine Linux kan installeras på lite olika sätt, bland annat via en vanlig System Disk Mode-installation, men även via ett Diskless Mode. Den sistnämnda metoden innebär att hela operativsystemet körs direkt i RAM-minnet.
Och det var just “Diskless Mode” som jag valde när jag installerade Alpine Linux på min Raspberry Pi 2 för en massa år sedan. Datorn kördes 24/7 i flera år med minimalt slitage på minneskortet.
Min installation av Alpine Linux
Det ska noteras att det här inte är någon form av guide, utan mer tänkt att visa hur enkelt det var för mig att komma igång med Alpine Linux på min bärbara dator.
Steg 1: Det gamla vanliga
Först det gamla vanliga: 1) ladda hem Alpine Linux från deras hemsida 2) skicka över ISO-filen till ett USB-minne med dd 3) starta om datorn och starta från USB-minnet.
Steg 2: Den guidade installationen
När Alpine Linux har startat, loggar man bara in med kontot root. Man behöver inte ange något lösenord. Sedan kör man bara kommandot setup-alpine, vilket kommer att guida en genom hela installationen. Det är en interaktiv process som de flesta borde kunna klara av utan någon hjälp från deras dokumentation.
Tips: Om du vill ha en “System Disk Mode”-installation med krypterad disk: Välj först crypt och sedan sys, vid steget där du väljer typ av installation.
Steg 3: Skrivbordet
Den absolut enklaste metoden för att få till en fungerande grafisk stack med tillhörande skrivbord och program, är att använda verktyget setup-desktop.
Verktyget är busenkelt att använda. Allt jag gjorde var att köra kommandot setup-desktop, skriva plasma och sedan bekräfta med ↵ Enter. Sekunder senare hade jag en fungerande grafisk stack med Wayland, skrivbordsmiljön Plasma och en del grundläggande mjukvara som webbläsare, textredigerare och lite annat smått och gått.
Steg 4: Nätverkshanteraren
Vid den guidade installationen får man välja att konfigurera sitt nätverk. Där valde jag DHCP via Ethernet. Man ska kunna konfigurera Wi-Fi där också, tror jag, men med tanke på att mitt lösenord innehåller en miljard tecken, vill jag inte sitta i fyra veckor och manuellt peta in mitt lösenord.
Tidigare har jag redigerat textfiler och använd mig av ett par kommandon för att växla mellan Ethernet och olika Wi-Fi-nätverk. Det har fungerat, men kanske inte varit optimalt. Min bärbara används dessutom bara till min pågående yrkesutbildning. Jag har inget större intresse av min bärbara dator utöver det. Därför valde jag att installera Plasma, och inte köra med min vanliga textbaserade miljö.
Därför tänkte jag att det kunde passa bra med en grafisk nätverkshanterare där man bara kan peka och klicka på Wi-Fi-nätverk.
Networkmanager, med stöd för Wi-Fi, kändes som det givna valet för uppgiften:
# apk add networkmanager networkmanager-wifi plasma-nm wpa_supplicant
Efter det såg jag till att Networkmanager automatiskt körs vid start:
# rc-update add networkmanager add default
Och för att starta tjänsten på en gång:
# service networkmanager start
För att kunna använda Networkmanager som en vanlig användare (utan upphöjda rättigheter) behövde jag också lägga till mig i gruppen plugdev:
# adduser johan plugdev
Steg 5: Vim och OpenDoas
Först behövde jag aktivera community-förrådet, eftersom att det är där Vim finns:
# setup-apkrepos -c
Sedan installerade jag Vim och OpenDoas (ett alternativ till sudo av inga mindre än OpenBSD):
# apk add vim doas
För att kunna använda doas som min användare, behövde jag avkommentera följande rad i filen /etc/doas.conf:
# permit persist :wheel
Dvs, ta bort tecknet # i början på raden. Och såklart behövde jag lägga till min användare i gruppen wheel:
# adduser johan wheel
Egentligen använder jag Vim Classic, men den finns bara via deras edge-förråd, och jag är inte intresserad av bleeding edge-mjukvara, eller att kompilera Vim Classic själv (åtminstone inte på den här datorn). Jag kan tålmodigt vänta tills det kommer till det vanliga förrådet.
Steg 6: Ljud
Nu var det dags för lite ljud. Jag valde PipeWire, eftersom att det tycks vara det som gäller idag.
# apk add pipewire wireplumber pavucontrol-qt
Här fastnade jag i vad som kändes som en evighet. Det skulle visa sig att min Lenovo ThinkPad T14 G1 behöver SOF-drivrutinen (Sound Open Firmware) för ljudet. Det paketet finns inte med i Alpine Linux som standard.
Tydligen är det den moderna ersättaren till de klassiska HDA-drivrutinerna, och har visst varit en grej sedan 2019, eller något sådant. Det här med att hänga med i nymodigheter är kanske inte riktigt min grej.
Paketet heter iallafall sof-firmware, vilket jag installerade med kommandot:
# apk add sof-firmware
Sedan startade jag om datorn (eftersom att jag inte orkade klura ut namnet på kärndrivrutinen).
Steg 7: Temperaturmätning
Det kan ju alltid vara trevligt att hålla koll på temperaturen på sin dator. Allra helst om det är en bärbar dator, med begränsade möjligheter för god kylning.
Detta ordnades enkelt:
# apk add lm-sensors lm-sensors-sensord lm-sensors-detect
# echo i2c-dev >> /etc/modules-load.d/i2c.conf
# modprobe i2c-dev
# sensors-detect
Steg 8: Blåtand
Detta var nästan för enkelt:
# adduser johan lp
# rc-service bluetooth start
# rc-update add bluetooth default
Steg 9: Inloggningshanterare
Om jag ändå ska köra en fluffig skrivbordsmiljö, kan jag väl se till att kunna logga in på den med stil:
rc-update add sddm add default
service sddm start
Hur imponerande enkelt var inte hela den här processen? Jag är då grymt imponerad över hur enkelt det var!
Kommentarer
Det finns inga kommentarer för det här inlägget. Använd e-postformuläret om du vill lämna en kommentar. [?]