In het geval van SUSE Linux (openSUSE, SUSE Enterprise en derivaten) zijn zypper en YaST de pakketbeheerders. Terwijl YaST (Nog een andere Setup Tool) is voor het beheren, instellen en configureren van SUSE Linux, is zypper de CLI-interface van de ZYpp-pakketbeheerder. ZYpp vormt de kern van zowel zypper als YaST.
In dit artikel gaan we dieper in op het gebruik van zypper voor allerlei doeleinden.
Opmerking: aangezien zypper-opdrachten systeembrede wijzigingen uitvoeren, moeten deze opdrachten als root worden uitgevoerd. Anders zullen de opdrachten mislukken.
Zonder verder oponthoud, laten we beginnen! Al deze voorbeelden worden getoond op openSUSE Tumbleweed. Deze commando's zijn echter universeel voor de zypper-pakketbeheerder.
Zypper-hulp
Als u zypper zonder enige opdracht uitvoert, wordt een lijst met alle beschikbare opdrachten afgedrukt.
$ zypper
Het is een grote lijst! Als je hulp nodig hebt met betrekking tot een specifieke opdracht, voer je de volgende opdracht uit:.
$ zypper hulp
De Zypper-database bijwerken
Dit is een van de meest voorkomende functies van zypper om de lokale pakketdatabase up-to-date te houden met de pakketserver.
$ sudo zypper vernieuwen
In plaats van "refresh" te gebruiken, kunt u ook de afkorting "ref" gebruiken.
$ sudo zypper ref
Het is ook mogelijk om zypper te dwingen zijn lokale database opnieuw op te bouwen. Dit kan handig zijn in situaties, bijvoorbeeld als de database beschadigd is.
$ sudo zypper refresh -fdb
Systeempakketten bijwerken
Voer de volgende opdracht uit om alle nieuwste pakketupdates van openSUSE te pakken en te installeren:.
$ sudo zypper-update
Ik raad echter aan om de volgende structuur te gebruiken voor maximaal voordeel:.
$ sudo zypper vers && sudo zypper update
Als u geïnteresseerd bent in het bekijken van de pakketten die updates beschikbaar hebben, voert u de volgende opdracht uit:. Zypper genereert een lijst met beschikbare updates voor u.
$ zypper lijst-updates --all
Een pakket installeren
Gebruik de volgende opdracht om een pakket te installeren:.
$ sudo zypper install vlc
Er zijn enkele interessante afkortingen van zypper-commando's. In dit geval is het volgende commando ook geldig en zal hetzelfde werk doen:.
$ sudo zypper in vlc
Als u meerdere pakketten tegelijk moet installeren, vermeldt u de pakketnaam een voor een, gescheiden door een spatie.
$ sudo zypper install
Bij het uitvoeren van een actie zal zypper om bevestiging vragen. Om de interactieve modus uit te schakelen, voegt u de vlag "-non-interactive" of "-n" toe.
$ sudo zypper --niet-interactief in vlcsudo zypper -n in vlc
De wildcard-functie wordt ook ondersteund door zypper. Laten we bijvoorbeeld proberen alle pakketten te installeren die beginnen met de naam
Python.$ sudo zypper in 'python*'
Bron installeer een pakket
Opmerking: Vergeet niet te controleren of de bronrepository is geactiveerd voordat u de volgende stappen uitvoert. Anders zullen de broninstallaties niet slagen. Bronrepo inschakelen vanuit "YaST Software Repositories".
Als u het broncodepakket van een bepaald pakket moet installeren, gebruikt u de vlag "broninstallatie".
$ sudo zypper source-install vlc
Standaard zal deze opdracht ook vragen om alle build-afhankelijkheden te installeren. Om de build-afhankelijkheden te vermijden, voegt u de vlag "-D" toe.
$ sudo zypper source-install -D vlc
Als u alleen de build-afhankelijkheden wilt installeren, gebruikt u in plaats daarvan "-d".
$ sudo zypper install source-install -d vlc
Een pakket zoeken
Er zijn duizenden pakketten in de openSUSE-repository. Gebruik de volgende structuur om een zoekopdracht uit te voeren met zypper:.
$ zypper zoekenLaten we bijvoorbeeld zoeken naar alle pakketten met de term "python" erop.
$ zypper zoeken python
Dergelijk zoeken kan een LANGE lijst met pakketten afdrukken. In een dergelijke situatie kan het gebruik van "grep" of het exporteren van het resultaat en vervolgens uitvoeren enige troost bieden.
De optie "zoeken" heeft ook een afkorting "se".
$ zypper -n se
Merk op dat we voor het zoeken in het begin geen "sudo" hoefden te gebruiken. Dit komt omdat zypper geen systeembrede wijziging uitvoert.
Een pakket verwijderen
Als je van een bepaald pakket af wilt, gebruik dan de optie "verwijderen".
$ sudo zypper verwijderenLaten we bijvoorbeeld VLC van het systeem verwijderen.
$ sudo zypper verwijder vlc
Laten we in plaats van "verwijderen", "rm" gebruiken. Het is de afkorting van de term "verwijderen".
$ sudo zypper rm vlc
Als u de interactieve modus wilt overslaan, gebruikt u de vlag "-non-interactive" of "-n".
$ sudo zypper --niet-interactieve rm vlc$ sudo zypper -n rm vlc
Installeren en verwijderen tegelijk
Het is een interessante functie van zypper waarmee u pakketten tegelijkertijd kunt installeren en verwijderen! Laten we het bekijken.
Laten we bijvoorbeeld VLC installeren terwijl we Python verwijderen. In dit voorbeeld is de hoofdtaak van zypper installeren, niet verwijderen. Hier wordt voor het gemak de vlag "-n" gebruikt.
$ sudo zypper -n in vlc -python
patch
Dit is een interessant onderdeel van het openSUSE-ecosysteem. terwijl beide patch en bijwerken werken op dezelfde manier, beide zijn fundamenteel verschillend. Verward?
In het geval van "update", in openSUSE's term, zal het pakket worden bijgewerkt naar de nieuwste versie die beschikbaar is in de repo. In het geval van "patch" zal het echter alleen pakketupdates installeren die bedoeld zijn voor bug- en beveiligingsoplossingen fix.
Als u alleen installeert pleisters, het kan wel of niet alle pakketten bijwerken. Het uitvoeren van updates zorgt er echter voor dat alle nieuwste pakketten zijn geïnstalleerd.
Met dat uit de weg, laten we beginnen!
Eerst de patch installeren. Met de volgende opdracht worden alle officieel uitgebrachte patches geïnstalleerd:.
$ sudo zypper-patch
In mijn geval is er niets aan te doen. Als er een laatste patch is, zal de opdracht deze installeren.
Gebruik deze om de lijst met beschikbare patches te zien. Het vereist niet wortel toestemming om te rennen.
$ zypper-patches
Zypper kan alle patches weergeven die momenteel niet zijn geïnstalleerd. Voer de volgende opdracht uit:.
$ zypper lijst-patches
De "list-patches" zijn ook beschikbaar in de verkorte vorm van "lp".
$ zypper lp
Geïnteresseerd in het vermelden van alleen de patches die zijn gemarkeerd als beveiligingsoplossingen?
$ zypper lp --categorie beveiligingVoer deze opdracht uit om het aantal benodigde patches te controleren:.
$ sudo zypper patch-check
Opslagplaatsbeheer
Zypper biedt naadloze methoden voor het beheren van alle repositories. Hier zijn enkele van de commando's die in veel situaties erg handig zijn.
We hebben al besproken hoe u de lokale database van alle repo's kunt bijwerken.
$ sudo zypper vernieuwen
Een snelle lijst van alle repositories nodig?
$ zypper repo'sWe kunnen ook "lr" gebruiken, de verkorte vorm van "repo's".
$ zypper lr
De URI van de repo's nodig? Voeg gewoon de vlag "-u" toe na "lr" of "repo's".
$ zypper lr -u
Als je het nog niet wist, zijn de repositories van openSUSE gerangschikt in een hiërarchie. Gebruik de vlag "-p" om de repositories weer te geven op basis van hun prioriteit.
$ zypper lr -p
Bij het uitvoeren van "refresh", zal Zypper de lokale database voor alle repositories bijwerken. Voer de volgende opdracht uit om een specifieke repository bij te werken:.
$ sudo zypper vernieuwen
Repo's kunnen worden in-/uitgeschakeld zonder ze te verwijderen. Voer de volgende opdracht uit om een bepaalde repository uit te schakelen:. Merk op dat we het repo-nummer uit de repositorylijst nodig hebben.
$ sudo zypper mr -d
Noodzaak om een uitgeschakelde opslagplaats in te schakelen? Laten we de volgende opdracht uitvoeren:.
$ sudo zypper mr -e
Een nieuwe repository toevoegen is ook heel eenvoudig very. In dit voorbeeld zal ik de Packman toevoegen adding. Het is een externe repository die aanvullende openSUSE-pakketten biedt. Afhankelijk van welke versie van openSUSE u gebruikt, zal de repo-URI veranderen. De commandostructuur blijft echter hetzelfde. Meer informatie over Packman
$ sudo zypper adresIn het geval van openSUSE Tumbleweed ziet het commando er ongeveer zo uit:. Hier is "ar" de verkorte vorm van "addrepo".
$ sudo zypper ar -cfp 90 http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/pakman
Voor het verwijderen van een repo heeft u de repo-alias nodig. Pak de repo-alias uit de lijst met repo's en gebruik de volgende opdracht:.
$ sudo removerepoU kunt "removerepo" verwisselen met de verkorte vorm "rr".
$ sudo rr
Cachebeheer
Caching is een handig mechanisme waarbij zypper een kopie kan bewaren van alle RPM-pakketten die het van internet op een specifieke locatie haalt. Elke keer dat je zypper vraagt om hetzelfde pakket te installeren, kijkt het eerst in de cache. Als het zich in de cache bevindt, gebruikt zypper het RPM-pakket uit de cache om de installatie uit te voeren. Op deze manier kan het de installatie versnellen en tijd en bandbreedte besparen.
De cache is opgeslagen op de volgende locatie:. Elke repo heeft zijn eigen speciale map onder de map.
$ boom /var/cache/zypp/pakketten
Voer de volgende opdracht uit om de cache op te schonen:.
$ sudo zypper schoon
Hiermee worden alle opgeslagen RPM-pakketten uit de cache verwijderd. Ik raad aan om caching in te schakelen, tenzij je op de een of andere manier wordt beperkt door de opslag. De volgende opdracht maakt caching mogelijk voor alle repositories in het systeem.
$ sudo zypper mr -ka
Laatste gedachten
Zypper heeft een heleboel functies. Hoewel deze zypper-gebruiksmethoden meer dan genoeg zijn voor gewone gebruikers, zijn er tal van geavanceerde functies die hier niet aan bod kwamen.
Bekijk de man-pagina voor de volledige zypper-documentatie.
$ man zypper
Genieten!