3 sikre måter å installere Linux-apper som ikke er i repoet ditt på (uten å ødelegge noe)
Sammendrag
- Oppdater pakkekatalogen din (apt update, pacman -Sy) før du antar at en pakke mangler.
- Bruk AUR eller PPA-er for manglende pakker: AUR er vurdert av fellesskapet; sjekk PPA-er før du legger dem til.
- Bruk Snap/Flatpak/AppImage eller installer .deb/.rpm-binærfiler; kompiler fra kildekode kun som siste utvei.
Linux-pakkebehandlere gjør det veldig enkelt å installere og oppgradere programvare. Likevel vil du uunngåelig støte på en «målpakke ikke funnet»-feil. Her er hva du kan gjøre når det skjer.
Før du gir opp de offisielle repositoriene
Pakkehåndtereren din søker ikke etter pakker på nettet hver gang. Søkingen kjører faktisk på en lokal cache. Hvis du ikke har oppdatert den lokale listen på en stund, kan den komme ut av synk med de nettbaserte repositoriene, og pakkehåndtereren din kan ikke finne pakken, selv om den er tilgjengelig i de offisielle repositoriene. Så selv om du får en melding som 'målpakken har ingen installasjonskandidat,' betyr det ikke nødvendigvis at pakken er utilgjengelig på de eksterne serverne.
Den enkleste måten å fikse dette på er å oppdatere den lokale databasen og synkronisere den på nytt med de offisielle repositoriene. På Debian- og Ubuntu-systemer kan du kjøre følgende kommando for å oppdatere den lokale listen over pakker.
sudo apt update
På et Arch-system kan du få Pacman til å synkronisere på nytt og oppdatere pakkelistene med denne kommandoen.
sudo pacman -SyuEtter å ha kjørt oppdateringskommandoen, prøv å installere appen du ønsker på nytt.
Vurder uoffisielle repoer
De offisielle Pacman-repositoriene er ikke så store som APTs, så det er vanlig at Pacman ikke finner noe når du prøver å installere en pakke. Heldigvis tar fellesskapet over dette. Arch User Repository, eller AUR, er et fellesskapsdrevet repositorium med et enormt bibliotek av pakker som mangler i de offisielle Pacman-repositoriene.
I stedet for ferdigbygde pakker er AUR derimot et bibliotek av "pkgbuild"-skripter. Disse skriptene fungerer som oppskrifter for å kompilere programvaren på enheten. Du trenger ikke engang å kjøre disse skriptene manuelt, fordi det finnes verktøy kalt AUR-hjelpere som automatiserer hele prosessen for deg. For eksempel kan du bruke Pacman til å installere en AUR-hjelper som "yay" og deretter bruke den til å installere pakken du ønsker.
sudo pacman -S yayyay -S signal-desktopUbuntu- og Debian-brukere kan sjekke Canonicals Launchpad eller UbuntuUpdates for personlige pakkearkiver eller PPA-er. Du må legge til de aktuelle PPA-ene manuelt i APT-pakkebehandleren og deretter prøve å installere appen igjen.
sudo add-apt-repository Etter å ha oppdatert den lokale applisten igjen, kjør denne kommandoen.
sudo apt updatePrøv deretter å installere målpakken din med APT.
Generelt sett er AUR-pakker stort sett trygge fordi fellesskapet sjekker dem, gir tilbakemeldinger og markerer skadelige pakker. Imidlertid kan det ta lengre tid å kompilere fra kildekoden, selv om du bruker en AUR-hjelper.
Du må være mer forsiktig med PPAer fordi hvem som helst kan være vert for dem, og det finnes ingen sentral portal hvor de kan vurderes eller rapporteres. Sørg for at du stoler på leverandøren før du legger til depotet i APT.
Se etter en universell pakke
Det finnes noen få pakketyper som er laget for å kjøre på hvilken som helst Linux-distribusjon. Formater som Flatpaks og Snap-pakker kan kjøre på de fleste Linux-distribusjoner. Disse pakkene er isolerte, komplette med alle sine avhengigheter, slik at de kan kjøre uavhengig inni et sandkassemiljø. Det betyr også at de er tyngre og tar litt lengre tid å starte. Siden de ikke kommer fra distribusjonens standard pakkebehandling, blir de heller ikke oppdatert sammen med resten av appene dine. Du må oppdatere dem manuelt.
Mange mennesker liker ikke Flatpaks og Snap-pakker, men jeg synes det er bedre å ha valget. Snap er allerede inkludert i Ubuntu og Ubuntu-baserte distribusjoner. Hvis distribusjonen din ikke har det, kan du installere det ved å bruke følgende APT-kommando.
sudo apt install snapdDu kan deretter bruke Snapd til å installere Snap-pakker fra Canonical app-butikk.
sudo snap install firefoxFlatpaks er like enkle å installere. Vi begynner med å installere Flatpak-pakkeadministratoren.
sudo apt install flatpakLegg deretter til Flatpak-depotet.
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepoDu kan installere Flatpaks med enkle kommandoer.
flatpak install flathub com.usebottles.bottles
Installer binærfiler
Plattformspesifikke binærfiler som .deb-arkiver for Debian eller Ubuntu og .rpm for Fedora er et annet alternativ. Noen ganger starter GUI-installeringsverktøyet bare ved å dobbeltklikke på disse filformatene. Alternativt kan du holde deg til terminalen. Bruk "wget" for å laste ned .deb- eller .rpm-filen, og installer den deretter ved å bruke disse kommandoene.
For Ubuntu,
sudo dpkg -i ./package_name.debFor .rpm-pakker,
sudo dnf install ./package_name.rpmDu kan også finne forhåndskomplilerte binærfiler som tarballer. Ideen er å dekomprimere arkivet til katalogen "usr/local/bin" og få tilgang til appen derfra.
For eksempel kan du laste ned neovim-pakken fra den offisielle GitHub-repoen.
wget https://github.com/neovim/neovim/releases/download/nightly/nvim-linux-x86_64.tar.gzDeretter pakk ut i en mappe du velger.
tar xzvf nvim-linux-x86_64.tar.gzKjør deretter neovim.
./nvim-linux-x86_64/bin/nvimDu kan trykke Tab for å autofylle filnavnene.
Hvis alt annet mislykkes, kan du alltid kompilere appen fra kilden. Avhengig av maskinvaren din og kompleksiteten til målsystemet, kan det å kompilere fra kildekode ta ganske lang tid.
Hvis du bruker Arch eller en Arch-basert distribusjon, er AUR ditt beste alternativ for å få programvare utenfor de offisielle repositoriene. For andre distribusjoner vil det være tryggere og mer praktisk å bruke et universelt pakkesystem som Snap, Flatpak eller AppImage. Hvis du ikke liker Flatpaks eller Snap, er ferdigkompilerte binærfiler også et alternativ. De er enkle å installere og gir bedre ytelse enn de universelle pakkene.













