Debianista Hattupingviiniin
Tähän syksyyn asti olin vankkumattoman tyytyväinen Debianin käyttäjä useiden vuosien hyvien kokemuksien jäljiltä. Nyt alkoi kuitenkin jurppimaan pakettien päivittymättömyys ja etenkin X11:n haasteet moninäyttösetupissa. Haluaa Waylandia ja hattulinuxia, nyt heti! 
Toimituksen huomautus: Tästä postauksesta tuli nyt jonkinlainen sekasikiö asennusvaiheiden dokumentointia, skriptien esittelyä ja kaikkea muuta ajatuksenvirtaa. Tämä ei myöskään ole mikään yleispätevä Liinuks-ohje...riko itse oma koneesi ja lue omalla vastuulla!
Oi ihana rakas Debian.
Eri DPI:n näyttöjen yhdistelmän takia koko työpöytä renderöidään kaksinkertaisella resoluutiolla ja skaalataan alas. X11:n oikut ja wanha Java aiheuttavat Tekkit Classicissa shiftklikkausongelmia. Tietyt AppImaget ja softat eivät aukea tai käänny wanhojen kirjastojen takia. Ja pakettikirjastossa kaikki on kyllä enemmän ja vähemmän vanhaa...
Ja tietysti iänikuiset haasteet saada Firefox käyttämään dGPU:ta kiihdyttelyyn :') Siis tässä pari ärsyttäneintä asiaa hyvin palvelleen Debianin viimeisiltä ajoilta.

