adrian_of_arcane_lore
Swashbuckler
- Joined
- 20 Oct 2023
- Messages
- 1,873
Jag har haft mitt egna lilla linuxäventyr under de senaste dagarna.
Går jag in på för mycket detaljer blir detta inlägget oändligt långt, men den klassiska "bara försöka göra en enkel grej" förföll i flera dagars felsökning, dependency hell, krasher, syratrippande LLMer och mycket mer. Nu är det redan långt, men detta är alltså bara en "kort" sammanfattning av det hela.
Förra veckan så installerade jag ful-streaming appen Stremio på min dator, kopplade ihop den med pluginen Torrentio, och satt och kollade på lite film och TV serier på min dator. Det var trevligt och funkade utmärkt, inga problem med hastigheten alls. Stremio finns också på AndroidTV, och funkar så att man gör alla inställningar (med alla mindre tillåtna tjänster) på sitt konto, och sedan är det bara att tuta och köra där man loggar in.
Så jag testade att logga in på TVn, det funkade, jag frågade min sambo om det var något hon ville se, hon svarade "Smokey and the Bandit!", och även fast Stremio med Torrentio-pluginet funkade rent teoretiskt, så gick det inte att kolla på den på det sättet det var för slött. Då tänker jag "vill hon se Smokey and the Bandit så skall hon få det", sedan började kaoset.
Jag har använt UPnP/DLNA servrar för att streama film från min dator till någon mottagare vid TVn i snart 20 år, första gången jag fixade i ordning en sån lösning var nog från typ Windows XP på en urgammal gamingdator till min PS3 typ 2007 kanske. Det har alltid varit den snabbaste och simplaste lösningen för att hitta något specifikt att kolla på. Så jag tänkte i min naivitet att detta är ju en baggis, men oj så fel jag hade.
Till saken hör att jag kring detta med Linux lagt mig till med den dåliga ovanan att ta hjälp av LLMs för felsökning och mer komplicerade tekniska grejer. Inte för att det är bra att göra det, men det fragmenterade Linuxlandskapet gör att det är en avancerad färdighet i sig att ens veta vart man skall börja söka efter hjälp när någonting är lite obskyrt eller svårt att ta reda på. LLM användning som "teknisk support" är också det område jag nog har minst etiska problem med dem. All träningsdata och referensdata bygger på offentlig dokumentation som är till för att användas fritt och gratis, den genererar ingenting som ersätter något annat (det finns liksom ingen att ringa eller maila om det här), så förutom detaljen att det legitimerar deras existens och värmer upp planeten för att jag vill titta på lite film, så är just den tekniska handledningen ett use-case som jag iaf delvis kan köpa att de är användbara för. Jag har använt Gemini för det är mest tillgängligt, jag tänker inte ha en diskussion om vilken som "är bäst" (att självständigt testa och verifiera det vore ett så enormt åtagande att det inte kan motiveras).
Problemet med att använda en LLM/Gemini är att den är *helt dum i huvudet* och en fullständigt bindgalen mytoman. Vi återkommer till det.
Oavsett, jag sökte runt lite på vad som är bra mediaservers för att streama film lokalt, och överallt dök det upp att Jellyfin är det som folk föredrar. Jellyfin fanns tack och lov tillgängligt som Flatpak på både Flathub och i Fedoras RPM Fusion repo. Mitt spindelsinne sa mig att Flatpak versionen nog lätt kan stöta på patrull, då det känns väldigt tveksamt om den kommer kunna ha och kommer kunna få tillstånd att göra vad den behöver göra för att funka. Jag testade, det funkade inte, jag försökte felsöka själv, jag hittade inget, jag frågade LLMen, den ljög ihop en lång harang om att jag kunde överbrygga Flatpakets begränsade rättigheter, jag testade det litegrann men gav sedan upp, jag har vart i den här situationen innan nämligen och det har inte funkar. Efter en stund lyckades Gemini luska fram information (med referens, tack och lov) att Jellyfins utvecklingsteams officiella linje är att man inte skall använda Flatpaket från Flathub alls, då gav jag också upp.
Istället körde jag på via RPM-paketet från RPM-Fusion, och det var nu problemen verkligen tog fart. Kort och gott så är RPM-paketet eftersatt och har hamnat i ett stadie där det är "community managed", Fedora är ett av de distros som utvecklas absolut snabbast, och saker som inte väldigt aktivt uppdateras riskerar ofta att gå sönder. Jellyfin stödjer inte längre någon utveckling alls på Fedora, eller som Flatpak, utan de fokuserar helt på att leverera fungerande paket till Debian/Ubuntu (och därför också Mint osv), och anser att om man vill använda Jellyfin så skall man använda dessa. Den officiella lösningen för de som vill köra det utanför de officiellt underhållna paketen är att köra det i en Docker-container (eller Podman då, som är Fedoras container-lösning).
Detta är ingen information jag på egen hand lyckas få fram eller förstå, så jag kör både egen felsökning och frågar Gemini om vad problemet är och varför servern krashar och får "core-dump" en miljon gånger. Efter att Gemini börjar gå i cirklar, spotta ur sig terminalkommandon till höger och vänster och hela tiden drar nya "lösningar" ur röven så är jag i vart fall tillräckligt med på banan för att fråga "Kan det vara så att det här RPM-paketet vi försöker köra från ett community-repo faktiskt bara är trasigt", och först då häver Gemini ur sig att "ja, så är det, RPM-paketet har vart trasigt hela tiden, det kommer aldrig funka på ditt system och allt jag sagt hittills är bara bullshit, här är en länk med förklaringen", och skickar med en länk från Jellyfins utvecklare där de säger rakt ut att utvecklingen för RPM-paketen är avslutad sedan länge, och andra länkar där Fedora användare öppet skriver att man inte skall använda det för att det inte kommer funka. Tack.
Sedan börjar Gemini försöka få mig att installera Docker på Fedora 44, och helt ignorera att Fedora alltså redan använder Podman och att det är inbyggt. Då ger jag upp och ser till att få bort alla delar av det trasiga RPM-paketet (och resterna av Flatpak-versionen) från mitt system, bara det är ett projekt i sig.
Men jag kan fortfarande inte streama Smokey and the Bandit, så jag överger Gemini helt och börjar söka själv efter egna lösningar. Efter ganska kort tid hittar jag UPnP/DLNA servers Gerbera, som finns i Fedoras officiella repo och skall vara väldigt enkel. Där lyckas jag också hamna i en total spiral av krångel som grundar sig i att ge den tillstånd att se en mapp i mitt system där jag kan lägga mediafiler. Den mapp jag skapar och lyckas ge den tillstånd att både se, scanna och streama media från råkar jag dumt nog ge namnet "Shared media" med ett livsfarligt mellanslag.
Eftersom jag kände att det smidigaste sättet nu är att ge Gerbera tillstånd att bevaka mappen genom en funktion som heter "Inotify" där Gerbera uppdaterar sin databas automatiskt varje gång en ny fil läggs in i mappen, istället för att scanna manuellt eller med inställda intervaller, så havererar såklart allting igen eftersom mellanslaget i mappnamnet inte är tillåtet med den typen av funktion, det leter till ännu en evighetsloop av krashrapporter och "core-dumps". Gerbera lyckas spara någon sorts backup av en fil som gör att så fort jag försöker återställa problemet så återskapar det sig igen, och det blir en helt ny omgång felsökande innan jag lyckas få fram (både via Gemini och genom eget sökande i Gerberas dokumentation) att jag behöver radera både databasfilen och dess backup, så att Gerbera kan återskapa det utan att direkt bli korrupt och haverera.
MEN TILLSLUT får jag ihop det, jag rensar ut de korrupta databasfilerna, ställer in Gerbera Media Server på rätt sätt, och streamar filmen till min TV. Det funkar finfint, och igårkväll kollade vi på Smokey and the Bandit, fyfan vilken bra film det är.
Detta var jättejobbigt, men jag har lärt mig otroligt mycket om hur allt det här faktiskt fungerar, och också mycket mer om hur jag skall söka efter och förstå information från dokumentation mm. Men också att om jag skall ta hjälp av en LLM vilken typ av restriktioner jag skall ge den och hur viktigt det är att få den att verkligen verifiera vad den säger, länka till och citera källor, och ifrågasätta saker som ser skumma och konstiga ut, annars blir det bara haverier. Annars tenderar den snarare att göra saker mycket värre.
Går jag in på för mycket detaljer blir detta inlägget oändligt långt, men den klassiska "bara försöka göra en enkel grej" förföll i flera dagars felsökning, dependency hell, krasher, syratrippande LLMer och mycket mer. Nu är det redan långt, men detta är alltså bara en "kort" sammanfattning av det hela.
Förra veckan så installerade jag ful-streaming appen Stremio på min dator, kopplade ihop den med pluginen Torrentio, och satt och kollade på lite film och TV serier på min dator. Det var trevligt och funkade utmärkt, inga problem med hastigheten alls. Stremio finns också på AndroidTV, och funkar så att man gör alla inställningar (med alla mindre tillåtna tjänster) på sitt konto, och sedan är det bara att tuta och köra där man loggar in.
Så jag testade att logga in på TVn, det funkade, jag frågade min sambo om det var något hon ville se, hon svarade "Smokey and the Bandit!", och även fast Stremio med Torrentio-pluginet funkade rent teoretiskt, så gick det inte att kolla på den på det sättet det var för slött. Då tänker jag "vill hon se Smokey and the Bandit så skall hon få det", sedan började kaoset.
Jag har använt UPnP/DLNA servrar för att streama film från min dator till någon mottagare vid TVn i snart 20 år, första gången jag fixade i ordning en sån lösning var nog från typ Windows XP på en urgammal gamingdator till min PS3 typ 2007 kanske. Det har alltid varit den snabbaste och simplaste lösningen för att hitta något specifikt att kolla på. Så jag tänkte i min naivitet att detta är ju en baggis, men oj så fel jag hade.
Till saken hör att jag kring detta med Linux lagt mig till med den dåliga ovanan att ta hjälp av LLMs för felsökning och mer komplicerade tekniska grejer. Inte för att det är bra att göra det, men det fragmenterade Linuxlandskapet gör att det är en avancerad färdighet i sig att ens veta vart man skall börja söka efter hjälp när någonting är lite obskyrt eller svårt att ta reda på. LLM användning som "teknisk support" är också det område jag nog har minst etiska problem med dem. All träningsdata och referensdata bygger på offentlig dokumentation som är till för att användas fritt och gratis, den genererar ingenting som ersätter något annat (det finns liksom ingen att ringa eller maila om det här), så förutom detaljen att det legitimerar deras existens och värmer upp planeten för att jag vill titta på lite film, så är just den tekniska handledningen ett use-case som jag iaf delvis kan köpa att de är användbara för. Jag har använt Gemini för det är mest tillgängligt, jag tänker inte ha en diskussion om vilken som "är bäst" (att självständigt testa och verifiera det vore ett så enormt åtagande att det inte kan motiveras).
Problemet med att använda en LLM/Gemini är att den är *helt dum i huvudet* och en fullständigt bindgalen mytoman. Vi återkommer till det.
Oavsett, jag sökte runt lite på vad som är bra mediaservers för att streama film lokalt, och överallt dök det upp att Jellyfin är det som folk föredrar. Jellyfin fanns tack och lov tillgängligt som Flatpak på både Flathub och i Fedoras RPM Fusion repo. Mitt spindelsinne sa mig att Flatpak versionen nog lätt kan stöta på patrull, då det känns väldigt tveksamt om den kommer kunna ha och kommer kunna få tillstånd att göra vad den behöver göra för att funka. Jag testade, det funkade inte, jag försökte felsöka själv, jag hittade inget, jag frågade LLMen, den ljög ihop en lång harang om att jag kunde överbrygga Flatpakets begränsade rättigheter, jag testade det litegrann men gav sedan upp, jag har vart i den här situationen innan nämligen och det har inte funkar. Efter en stund lyckades Gemini luska fram information (med referens, tack och lov) att Jellyfins utvecklingsteams officiella linje är att man inte skall använda Flatpaket från Flathub alls, då gav jag också upp.
Istället körde jag på via RPM-paketet från RPM-Fusion, och det var nu problemen verkligen tog fart. Kort och gott så är RPM-paketet eftersatt och har hamnat i ett stadie där det är "community managed", Fedora är ett av de distros som utvecklas absolut snabbast, och saker som inte väldigt aktivt uppdateras riskerar ofta att gå sönder. Jellyfin stödjer inte längre någon utveckling alls på Fedora, eller som Flatpak, utan de fokuserar helt på att leverera fungerande paket till Debian/Ubuntu (och därför också Mint osv), och anser att om man vill använda Jellyfin så skall man använda dessa. Den officiella lösningen för de som vill köra det utanför de officiellt underhållna paketen är att köra det i en Docker-container (eller Podman då, som är Fedoras container-lösning).
Detta är ingen information jag på egen hand lyckas få fram eller förstå, så jag kör både egen felsökning och frågar Gemini om vad problemet är och varför servern krashar och får "core-dump" en miljon gånger. Efter att Gemini börjar gå i cirklar, spotta ur sig terminalkommandon till höger och vänster och hela tiden drar nya "lösningar" ur röven så är jag i vart fall tillräckligt med på banan för att fråga "Kan det vara så att det här RPM-paketet vi försöker köra från ett community-repo faktiskt bara är trasigt", och först då häver Gemini ur sig att "ja, så är det, RPM-paketet har vart trasigt hela tiden, det kommer aldrig funka på ditt system och allt jag sagt hittills är bara bullshit, här är en länk med förklaringen", och skickar med en länk från Jellyfins utvecklare där de säger rakt ut att utvecklingen för RPM-paketen är avslutad sedan länge, och andra länkar där Fedora användare öppet skriver att man inte skall använda det för att det inte kommer funka. Tack.
Sedan börjar Gemini försöka få mig att installera Docker på Fedora 44, och helt ignorera att Fedora alltså redan använder Podman och att det är inbyggt. Då ger jag upp och ser till att få bort alla delar av det trasiga RPM-paketet (och resterna av Flatpak-versionen) från mitt system, bara det är ett projekt i sig.
Men jag kan fortfarande inte streama Smokey and the Bandit, så jag överger Gemini helt och börjar söka själv efter egna lösningar. Efter ganska kort tid hittar jag UPnP/DLNA servers Gerbera, som finns i Fedoras officiella repo och skall vara väldigt enkel. Där lyckas jag också hamna i en total spiral av krångel som grundar sig i att ge den tillstånd att se en mapp i mitt system där jag kan lägga mediafiler. Den mapp jag skapar och lyckas ge den tillstånd att både se, scanna och streama media från råkar jag dumt nog ge namnet "Shared media" med ett livsfarligt mellanslag.
Eftersom jag kände att det smidigaste sättet nu är att ge Gerbera tillstånd att bevaka mappen genom en funktion som heter "Inotify" där Gerbera uppdaterar sin databas automatiskt varje gång en ny fil läggs in i mappen, istället för att scanna manuellt eller med inställda intervaller, så havererar såklart allting igen eftersom mellanslaget i mappnamnet inte är tillåtet med den typen av funktion, det leter till ännu en evighetsloop av krashrapporter och "core-dumps". Gerbera lyckas spara någon sorts backup av en fil som gör att så fort jag försöker återställa problemet så återskapar det sig igen, och det blir en helt ny omgång felsökande innan jag lyckas få fram (både via Gemini och genom eget sökande i Gerberas dokumentation) att jag behöver radera både databasfilen och dess backup, så att Gerbera kan återskapa det utan att direkt bli korrupt och haverera.
MEN TILLSLUT får jag ihop det, jag rensar ut de korrupta databasfilerna, ställer in Gerbera Media Server på rätt sätt, och streamar filmen till min TV. Det funkar finfint, och igårkväll kollade vi på Smokey and the Bandit, fyfan vilken bra film det är.
Detta var jättejobbigt, men jag har lärt mig otroligt mycket om hur allt det här faktiskt fungerar, och också mycket mer om hur jag skall söka efter och förstå information från dokumentation mm. Men också att om jag skall ta hjälp av en LLM vilken typ av restriktioner jag skall ge den och hur viktigt det är att få den att verkligen verifiera vad den säger, länka till och citera källor, och ifrågasätta saker som ser skumma och konstiga ut, annars blir det bara haverier. Annars tenderar den snarare att göra saker mycket värre.
Last edited: