QEMU/Virt-manager – lagring och klippbord

Efter att VirtualBox (VB) slutat fungera för en andra gång på mindre än ett år. Orsak verkar vara inkompatibilitet med kärnan. Något ändras i kärnan och VB slutar fungera. Så denna gång valde jag att testa QEMU med virt-manager. Om det är så det kallas, vet jag inte, jag gör det för närvarande.

Har kört ett tag och har inte lyckats få fil-koppling mellan klient och host att fungera. Vad det verkar har jag tittat på fel inställningar. Nu verkar jag ha gjort rätt.

Här nedan tänker jag beskriva två saker som jag konfigurerat idag, som jag vill komma ihåg. Hur man skapar en enhet som kan monteras i klienten som går till en mapp hos host. Även hur jag gjorde för att göra det möjligt att kopiera text mellan klient och host, i båda riktningar.

Generellt verkar det vara så att det är bra om man stänger ned klienten innan man gör ändringar. Något jag ofta glömmer bort.

Hur jag skapar en enhet kopplad till mapp hos host, som monteras i klient

På informations-sidan av klientens dialog-fönster enligt nedan, kan man lägga till hårdvara. Där väljer man något som kallas för ”Filsystem” längre ned i listan.

Dialog för att lägga till hårdvara till klient med virt-manager. . Lägga till hårdvara av olika slag.
Dialog för att lägga till hårdvara till klient med virt-manager. Klicka på info-verktyget och välj ”Lägg till hårdvara” för att komma åt inställningar för göra förberedelser för enhet som senare kan monteras i klienten.
Dialog i virt-manager för klient efter att användare valt att lägga till hårdvara, här väljer användaren vilken hårdvara som kan läggas till. Välj "Filsystem" för att lägga till enhet som kan monteras i klienten. Välj ”Avsluta” när jag vill spara undan ändringarna, och ”Avbryt” om jag vill ångra.
Dialog i virt-manager för klient efter att användare valt att lägga till hårdvara, här väljer användaren vilken hårdvara som kan läggas till. Välj ”Filsystem” för att lägga till enhet som kan monteras i klienten. Välj ”Avsluta” när jag vill spara undan ändringarna, och ”Avbryt” om jag vill ångra.

Källsökväg: Här bläddrar jag fram till den mapp jag vill använda för denna koppling.
Målsökväg: Är namnet som kommer användas i klienten för montering. Jag använder något i stil med ”host_xxx” där xxx är vad det är. ”host” använder jag för att det ska vara extra tydligt, för att jag gör kopplingen till ”host”. Vilka begränsningar som finns, känner jag inte till i dagsläget.

Starta om klienten, om den var aktiv, annars starta.

Väl inne i klienten behöver jag göra ändringar i ”fstab” så att det blir permanent.
Om Målsökväg är ”host_test” kan följande anges i fstab. Och vi har skapat en mapp under ”/mnt” med namnet ”test”. Jag använder tab-tecken mellan varje del.

host_test /mnt/test virtiofs defaults 0 0

Det kan vara så att något ”virtio” behöver installeras. Jag kommer inte ihåg vad jag har installerat extra sedan start. Så om jag stöter på något framöver får jag lägga till det.

Vad jag hittat på nätet är följande för att aktivera monteringen.

sudo systemctl daemon-reload (gissar det startar om systemctl, men varför?)
sudo mount -va (monterar alla omonterade enheter, och visar en lista)

Installera ”spice” för att copy-paste ska fungera mellan host och klient

Att kopiera mellan host och klient fungerar inte med automatik, och det saknas funktion för att aktivera det genom någon dialog som VB har. Vad jag kunnat se i alla fall. Däremot finns det saker att installera som gör att det fungerar.

Spice verkar vara något som kan lösa detta. Som det verkar behöver man ha minnet delat. Verkar som att spice behöver det.

Dialog virt-manager för klienten. Spice verkar behöva att "Aktivera delat minne" är påslaget. Det står att funktionen används för att göra så att man kan använda mindre mängd minne om datorn har dåligt med minne. Men det verkar som att det finns fler orsaker.
Dialog virt-manager för klienten. Spice verkar behöva att ”Aktivera delat minne” är påslaget. Det står att funktionen används för att göra så att man kan använda mindre mängd minne om datorn har dåligt med minne. Men det verkar som att det finns fler orsaker.

