Pre

Når du arbejder med Linux-baserede systemer, er pakken eller “pakkehåndtering” en af de vigtigste byggestenene til at holde maskinerne sikre, stabile og velopdaterede. En af de mest kendte og historisk betydningsfulde værktøjsløsninger til dette område er Yum. I denne guide dykker vi ned i, hvad yum er, hvordan det fungerer, og hvordan du får mest muligt ud af YUM i praksis—uanset om du arbejder med Red Hat, CentOS, Fedora eller andre RPM-baserede distributioner. Vi kommer også omkring, hvordan YUM forholder sig til moderne alternativer som DNF, og hvordan du kan holde dine systemer sunde og sikre gennem effektive kommandoer og konfigurationer.

Hvad er Yum?

Yum står for Yellowdog Updater Modified, og det er en pakkehåndteringstjeneste til RPM-baserede Linux-distributioner. Grundideen er at forenkle installation, opdatering og styring af softwarepakker ved at automatisk håndtere afhængigheder, downloade nødvendige filer og anvende opdateringer sikkert.

Funktioner og kerneprincipper

  • Automatisk håndtering af afhængigheder, så du ikke behøver at manuelt finde alle nødvendige biblioteker.
  • Centraliseret adgang til softwaredepoter (repositories), hvilket gør det nemt at holde systemet opdateret.
  • Støtte til forespørgsler som at søge efter pakker, se detaljer om pakker og vise installerede versioner.
  • Historik og transaktioner, så du kan spore ændringer og rulle dem tilbage ved behov.
  • Plugins og udvidelser via yum-utils og tilsvarende værktøjer, der giver ekstra funktionalitet.

Hvordan Yum finder og installerer pakker

Når du kører en kommando som yum install, går Yum gennem konfigurerede repositories, vælger korrekte filer, løser afhængigheder og downloader de nødvendige pakker. Herefter bliver de installeret i systemet i en kontrolleret transaktion, som kan inspiceres i historik-loggen. Selvom Yum er kraftfuld, er dens funktion grundlæggende og rettet mod stabilitet og sikkerhed i systemer, der stadig kører på RPM-teknologi.

Historie og kontekst: yum, YUM og udviklingen

Yum opstod som en forbedret og mere brugervenlig erstatning for ældre værktøjer som rpm-drivers og updaters med mere manuelle processer. Det blev et særligt populært valg i RHEL- og CentOS-verdenen og blev en standard i mange år, hvor systemadministratoren kunne forvente en jævn strøm af opdateringer og få kontrol over softwaretilgængelighed.

Fra Yellowdog Updater Modified til moderne Linux

Oprindeligt blev Yum udviklet for at håndtere behovet for en opdateringsmotor der kunne løse afhængigheder mere intelligent end de mere stive løsninger. Som årene gik, blev Yum en velkendt del af mange distributioner og udvidede sine funktioner gennem plugins og konfigurationsmuligheder.

Overgangen til DNF og kompatibilitet

Efterhånden begyndte mange distributioner at skifte til DNF (Dandified Yum) som en mere moderne og effektiv motor. DNF blev udviklet til at være bagudkompatibel med Yum-kommandoer, men tilbyder også forbedringer som bedre afhængighedsløsning, performance og mindre hukommelsesforbrug. Mange systemer kører nu med DNF som standard, men har stadig Yum tilbage som en kompatibilitetsløsning gennem en Yum-frontend eller -binary. Dette betyder, at kompetencerne omkring Yum stadig er relevante, selv når DNF er i fuld berørelse.

Sådan fungerer Yum i praksis

At forstå mekanikken bag Yum hjælper med at bruge værktøjet mere effektivt og uden at forårsage smertefulde fejl under opdateringer eller installationer. Her gennemgår vi de grundlæggende principper og typiske arbejdsgange.

Repos og konfiguration

