Webbplatssökning

Zypper-pakethanterarens användarhandbok för openSUSE-användare


Lär dig hur du använder Zypper, openSUSE:s paketchef, genom praktiska exempel för att enkelt installera, uppdatera och hantera programvara och arkiv.

Zypper är en pakethanterare för kommandoraden (liknande APT för DEB-baserade system eller DNF för RPM-baserade system) som används i openSUSE, SUSE Linux Enterprise och deras derivat. Den ger användare ett snabbt och flexibelt sätt att installera, uppdatera, ta bort och hantera mjukvarupaket och arkiv, vilket ger dig full kontroll över systemets mjukvarumiljö.

Under huven arbetar Zypper med RPM-paket—samma paketformat som används i många Linux-distributioner baserade på RPM. Det förlitar sig på libzypp, ett bakgrundsbibliotek som löser beroenden, hanterar arkiv och hanterar transaktioner på ett säkert och effektivt sätt.

I den här guiden kommer jag att visa dig, genom praktiska Zypper-kommandon och exempel från verkligheten, hur du installerar nya applikationer, håller ditt system uppdaterat, söker efter paket, hanterar arkiv och mer. I slutet hoppas jag att du ska känna dig tillräckligt säker för att kunna hantera ditt openSUSE-system effektivt från terminalen.

Du kan också använda exemplen nedan som en snabb referens om du redan är bekant med Zypper och bara vill friska upp ditt minne om ett specifikt kommando eller alternativ.

Zypper-kommandot Snabbreferens: Kort och Lång Version

Zypper erbjuder två sätt att utföra nästan alla sina operationer — ett kort format för snabbhet och bekvämlighet, och ett långt format för läsbarhet och tydlighet. De korta formaten används ofta i praktiken eftersom de är bekväma för snabba kommandon, medan de långa formaten är tydligare och ofta används i skript eller dokumentation.

Vilken du väljer är helt upp till dig — resultatet blir detsamma. För enkelhetens skull, och eftersom det är det vanliga sättet att göra det på, kommer jag att använda den korta formen i exemplen nedan. Men innan vi går in på den praktiska delen, här är en tabell som visar både den korta och långa formen av de mest använda Zypper-kommandona.

KortLångBeskrivning
iinstalleraInstallera paket
rmta bortTa bort (avinstallera) paket
uppuppdateraUppdatera installerade paket
dupadist-uppgraderingUtför en distributionsuppgradering (smart lösare)
lulista-uppdateringarLista tillgängliga uppdateringar
veverifieraVerifiera och fixa paketberoenden
sesökSök efter paket
ominformationVisa detaljerad paketinformation
påpaketLista alla tillgängliga eller installerade paket
lrförvarLista alla arkiv
arläggtillrepoLägg till ett arkiv
rrta bort repoTa bort ett arkiv
refuppdateraUppdatera lagringsplatsmetadata
renrenRensa cache och metadata

Uppdatera paketbas

Vi börjar med ett av de Zypper-kommandon du kommer att använda mest: zypper ref (eller zypper refresh), som uppdaterar paketbasen. När du kör det kontaktar Zypper varje arkivserver och laddar ner den senaste metadata—paketlistor, versioner, beroenden och uppdateringsinformation.

sudo zypper ref

Uppdaterar paketbasen.

Tänk på att uppdatering inte installerar något. Det säkerställer helt enkelt att ditt system har den senaste paketinformationen innan du letar efter eller tillämpar uppdateringar.

I de flesta arbetsflöden är detta det första steget innan man kör kommandon som zypper lu, zypper up eller zypper dup, eftersom dessa operationer är beroende av uppdaterad metadata.

Kontrollera tillgängliga paketuppdateringar

zypper lu (eller zypper list-updates) uppdaterar automatiskt repositoriets metadata när det är gammalt och listar alla paket på ditt system som har nyare versioner. Det installerar ingenting—syftet är enbart informativt.

sudo zypper lu

Kontrollera tillgängliga paketuppdateringar.

Varje rad markerad med v indikerar ett paket med en nyare version tillgänglig, visad tillsammans med dess arkiv, aktuell version, tillgänglig version och arkitektur.

Som du förmodligen redan har gissat behöver du inte köra zypper ref innan zypper lu, eftersom zypper lu faktiskt uppdaterar repository-metadata när de är föråldrade.

Installera paketuppdateringar

zypper up (eller zypper update) är ett av de mest använda Zypper-kommandona, som installerar alla tillgängliga vanliga paketuppdateringar på ditt system. Det är beroende av aktuell metadata från arkiven, så om det behövs uppdaterar Zypper arkiven automatiskt innan det fortsätter.

sudo zypper up

Installera paketuppdateringar.

Fullständig systemuppgradering