Hos host behöver vi installera gtk-del för spice. Jag vet inte vad spice är för något, men har sett något med RedHat omkring det jag läst. Jag borde kanske läsa på vid något tillfälle. Jag gissar att vi behöver starta om VM för denna del. Jag gjorde så denna gång.

sudo apt install spice-client-gtk

klienten

sudo apt install spice-vdagent

Kolla att den är aktiv. Den var det inte för mig. Så jag behövde aktivera den med systemctl.

ps -lef | grep spice-vdagentd
sudo systemctl status spice-vdagentd

Se till att ”spice-vdagentd” är startad.

Verkar som att man inte behöver starta om klienten. Det skadar så klart inte. Jag gjorde ingen omstart och det fungerade som det ska.

Länkar

Virt-manager för VM primärt KVM
https://virt-manager.org/
QEMU kan hantera både KVM och Xen (Vad det nu är för skillnad?)
https://www.qemu.org/
Monter folder från host (Madhu Desai) (2024-03-25)
https://sysguides.com/share-files-between-kvm-host-and-linux-guest-using-virtiofs
Aktivera copy-paste mellan host och vm (2014-05-12, uppdaterad 2022-08-18: Guillaume Vauvert samt gerlos kommentar om att man inte behöver starta om klienten) (gammal men verkar fungera fortfarande 2025-02-02)
https://unix.stackexchange.com/questions/109117/virt-manager-copy-paste-functionality-to-the-vm

SPF på Debian 12 (Bookworm)

[Uppdatering 2024-03-06: Lägger till länk till Debians manualsida som berör SPF]

Sender Policy Framework (SPF) var en av de tekniker som G-mail (Google) började ställa krav på att e-post-servrar har under 2023. Även DKIM verkade det ställas krav på, visade det sig. DKIM blir i en annan artikel, här blir det bara SPF.

SPF och DKIM är två typer av TXT-poster i DNS som gör det möjligt att upptäcka spoofing av e-post och hjälpa legitim e-post att levereras till mottagarens in-box, istället för i skräp-korgen. Om de inte lade till dig i deras adress-bok.

DNS-posten för SPF beskriver vilken host, eller IP-adresser, som är tillåtna att använda för att skicka e-post för domänen. Du bör bara tillåta din egen e-post-server eller din ISPs server som sänder e-post för din domän.

SPF tolkar jag som, är en teknik som fungerar så att jag skickar e-post från A till B. När B tar emot min e-post, kan den kontrollera på min domän om min e-post kommer från rätt host. Om det finns en SPF-post på min domän. Så den ändrar inget på utgående e-post, bara gör det möjligt att kontrollera inkommande e-post.

Jag har använt många källor innan jag kom till skott. Den som fick mig att ta steget, var den artikel som Xiao Guoan skrev på linuxbabe.com, 2022.

Steg 1: Skapa en TXT-post i DNS för SPF

Där du konfigurerar din DNS, skapa en ny TXT-post, enligt nedan. Detta enligt de källor jag hittat på nätet.

TXT @ v=spf mx ~all

Använder du One.com kan det se ut så här.

TXT @ v=spf include:_custspf.one.com ~all
SPF på one.com
SPF på one.com

Förklaring:

TXT indikerar att detta är en TXT-post.
@ anges i fältet för ”hostname” och jag gissar att det har med alla att göra. Men hur? Och olika för olika webb-hotell. Jag lade bara till host för en under-domän jag har. Så jag har två TXT-poster.
v=spf indikerar att detta är en SPF-post och att det är version SPF1.
ip4:(ip-nr) anger vilken host som är giltig att skicka e-post från.
include:_custspf.one.com anger att SPF från en annan källa också används. Tror jag i alla fall. Det var vad one.com tyckte att man skulle ange, så att deras system kan användas.
mx betyder alla hosts listade med MX-poster har tillåtelse att sända e-post för din domän. Jag använde inte denna.
~all indikerar att e-post från din domän ska bara komma från hosts beskrivna i SPF-posten. Möjliga andra alternativ är [+all, -all, ?all], men är sällan använda.