Yum er afhængig af repositories for at finde og hente pakker. En repository er i praksis et sæt pakker og metadata, som systemet kan slå op i. Filstrukturen og metadata findes typisk i /etc/yum.conf og i directory’en /etc/yum.repos.d/, hvor individuelle repo-filer .repo definerer forskellige kilder, spejle og prioriteter. Når du tilføjer et nyt repo, bliver det tilgængeligt for alle yum-kommandoer, og afhængigheder bliver løst i henhold til prioritet og tilgængelighed i de aktive depoter.

GPG-nøgler og sikkerhed

For at sikre integriteten og oprindelsen af pakker, bruger yum GPG-nøgler. Du kan importere nøglekæder og signere pakker, så du kun installerer software møbleret med autoritet. Dette er særligt vigtigt i produktionsmiljøer, hvor sikkerhed og pålidelighed er altafgørende.

Grundlæggende kommandoer i Yum

Nøglen til effektiv yum-brug ligger i at mestre de mest anvendte kommandoer. Nedenfor gennemgår vi de centrale operationer og forklarer, hvordan du får mest ud af dem i det daglige arbejde.

Installationskommandoer

  • yum install pakke – Installér en enkelt pakke sammen med nødvendige afhængigheder.
  • yum groupinstall "Gruppe" – Installér en gruppe af pakker, som ofte dækker en funktionalitet som en LAMP-stack eller et udviklingsmiljø.

Opdateringer og opgraderinger

  • yum update – Opdater alle installerede pakker til de nyeste tilgængelige versioner i de aktive repositories.
  • yum update pakke – Opdater kun den angivne pakke og dens afhængigheder.
  • yum upgrade – Tidligere brugt i nogle distributioner; i praksis bruges yum update til at opdatere alle pakker inklusive ændringer i versioner.

Søgning og forespørgsler

  • yum search søgning – Find pakker, der matcher søgeordet.
  • yum list – Vis installerede, tilgængelige eller alle pakker i repos.
  • yum info pakke – Få detaljerede oplysninger om en pakke.

Fjernelse og vedligeholdelse

  • yum remove pakke – Fjern en pakke og dens afhængigheder, der ikke længere er nødvendige.
  • yum autoremove – Fjern unødvendige afhængigheder, der ikke bruges af nogen pakker.
  • yum clean all – Rens cache og metadata for at frigøre plads og sikre framing af opdateringer.

Historik og fejlfinding

  • yum history – Vis tidligere transaktioner og ændringer, hvilket gør det muligt at fortryde eller undersøge ændringer.
  • yum history undo transaktions-id – Tilbagefør en specifik transaktion, hvis noget gik galt.

Arbejde med repositories og konfiguration

Repos spiller en central rolle i Yum. For at få stable og pålidelig adgang til software, er det vigtigt at forstå, hvordan man konfigurerer, vedligeholder og sikrer disse depoter.

Repo-konfigurationer

Hver repo defineres i en .repo-fil og kan indeholde felter som navn, baseurl, GPG-nøgle, og om det er aktiveret eller ej. Du kan oprette, opdatere og deaktivere repos efter behov, alt efter hvilken platform du kører. Vedligeholdelse af repo-lister er især vigtig i større miljøer, hvor group policies og sikkerhedsforanstaltninger kræver nøje styring af kilder til software.

Tilføjelse af tredjepartsrepositories

Når du tilføjer tredjepartdepoter, er det vigtigt at vurdere kilde, sikkerhed og stabilitet. En nødvendighed kan være at importere signeringsnøgler og kontrollere, at pakkerne ikke bryder med systemets politikker. En grundig gennemgang af kilderne reducerer risikoen for malware eller uønskede ændringer i systemet.

Vedligeholdelse af sikkerhedskonfigurationer

Gennemgå regelmæssigt dine GPG-nøgler og repository-URL’er for at sikre mod ændringer eller kompromittering. En god praksis er at sætte opgaver til at kontrollere certifikater og nøgler, og at have en politik for, hvornår og hvordan der opdateres depoter. Dette gør Yum mere robust og mindre sårbart over for angreb eller fejl i eksterne kilder.

