PPA gebruiken in Ubuntu Linux

Brief: Een diepgaand artikel dat bijna alle vragen rond het gebruik van PPA in Ubuntu en andere Linux-distributies behandelt.

Als je Ubuntu of een andere Linux-distributie op basis van Ubuntu hebt gebruikt, zoals Linux Mint, Linux Lite, Zorin OS enz., Ben je misschien drie magische regels tegengekomen:

sudo add-apt-repository ppa:dr-akulavich/lighttable sudo apt-get update sudo apt-get install lighttable-installer 

Een aantal websites suggereert dit soort lijnen om applicaties in Ubuntu te installeren. Dit is het installeren van een toepassing met behulp van PPA.

Maar wat is PPA? Waarom wordt het gebruikt? Is het veilig om PPA te gebruiken? Hoe PPA correct te gebruiken? Hoe een PPA verwijderen?

Ik zal alle bovenstaande vragen beantwoorden in deze gedetailleerde gids. Zelfs als u al een paar dingen weet over PPA's, weet ik zeker dat dit artikel nog steeds aan uw kennis zal toevoegen.

Houd er rekening mee dat ik dit artikel aan het schrijven ben met Ubuntu. Daarom zal ik de term Ubuntu bijna overal gebruiken, maar de uitleg en stappen zijn ook van toepassing op andere op Debian / Ubuntu gebaseerde distributies.

Wat is PPA? Waarom wordt het gebruikt?

PPA staat voor Personal Package Archive.

Slaat dat ergens op? Waarschijnlijk niet.

Voordat je PPA begrijpt, zou je het concept van repositories in Linux moeten kennen. Ik zal hier echter niet in details treden.

Concept van repositories en pakketbeheer

Een repository is een verzameling bestanden met informatie over verschillende software, hun versies en enkele andere details, zoals de controlesom. Elke Ubuntu-versie heeft zijn eigen officiële set van vier repositories:

  • Belangrijkste - Canonical-ondersteunde gratis en open-source software.

  • Universe - door de gemeenschap beheerde gratis en open-source software.

  • Beperkt - Eigen stuurprogramma's voor apparaten.

  • Multiverse - Software beperkt door auteursrechtelijke of juridische kwesties.

U kunt dergelijke opslagplaatsen voor alle Ubuntu-versies hier bekijken. Je kunt er doorheen bladeren en ook naar de individuele repositories gaan. Ubuntu 16.04 hoofdrepository is hier bijvoorbeeld te vinden.

Dus eigenlijk is het een web-URL die informatie over de software bevat. Hoe weet uw systeem waar zijn deze repositories?

Deze informatie wordt opgeslagen in het bestand sources.list in de directory / etc / apt. Als u naar de inhoud kijkt, ziet u dat deze de URL van de repository's heeft. De regels met # aan het begin worden genegeerd.

Wanneer u nu de opdracht sudo apt-update uitvoert, gebruikt uw systeem de APT-tool om de repo te controleren en slaat de informatie over de software en hun versie op in een cache. Wanneer u de opdracht sudo apt install package_name gebruikt, wordt de informatie gebruikt om dat pakket te verkrijgen van de URL waar de daadwerkelijke software is opgeslagen.

Als de repository niet over de informatie over een bepaald pakket beschikt, wordt een fout weergegeven als:

 E: Unable to locate package 

Op dit moment raad ik aan om mijn handleiding voor het gebruik van apt-commando's te lezen. Dit geeft je een veel beter begrip van apt-commando's, update enz.

Dus dit ging over repositories. Maar wat is PPA? Hoe komt het in beeld?

Waarom wordt PPA gebruikt?

Zoals u kunt zien, bepaalt Ubuntu welke software en nog belangrijker, welke versie van een software u op uw systeem krijgt. Maar stel je voor dat een softwareontwikkelaar een nieuwe versie van de software publiceert.

Ubuntu zal het niet onmiddellijk beschikbaar maken. Er is een procedure om te controleren of de nieuwe versie van de software compatibel is met het systeem of niet. Dit zorgt voor de stabiliteit van het systeem.

Maar dit betekent ook dat het enkele weken zal zijn of in sommige gevallen, enkele maanden voordat het beschikbaar wordt gemaakt door Ubuntu. Niet iedereen zou zo lang willen wachten om de nieuwe versie van hun favoriete software te bemachtigen.

Stel ook dat iemand software ontwikkelt en wil Ubuntu die software in de officiële repositories opnemen. Het zal weer maanden duren voordat Ubuntu een beslissing neemt en het in de officiële repositories opneemt.

