Vejledninger

Fix: Kan ikke finde en gyldig baseurl til repo: base

Hvis du er på nogen af ​​Linux-distributioner, der bruger yum-pakkehåndtering, kan du muligvis ende med at se en fejl, der læser Kan ikke finde en gyldig baseurl til repo: base kort efter du er færdig med at installere operativsystemet. Dette er oftest en fejl forbundet med Fedora, Red Hat og CentOS Linux-distributioner, men du får muligvis også den, når du forsøger at opdatere yum på kompatible versioner af SUSE. Du får normalt kun fejlen, når du prøver at opdatere, men heldigvis er der en ret enkel måde at omgå den på.

Metode 1: Tvinge yum til at finde en baseurl

Denne fejlmeddelelse indikerer, at Yellowdog Updater, Modified (yum) -systemet uanset årsag ikke er i stand til at få adgang til den base, det bruger til at finde pakkeoplysninger. Kør for at gengive fejlmeddelelsensudo yum opdateringeller simpelthen yum opdatering hvis du er rodbrugeren. Hvis den opdateres denne gang, skyldes fejlen kun et netværkshikke, og du behøver ikke gøre noget andet.

På den anden side kan du opleve, at du har gengivet fejlmeddelelsen. Den første ting at kontrollere er at sikre dig, at du har forbindelse til netværket. Du vil være sikker på, at du ikke oplever et internetafbrydelse, hvilket er langt den mest almindelige årsag til denne fejl. Hvis du er på Internettet og stadig ikke er i stand til at finde en gyldig baseurl, så prøv ping mirrorlist.centos.org og se hvad der sker. Tryk på Ctrl + C for at afslutte ping-processen og se, hvilke resultater du har modtaget. Hvis du bruger Red Hat eller Fedora, vil du måske erstatte den spejlliste-URL, som fejlen rapporterede til dig i stedet for den CentOS-URL, vi brugte.

Hvis du ikke er i stand til at pinge serverne, skal du muligvis vente, fordi de muligvis oplever et midlertidigt afbrydelse. Ellers kan du prøve stien, hvis du har netværksproblemer vist på billedet og skift linjen ONBOOT = til enten ja eller nej. Du vil måske prøve dem begge. Når du har indstillet det, skal du løbe sudo dhclient så længe du ikke arbejder igennem ssh og derefter forsøger at opdatere yum igen. Hvis du stadig kæmper for at få pakkehåndteringen til at opdatere, så prøv at redigere den fil igen.

Du finder en indstilling kaldet NM_CONTROLLED, som du skal indstille til nej. Hvis du gør dette, skal du sørge for, at ONBOOT = også er indstillet til nej. Når du indstiller valgmulighederne til nej, skal du sørge for, at du kun skriver ordene med små bogstaver, da nogle versioner af CentOS og Fedora faktisk kan have en eller anden type store og små bogstaver i denne henseende.

Når du er færdig med at redigere filen, skal du sørge for at have et Ethernet-kabel tilsluttet til den første netværksgrænseflade på maskinen og prøve at køre ifdown eth0; ifup eth0 for at nulstille netværket. Brugere af CentOS 7, som i vores eksempel, kan muligvis ikke finde denne fil, fordi tingene blev ændret. Hvis det er tilfældet, så prøv at se efter, hvad der er vist på billedet nedenfor eller noget andet, der ligner dette mønster. CentOS 'udviklere besluttede at foretage nogle ændringer sidste gang, de fornyede den minimale installationskode, og det ændrede navnet på nogle af netværksgrænsefladerne som et resultat.

Når alt ser godt ud, så prøv at opdatere yum igen og se om det fungerer.

Metode 2: Frigørelse af baseurl

I nogle få sjældne situationer skyldes denne fejl muligvis ikke et netværksproblem. Hvis du er sikker på, at du har forbindelse og stadig ikke kan få noget til at fungere, skal du åbne filen vist på billedet nedenfor som root-superbruger med din yndlings teksteditor. Igen, hvis du ikke bruger CentOS som vi var, skal du bruge en simpel navneændring for at finde den rigtige fil.

Du skal se en linje, der lyder:

baseurl = // mirror.centos.org/centos/$releasever/os/$basearch/

Sørg for, at dette ikke starter med et kommentarflag som symbolet #. Hvis det gør det, skal du fjerne det og derefter gemme filen. Prøv at opdatere igen. Dette skulle have tvunget systemet til at opdatere korrekt denne gang, hvilket det ikke kan gøre, hvis det ikke kan finde denne linje, fordi det var skjult af et kommentarflag.