Yum vs DNF: Hvad betyder overgangen for dig?

DNF, eller Dandified Yum, er blevet standard i nyere distributioner og giver ofte mere effektiv afhængighedsopløsning, bedre ydeevne og mindre hukommelsesforbrug end den oprindelige Yum-motor. Selvom DNF er i rolle som primær motor, kan Yum stadig være tilgængelig som en kompatibilitetsfacilitet eller via en Yum-frontend. For systemadministratorer betyder det at være komfortable med både kommandoer og koncepter er en stor fordel.

Funktionelle forskelle

  • DNF har ofte mere præcis afhængighedsløsning og bedre fejlrapportering.
  • DNF bruger en bedre metadata-cache og parallel nedlasting, hvilket kan forbedre opdateringshastigheden.
  • Kompatibilitet: Mange scripts og automationsværktøjer er skrevet til Yum-kommandoer og fungerer i høj grad også med DNF, men syntaks kan variere lidt i nogle tilfælde.

Praktiske konsekvenser for ældre systemer

Hvis du arbejder med ældre systemer, der ikke understøtter DNF som standard, vil Yum stadig være en vigtig vektor til vedligeholdelse og administration. På nye systemer kan du bruge DNF direkte, eller køre yum som en bekvem indgangsvej. Det vigtigste er at forstå forskellene og sikre, at dine automatiserede processer håndterer både versioner og afhængigheder korrekt.

Avanceret brug af Yum

Mens de grundlæggende kommandoer dækker de fleste daglige behov, findes der en række avancerede teknikker til særligt krævende miljøer—fra optimering af dine opdateringer til komplekse scenarier med flere systemer og afdelinger.

Arbejde med pakkegrupper og environmentprofil

Med yum groupinstall og lignende kommandoer kan du hurtigt installere hele sæt af softwareressourcer. Dette er særligt nyttigt ved oprettelse af standardmiljøer som “udvikling”, “produktion” eller “gæstetilstand”. Ved at definere miljøprofiler kan du standardisere setup på tværs af mange maskiner og sikre konsekvent konfiguration.

Finde levering og kilder til afhængigheder

Med yum whatprovides kan du finde hvilket paket der leverer en bestemt fil eller et bibliotek, hvilket er enormt brugbart, når du støder på manglende afhængigheder eller konfliktende versioner. Dette giver dig en dybere forståelse af, hvordan software er opbygget, og hjælper med at debugge installationsproblemer.

Historik og rulle tilbage

Når du opdaterer eller installerer, registrerer Yum ændringer i historikken. Med yum history kan du se, hvad der skete, og hvis nødvendigt rulle tilbage en hel transaktion ved hjælp af yum history undo. Dette kan være en livreddende funktion ved uforudsete bivirkninger eller konflikter efter opdateringer.

Rensning af cache og optimering af ydeevne

For at sikre at opdateringer og installationer sker hurtigt og uden forældede metadata, kan du bruge yum clean all til at fjerne caches og metadata. Regelmæssig vedligeholdelse af cache reducerer fejl og forhindrer unødvendige netværkskald under særligt travle perioder.

Fejlfinding og fejlsøgning i Yum

Selvom Yum er relativt stabilt, kan der opstå problemer, især når du arbejder i komplekse miljøer med mange depoter og afhængigheder. Her er nogle af de mest almindelige udfordringer og hvordan du løser dem.

Typiske fejlmeddelelser

  • Fejl ved at kontakte repository: Tjek netværksforbindelse og baseurl i repo-filen.
  • Afhængighedsfejl: Overvej at installere/justere versioner eller deaktivere problematiske pakker midlertidigt.
  • Signeringsfejl: Importér manglende GPG-nøgle eller opdater nøglesæt.
  • Metadata ikke fundet eller cachefejl: Prøv yum clean all og kør opdatering igen.