Steg 2: Kontrollera SPF-posterna i DNS

För att kontrollera om SPF-posten har spridits, så att den kan användas, använd tex ”dig”-verktyget på lin Linux-dator. På Ubuntu behöver man installera paketet bind9-dnsutils för att komma åt kommandot.

sudo apt install bind9-dnsutils
dig ripop.se txt

Attributet txt säger till dig att bara visa TXT-poster.

Du kan även använda ”https://dmarcian.com/spf-survey” för att testa syntax för din SPF-post. Om det finns bättre? Det vet jag inte. Nytt område för mig.

Steg 3: Konfigurera SPF Policy Agent

Postfix behöver också veta något om SPF, för att kontrollera SPF-posterna för inkommande e-post. SPF kontrolleras på inkommande sidan. Inget görs på utgående e-post.

Först installeras de paket som behövs.

sudo apt install postfix-policyd-spf-python

Därefter editeras Postfix konfiguration av huvud-processer.

sudo nano /etc/postfix/master.cf

Lägg till följande linje i slutet av filen. Den säger åt Postfix att starta policy-demonen för SPF när den själv startar. Gör gärna en kommentar i anslutning, så att du vet varför och när.

# 2024-03-03: Rickard: G-mail har börjat kräva detta. 
policyd-spf unix - n n - 0 spawn
  user=policyd-spf argv=/usr/bin/policyd-spf

Nästa steg är att editera Postfix primära fil för konfiguration.

sudo nano /etc/postfix/main.cf

Lägg till följande i slutet av filen. Första linjen anger Postfix timeout för policy-agenten. Efter-följande linjer skapar restriktioner för inkommande e-post genom att avvisa obehörig e-post och kontrollera SPF-posten. Debian rekommenderar 3600, som det verkar på Debians manual-sida som berör SPF.

# 2024-03-03: Rickard: Vad som krävs för att kontrollera SPF på inkommande.
policyd-spf_time_limit = 3600 
  smtpd_recipient_restrictions =
  permit_mynetworks,
  permit_sasl_authenticated,
  reject_unauth_destination,
  check_policy_service unix:private/policyd-spf

Kommentar från Postfix:
reject_unauth_destination behöver vara före check_policy_service.
https://www.postfix.org/SMTPD_POLICY_README.html#client_config
Kommentar om rad 8,9.

Spara. Starta om Postfix.

sudo systemctl restart postfix

Nästa gång jag får en e-post från en domän som har SPF-poster, kan jag se att SPF har kontrollerat resultatet i e-post-headern. Följande header indikerar att sändaren har skickat e-post från en giltig host.

Received-SPF: Pass (sender SPF authorized).

Detta gick förhållandevis smärtfritt. Nästa artikel kommer att handla om mitt äventyr med DKIM. Den var inte lika lätt att fundera ut.

Länkar

Xiao Guoan
https://www.linuxbabe.com/mail-server/setting-up-dkim-and-spf

SPF Debian
https://manpages.debian.org/testing/postfix-policyd-spf-python/policyd-spf.1.en.html

Testa SPF (finns många andra, jag testade med denna)
https://dmarcian.com/spf-survey

SPF på One.com
https://help.one.com/hc/sv/articles/115005595945-L%C3%A4gg-till-en-SPF-post

Postfix SMTPD policy
https://www.postfix.org/SMTPD_POLICY_README.html#client_config

Länkar svåra att hantera i inlägg

Jag har under en tid haft problem med att det varit svårt att lägga till hyper-länkar, här i WordPress.

Block-redigering har jag inte gillat sedan den blev tillgänglig. Jag har dock använt den, för att se om jag kunde lära mig. Nej, det har jag inte.

Från det att jag började med block-redigering fram till idag, har det varit problem att lägga till hyper-länkar. När jag markerat text och valt ”infoga hyperlänk”, då har dialogen för det stått och blinkat och jag har inte kunnat lägga till länken. Det var inte så från allra första stund med block-redigering, men rätt tidigt. Då jag inte gör så många inlägg har det varit störande, men inte påverkat mig allt för mycket.

