yum (programvara) - yum (software)

YUM
Yum.png
Yum-update.png
YUM kör en uppdatering på Fedora 16
Utvecklare Seth Vidal
Initial release Juni 2002 ; 19 år sedan ( 2002-06 )
Stabil frisättning
3.4.3 / 28 juni 2011 ; 10 år sedan ( 28 juni 2011 )
Förvar
Skrivet i Pytonorm
Operativ system Linux , AIX , IBM i , ArcaOS
Typ Pakethanteringssystem
Licens GPLv2
Hemsida yum .baseurl .org

Den yum ( YUM ) är en fri och öppen källkod kommandoraden pakethantering verktyg för datorer som kör Linux operativsystem med hjälp av RPM Package Manager . Även om YUM har ett kommandoradsgränssnitt, erbjuder flera andra verktyg grafiska användargränssnitt till YUM-funktionalitet.

YUM möjliggör automatiska uppdateringar och paket- och beroendehantering på RPM-baserade distributioner. Precis som Advanced Package Tool (APT) från Debian arbetar YUM med programvaruförråd (paketsamlingar), som kan nås lokalt eller via en nätverksanslutning.

Under huven beror YUM på RPM , som är en förpackningsstandard för digital distribution av programvara, som automatiskt använder hash och digitala signaturer för att verifiera upphovsrätten och integriteten för nämnda programvara. Till skillnad från vissa appbutiker , som har en liknande funktion, tillhandahåller varken YUM eller RPM inbyggt stöd för egenutvecklade begränsningar när det gäller kopiering av paket av slutanvändare. YUM implementeras som bibliotek i programmeringsspråket Python , med en liten uppsättning program som tillhandahåller ett kommandoradsgränssnitt . GUI-baserade omslag som YUM Extender (yumex) finns också och har antagits för Fedora Linux fram till version 22.

En omskrivning av YUM med namnet DNF ersatte YUM som standardpakethanteraren i Fedora 22 . Detta beror på att Fedora skulle flytta Python 3, vilket innebar att Yum inte skulle överleva denna förändring. Å andra sidan kan DNF köras med antingen Python 2 eller 3. Och även DNF skapades för att förbättra YUM på flera sätt - förbättrad prestanda, bättre lösning av beroendekonflikter och enklare integration med andra program.

Historia

Den ursprungliga pakethanteraren, Yellowdog UPdater (YUP) utvecklades 1999-2001 av Dan Burcaw, Bryan Stillwell, Stephen Edie och Troy Bengegerdes på Terra Soft Solutions (under ledning av dåvarande VD Kai Staats ) som en back-end-motor för en grafisk installatör av Yellow Dog Linux .

Som en fullständig omskrivning av YUP utvecklades YUM främst för att uppdatera och hantera Red Hat Linux -system som används vid Duke University Department of Physics av ​​Seth Vidal och Michael Stenner. Vidal fortsatte att bidra till YUM fram till sin död i en cykelolycka i Durham, North Carolina den 8 juli 2013.

År 2003 publicerade Robert G. Brown på Duke dokumentation för YUM. Efterföljande adopters inkluderade Fedora , CentOS och många andra RPM-baserade Linux-distributioner , inklusive Yellow Dog Linux själv, där YUM ersatte det ursprungliga YUP-verktyget-senast uppdaterat på SourceForge 2001. År 2005 beräknades det vara i bruk på över hälften Linux-marknaden, och 2007 ansågs YUM vara "valfritt verktyg" för RPM-baserade Linux-distributioner.

YUM syftade till att ta itu med både de upplevda bristerna i det gamla APT-RPM och begränsningar för Red Hat up2date- pakethanteringsverktyget. YUM ersatte up2date i Red Hat Enterprise Linux 5 och senare. Vissa författare hänvisar till YUM som Yellowdog Update Manager, eller föreslår att "Your Update Manager" skulle vara mer lämpligt. En grundläggande kunskap om YUM ingår ofta som ett krav för Linux-systemadministratörscertifiering. Den GNU General Public License för YUM låter Foss att fritt distribueras och modifieras utan royalty, om andra licensvillkoren är hedrade.

Medan yum ursprungligen skapades för Linux har det överförts till ett antal andra operativsystem, inklusive AIX , IBM i och ArcaOS .

Operationer

YUM kan utföra operationer som:

  • installera paket
  • radera paket
  • uppdatera befintliga installerade paket
  • listar tillgängliga paket
  • som listar installerade paket

Tillägg

Skärmdump av Yum Extender (yumex)

2.x -versionerna av YUM har ett extra gränssnitt för programmering av tillägg i Python som gör att beteendet hos YUM kan ändras. Vissa insticksprogram installeras som standard. Ett vanligt installerat paket yum-utilsinnehåller kommandon som använder YUM API och många plugins.

Grafiska användargränssnitt , så kallade "front-ends", möjliggör enklare användning av YUM. PackageKit och Yum Extender (yumex) är två exempel. Yum Extender togs bort ett tag när Fedora migrerade till DNF, men det skrevs om i Python 3 och Gtk 3 och har pågått för utveckling. Denna helt nya Yum Extender är tillgänglig för Fedora 34 eller senare.

Metadata

Information om paket (till skillnad från själva paketen) kallas metadata . Dessa metadata kombineras med information i varje paket för att bestämma (och lösa, om möjligt) beroenden mellan paketen. Förhoppningen är att undvika en situation som kallas beroendehelvete . Ett separat verktyg createrepo,, konfigurerar programvaruförråd för YUM och genererar nödvändiga metadata i ett standard XML -format (och SQLite -metadata om alternativet -d ges). Den mrepoverktyget (tidigare känt som Yam) kan hjälpa till i skapandet och upprätthållandet av förråden.

YUM: s XML-arkiv, byggt med input från många andra utvecklare, blev snabbt standarden för RPM-baserade arkiv. Förutom distributionerna som använder YUM direkt har SUSE Linux 10.1 lagt till stöd för YUM -arkiv i YaST , och Open Build Service -lagringsplatserna använder YUM XML -arkivformatmetadata.

YUM synkroniserar automatiskt fjärrmetadata till den lokala klienten, med andra verktyg som väljer att synkronisera endast när användaren begär det. Att ha automatisk synkronisering innebär att YUM inte kan misslyckas på grund av att användaren inte kan köra ett kommando med rätt intervall.

Se även

  • .rpm - förpackningsfilformatet som används av YUM
  • DNF - en omskrivning av YUM baserat på libsolv

Referenser

externa länkar