HeadlessRaspberryPi
19.08.24
Headless Raspberry Pi til hjemmenettverk
Jeg er nok ikke alene om å ha kjøpt en Raspberry Pi på et tidspunkt for å så oppleve at den ikke ble brukt like mye som tiltenkt. Jeg har alltid vært fascinert av små datamaskiner og jeg hadde et håp om at den kunne ta over for daglig bruk hjemme. Akkurat dette behovet klarte ikke Raspberry Pi'en å leve opp til og maskinen ble i stedet ryddet bort sammen med annen elektronikk. Jeg tenkte alltid at jeg ville lete den frem igjen en vakker dag. Den vakre dagen fant sted i sommer.I denne teksten vil jeg dele av mitt pågående hobbyprosjekt og kanskje det skaper inspirasjon hos deg.
Medieserver
Over tid har man klart å akkumulere en stor mengde digitale medier. Smarttelefoner har også fått såpass gode kameraer at foto og video har mye større filstørrelser enn for bare ti år siden. Kvaliteten er såpass god at lagringsplassen på telefonen ikke lenger er tilstrekkelig for å ta vare på alt. Et behov som produsentene av nevnte telefoner har plukket opp. De selger deg løsningen i form av skylagring. En løsning som ofte er bygget inn i operativsystemet slik at medier blir syncet automatisk og alt er tilgjengelig uten at forbrukeren trenger å slette eller flytte noe som helst til ekstern disk. Det eneste man må huske på er å betale så ordner skyløsningen resten. Skylagring er ikke gratis og over tid betaler man store summer for å slippe manuell håndtering av data. Jeg er en av disse forbrukerne og har et abonnement for hele familien som koster meg noen hundrelapper i året. Er det verdt det? Ja, jeg synes det, men jeg vil gjerne begynne å ta mer ansvar for egne medier likevel. Om det kan resultere i at jeg ikke er like avhengig av skylagring så er det en bonus, men jeg tviler. Om ikke annet er det fint med backup.
Planen er å bruke en ubrukt datamaskin og omdisponere denne til en medie- og filserver. Først og fremst ønsker jeg at serveren er tilgjengelig via hjemmenettverket slik at jeg slipper å tenke på at alt er eksponert utad. For meg var det naturlig å fiske frem Raspberry Pi igjen for dette.
Oppsett
Jeg ønsket et oppsett der jeg ikke var avhengig av tastatur og skjerm for å operere maskinen. Jeg ville koble til strøm (og evt. nettverkskabel) og deretter gjemme den ute av syne. Da passet det utmerket å installere Raspberry Pi OS Lite som operativsystem. Det er en utgave som pakker med kun det mest essensielle. Selv ikke et brukergrensesnitt er mer i pakken. Ved installasjon bruker den kun 2GB av lagring og har kun 1 prosess kjørende. Det er perfekt og clean slate for utvikling av hva enn man ønsker å bruke maskinen til. Dette er naturligvis et alternativ for personer som er komfortabel med å operere terminalen via SSH, men jeg har en følelse at målgruppen av leserne er det.
Hvordan komme i gang
Jeg anbefaler å bruke Raspberry Pi Imager til å skrive operativsystemet til et SD-kort. Et par ting man må tenke på når man skal bruke headless OS er at man må konfigurere litt på forhånd. Primært to ting er essensielt. Det første er at man må aktivere SSH ved oppstart, ellers er det utfordrende å få kontakt med maskinen i etterkant. Dette kan entes gjøres ved å opprette en tom fil med navn ssh i booten. Alternativt kan du huke av for dette i Raspberry Pi Imager om du bruker dette programmet til å skrive til SD-kortet. Det andre som er viktig å huske på er at det må opprettes en bruker på forhånd. Dette har tidligere blitt løst ved at Raspberry Pi OS oppretter en default bruker for deg, men grunnet sikkerhet så har dette blitt deaktivert og du er dermed nødt til å lage en bruker på forhånd. Dette kan også gjøres i Raspberry Pi Imager programmet eller du kan skrive til en fil i boot'en.
En tredje ting du bør gjøre om du ikke bruker kablet nett er å konfigurere trådløst nettverk slik at maskinen kobler seg til dette. Maskinen må være på nettverket før du kontakter den over SSH. Se offisiell dokumentasjon om du er usikker.
Da gjenstår det bare å skru på maskinen og vente et par sekunder til operativsystemet er klart. Nå ønsker vi å koble oss til maskinen, men vi vet enda ikke adressen. For å finne IP-adressen kan man logge seg inn på ruteren på samme nettverket. Her vil du kunne se samtlige enheter som er koblet til nettverket, inkludert Raspberry Pi'en. Operativsystemet gir maskinen navnet "Raspberry" som default, så gitt at det ikke eksisterer flere Raspberry Pi på samme nettverk så skal den være enkel å spore opp blant tilkoblede enheter.
For å koble seg til maskinen så bruker du ssh og kommendoen
<brukernavnet>@<ip-adressen>
Vipps, så er du koblet til en headless Raspberry Pi og du har anledning til å gjøre akkurat det du ønkser.
Det finnes mye spennende software du kan installere via apt (package management). For eksempel kan du installere Jellyfin som kan operere som medieserver for din private samling av filmer og serier. Det er en utmerket måte å fortsette å bruke dine gamle DVD'er etter at du har ryddet bort DVD-spilleren med streaming-boksen.
Dersom du har valgt å bruke Raspberry Pi OS Lite så er det mye man tar for gitt som ikke gjøres automatisk for deg. For eksempel så blir ikke eksterne disker mountet som et filsystem automatisk. Både mounting og un-mounting må gjøres av deg via terminalen. Om du har koblet til en ekstern disk så kan du skrive lsblk (List block devices) for å se hvilke disker som er tilgjengelig. Deretter bruker du kommandoen mount til å tilgjengeliggjøre filsystemet på ønsket plassering. Husk å skriv umount før du kobler fra slik at du ikke risikerer å ødelegge data på disken.
Se også artikkelen min om TMUX som er et fint verkty å bruke når man arbeider gjennom SSH.