Oikeastaan jo noin viimeisen vuoden ajan olin haaveillut päivittäissetupin päivittelystä. GNU/Linuxia olen kuitenkin ylipäätään käyttänyt päivittäisajossa jo vuodesta 2018, mutta Debian on ollut vankkana sotaratsuna alusta asti. Windows on aina ollut asennettuna toisella kovolla joihinkin välttämättömiin lisätoimintoihin (tietyt pelit, tietyt softat ja tällä masiinalla myös natiivi Nvidian dedikoidun GPU:n virtaohjaus akkukäytössä).
Asentelinpa sitten huvikseni opiskeluissa mukana kuskaamaani pikkuläppäriin Fedora KDE:n joskus kesällä. Aiemmin samalla masiinalla olin ajanut Windowsin rinnalla muun muassa Linux Mintiä, mutta se ei pitkästä Debian-taustasta huolimatta tuntunut omalle. Fedorasta sen sijaan olin lukenut paljon hyvää, ja kokonaisuus ainakin vaikutti paljon viimeistellymmältä, etenkin jos haluaa käyttää tietokonettaan eikä vain konffailla rikkinäisiä palikoita joka välissä.
Ja ikään kuin sattumalta päädyin sitten myös käyttämään tuota Fedoraa päivittäisissä hommissa. Nimittäin:
- Selainpohjaiset opiskelusysteemit (Moodlet, Office-pilvi, sähköposti) eivät sen erityisempää vaadikaan
- Matikkasoftat (Matlab, Octave, Maxima, L'Math, jne.) toimivat pingviinillä vallan mainiosti, osa jopa täysin natiivina. Ja saipa myös TI-Nspire CX CAS -opiskelijaohjelmiston pelaamaan Winellä.
- LaTeX-setti (texlive + TeXStudio) ovat Linuxilla kuin kotonaan, pelaavat helpommin kuin Windowsilla
- Koodaussetit, kontit ja virtuaaliympäristöt tuottavat Linuxilla huomattavasti vähemmän tuskaa kuin Micro$oftin tuotteiden päällä
Lisäksi jatkuvasti tarjolle tulevat päivitykset tuntuivat asentuvan nopeasti, akunkesto oli erittäin hyvä ja minkään lisälaitteiden tai virtakontrollin kanssa ei tuntunut tulevan ajurihaasteita. Ainoa ongelma tuntui olevan KDE Plasman kummallinen töksähtely ja FPS:n tippuilu silloin tällöin, mutta sekin yleensä ilmaantui vain usean päivän valmiustila-päälle-valmiustila-päälle-suhailun jälkeen.
Operaatio Hattulinuksi
No sitten siihen hauskimpaan ja haastavimpaan osuuteen. Kaikki tapahtui suurin piirtein näin:
Kaikki vanha tarpeellinen data talteen:
- Tiedostot, virtuaalimasiinat, konttien datat
- Kaikkien selaimien kaikkien (paikallisten) profiilien datat, salasanat, kirjanmerkit
- SSH-avaimet, salausavaimet, avainrenkaat...
- Oleelliset konffitiedostot, systemd-servicet ja asennettujen pakettien lista
Boottausmedian kirjoitus
- Eli käytännössä Fedoran ISO:n lataus ja siirto Ventoy-tikulle (joo, hieman kiistelty työkalu mystisten binääridatojensa takia, mutta erittäin kätevä)
Vielä yksi tiedostojen tallessaolon tarkistus ja yksi perusmuotoinen varmuuskopio
Secure boot hetkellisesti pois päältä
Toinen M2 SSD (jolle Micro$oftin tuote on eristetty) fyysisesti irti koneesta asennuksen ajaksi
- Ja samalla kauan kaivattu pölyjen poispuhallus!
- Aiemman Debian-asennuksen bootloader oli sattumoisin asentunut Windowsin SSD:lle...
- ...mutta ei se mitään, Windows jatkoi asennuksen jälkeen boottausta ihan kiltisti vaikka Debian katosikin
Tikulta boottaus ja installerin läpikliksuttelu
- Alkuun karsastin ajatusta btrfs:n käytöstä, koska ext4 on ollut tuttu ja turvallinen, mutta lopulta päädyin antautumaan jonkun muun valitsemaan defaulttiin
- Levylle täyskryptaus hyvällä avaimella, koska kyseessä on (isosta koostaan huolimatta) kannettava masiina
Secure boot takaisin päälle
Boottaus uuteen synsteemiin ja loppuinstallerin läpikliksuttelu
RPM Fusion -paketit käyttöön
- Kuvailunsa mukaisesti RPM Fusion tarjoaa asennettavaksi paketteja, joita Fedora/Redhat eivät muuten jakelisi
- Fusionista saa muun muassa suljetut ajurit ja kaupalliset koodekit
MOK-avaimen sisäänajo secure bootia ajatellen
- Secure bootin ollessa käytössä täytyy tietyt kernel-tason ajurit (mm. Nvidia) allekirjoittaa ns. "Machine Owner Keyllä" jotta suojattu kernel pystyy ne lataamaan
- Tätä varten täytyy suorittaa tietyt rituaalit (MOKin teko ja sisäänajo)
- Samassa yhteydessä tuli käyttöön myös akmods, joka ystävällisesti allekirjoittaa kernel-moduulit asennuksen jälkeen automaagisesti
NoVideo-ajurit (Nvidia-ajurit) asennukseen
- Tämä oli itse asiassa hyvin helppoa:
sudo dnf install akmod-nvidia -y - Ajurit asentuivat ja allekirjoittuivat varsin nopeasti
- Tämä oli itse asiassa hyvin helppoa:
...ja sitten käyttämään uutta systeemiä!
Paitsi että vielä oli tapeltava kuntoon gpu-ajureiden latautuminen ennen kryptausavaimen syöttöä. GRUB-valikko nimittäin näkyi ruudussa kiltisti, mutta tämän jälkeen näyttö pimeni siihen asti kunnes ulkoisen näytön liitti mukaan leikkiin.
Erityisesti täytyi varmistaa, että boottiparametreissa oli mukana
rd.driver.blacklist=nouveau,nova_coremodprobe.blacklist=nouveau,nova_coreplymouth.use-simpledrm=1
Näiden jälkeen alkoi LUKS-passukenttä ilmaantumaan ruutuun. Mutta GRUB alkoi sitten taasen katoamaan :D
Ja sitten niitä päivityksiä
Heh heh. Enpä ollutkaan aiemmin tottunut siihen, että Liinuksi tyrkyttää päivityksiä joka päivä enemmän tai vähemmän.
No otinpa sitten ja asensin niitä päivityksiä...ja niin seuraavan kernel-version kanssa pimenee jälleen näyttö bootissa... prkl!
Kävi ilmi, että uuden kernel-version ilmaantuessa on syytä suorittaa seuraavat rituaalit:
- Odota että
akmodsrakentaa kernel-palikat uudestaan, tarvittaessaakmods --force - Aja
dracutuudelle kernelille, jotta NoViideot pääsevät mukaan leikkiinsudo dracut --force /boot/initramfs-[versio].x86_64.img [versio].x86_64
- Ja tarkista vielä että ne moduulit tosiaan ilmaantuvat sinne:
lsinitrd /boot/initramfs-[versio].x86_64.img | grep -E '/extra/nvidia/nvidia(_modeset|_uvm|_drm)?\.ko'
Näiden rituaalien jälkeen sitten alkoikin taas kuvaa näkymään!
Työpöytäkokemuksen rakentaminen
Olen siinä mielessä kai erikoinen distrohyppijä (tai en distrohyppijä ollenkaan), että tietokone myös Pingviinillä varustettuna on minulle ensisijaisesti työkalu ja käyttövehje. En siis juurikaan ihastu eri distrojen kiiltäviin ulkonäköihin tai pöhköihin lupauksiin ties mistä, vaan pyrin valikoimaan riittävän luotettavan pohjadistron ja rakennan omannäköiseni työpöytäkokemuksen sen päälle.
KDE Plasma valikoitui Gnomen sijasta työpöytäympäristöksi juuri siksi, että se on hyvin kustomoitavissa, kun taas Gnome kai pyrkii tuottamaan jonkinlaisen kiillotetun kokonaisuuden.
Erityisen hauskalta Plasman kanssa tuntui kustomoida työpöydän paneeleita. Tykästyin myös tarjolla olevaan paneelien "kellutukseen", jossa ne leijuvat hieman näytön reunan vieressä ja kiinnittyvät taas näytön reunaan kun ikkuna tulee kosketuksiin niiden kanssa.
Tältä pohjalta aloin rakentamaan tuttua, turvallista ja ennen kaikkea juuri minulle tehokkainta työpöytäsetuppia joka on aiemmin rakennettu myös Cinnamonin, MATE:n ja XFCE:n parissa melko samalla tavalla.




Kuten tästä kuvakavalkadista voi huomata, on hyvin nopeasti pingviinikäyttäjäksi siirtymisen jälkeen työpöytäympäristö muovautunut nykyiselleen: alalaidassa avoimien ikkunoiden palkit (Windows XP -henkisesti), ylävasemmalla sovellusvalikko ja sen vieressä käytetyimmät pikakuvakkeet jonkinlaisissa ryhmissä ja oikeassa yläkulmassa statuskuvakkeet, päiväys, cpu-/ram-/levymittarit.
Kaiken tämän lisäksi täytyy systeemiin sitten aina lisätä tiettyjä omia välinevalintoja.
Ruutukaappailut
Esimerkiksi ruutukaappauksiin olen aiemmin käyttänyt kolmea simppeliä skriptiä: yksi kopioi, toinen lataa filepasteen ja kolmas dumppaa ruutukaappauskansioon.
KDE Plasman mukana tulee valmiiksi oikein mukavasti toimiva Spectacle, joka on juttelee Waylandia ja osaa kopsailla ja tallennella tiedostoja sun muuta kivaa.
Omaan filepasteen lataaminen sitten taas saatiin viritettyä erittäin helposti. Entinen maim ei nimittäin Waylandilla saa ruutukaapattua mitään, se elää vielä Xorgin aikakautta. Kuitenkin spectacle pienillä flagimuutoksilla taittui tähän käytännössä täydellisesti:
# Take a rectangle selection screenshot using maim
screenshot_file="/tmp/screenshot.jpg"
spectacle --release-capture --background --region --output "$screenshot_file"Tämä bindattuna kivasti Ctrl+Shift+Print tuottaa sitten oivan työkalun ottaa ruutukaappauksia joita voi saman skriptin uploadaamina jaella sitten linkillä.
Kolmas aiemmista skripteistä dumppasi otetun ruutukaappauksen tiedostoon, mutta tämän Spectacle osaa tehdä varsin kivasti suoraan oletusasetuksillaan, joten skripti jääköön odottamaan muita aikoja.

Emojit
Emojeja tulee myös tungettua sinne tänne, niiden valikointiin olen tottunut käyttämään Splatmojia. Sitä kuitenkin piti hieman viritellä, jotta se suostui edes kopioimaan tavaraa Waylandilla.
rofi_command=rofi -dmenu -p '' -i -monitor -2 -dpi 96
xsel_command=wl-copy --type text/plainNäillä säädöillä Splatmojin sai melko kiltisti ajautumaan näppisshortcutilla.

Vorta ja Borg backuppailemassa
Kun aikanaan vaihtelin työpöytäympäristöä pariin otteeseen, tulin huomanneeksi, että erilaisia täydellistä tuhoa aiheuttavia kaatumisia ja bugeja ilmaantui silloin tällöin.
Muistanpa eräänkin kerran, kun ilmeisesti näytönsäästäjän ilmaannuttua ruutuun oli jotain mystistä tapahtunut ilmeisesti jossain päin tiedostojärjestelmää, eikä masiina enää bootannutkaan.
Siis olen viimein käsittänyt varmuuskopioiden tärkeyden. Jo aiemmalla setupilla käytin Vorta-käyttöliittymää yhdessä Borg-varmuuskopioreposoftan kanssa. Alunperin varmuuskopiot elivät ainoastaan vaatehuoneserverillä eli Kotivuorella, mutta kun sen kirppiskovot alkoivat sekoitella bittejä oikein urakalla, totesin jonkinlaisen storage boxin tarpeen olevan oleellisesti läsnä.
Menemättä sen enempää yrityssalaisuuksiin, tunnetusti olen Hetznerin uskollinen asiakas, ja nykyisin mahdollisesti myös storage boxin onnellinen vuokraaja. Ainoa ongelma tähän mennessä on tuskallisen hidas siirtonopeus, kun vertaa gigaisen lähiverkon läpi tehtyihin kopioihin... Paras ratkaisu on siis yhdistelmä uutta ja vanhaa!
Tosin ensihidastelun jälkeen Vorta+Borg ovat hyvin nopeita päivittäisvarmuuskopioissa, sillä ainoastaan muuttunut data siirretään repoon, jossa se myös kryptauksen ohella deduplikoidaan.
(ja lapsoset, muistakaa aina säilyttää tärkeästä datastanne ainakin kolme kopiota, jotka ovat eri medioilla, ja ainakin yksi fyysisesti eri paikassa kuin kaksi muuta!)

Mutta ei kai siinä. Varmuuskopioita otetaan automaagisesti kaikesta tärkeimmästä. Tähän eivät kuulu esimerkiksi virtuaalikoneiden kovot, Node-moduulit, jättitiedostot tai muu turhuus.
Skriptiarkisto
Vuosien varrella on kertynyt jos jonkinlaista työkalua, pikkuskriptiä ja muuta sälää pitkin konetta. Tässä Debian-Fedora-siirrossa päätin viimein organisoida skriptit, AppImaget ja työstösälät selkeästi omiin kansioihinsa: ~/Work sisältää suurimman osan koodailu-, työ- ja hupiprojekteista, ~/Apps suurimman osan irtonaisista AppImageista ja ~/S kaikki entiset säläskriptit.
Ja tähän kaveriksi sitten vielä ~/.bin, joka menee suoraan PATHiin, jotta ko. kansioon voi dumpata kaikkea mitä haluaa terminaalista sitten huutaa jatkossa mistä haluaa.
Ohessa esiteltynä muutamia eri vakiotyökaluja, joita tulee käytettyä usein.
x-dirsizes
Tämä on pötkylä, joka lukee senhetkisen kansion tiedostokoot ihmisymmärrettävänä ja listaa ne sitten suuruusjärjestyksessä.
#!/bin/bash
du -sh -- ./{.[!.]*,*}/ | sort -rh
x-webptopng
Kertyykö sinunkin latauskansioosi webp-kuvia, joita et sellaisina halua käsitellä? No ei hätää! Tällä pohjalla konvertoit ne kaikki tutuiksi ja turvallisiksi kannettaviksi verkkografiikoiksi :D
Vastaavia usein käyttämiäni convert- ja myös ffmpeg-kutsuja olen taltioinut skriptiarkistoon useitakin.
#!/bin/bash
for f in *.webp; do
echo "$f"
convert "$f" "${f%.webp}.png"
donex-rmfonts
Lataatko sinäkin usein fontteja mm. zip-paketteina netistä? Jäävätkö ne sinullekin pyörimään asentamisen jälkeen ympäri ämpäri?
Ei hätää: Tämä skriptinpätkä tutkii kaikki zipit läpi ja osaa ystävällisesti poistaa kaikki ttf-, otf- ja woff2-tiedostoja sisältävät ziputtimet kansiosta!
#!/bin/bash
delete=false
if [[ "$1" == "--delete" ]]; then
delete=true
elif [[ $# -gt 0 ]]; then
echo "Usage: $0 [--delete]"
exit 1
fi
for zip in *.[Zz][Ii][Pp]; do
[ -e "$zip" ] || continue
if unzip -l "$zip" | grep -Eiq '\.(ttf|otf|woff2?)$'; then
if $delete; then
echo "DELETE: $zip"
gio trash -- "$zip"
else
echo "WOULD DELETE: $zip"
fi
fi
done
if $delete; then
echo "done!"
else
echo "give --delete to delete!"
fi...ja muutakin
Mutta ehkä näistä on syytä kirjoitella oma postaus sitten aikanaan. Kansiossa ~/S on sitten taas muita yllä_pädöllisiä pikareittejä muun muassa eri palvelimien ssh-yhteyksiin, verkkolevyn mounttailuun, juurikin ruutukaappauksien ottamiseen, Wacomin piirtoalustan asetuksiin, erilaisten Winellä ajettavien softien availuun oikeilla konffeilla...
Ja olipa ankeimpina aikoina käytössä muun muassa pikaskriptit Firefoxin ja Discordin päivittämiseen. Mutta toista se on nyt Hattulinuxilla...
Hattuliinuksi jatkoon!
Toistaiseksi tämä Hattulinuksin eli Fedoran parissa eläminen on ollut varsin tylsää ja haasteetonta. Mitä nyt pari kertaa on pitänyt vähän kirota kernelmodulien kanssa.
Muuten kaikki onkin ollut oikein maukasta:
Peruspelit pyörii varsin maukkaasti
Wanhat Tekkit Classic -shift-klikkailuongelmat ovat kadonneet
Wine heräsi henkiin (mutta vanhojen prefixien käytössä oli kyllä hieman haasteita DPI-asetusten kanssa)
Steam, Spotify, Discord, selaimet, Gimpit, OBSit ja muu yleissälä asentui ilman minkäänlaisia ongelmia
Qt-pohjaiset softat ovat kauniisti tyyliteltyjä <3
USB-C-telakan kautta kahden monitorin ajaminen toimii sekä dGPU- että iGPU-porteista! >:O
Lenovon muut kuriositeetit ovat toimineet moitteetta (tuuletus-/tehotilat, akun säästötila, näytön ja näppäimistön taustavalo, jne.)
Uudet kirjastot! Koko ajan päivityksiä! Olen siis kerrankin melkein aallon harjalla, jes.

Päivittäiskäyttö on siis jatkunut tässä jo parisen viikkoa, softakehitys on jatkunut saumattomasti, sähköpostin prokrastinointi läpikäynti on sujunut ja niin edelleen. Ja Tulikettu syö muistia ihan niin kuin ennenkin!
Pieniä haasteita ja tutkittavia seikkoja toki vielä on:
Hiiren kursori lagaa muutaman framen silloin tällöin. Ärsyttävää!
Kernel-päivitykset täytyy käsitellä tietyin rituaalein
Toisinaan GRUB näkyy ja toisinaan ei. Täytynee säätää niitä GPU-asetuksia.
Onnistuisikohan iGPU:n ja dGPU:n välillä vaihtelu kivasti nyt EnvyControlin tms. avulla?
Näillä sanoilla jatketaan siis tutkailua. Kokonaisuudessaan väittäisin tätä vaihdosta kuitenkin kohtalaisen onnistuneeksi! Käyttis ja osa softista vaihtuivat, mutta suuriakaan muutoksia päivittäistoimintaan ei ilmaantunut!

Kommentit
Ei vielä yhtään kommenttia!
Jätä kommentti
Kommentoidessasi ip-osoitteesi ja nimimerkkisi tallennetaan systeemiin.