Wat is een PPA?
Een "Persoonlijk pakketarchief" of een PPA is een applicatierepository die kan worden gebruikt om pakketten van niet-officiële bronnen te upgraden en te installeren.
Verschil tussen PPA's en andere repositories
Deb-pakketten (een soort van Ubuntu's equivalent aan Windows' .exe-installatieprogramma's) kunnen worden bediend via elke repository die voldoet aan de regels en richtlijnen van Debian voor het maken en onderhouden van repositories. OpenSUSE build-service biedt bijvoorbeeld vaak opslagplaatsen die kunnen worden gebruikt om pakketten in Ubuntu te installeren en te upgraden. Aan de andere kant wordt een PPA gehost op de servers van Canonical en bediend via het Launchpad-platform. Gebruikers die PPA's hosten op Launchpad hebben geen eigen server nodig om pakketten te distribueren, terwijl andere repositories een server nodig hebben om hetzelfde te doen. In dit artikel worden termen als PPA en repository door elkaar gebruikt.
PPA / Repository-indelingen
Hieronder staan enkele voorbeelden van PPA / repository-patronen:
- deb http://mijnserver/pad/naar/repo stabiele myrepo
- deb-src http://myserver/path/to/repo stable myrepo
- http://mijnserver/pad/naar/repo mijnrepo
- https://pakketten.medibuntu.org gratis niet-gratis
- http://extra's.ubuntu.com/ubuntu
- ppa:gebruiker/repository
- ppa:gebruiker/distro/repository
- multiversum
Beveiligingsproblemen met PPA's
Hoewel we tot nu toe nog nooit hebben gehoord van malware of adware die via PPA's wordt verspreid, bestaat er altijd een risico dat deze opslagplaatsen van derden schadelijke pakketten bevatten. U moet altijd voorzichtig zijn bij het toevoegen van willekeurige repository's, omdat pakketten in deze PPA's mogelijk niet zijn geverifieerd door Ubuntu-ontwikkelaars. Voeg alleen een PPA toe als u de bron vertrouwt.
Een back-up maken van repositorybronnen
Ubuntu houdt een lijst bij van repositories in "/etc/apt/sources.lijst” bestand. Voordat u iets missiekritiek doet of dit tekstbestand handmatig bewerkt, moet u een back-up van bronnen maken door de onderstaande opdracht uit te voeren:
sudo cp /etc/apt/sources.lijst /etc/apt/bronnen.lijst.back-upEen PPA toevoegen met behulp van de opdrachtregel
Om een PPA toe te voegen, voert u de onderstaande opdrachten uit terwijl u "ppa:name" vervangt door uw gewenste PPA-adres:
$ sudo add-apt-repository ppa:name$ sudo apt-update
De opdracht voor het toevoegen van Geany-teksteditor PPA zou bijvoorbeeld zijn:
$ sudo add-apt-repository ppa:geany-dev/ppaAls er geen fouten worden waargenomen, voert u de onderstaande opdracht uit om bestaande pakketten te upgraden:
$ sudo apt-upgradeAls u een PPA hebt toegevoegd om een nieuw pakket te installeren, voert u de onderstaande opdracht uit terwijl u "pakketnaam" vervangt door uw gewenste pakketnaam:
$ sudo apt install pakketnaamEen PPA verwijderen met behulp van de opdrachtregel
Om een PPA te verwijderen met behulp van de opdrachtregel, moet u de onderstaande opdracht in de volgende indeling uitvoeren:
$ sudo add-apt-repository --remove ppa:nameGeany-teksteditor PPA die hier is toegevoegd, kan bijvoorbeeld worden verwijderd door de opdracht uit te voeren:
$ sudo add-apt-repository --remove ppa:geany-dev/ppaEen andere methode om een PPA te verwijderen, is door handmatig een PPA-bronbestand van het systeem te verwijderen. Voer de onderstaande opdracht uit om alle PPA-bestanden te zien:
ls /etc/apt/sources.lijst.dU ziet een lijst met bestanden in terminal. Elk bestand dat eindigt met ".lijst"-extensie kan worden verwijderd om een PPA van het systeem te verwijderen. Voer hiervoor de opdracht uit in de volgende indeling:
$ sudo rm -i /etc/apt/sources.lijst.d/ppa_bestandsnaam.lijstSysteemopslagplaatsen vernieuwen door handmatig een update te activeren.
$ sudo apt-updateGeany-teksteditor PPA die hier is toegevoegd, kan bijvoorbeeld worden verwijderd met behulp van de opdracht:
$ sudo rm -i /etc/apt/sources.lijst.d/geany-dev-ubuntu-ppa-eoan.lijst
PPA-Purge gebruiken om PPA's te verwijderen
PPA-Purge is een opdrachtregelprogramma dat een PPA-bron verwijdert terwijl geïnstalleerde pakketten van de opgegeven PPA worden gedowngraded naar standaardversies. Voer de volgende opdracht uit om de PPA-Purge-opdrachtregelapp in Ubuntu te installeren:
$ sudo apt install ppa-purgeVoer een opdracht in de volgende indeling uit om een PPA op te schonen:
$ sudo ppa-purge “ppa:adres”Geany-teksteditor PPA die hier is toegevoegd, kan bijvoorbeeld worden verwijderd door de opdracht uit te voeren:
$ sudo ppa-purge ppa:geany-dev/ppaGrafische methode om een PPA toe te voegen, te verwijderen en uit te schakelen
In de meeste gevallen kan de app "Software & Updates" worden gebruikt om PPA's te beheren die aan het systeem zijn toegevoegd. Door een bug faalt deze app echter soms bij het uitvoeren van taken waarvoor root-toegang nodig is. Om dit te verhelpen, moet u de Synaptic-pakketbeheerder installeren door de onderstaande opdracht uit te voeren:
$ sudo apt install synapticStart "Synaptic Package Manager" vanuit het startprogramma voor toepassingen. Klik op "Instellingen" > "Repositories" en ga naar het tabblad "Overige software". Klik onderaan op de knop "Toevoegen..." en voer vervolgens een PPA-adres in het invoervak in. Klik op "Bron toevoegen" als je klaar bent.
Klik op de knop "Sluiten" en wanneer u wordt gevraagd om repositories te vernieuwen, klikt u op de knop "Herladen".
Het verwijderen en uitschakelen van opslagplaatsen kan op dezelfde manier worden gedaan. Klik onderaan op de knop "Verwijderen" om een PPA van het systeem te verwijderen. U kunt een PPA uitschakelen door het selectievakje voor een PPA-bronadres uit te schakelen.
Bladeren door alle opslagplaatsen die op uw systeem zijn toegevoegd
Om alle PPA-repositories te zien die op uw systeem zijn toegevoegd, start u de Synaptic-app en klikt u op de knop "Origin", zoals weergegeven in de onderstaande schermafbeelding:
Conclusie
PPA-repositories zijn een uitstekende manier om apps van derden aan uw systeem toe te voegen, omdat niet alles kan worden onderhouden en opgenomen in officiële repositories. Dit is een van de vele redenen van de stijgende populariteit van Ubuntu door de jaren heen. Nieuwe distributie-agnostische oplossingen zoals Snap- en Flatpak-pakketten bieden echter gedetailleerde machtigingsregeling en geïsoleerde sandboxen, waardoor ze een extra beveiligingslaag krijgen ten opzichte van typische PPA's.