Een ander geval zou tijdens bètatests zijn. Zelfs als een stabiele versie van de software beschikbaar is in de officiële repositories, wil een softwareontwikkelaar mogelijk dat sommige eindgebruikers hun aankomende release testen. Hoe kunnen ze de eindgebruiker in staat stellen om de aankomende release te testen?

Voer PPA in!

Hoe PPA gebruiken? Hoe werkt PPA?

PPA betekent, zoals ik al zei, Personal Package Archive. Let op het woord 'Persoonlijk' hier. Dat geeft de aanwijzing dat dit iets exclusief is voor een ontwikkelaar en niet officieel wordt onderschreven door de distributie.

Ubuntu biedt een platform genaamd Launchpad waarmee softwareontwikkelaars hun eigen opslagplaatsen kunnen maken. Een eindgebruiker dwz u kunt de PPA-repository toevoegen aan uw sources.list en wanneer u uw systeem bijwerkt, zou uw systeem op de hoogte zijn van de beschikbaarheid van deze nieuwe software en u kunt het met de standaard sudo apt install-opdracht op deze manier installeren.

 sudo add-apt-repository ppa: dr-akulavich / lichttafel

sudo apt-get update

sudo apt-get install lighttable-installer

Samenvatten:

  • sudo add-apt-repository <- Deze opdracht voegt de PPA-repository toe aan de lijst.
  • sudo apt-get update <- Deze opdracht werkt de lijst bij van de pakketten die op het systeem kunnen worden geïnstalleerd.
  • sudo apt-get install <- Deze opdracht installeert het pakket.

U ziet dat het belangrijk is om de opdracht sudo apt-update te gebruiken, anders weet uw systeem niet wanneer een nieuw pakket beschikbaar is.

Laten we nu het eerste commando in meer detail bekijken.

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

Je zou opmerken dat deze opdracht geen URL naar de repository heeft. Dit komt omdat de tool is ontworpen om de informatie over de URL van u te abstraheren.

Slechts een klein briefje. Als je ppa: dr-akulavich / lighttable toevoegt, krijg je Light Table. Maar als je ppa: dr-akulavich toevoegt, krijg je alle repository of pakketten vermeld in de 'bovenste repository'. Het is hiërarchisch.

Kortom, wanneer u een PPA toevoegt met add-apt-repository, zal het dezelfde actie uitvoeren als wanneer u deze commando's handmatig uitvoert:

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

De bovenstaande twee regels zijn de traditionele manier om eventuele opslagplaatsen aan uw sources.list toe te voegen. Maar PPA doet dit automatisch voor u, zonder zich af te vragen wat de exacte URL van de repository en de versie van het besturingssysteem is.

Een belangrijk ding om hier niet te zijn, is dat wanneer u PPA gebruikt, dit uw oorspronkelijke sources.list niet verandert. In plaats daarvan worden twee bestanden gemaakt in de map /etc/apt/sources.d, een lijst en een back-upbestand met het achtervoegsel 'opslaan'.

PPA maak een aparte sources.list

De bestanden met de suffix 'list' heeft de opdracht die de informatie over de repository toevoegt.

Inhoud van source.list van een PPA

Dit is een veiligheidsmaatregel om ervoor te zorgen dat het toevoegen van PPA's niet knoeit met de originele sources.list. Het helpt ook bij het verwijderen van de PPA.

Waarom PPA? Waarom geen DEB-pakketten?

U kunt zich afvragen waarom u PPA zou moeten gebruiken als het gaat om het gebruik van een opdrachtregel die voor iedereen misschien niet de voorkeur heeft. Waarom niet gewoon een DEB-pakket distribueren dat grafisch kan worden geïnstalleerd?

Het antwoord ligt in de updateprocedure. Als u een software installeert die een DEB-pakket gebruikt, is er geen garantie dat de geïnstalleerde software zal worden bijgewerkt naar een nieuwere versie wanneer u sudo apt update && sudo apt-upgrade uitvoert.

Dit komt omdat de apt-upgradeprocedure afhankelijk is van de sources.list. Als er geen invoer voor een software is, krijgt deze de update niet via de standaard software-updater.

Betekent dit dat software die is geïnstalleerd met DEB nooit een update krijgt? Nee niet echt. Het hangt af van hoe het pakket is gemaakt.

Sommige ontwikkelaars voegen automatisch een ingang toe aan de sources.list en deze wordt vervolgens bijgewerkt als een gewone software. Google Chrome is zo'n voorbeeld.

Sommige software stellen u op de hoogte van de beschikbaarheid van een nieuwe versie wanneer u deze probeert uit te voeren. U moet het nieuwe DEB-pakket downloaden en opnieuw uitvoeren om de huidige software bij te werken naar een nieuwere versie. Oracle Virtual Box is in dit geval een voorbeeld.