Nu tänkte jag att jag skulle göra något åt detta. Kanske det var TinyMCE som inte fungerar med nyare WordPress. Det var det inte. Jag har inte ens TinyMCE installerad. I alla fall inte som eget tillägg. Det verkar vara ett tillägg som innehåller, både, TinyMCE och Gutenberg. Gutenberg är block-redigeraren. Så jag gick in i det tillägg och såg vilka inställningar som fanns att göra.

Jag hittade ”Byt blockredigeraren med den klassiska redigeraren”, och bockade för den. Nu fungerar det till slut att skapa hyper-länkar.

Det är möjligt att det finns inställningar som gör Gutenberg (block-redigeraren) användbar även för mig. Men för tillfället har jag inte hittat någon sådan inställning. Jag har inte lagt någon tid att leta, och jag har inte snubblat över något som verkat vettigt att prova.

Kontrollera om gäst-tillägg är installerat för VirtualBox klient

Något jag kollar ett antal gånger varje år, det är om jag har gäst-tillägget installerat på VirtualBox-klient. Varje gång måste jag leta på nätet, och det är inte alltid lätt att hitta det jag letar efter. Osäker på om jag hittat det nu, men det är vad jag provar. Jag kan tänka mig att uppdatera detta inlägg, om jag hittar bättre alternativ. Men jag tror att det möjligen kan vara att jag skulle hitta någon som är duktig på att förklara varför olika lösningar är bra eller ej.

Silver Moon (maj 2023) verkar ha en bra presentation av en lösning. Jag följder den. ”lsmod” ger mig att jag troligen har gäst-tillägg installerat. Tabellen under ”lsmod” visar vad jag har i en klient för tillfället (2024-01-20).

$ lsmod | grep -i vbox
vboxsf 77824 3
vboxvideo 45056 0
drm_ttm_helper 16384 1 vboxvideo
vboxguest 409600 6 vboxsf
ttm 86016 3 vmwgfx,vboxvideo,drm_ttm_helper
drm_kms_helper 311296 2 vmwgfx,vboxvideo
drm 622592 8 vmwgfx,drm_kms_helper,vboxvideo,drm_ttm_helper,ttm

Något jag har märkt är att det kan vara bra om en användare tillhör gruppen ”vboxfs”. Då får jag tillgång till utdelade mappar från ”host”.

Silver Moon nämner även ”modinfo vboxguest” och jag får följande från den.

filename: /lib/modules/5.15.0-91-generic/misc/vboxguest.ko
version: 6.1.48 r159471
license: GPL
description: Oracle VM VirtualBox Guest Additions for Linux Module
author: Oracle Corporation
srcversion: FE7EF6B9ACED41027BA83AF
alias: pci:v000080EEd0000CAFEsv00000000sd00000000bc*sc*i*
depends:  
retpoline: Y
name: vboxguest
vermagic: 5.15.0-91-generic SMP mod_unload modversions

 ”filename” visar vilken modul som används.

Länkar:
https://www.binarytides.com/check-virtualbox-guest-additions-installed-linux-guest/ (Silver Moon – 2023 Maj)

https://unix.stackexchange.com/questions/718117/command-to-know-the-virtualbox-guest-additions-version-installed-at-ubuntu-and-f (Manuel Jordan – 2022 September)

Komprimera resultat av Kazam

Skärminspelaren Kazam är rätt enkel att använda, men jag tycker att resultatet blir lite stora filer. Så jag har letat lite efter bra rekommendationer att minska fil-storleken.

ffmpeg -i input.mp4 -vcodec libx265 -crf 28 output.mp4

Detta verkar ge en rätt rejäl minskning av fil-storleken. Så jag ska försöka komma ihåg det nästa gång jag vill komprimera ett video-klipp.

Länk:
https://unix.stackexchange.com/questions/28803/how-can-i-reduce-a-videos-size-with-ffmpeg

Länkar fungerar fortfarande inte att göra i WordPress nya block-system. Och jag hittar inget svar på nätet. Jag kanske har något felaktigt konfigurerat. Men jag hittar inget, för tillfället. Länk-skaparen bara står och blinkar, om den över huvud taget behagar att visa sig.