Brug af PPA i Ubuntu Linux [Complete Guide]

Hvis du har brugt Ubuntu eller en anden Linux-distribution baseret på Ubuntu som Linux Mint, Linux Lite, Zorin OS osv., Har du måske stødt på tre magiske linjer af denne slags:

sudo add-apt-depot ppa: dr-akulavich / lighttable sudo apt-get opdatering sudo apt-get install lighttable-installer

En række hjemmesider foreslår disse slags linjer til installer programmer i Ubuntu. Dette kaldes installation af et program ved hjælp af PPA.

Men hvad er PPA? Hvorfor bruges det? Er det sikkert at bruge PPA? Hvordan man bruger PPA korrekt? Sådan slettes en PPA?

Jeg besvarer alle ovenstående spørgsmål i denne detaljerede vejledning. Selvom du allerede ved et par ting om PPA'er, er jeg sikker på, at denne artikel stadig vil tilføje til din viden.

Bemærk, at jeg skriver denne artikel ved hjælp af Ubuntu. Derfor bruger jeg termen Ubuntu næsten overalt, men forklaringerne og trinene gælder også for andre Debian / Ubuntu-baserede distributioner.

Hvad er PPA? Hvorfor bruges det?

Alt hvad du behøver at vide om PPA i Ubuntu Linux

PPA står for Personlige Pakkearkiv.

Giver det mening? Sikkert ikke.

Før du forstår PPA, bør du kende begrebet repositories i Linux. Jeg vil ikke gå i detaljer her dog.

Koncept af repositorier og pakkehåndtering

Et lager er en samling af filer, der har information om forskellige software, deres versioner og nogle andre detaljer som checksummen. Hver Ubuntu-version har sit eget officielle sæt af fire arkiver:

  • Main - Kanonisk understøttet fri og open source software.
  • Universe - Fællesskabsbaseret fri og open source software.
  • begrænset - Proprietære drivere til enheder.
  • Multiverse - Software begrænset af copyright eller juridiske spørgsmål.

Du kan se sådanne lagre for alle Ubuntu versioner her. Du kan gennemse dem og også gå til de enkelte repositorier. For eksempel kan Ubuntu 16.04 hovedarkiv findes her.

Så dybest set er det en webadresse, der har information om softwaren. Hvordan ved dit system, hvor er disse repositorier?

Disse oplysninger er gemt i filen sources.list i mappen / etc / apt. Hvis du kigger på dens indhold, vil du se, at den har URL'en til repositorierne. Linjerne med # i begyndelsen ignoreres.

Nu, når du kører kommandoen sudo apt opdatering, bruger dit system APT værktøj at tjekke mod repo og gemme oplysningerne om softwaren og deres version i en cache. Når du bruger kommandoen sudo apt install package_name, bruger den informationen til at hente den pakke fra den webadresse, hvor den aktuelle software er gemt.

Hvis opbevaringsstedet ikke har oplysninger om en bestemt pakke, vil du se en fejl som:

E: Kan ikke finde pakken

På dette tidspunkt anbefaler jeg at læse min guide til brug af apt kommandoer. Dette vil give dig en meget bedre forståelse af apt kommandoer, opdatering etc.

Så det drejede sig om repositorier. Men hvad er PPA? Hvordan går det ind i billedet?

Hvorfor bruges PPA?

Som du kan se, kontrollerer Ubuntu hvilken software og vigtigere hvilken version af en software, du får på dit system. Men forestill dig, om en softwareudvikler frigiver en ny version af softwaren.

Ubuntu vil ikke gøre det tilgængeligt straks. Der er en procedure til at kontrollere, om den nye version af softwaren er kompatibel med systemet eller ej. Dette sikrer systemets stabilitet.

Men det betyder også, at det vil vare nogle uger eller i nogle tilfælde, nogle måneder før det stilles til rådighed af Ubuntu. Ikke alle vil gerne vente så længe for at få fat i den nye version af deres yndlingssoftware.

På samme måde antager at nogen udvikler en software og ønsker, at Ubuntu skal inkludere denne software i de officielle arkiver. Det tager igen måneder før Ubuntu træffer en beslutning og indbefatter den i de officielle depoter.

En anden sag ville være under beta-test. Selvom en stabil version af softwaren er tilgængelig i de officielle arkiver, kan en softwareudvikler gerne have nogle slutbrugere til at teste deres kommende udgivelse. Hvordan giver de slutbrugeren mulighed for at afprøve den kommende udgivelse?