Voor de rest van de DEB-pakketten moet je handmatig op zoek naar een update en dit is niet handig, vooral als je software is bedoeld voor bètatesters. Je moet regelmatig meer updates toevoegen. Dit is waar PPA te hulp schiet.

Officiële PPA versus niet-officiële PPA

U kunt ook de term officiële PPA of onofficiële PPA horen. Wat is het verschil?

Wanneer ontwikkelaars een PPA maken voor hun software, wordt dit de officiële PPA genoemd. Heel duidelijk omdat het afkomstig is van niemand minder dan de projectontwikkelaars.

Maar soms maken individuen een PPA van projecten die door andere ontwikkelaars zijn gemaakt.

Waarom zou iemand dat doen? Omdat veel ontwikkelaars alleen de broncode van de software leveren en je weet dat het installeren van software uit broncode in Linux pijnlijk is en niet iedereen dat kan of zou doen.

Daarom nemen vrijwilligers het op zich om van die broncode een PPA te maken, zodat andere gebruikers de software eenvoudig kunnen installeren. Het gebruik van die 3 regels is immers een stuk eenvoudiger dan het strijden tegen de installatie van de broncode.

Zorg ervoor dat er een PPA beschikbaar is voor uw distributieversie

Als het gaat om het gebruik van PPA in Ubuntu of een andere op Debian gebaseerde distributie, zijn er een paar dingen die u in gedachten moet houden.

Niet elke PPA is beschikbaar voor uw specifieke versie. U moet weten welke Ubuntu-versie u gebruikt. De codenaam van de release is belangrijk, omdat wanneer u naar de webpagina van een bepaalde PPA gaat, u kunt zien welke Ubuntu-versies worden ondersteund door de PPA.

Voor andere op Ubuntu gebaseerde distributies, kunt u de inhoud van / etc / os-release controleren om de Ubuntu-versiegegevens te achterhalen.

Controleer of PPA beschikbaar is voor uw Ubuntu-versie

Hoe de PPA-URL te kennen? Zoek eenvoudig op internet met de PPA-naam zoals ppa: dr-akulavich / lighttable en u krijgt het eerste resultaat van Launchpad, het officiële platform voor het hosten van PPA. U kunt ook naar Launchpad gaan en daar direct naar de vereiste PPA zoeken.

Als u de PPA niet verifieert en toevoegt, ziet u mogelijk een dergelijke fout wanneer u probeert een software te installeren die niet beschikbaar is voor uw versie.

 E: Unable to locate package 

Wat erger is, is dat sinds het is toegevoegd aan uw bronlijst, elke keer dat u software-updater uitvoert, er een foutmelding verschijnt: "Kan archiefgegevens niet downloaden".

Als u sudo apt-update uitvoert in de terminal, bevat de fout meer informatie over welke repository de problemen veroorzaakt. Je kunt zoiets zien aan het einde van de uitvoer van sudo apt update:

 W: Failed to fetch //ppa.launchpad.net/venerix/pkg/ubuntu/dists/raring/main/binary-i386/Packages 404 Not Found E: Some index files failed to download. They have been ignored, or old ones used instead. 

Dat spreekt voor zich omdat het systeem de repository voor uw versie niet kan vinden. Weet je nog wat we eerder zagen over de repositorystructuur? APT zal proberen software-informatie te zoeken in de plaats //ppa.launchpad.net//ubuntu/dists/Ubuntu_Version

En als de PPA voor de specifieke versie niet beschikbaar is, kan deze nooit de URL openen en krijg je de beroemde 404-fout.

Waarom zijn PPA's niet beschikbaar voor alle Ubuntu-releaseversies?

Het is omdat iemand de software moet compileren en er een PPA van moet maken op de specifieke versies. Aangezien elke zes maanden een nieuwe Ubuntu-versie wordt uitgebracht, is het een vermoeiende taak om de PPA bij te werken voor elke Ubuntu-release. Niet alle ontwikkelaars hebben tijd om dat te doen.

Hoe de applicatie te installeren als PPA niet beschikbaar is voor uw versie?

Het is mogelijk dat hoewel de PPA niet beschikbaar is voor uw Ubuntu-versie, u toch het DEB-bestand kunt downloaden en de applicatie kunt installeren

Laten we zeggen dat je naar de Light Table PPA gaat. Met behulp van de kennis over PPA die u zojuist hebt geleerd, realiseert u zich dat de PPA niet beschikbaar is voor uw specifieke Ubuntu-release.

Wat u kunt doen, is klikken op 'Pakketdetails bekijken'.

En hier kun je op een pakket klikken om meer details te onthullen. U vindt hier ook de broncode en het DEB-bestand van het pakket.