zypper dup (eller zypper dist-upgrade) kan användas som ersättning för zypper up eftersom det också installerar alla tillgängliga uppdateringar. Det går dock längre när det behövs: det kan byta paketleverantörer, installera omdöpta paket och ta bort gamla eller föråldrade paket för att hålla systemet i linje med de aktiverade arkiven.

sudo zypper dup

Fullständig system-/distributionsuppgradering.

De flesta uppdateringar ser likadana ut under båda kommandona, men när ett paket kräver att äldre komponenter tas bort eller flyttas till ett annat arkiv, kan endast zypper dup utföra dessa ändringar. Det är därför det används för distributionuppgraderingar och varför det ibland kan ta bort paket som inte längre tillhandahålls av något arkiv.

Sök paket

Använd zypper se (eller zypper search) för att hitta paket efter namn eller beskrivning. Detta kommando söker igenom alla aktiva förråd och visar matchande resultat, inklusive installerade och tillgängliga paket. Till exempel:

zypper se firefox

Sök efter paket.

Kolumnen S visar paketstatus (till exempel i för installerad), följt av kolumnen Name med det exakta paketnamnet, kolumnen Summary med en kort beskrivning, och kolumnen Type som anger om det är ett vanligt paket, ett mönster eller en annan typ av paket.

Om du bara vill söka bland installerade paket, lägg till -i-alternativet:

zypper se -i firefox

Sök endast bland installerade paket.

Detta filtrerar resultaten så att endast installerade paket som matchar namnet visas. Om inget returneras är paketet inte installerat.

Installera paket

Använd zypper in (eller zypper install) för att lägga till nya paket på ditt system från de aktiverade programkällorna. Kommandot hanterar beroenden automatiskt och installerar allt som krävs för att det valda paketet ska kunna köras. Till exempel:

sudo zypper in chromium

Installera paket.

För att installera flera paket samtidigt, lista paketnamnen efter varandra, separerade med mellanslag.

sudo zypper in chromium htop vlc

Ta bort paket

Använd zypper rm (eller zypper remove) för att avinstallera paket från ditt system. Kommandot tar också bort beroenden som inte längre behövs, såvida inte andra installerade paket kräver dem. Till exempel:

sudo zypper rm chromium

Ta bort paket.

På samma sätt som med kommandot install, för att avinstallera flera paket från ditt openSUSE-system, skriv deras namn efter varandra, separerade med ett mellanrum.

sudo zypper rm chromium htop vlc

Visa paketinformation

Använd zypper if (eller zypper info) för att visa detaljerad information om ett paket. Detta inkluderar dess version, leverantör, repository, installationsstatus, sammanfattning, beskrivning och beroenden. Till exempel:

zypper info chromium

Visa paketinformation.

Detta är det snabbaste sättet att kontrollera i openSUSE vilken version av ett paket som är installerad och vilket repository som tillhandahåller det.

Verifiera installerade paket

Använd zypper ve (eller zypper verify) för att kontrollera om alla installerade paket har sina nödvändiga beroenden uppfyllda. Om något saknas eller är skadat—ofta efter manuell borttagning av filer, avbrutna uppdateringar eller blandning av olika förråd—identifierar det här kommandot problemen och föreslår lösningar.

sudo zypper ve

Verifiera installerade paket.

Zypper kommer att skanna systemet, rapportera eventuella beroendeproblem och, om det behövs, föreslå att installera eller ta bort paket för att återställa konsistensen.

Rensa cachelagrad data

Använd zypper clean för att ta bort cachad repository-data, som nedladdade paketfiler och metadata. Detta hjälper till att frigöra diskutrymme och tvingar zypper att hämta ny metadata nästa gång den får åtkomst till ett repository.

sudo zypper clean

Hantera mjukvaruförråd

Zypper ger full kontroll över de mjukvaruförråd som ditt openSUSE-system använder för att installera och uppdatera paket. Med några enkla kommandon kan du lista, lägga till, ta bort, aktivera, inaktivera eller justera förrådsinställningar direkt från kommandoraden, vilket ger dig exakt kontroll över hur ditt system hämtar mjukvara.

Lista arkiv

Använd zypper lr (eller zypper repos) för att lista alla konfigurerade arkiv på ditt system. Utdata visar varje arkivs alias, namn, aktiverad/inaktiverad status, inställning för automatisk uppdatering, prioritet och URL.

zypper lr

Lista alla arkiv.

Lägg till ett förråd

Om du vill lägga till ett arkiv till ditt openSUSE-system, använd zypper ar (eller zypper addrepo) för att lägga till ett nytt mjukvaruarkiv till ditt system. Du kan ange arkivets URL och ge det ett alias som senare kommer att visas i zypper repos. Till exempel:

sudo zypper addrepo -f https://download.opensuse.org/repositories/network/openSUSE_Leap_16.0/ network

Lägg till ett arkiv.

Efter att ha lagt till ett arkiv kommer zypper att inkludera det när du installerar eller uppdaterar paket. Du kan också aktivera automatisk uppdatering eller tilldela en prioritet med ytterligare alternativ vid behov.

I exemplet ovan aktiverar alternativet -f automatisk uppdatering. Om lagret redan är tillagt kan du dock slå på automatisk uppdatering med:

sudo zypper modifyrepo -f netwrok

Här är ‘network’ arkivets alias.

Ta bort ett arkiv

Använd zypper rr (eller zypper removerepo) för att ta bort ett arkiv från ditt system. Du kan ta bort det genom att ange dess alias eller dess numeriska ID, som visas i zypper lr.

sudo zypper rr network

Ta bort ett repository.

Aktivera/Avaktivera ett arkiv

Zypper låter dig inte bara lägga till eller ta bort arkiv, utan gör det också möjligt att aktivera eller inaktivera de du redan har. Använd zypper mr -d (eller zypper modifyrepo -d) för att inaktivera ett arkiv. Du kan referera till det med dess alias eller med det numeriska ID som visas i zypper lr.

sudo zypper modifyrepo -d network

Inaktivera ett arkiv på openSUSE.

På samma sätt, för att aktivera det, använd zypper md -e (eller zypper modifyrepo -e):

sudo zypper modifyrepo -e network

Aktivera ett arkiv på openSUSE.

Mönster

Slutligen ska jag visa dig hur man använder ett praktiskt koncept som andra distributioner ofta kallar meta-paket, medan openSUSE kallar dem för mönster. Så, vad är de egentligen?

Kort sagt, mönster är fördefinierade grupper av paket som openSUSE använder för att installera kompletta funktionella miljöer eller roller. Istället för att installera paket ett i taget, samlar ett mönster allt som behövs för en specifik uppgift—som en skrivbordsmiljö, utvecklingsverktyg eller servertjänster.

Den största fördelen? Genom att installera ett mönster får du alla nödvändiga komponenter, rekommenderade tillägg och stödjande bibliotek i ett steg, vilket gör det enkelt att lägga till viktiga systemfunktioner utan att manuellt hålla reda på enskilda paket.

Listmönster

Använd zypper pt (eller zypper patterns) för att lista alla tillgängliga patterns på systemet. Kommandots utdata visar varje patterns namn, om det är installerat, och en kort beskrivning av vad det erbjuder.

zypper pt

Lista tillgängliga mönster.

Installationsmönster

Låt oss säga att du vill installera Cinnamon-skrivbordsmiljön med ett enda kommando. Mönsternamnet är, som du kan förvänta dig, cinnamon. Använd zypper in -t pattern, följt av mönstrets namn, för att installera alla paket som tillhör den gruppen.

sudo zypper in -t pattern cinnamon

Installera ett mönster (en paketgrupp) i openSUSE.

Som du kan se installerar detta hela Cinnamon-skrivbordsmiljön (mönster), inklusive dess nödvändiga och rekommenderade komponenter.

Det finns dock en särskild sak som du bör vara medveten om. Att ta bort ett mönster avinstallerar inte, som du kanske förväntar dig, de paket som det ursprungligen installerade. Istället förblir de enskilda paketen installerade om du inte tar bort dem manuellt eller om de inte blir överblivna på grund av andra beroendeförändringar. Så, om du kör:

sudo zypper rm -t pattern cinnamon

Tar bort ett mönster.

Endast själva mönstret kommer att tas bort, men inte de paket som det innehåller. Med andra ord, att ta bort mönstret tar bara bort den metadata, inte de hundratals riktiga Cinnamon-paket som installerades tidigare. För att ta bort dem måste du göra det manuellt för varje paket.

Slutsats

I den här guiden visade jag de viktigaste Zypper-kommandona för att effektivt hantera programvara på openSUSE. Nu vet du hur du installerar, uppdaterar, söker efter och tar bort paket, arbetar med mönster och hanterar repositories från kommandoraden.

Ja, YaST är ett utmärkt grafiskt verktyg som kan hantera allt detta, men att känna till Zypper ger dig den djupare förståelsen du behöver så att du inte bara är beroende av grafiska verktyg. Och även om YaST täcker allt i en skrivbordsmiljö, är det avgörande att behärska Zypper i kommandoraden för att kunna hantera mjukvara på servern.

Självklart erbjuder paketchefen Zypper många fler alternativ. Jag rekommenderar starkt att du bekantar dig med dem i den officiella openSUSE-dokumentationen eller på SUSE:s webbplats.

Tack för din tid. Som alltid är dina kommentarer mycket välkomna.