Indtast PPA!

Hvordan man bruger PPA? Hvordan virker PPA?

PPA, som jeg allerede har fortalt dig, betyder Personligt Pakkearkiv. Husk ordet 'Personlig' her. Det giver hint om, at dette er noget eksklusivt for en udvikler og ikke officielt godkendt af distributionen.

Ubuntu tilbyder en platform kaldet Launchpad, der gør det muligt for softwareudviklere at oprette deres egne arkiver. En slutbruger, dvs. du kan tilføje PPA-depotet til dine sources.list, og når du opdaterer dit system, vil dit system vide om tilgængeligheden af ​​denne nye software, og du kan installere den ved hjælp af standard sudo apt install-kommandoen som denne.

sudo add-apt-depot ppa: dr-akulavich / lighttable sudo apt-get opdatering sudo apt-get install lighttable-installer

At opsummere:

  • sudo add-apt-repository <PPA_info> <- Denne kommando tilføjer PPA-depotet til listen.
  • sudo apt-get update <- Denne kommando opdaterer listen over pakker, der kan installeres på systemet.
  • sudo apt-get install <package_in_PPA> <- Denne kommando installerer pakken.

Du ser, at det er vigtigt at bruge kommandoen sudo apt opdatering, eller ellers vil systemet ikke vide, hvornår en ny pakke er tilgængelig.

Lad os nu se på den første kommando i lidt mere detaljeret.

sudo add-apt-depot ppa: dr-akulavich / lighttable

Du vil bemærke, at denne kommando ikke har en URL til depotet. Dette skyldes, at værktøjet er designet til at abstrahere informationen om URL fra dig.

Bare en lille note. Hvis du tilføjer ppa: dr-akulavich / lighttable, får du Light Table. Men hvis du tilføjer ppa: dr-akulavich, får du alle de lagre eller pakker, der er nævnt i 'øverste lager'. Det er hierarkisk.

Dybest set, når du tilføjer en PPA ved hjælp af add-apt-repository, vil det gøre det samme, som om du manuelt kører disse kommandoer:

deb http://ppa.launchpad.net/dr-akulavich/lighttable/ubuntu YOUR_UBUNTU_VERSION_HERE hoved deb-src http://ppa.launchpad.net/dr-akulavich/lighttable/ubuntu YOUR_UBUNTU_VERSION_HERE main

Ovennævnte to linjer er den traditionelle måde at tilføje eventuelle arkiver til dine sources.list. Men PPA gør det automatisk for dig, uden at tænke på det nøjagtige lager-URL og operativsystemversionen.

En vigtig ting at ikke her er, at når du bruger PPA, ændrer det ikke dine originale sources.list. I stedet opretter den to filer i /etc/apt/sources.d mappe, en liste og en sikkerhedskopieringsfil med suffiks 'save'.

Brug af en PPA i Ubuntu
PPA oprette separate sources.list

Filerne med suffiks 'liste' har kommandoen, der tilføjer oplysninger om lageret.

PPA tilføj opbevaringsoplysninger
Indholdet af source.list af en PPA

Dette er en sikkerhedsforanstaltning for at sikre, at tilføjelsen af ​​PPA'er ikke ødelægger de originale sources.list. Det hjælper også med at fjerne PPA.

Hvorfor PPA? Hvorfor ikke DEB pakker?

Du kan spørge, hvorfor skal du bruge PPA, når det drejer sig om at bruge kommandolinje, som måske ikke foretrækkes af alle. Hvorfor ikke bare distribuere en DEB-pakke, der kan installeres grafisk?

Svaret ligger i opdateringsproceduren. Hvis du installerer en software ved hjælp af en DEB-pakke, er der ingen garanti for, at den installerede software opdateres til en nyere version, når du kører sudo apt opdatering && sudo apt upgrade.

Det skyldes, at apt upgrade-proceduren er baseret på sources.list. Hvis der ikke er nogen adgang til en software, får den ikke opdateringen via standard software opdaterer.

Så betyder det, at software installeret ved hjælp af DEB aldrig får en opdatering? Nej ikke rigtigt. Det afhænger af, hvordan pakken blev oprettet.

Nogle udviklere tilføjer automatisk en post til sources.list og derefter opdateres den som en almindelig software. Google Chrome er et sådant eksempel.