Ik adviseer Gdebi te gebruiken om deze DEB-bestanden te installeren in plaats van het Software Center, omdat Gdebi een stuk beter is in het omgaan met afhankelijkheden.

Houd er rekening mee dat het pakket dat op deze manier is geïnstalleerd mogelijk geen toekomstige updates krijgt.

Ik denk dat je genoeg hebt gelezen over het toevoegen van PPA's. Hoe zit het met het verwijderen van een PPA en de software die erop is geïnstalleerd?

Hoe PPA verwijderen?

Ik heb geschreven over het verwijderen van PPA in het verleden. Ik ga hier ook dezelfde methoden beschrijven.

Ik adviseer om de software die u hebt geïnstalleerd te verwijderen uit een PPA voordat u de PPA verwijdert. Als u de PPA verwijdert, blijft de geïnstalleerde software in het systeem staan ​​maar krijgt deze geen updates. Dat zou je niet willen, toch?

Dus, de vraag is, hoe te weten welke applicatie is geïnstalleerd door welke PPA?

Zoek pakketten die zijn geïnstalleerd door een PPA en verwijder ze

Ubuntu Software Center helpt hier niet. U moet hier de Synaptic-pakketbeheerder gebruiken die meer geavanceerde functies heeft.

U kunt Synaptic installeren vanuit Software Center of de onderstaande opdracht gebruiken:

 sudo apt installeer synaptic 

Na de installatie start u Synaptic-pakketbeheer en selecteert u Origin. U ziet verschillende repositories aan het systeem worden toegevoegd. PPA-gegevens worden gelabeld met de prefix PPA. Klik op hen om de pakketten te bekijken die beschikbaar zijn door de PPA. Geïnstalleerde software heeft daarvoor een passend symbool.

Zoek pakketten die zijn geïnstalleerd via een PPA

Zodra u de pakketten hebt gevonden, kunt u ze verwijderen uit Synaptic zelf. Anders hebt u altijd de mogelijkheid om de opdrachtregel te gebruiken:

 sudo apt pakketnaam verwijderen 

Nadat u de pakketten hebt verwijderd die zijn geïnstalleerd door een PPA, kunt u doorgaan met het verwijderen van de PPA uit uw sources.list.

Verwijder een PPA grafisch

Ga naar Software & Updates en ga vervolgens naar Andere software. Zoek naar de PPA die u wilt verwijderen:

Je hebt hier twee opties. Ofwel schakelt u de PPA uit of kiest u de optie Verwijderen.

Het verschil is dat wanneer u de selectie van een PPA-invoer opheft, uw systeem de repositoryvermelding in het bestand ppa_name.list in /etc/apt/sources.list.d zal weglaten, maar als u de optie Verwijderen kiest, wordt de vermelding van de repository verwijderd uit het bestand ppa_name.list in de map /etc/apt/sources.list.d.

In beide gevallen blijven de bestanden ppa_name.list in de directory staan, zelfs als deze leeg is.

Is het veilig om PPA te gebruiken?

Het is een subjectieve vraag. Puristen verafschuwen PPA omdat de meeste van de tijd PPA's afkomstig zijn van externe ontwikkelaars. Maar tegelijkertijd zijn PPA's populair in de Debian / Ubuntu-wereld omdat ze een eenvoudigere installatieoptie bieden.

Wat de beveiliging betreft, is het minder waarschijnlijk dat u een PPA gebruikt en dat uw Linux-systeem wordt gehackt of geïnjecteerd met malware. Ik kan me niet herinneren dat zo'n voorval tot nu toe ooit is gebeurd.

Officiële PPA's kunnen zonder nadenken worden gebruikt. Het gebruik van onofficiële PPA is geheel jouw beslissing.

Als vuistregel moet je voorkomen dat je een programma via een PPA van derden installeert als het programma sudo-toegang vereist om te worden uitgevoerd.

Wat vindt u van het gebruik van PPA?

Ik weet dat het lang gelezen is, maar ik wilde je een beter begrip geven van PPA. Ik hoop dat deze gedetailleerde gids de meeste van uw vragen over het gebruik van PPA heeft beantwoord.

Als u meer vragen heeft over PPA, kunt u dit stellen in het gedeelte Opmerkingen.

Als u een technische of grammaticale fout ontdekt of als u suggesties hebt om dit artikel te verbeteren, laat het me dan weten.

Aanbevolen

Installeer Adobe Lightroom Alternatieve RawTherapee in Ubuntu
2019
Download 15 prachtige sexy achtergronden van Debian
2019
Gebruik de modus Niet storen in Ubuntu met NoNotifications
2019