Du har kanskje lagt merke til at noe programvare i distribusjonen ikke er den siste tilgjengelige. De fleste er ikke engang klar over dette fordi det ofte ikke er et problem. Det er bare når du trenger noen veldig ferske funksjoner når det blir et problem. La oss si at favorittvideoeditoren din hadde noen kodeendringer som forbedrer gjengivelsestiden med 20%. Det kan være noe du vil ha.
Lang historie kort, de fleste distribusjoner som betraktes som «stabil» eller «langsiktig støtte» vil ha (i det minste delvis) eldre programvare i sine repositorier. Men «rullende distroer» har mye nyere programvare inkludert, da de stadig henter inn oppdateringer fra oppstrøms utviklere. Debian ustabil (kodenavnet Sid) er en slik distribusjon. Med litt kommandolinjemagi kan du kjøre Debain Sid inne i din nåværende installasjon av Debian Stable eller Ubuntu.
Hvorfor gjøre dette når jeg bare kan legge til PPAer eller backports?
Personal Package Archives er veldig populære blant brukere som vil legge til nyere programvare til Ubuntu. Men PPAer, backports (på Debian) og andre lignende metoder forstyrrer hovedinstallasjonen din. Det betyr at de kan oppgradere biter og deler av ditt hovedsystem. Dette øker risikoen for at noe går galt, inkompatibilitet mellom ny og gammel programvare, nye feil introdusert i operativsystemet og så videre.
I motsetning til dette, isolerer metoden i denne opplæringen programvaren i et eget rom og forstyrrer ikke hovedinstallasjonen din på noen måte. Det ligner litt på en container (minus de sterke sikkerhetsfunksjonene). Videre inkluderer Debian Sid mye mer programvare enn du finner i PPAer eller backports. Imidlertid har alt sine begrensninger, så husk merknadene fra Debian ustabil side.
Opprett en minimal Debian Sid-installasjon med debootstrap
Åpne en terminalemulator og installer “debootstrap:”
sudo apt install debootstrap
Bytt til hjemmekatalogen din;
cd $HOME
Begynn å starte en ny Debian Sid-installasjon i «debian-sid» -katalogen:
sudo debootstrap sid debian-sid
Prosessen vil ta en stund, så vent noen minutter.
Forbered Debian Sid-installasjonen din
Først installerer du en ny pakke .:
sudo apt install systemd-container
Nå bruker du et nylig installert verktøy for å «gå inn i» Debian Sid distro:
sudo systemd-nspawn -D debian-sid/
Hvis du noen gang sitter fast i denne beholderen, kan du trykke Ctrl + ] tre ganger på rad for å avslutte med kraft. Bruk den bare som en nødsituasjonsmetode.
Legg til en ny bruker. I dette eksemplet kalles brukeren ganske enkelt “bruker”, men du kan erstatte det med ønsket brukernavn, selv om det dette kalles ikke har noen betydning.
adduser user
Velg passord for denne brukeren. Ingen tekst vises når du skriver. Når du har trykket på Enter, skriver du inn samme passord igjen når du blir bedt om det. De neste detaljene, for eksempel “Fullt navn”, er ikke påkrevd, så du kan bare trykke Enter ved disse instruksjonene. Til slutt skriver du “y” når du blir spurt om informasjonen er riktig, og trykk Enter.
Installer sudo:
apt install sudo
Legg til brukeren i sudo-gruppen:
adduser user sudo
Sett vertsnavnet for beholderen din. Dette vil hjelpe deg på terminalen, noe som gjør det tydeligere når du er logget på containeren og når du er på hovedsystemet. Det vil bidra til å unngå feil.
echo debian-sid > /etc/hostname
Gå ut av Debian Sid-beholderen:
exit
Start Debian Sid Container med systemd-nspawn
En enkel chroot
kommando kunne ha blitt brukt til å gå inn i denne beholderen, men systemd-nspawn har sterkere isolasjonsmetoder. Dette forhindrer bedre at containeren ved et uhell «lekker ut» i hovedsystemet. Videre inkluderer verktøyet en virtuell oppstartsbryter. Hva dette gjør er å simulere en ekte oppstart av Debian Sid-installasjonen din. Dette starter noen bakgrunnsprosesser som noen applikasjoner kan kreve for å fungere skikkelig (for eksempel dbus).
«Start» Debian Sid-installasjonen din:
sudo systemd-nspawn --boot -D debian-sid/
Logg inn med brukernavnet og passordet du valgte tidligere.
Installer og kjør ønsket programvare
Si at du vil installere GIMP-bildeditoren:
sudo apt install gimp
Steng beholderen din slik at du kan starte på nytt med alle de nye tingene den har installert (avhengigheter som dbus):
sudo systemctl poweroff
Når du er ferdig med å jobbe med containeren, er dette kommandoen du bør bruke for å slutte.
GIMP er et grafisk program, så det trenger en grafisk server. Av tekniske årsaker kjører dette ikke i containeren din, men kjører på hovedsystemet. Kjør dette på hovedoperativsystemet (ikke i beholderen):
echo $DISPLAY
Du kan få svar som f.eks :0.0
.
Start beholderen igjen:
sudo systemd-nspawn --boot -D debian-sid/
Når du har logget inn, fortell beholderen hvor den kan finne skjermen.
export DISPLAY=:0.0
Erstatte :0.0
hvis du hadde et annet svar.
Dette fungerer bare med Xorgs grafiske server. Hvis du bruker Wayland, kan det hende du må gjøre det ovennevnte med WAYLAND_DISPLAY-variabelen i stedet for DISPLAY. Hvis det ikke fungerer, bruk Xorg midlertidig gjennom alternativene for påloggingsadministratoren.
Nå kan du kjøre gimp:
gimp
Ikke bry deg om advarslene i terminalen. Du får de på hvilket som helst system når du kjører en grafisk app fra terminalen. Det er normal produksjon. Du ser det vanligvis ikke, siden du vanligvis starter applikasjoner fra en grafisk launcher.
Konklusjon
Det kan være vanskelig å komme til dette punktet, men når du er ferdig er det enkelt å installere ny programvare. Bare start opp beholderen, installer apt, eksporter skjerm, kjør app. Når du har alt du trenger, må du bare oppgradere innimellom. Gjør det med apt update && apt upgrade
. Noen ganger kan det hende du også må bruke apt update && apt full-upgrade
etter forrige kommando.