Nogle software vil oplyse dig om tilgængelighed af en ny version, når du forsøger at køre den. Du skal downloade den nye DEB-pakke og køre den igen for at opdatere den aktuelle software til en nyere version. Oracle Virtual Box er et eksempel i dette tilfælde.

For resten af ​​DEB-pakkerne skal du manuelt søge efter en opdatering, og det er ikke praktisk, især hvis din software er beregnet til beta-testere. Du skal tilføje flere opdateringer ofte. Det er her, hvor PPA kommer til undsætning.

Officielt PPA vs uofficiel PPA

Du kan også høre udtrykket officiel PPA eller uofficiel PPA. Hvad er forskellen?

Når udviklere opretter PPA for deres software, kaldes det den officielle PPA. Ganske klart fordi det kommer fra ingen andre end projektudviklerne.

Men til tider skaber enkeltpersoner PPA af projekter, der er oprettet af andre udviklere.

Hvorfor ville nogen gøre det? Fordi mange udviklere kun leverer kildekoden til softwaren, og du ved det installation af software fra kildekoden i Linux er en smerte, og ikke alle kunne eller ville gøre det.

Det er derfor, frivillige tager det på sig selv at oprette en PPA fra denne kildekode, så andre brugere kan installere softwaren nemt. Det er meget lettere at bruge disse 3-linjer end at kæmpe for kildekoden installation.

Sørg for, at en PPA er tilgængelig til din distributionsversion

Når det kommer til at bruge PPA i Ubuntu eller en anden Debian-baseret distribution, er der et par ting, du bør huske på.

Ikke alle PPA'er er tilgængelige for din specifikke version. Du bør vide hvilken Ubuntu version du bruger. Kodenavnet for udgivelsen er vigtigt, fordi når du går til websiden for en bestemt PPA, kan du se, hvilke Ubuntu versioner der understøttes af PPA.

For andre Ubuntu-baserede distributioner kan du kontrollere indholdet af / etc / os-release til find ud af ubuntu-versionen information.

Bekræft PPA-tilgængelighed for Ubuntu-versionen
Kontroller, om PPA er tilgængelig til din Ubuntu-version

Hvordan kender du PPA-url? Du skal blot søge på internettet med PPA-navnet som ppa: dr-akulavich / lighttable, og du får det første resultat fra Launchpad, den officielle platform for hosting PPA. Du kan også gå til Launchpad og søge efter den krævede PPA direkte der.

Hvis du ikke verificerer og tilføjer PPA, kan du muligvis se en fejl som denne, når du forsøger at installere en software, der ikke er tilgængelig til din version.

E: Kan ikke finde pakken

Hvad der er værre er at da det er blevet tilføjet til din source.list, vil du hver gang du kører software opdaterer se en fejl "Kunne ikke downloade lageroplysninger".

Kunne ikke downloade lageroplysninger Ubuntu 13.04

Hvis du kører sudo apt opdatering i terminalen, vil fejlen få flere detaljer om, hvilke lagre der forårsager problemerne. Du kan se noget som dette i slutningen af ​​output fra sudo apt opdatering:

W: Kunne ikke hentes http://ppa.launchpad.net/venerix/pkg/ubuntu/dists/raring/main/binary-i386/Packages 404 Ikke fundet E: Nogle indeksfiler kunne ikke downloades. De er blevet ignoreret, eller gamle bruges i stedet.

Det er selvforklarende, fordi systemet ikke kan finde depotet til din version. Husk, hvad vi tidligere oplevede om lagerbygningen? APT vil forsøge at søge efter softwareoplysninger på stedet http://ppa.launchpad.net/<PPA_NAME>/ubuntu/dists/Ubuntu_Version

Og hvis PPA for den specifikke version ikke er tilgængelig, vil den aldrig kunne åbne URL'en, og du får den berømte 404-fejl.

Hvorfor er PPA'er ikke tilgængelige for alle Ubuntu-udgivelsesversionerne?

Det skyldes, at nogen skal kompilere softwaren og oprette en PPA ud af den på de specifikke versioner. I betragtning af at en ny Ubuntu-version udgives hvert halve år, er det en trættende opgave at opdatere PPA for hver Ubuntu-udgivelse. Ikke alle udviklere har tid til at gøre det.

Hvordan installeres applikationen, hvis PPA ikke er tilgængelig til din version?

Det er muligt, at selvom PPA ikke er tilgængelig for din Ubuntu-version, kan du stadig downloade DEB-filen og installere applikationen

