Inleiding tot Yum
YUM ( Yellowdog-updater aangepast ) is een open-source en gratis opdrachtregelpakketbeheerprogramma voor systemen die het Linux-besturingssysteem uitvoeren met behulp van de RPM-pakketbeheerder. Veel andere tools bieden GUI naar YUM-functionaliteit omdat YUM een opdrachtregelinterface bevat.
YUM maakt automatische updates en pakketafhankelijkheidsbeheer mogelijk via op RPM gebaseerde distributies. YUM implementeert softwarerepository's (set pakketten) die lokaal kunnen worden gebruikt of op een netwerkverbinding vergelijkbaar met de Geavanceerde pakkettool van Debian.
- YUM vertrouwt op RPM onder de motorkap, een verpakkingsstandaard voor digitale distributie van software die automatisch van toepassing is Digitale handtekeningen En hasj voor het verifiëren van de integriteit en het auteurschap van genoemde software, in tegenstelling tot een paar app-winkels die dezelfde functie bieden, bieden noch RPM noch YUM ingebouwde ondersteuning voor essentiële beperkingen op het kopiëren van pakketten door eindgebruikers.
- YUM wordt gebruikt als bibliotheken met de programmeertaal Python, waarbij gebruik wordt gemaakt van een kleine verzameling programma's die een opdrachtregelinterface bieden.
- Op grafische gebruikersinterface gebaseerde wrappers zoals YUM-verlenger zijn ook beschikbaar en geaccepteerd voor Fedora Linux tot versie 22.
- YUM herschrijven met de naam DNF heeft YUM vervangen als standaard pakketbeheerder in de 22e versie van Fedora. Het komt doordat Fedora zou overstappen naar Python 3, waarin werd gespecificeerd dat YUM deze wijziging niet zou overleven.
- DNF kan worden uitgevoerd met Python 3 of 2.
- Ook is DNF opgericht om YUM op vele manieren te verbeteren: betere oplossing en verbeterde prestaties van afhankelijkheidsconflicten, en eenvoudigere integratie met andere applicatiesoftware.
Geschiedenis van YUM
In de periode 1999-2001 heeft Yellowdog Updater (of JEP ) (de echte pakketbeheerder) werd geïntegreerd door Dan Burcaw, Troy Bengegerdes, Stephen Edie , En Bryan Stillwell bij Terra Soft-oplossingen als een engine van de back-end voor het grafische installatieprogramma van Yellow Dog Linux.
In de eerste plaats is YUM geëvolueerd voor het updaten en beheren van Red Hat Linux-systemen die worden gebruikt aan de Duke University Department of Physics door Michael Stenner en Seth Vidal als een complete YUM-herschrijving. Vidal bleef zich wijden aan YUM totdat hij op 8 juli 2013 overleed tijdens een fietsongeluk in North Carolina, Durham.
Yum concentreerde zich op het specificeren van zowel de verwachte tekortkomingen in de vorige APT-RPM als de beperkingen van de tool, dat wil zeggen Red Hat up2date pakketbeheer. YUM verouderd up2date in de 5 en latere versies van Red Hat Enterprise Linux. Een paar auteurs introduceren YUM als de Yellowdog Update Manager of bevelen dat aan 'Uw updatemanager' zal passender zijn.
Algemene kennis van YUM is opgenomen als een behoefte voor Linux-systeembeheerders die zonder royalty's kunnen worden aangepast en gedistribueerd wanneer andere licentievoorwaarden worden nageleefd. Yum is geporteerd naar verschillende andere besturingssystemen, waaronder ArcaOS, IBM en AIX, terwijl het oorspronkelijk voor Linux was gemaakt.
Operaties van YUM
YUM kan bewerkingen implementeren zoals:
- Lijst met geïnstalleerde pakketten
- Lijst bestond uit pakketten
- Beschikbare geïnstalleerde pakketten bijwerken
- Pakketten verwijderen
- Pakketten installeren
Extensies van YUM
In Python bieden YUM 2.x-versies een extra interface voor verschillende programmeerextensies waarmee het YUM-gedrag kan worden gewijzigd. Er zijn standaard meerdere plug-ins geïnstalleerd. yum-utils is een veelgebruikt pakket en bevat opdrachten die de YUM API en verschillende plug-ins toepassen.
Grafische gebruikersinterfaces, genaamd 'voorkant' , staat eenvoudiger YUM-gebruik toe. YUM-verlenger En PakketKit zijn twee voorbeelden. YUM Extender werd een tijdje afgeschreven. Fedora verhuisde naar DNF, het werd herschreven Gtk 3 En Python 3 en is in ontwikkeling. Deze nieuwe YUM Extender is aanwezig voor de 34 of nieuwere versies van Fedora.
Metagegevens van YUM
Pakketinformatie (in tegenstelling tot pakketten zelf) wordt aangeroepen metagegevens . Deze metadata wordt gecombineerd met details in alle pakketten om de afhankelijkheden tussen de pakketten te bepalen. De hoop is om een zogenaamde situatie te negeren afhankelijkheid hel . Een geïsoleerd hulpmiddel, d.w.z. maak een repo repareert de softwarebronnen van YUM en produceert de essentiële metadata in het klassieke XML-formaat. De mrepo gereedschap (voorheen genaamd Dingen ) kan helpen bij het onderhouden en creëren van repository's.
Huffman-coderingscode
De XML-repository van YUM, gemaakt met input van verschillende andere ontwikkelaars, werd een standaard voor op RPM gebaseerde repository's. SUSE Linux 10.1 ondersteunt opslagplaatsen van YUM in Van ST en de repositories, d.w.z. Open de bouwservice pas de metadata van het YUM XML-repositoryformaat toe.
YUM integreert automatisch de externe metadata met een lokale client, samen met andere tools die ervoor kiezen om alleen te integreren wanneer de gebruiker dit claimt. Automatische synchronisatie definieert dat YUM niet kan mislukken omdat de gebruiker er niet in slaagt een opdracht met een geschikt interval uit te voeren.
Commandotags van YUM
Enkele belangrijke opdrachttags en hun beschrijving zijn als volgt:
Het wordt gebruikt voor het installeren van de nieuwste pakketversie van de set pakketten, terwijl wordt verzekerd dat aan elke afhankelijkheid wordt voldaan. Het is de bedoeling dat de pakketten een kleine glob zijn en dat er vervolgens overeenkomsten worden geïnstalleerd als deze niet overeenkomen met de opgegeven naam van het pakket.
Als de naam begint met de @ teken, de andere namen worden gebruikt zodat ze aan het commando kunnen worden doorgegeven, d.w.z. groepsinstallatie . Installeer werktuigen zoals lokaalinstalleren als de naam het bestand is. Als de naam met geen enkel pakket overeenkomt, wordt het pakket 'biedt' worden doorzocht.
Opmerking: Jokertekens komen overeen met meer dan één pakket voor bestandslijsten.
De updatetag zal alle momenteel geïnstalleerde pakketten bijwerken als deze zonder pakketten wordt uitgevoerd. Als er meerdere pakketten of pakketglobs zijn opgegeven, zal YUM alleen de opgegeven pakketten bijwerken. YUM zal ervoor zorgen dat aan elke afhankelijkheid wordt voldaan tijdens het updaten van elk pakket. Als de beschreven globs of pakketten overeenkomen met pakketten die momenteel niet zijn geïnstalleerd, zal de updatetag deze niet installeren.
Update werkt op bestandslijsten, aanbiedingen, bestanden en groepen die vergelijkbaar zijn met de opdracht, d.w.z. 'installeren' . Als de vlag, d.w.z. --verouderd beschikbaar is of de primaire verouderde configuratieoptie waar is, zal yum verouderde pakketten toevoegen aan de berekeningen. Het maakt het beter voor wijzigingen in de distributieversie.
Het zou kunnen worden geïmplementeerd, zodat we konden weten of onze machine updates had die moesten worden gebruikt zonder deze interactief uit te voeren. Het retourneert een 100 exit-waarde als er pakketten aanwezig zijn voor een update. Het retourneert ook de pkg's lijst die moet worden bijgewerkt in het lijstformaat. Het retourneert de 0 waarde als er geen pakket aanwezig is voor een update. Het retourneert de 1 waarde als er een fout optreedt. Bovendien wordt bij het uitvoeren in de uitgebreide modus verouderd weergegeven.
Het is hetzelfde als het commando, d.w.z. bijwerken met de platte set, d.w.z. --verouderd .
Het wordt gebruikt voor het verwijderen van de gespecificeerde pakketten via het systeem en voor het verwijderen van de pakketten die afhankelijk zijn van het pakket dat wordt verwijderd. De remove-tag werkt op bestandslijsten, aanbiedingen, bestanden en groepen die vergelijkbaar zijn met het commando, d.w.z. 'installeren' .
Het wordt gebruikt voor het weergeven van informatie over bestaande pakketten.
Het wordt gebruikt om uit te vinden welke pakketten bepaalde bestanden of functies bieden. Gebruik gewoon een file-glob-syntaxis jokerteken of een bepaalde naam voor het weergeven van de geïnstalleerde of beschikbare pakketten die dat bestand of die functie bieden.
Het wordt gebruikt om pakketten te vinden die hetzelfde zijn als een string in de pakket-, samenvatting- en beschrijvingsnaamvelden van rpm. Het is handig om een pakket te vinden dat we niet van de naam kennen, maar wel van een paar woorden die ermee overeenkomen.
Het wordt gebruikt voor het weergeven van de samenvatting en beschrijvingsinformatie over bestaande pakketten.
Het wordt gebruikt voor het opschonen van verschillende dingen die zich in de loop van de tijd in de cachemap van yum verzamelen.
Het wordt gebruikt voor het maken en downloaden van bruikbare metadata voor de momenteel geactiveerde yum-repository's.
Het wordt gebruikt voor het installeren van elk individueel pakket binnen een groep van de beschreven typen. De configuratieoptie, d.w.z. groepspakkettypes beschrijft welk type geïnstalleerd zou worden.
Voor groupinstall is het slechts een alias die het juiste implementeert, omdat de 'jammie update X' En 'yum installeer X' commando's doen iets soortgelijks. Waar X al is geïnstalleerd.
Het wordt gebruikt voor het weergeven van de bestaande groepen uit elke repository van yum. Groepen worden beschouwd als 'geïnstalleerd' als elk noodzakelijk pakket is geïnstalleerd of als een groep geen noodzakelijk pakket heeft, dan wordt het geïnstalleerd als een van de standaard- of optionele pakketten is geïnstalleerd. Ook het optionele argument, d.w.z. 'verborgen' zal groepen vermelden die als niet-zijnd worden beschouwd 'gebruiker zichtbaar' . De groepsid wordt weergegeven als we de passeren -in optie voor het inschakelen van de uitgebreide modus.
Het wordt gebruikt voor het betreden van de 'jammie schelp' als de naam van het bestand wordt beschreven, wordt de inhoud van het bestand uitgevoerd in de yum shell-modus.
Het wordt gebruikt voor het opsommen van de pakketten met de beschreven afhankelijkheden; er wordt hoogstens één enkel pakket vermeld/afhankelijkheid.
Het wordt gebruikt voor het installeren van een groep lokale rpm-bestanden. De ingeschakelde repository's zouden indien nodig worden gebruikt voor het oplossen van afhankelijkheden.
Opmerking: De install-opdracht zal een lokale installatie implementeren als er een bestandsnaam wordt opgegeven.
Het wordt gebruikt voor het updaten van het systeem door lokale rpm-bestanden te beschrijven. De beschreven rpm-bestanden waarvan een eerdere versie is geïnstalleerd, zullen alleen worden geïnstalleerd, de overige beschreven pakketten zullen worden vermeden. De ingeschakelde repository's zouden indien nodig worden gebruikt voor het oplossen van afhankelijkheden.
Opmerking: De update-opdracht zal een lokale installatie implementeren als er een bestandsnaam wordt opgegeven.
Het versiepakket wordt op identieke wijze opnieuw geïnstalleerd. Net als kernels werkt het niet 'alleen installeren' pakketjes. De tag voor opnieuw installeren werkt op bestandslijsten, aanbiedingen, bestanden en groepen die vergelijkbaar zijn met de 'installeren' commando.
Er wordt geprobeerd het pakket te downgraden van de momenteel geïnstalleerde release naar de oudere hoogste versie (of de beschreven versie). Net als kernels werkt het niet 'alleen installeren' pakketjes. De downgradetag werkt op bestandslijsten, aanbiedingen, bestanden en groepen, vergelijkbaar met de opdracht 'install'.
Het genereert de geconfigureerde repositorylijst. De standaardinstelling is het vermelden van elke ingeschakelde repository. Als we voorbij de -in optie, er worden meer details vermeld voor de uitgebreide modus.
Het genereert een lijst voor elke afhankelijkheid en welk pakket deze afhankelijkheden biedt voor de geleverde pakketten.
Het genereert hulp voor elk commando of als de naam van een commando wordt gegeven, zal de hulp voor dat specifieke commando verschijnen.
Algemene opties van YUM
De meeste opties van de opdrachtregel kunnen worden opgelost met behulp van het configuratiebestand. De beschrijvingen vertegenwoordigen de essentiële configuratieoptie die moet worden opgelost.
Er wordt een helpbericht weergegeven en u kunt stoppen.
Het specificeert de locatie van het conflictbestand. Het kan lokale bestanden, FTP-URL's en http-paden bevatten.
Het veronderstelt dat het antwoord op een vraag die gepromoot zal worden ja is. De configuratieoptie is neem aanja .
Het wordt uitgevoerd zonder uitvoer.
Belangrijk: Waarschijnlijk willen we ook de optie -y toepassen.
Het stelt het niveau van foutopsporing in op een getal. Het verhoogt of verlaagt het aantal dingen dat wordt afgedrukt. Het praktische bereik ervan is 0-10 en de configuratieoptie is dat ook debugniveau .
Het wordt uitgevoerd met verschillende foutopsporingsuitgangen.
Het stelt het niveau van een fout in op een getal. Het praktische bereik ervan is 0-10. 0 verontreinigt dat het alleen kritische fouten afdrukt waarover ons moet worden geïnformeerd. 1 drukt elke fout af, zelfs de fouten die niet al te belangrijk zijn. 1+ drukt meer fouten af. De configuratieoptie is foutniveau .
Het stelt de maximale hoeveelheid tijd in waarin yum zal wachten voordat een commando wordt geïmplementeerd.
Het vertelt yum dat je volledig vanuit de cache draait. Er worden geen headers bijgewerkt of gedownload, tenzij de gevraagde acties moeten worden geïmplementeerd.
Het is geen beperking van pakketten tot hun huidige versie in de zoekopdrachten, lijst en info.
Het vertelt het versienummer van yum en sluit af.
Het beschrijft een alternatief installroot .
Het schakelt bepaalde repository's in op glob of id die zijn uitgeschakeld in het configuratiebestand met behulp van de optie ingeschakeld=0. De configuratieoptie is ingeschakeld .
Het schakelt bepaalde repository's uit op basis van glob of id. De configuratieoptie is ingeschakeld .
Het heeft alleen invloed op de update. Het maakt de verouderde verwerkingslogica van yum mogelijk. De configuratieoptie is verouderd .
Het sluit een bepaald pakket per glob of naam uit van updates in elke repository. De configuratieoptie is uitsluiten .
Het toont automatisch gekleurde uitvoer, afhankelijk van de uitvoerterminal, nooit of altijd. De configuratieoptie is kleur .
Let op: Een paar commando's zullen iets extra werken als kleur is ingeschakeld.
Het wordt uitgevoerd zonder een of meer uitgeschakelde plug-ins. Het argument is een door komma's geïsoleerde jokertekenlijst voor vergelijking met de namen van de plug-in.
Het wordt uitgevoerd terwijl elke plug-in is uitgeschakeld. De configuratieoptie is plug-ins.
Het wordt uitgevoerd met uitgeschakelde gpg-handtekeningcontrole. De configuratieoptie is gpgcheck .
Het lost op oplossen problemen op door pakketten die tot problemen leiden uit de transacties te verwijderen. De configuratieoptie is overslaan_gebroken.
Momenteel doet deze optie niets.
YUM installeren in Ubuntu
Stap 1- Update het systeem
We moeten de update-opdracht uitvoeren om de nieuwste pakketinformatie te verkrijgen en pakketopslagplaatsen bij te werken:
$ sudo apt update
Stap 2- Installeer YUM
We moeten de install-opdracht uitvoeren om de pakketten en hun afhankelijkheden snel te installeren:
$ sudo apt-get install yum