Løsninger og bedste praksis

  • Kontroller altid repository-opsætning og netværksadgang, før du foretager opdateringer på produktionssystemer.
  • Brug yum history til at spore beslutninger og gennemgå ændringer for at finde årsagen til problemer.
  • Del opdateringer i mindre batches i stedet for at opdatere hele systemet på én gang på store maskinparker.

Praktiske scenarier: Yum i dagligdagen

Her er et par scenarier, der viser, hvordan yum typisk bruges i virkelige miljøer. Disse eksempler gør det nemmere at anvende koncepterne i din egen kontekst.

Scenario 1: Installér en ny webserver

Du vil sætte en LAMP-stack op og sikre, at alle nødvendige komponenter er til stede og opdaterede. En simpel arbejdsflow kunne være:

  • Opdater alle eksisterende pakker: yum update
  • Installér Apache, PHP og nødvendige moduler: yum install httpd php php-mysqlnd
  • Start og aktiver tjenesten ved boot: systemctl start httpd && systemctl enable httpd
  • Test konfiguration og adgang: Besøg din servers IP og kontroller, at siden vises.

Scenario 2: Rensning af kompromitterede depoter

Hvis en repository viser sig at være upålidelig eller kompromitteret, kan du deaktivere den midlertidigt og gennemgå opdateringer på sikker vis:

  • Deaktiver et repo midlertidigt ved at ændre i /etc/yum.repos.d/ eller ved at bruge yum-config-manager --disable repo.
  • Kør en opdatering uden det problematiske repo: yum update --disablerepo=repo.
  • Gennemgå sikkerhedslogs og vurder behovet for at tilføje eller ændre signeringspolitikker.

Scenario 3: Rul tilbage en opdatering

Hvis en opdatering forårsager uventede problemer, kan du bruge yum history til at finde den relevante transaktion og ikke længere ønsket ændringer via yum history undo ID.

Fremtidige perspektiver: Hvad kommer efter Yum?

Selvom Yum stadig har en vigtig rolle i mange systemer, er udviklingen primært drevet af overgangen til DNF og relaterede værktøjer. Som systemadministrator vil du støde på flere aspekter i fremtiden:

  • Adoptér DNF som standard i nye distributioner for bedre ydeevne og mere præcis håndtering af afhængigheder.
  • Bliv fortrolig med at køre begge værktøjer i et hybridmiljø, hvor nogle maskiner kører Yum og andre kører DNF.
  • Hold øje med nye værktøjer som dnf-plugins og avancerede repo-skalaer for at optimere opdateringspolitikker og automatisation.

Opsummering og bedste praksis

Yum er mere end bare en kommando; det er en del af et større økosystem omkring pakkehåndtering i RPM-baserede Linux-distributioner. Ifølge de bedste praksisser hjælper det at:

  • Vedligeholde en stabil og sikker repository-liste og regelmæssigt opdatere nøgler og signering.
  • Bruge begyndervenlige kommandoer som yum install, yum update og yum search til at opbygge en velforberedt areal for administration.
  • Forstå forskellen mellem Yum og DNF og udnytte kompatibilitet og overgangsstrategier i dit miljø.
  • Udnyt historik og rulle-funktioner for at sikre genoprettelse ved fejl og lette fejlsøgning.
  • Hold systemd- og servicekonfigurationer opdaterede, så sikkerhed og stabilitet ikke kompromitteres under opdateringer.

Uanset om du er nybegynder eller en erfaren systemadministrator, giver Yum dig kraften til at styre software i et komplekst miljø på en måde, der er både forudsigelig og sikker. Ved at kombinere Grundlæggende kommandoer, rådgivning til repo-håndtering og forståelse for overgangen til DNF, kan du sikre, at dine maskiner forbliver opdaterede, sikre og effektive.

By Ejeren