Lad os sige, at du går til lysbordet PPA. Ved at bruge viden om PPA, har du lige lært, indser du, at PPA ikke er tilgængelig til din specifikke Ubuntu-udgivelse.

Hvad du kan gøre er at klikke på 'Vis pakke detaljer'.

Få DEB-fil fra PPA

Og her kan du klikke på en pakke for at afsløre flere detaljer. Her finder du også kildekoden og DEB-filen i pakken.

Download DEB-fil fra PPA

jeg rådgiver bruger Gdebi til at installere disse DEB filer i stedet for Software Center fordi Gdebi er meget bedre til at håndtere afhængigheder.

Bemærk at pakken installeret på denne måde muligvis ikke får nogen fremtidige opdateringer.

Jeg tror, ​​du har læst nok om at tilføje PPA'er. Hvad med at fjerne en PPA og den software, der er installeret af den?

Sådan slettes PPA?

Jeg har skrevet om sletning af PPA i fortiden. Jeg skal også beskrive de samme metoder her.

Jeg anbefaler at slette den software, du har installeret fra en PPA, før du fjerner PPA. Hvis du bare fjerner PPA, forbliver den installerede software i systemet, men det får ikke nogen opdateringer. Du ville ikke have det, ville du?

Så spørgsmålet kommer, hvordan man ved, hvilken applikation der blev installeret af hvilken PPA?

Find pakker installeret af en PPA og fjern dem

Ubuntu Software Center hjælper ikke her. Du skal bruge Synaptic pakke manager her, som har mere avancerede funktioner.

Du kan installere Synaptic fra Software Center eller bruge kommandoen nedenfor:

sudo apt install synaptic

Når du er installeret, skal du starte Synaptic pakkeadministrator og vælge Oprindelse. Du kan se forskellige lagre tilføjet til systemet. PPA-poster vil blive mærket med prefix PPA. Klik på dem for at se de pakker, der er tilgængelige af PPA. Installeret software vil have et passende symbol før det.

Administrere PPA med Synaptic pakke manager
Find pakker installeret via en PPA

Når du har fundet pakkerne, kan du slette dem fra Synaptic selv. Ellers har du altid mulighed for at bruge kommandolinjen:

sudo apt fjerne pakkenavn

Når du har fjernet pakkerne installeret af en PPA, kan du fortsætte med at fjerne PPA'en fra dine sources.list.

Fjern en PPA grafisk

Gå til Software & Updates, og gå til fanen Anden software. Kig efter den PPA, du vil fjerne:

Slet en PPA fra Software Source

Du har to muligheder her. Enten vælger du PPA'en, eller du vælger Fjern-indstillingen.

Forskellen er, at når du afvælger en PPA-post, vil dit system kommentere lagerindgangen i sin ppa_name.list-fil i /etc/apt/sources.list.d men hvis du vælger Fjern-indstillingen, vil den slette lagerplaceringen fra sin ppa_name.list-fil i /etc/apt/sources.list.d-mappen.

I begge tilfælde forbliver filerne ppa_name.list i nævnte mappe, selvom den er tom.

Er det sikkert at bruge PPA?

Det er et subjektivt spørgsmål. Purister afskrækker PPA, fordi de fleste PPA'er for det meste er fra tredjepartsudviklere. Men samtidig er PPA'er populære i Debian / Ubuntu-verdenen, da de giver en lettere installationsmulighed.

Hvad angår sikkerheden er det mindre sandsynligt, at du bruger en PPA, og dit Linux-system er hacket eller injiceret med malware. Jeg kan ikke huske sådan en hændelse nogensinde sket hidtil.

Offentlige PPA'er kan bruges uden at tænke to gange. Brug uofficiel PPA er helt din beslutning.

Som en tommelfingerregel bør du undgå at installere et program via en tredjeparts PPA, hvis programmet kræver sudo-adgang til at køre.

Hvad synes du om at bruge PPA?

Jeg ved, at det er en lang læsning, men jeg ville gerne give dig en bedre forståelse af PPA. Jeg håber, at denne detaljerede vejledning besvarede de fleste af dine spørgsmål om at bruge PPA.

Hvis du har flere spørgsmål om PPA, er du velkommen til at spørge i kommentarfeltet.

Hvis du opdager nogen teknisk eller grammatisk fejl, eller hvis du har forslag til forbedring af denne artikel, så lad mig det vide.

Kilde

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.