Hoe YUM werkt
Het configuratiebestand voor Yum wordt opgeslagen in de /enz/ directory, een bestand met de naam jammie.conf. Dit bestand kan worden geconfigureerd en aangepast om aan bepaalde behoeften van het systeem te voldoen. Hieronder vindt u een voorbeeld van de inhoud van de jammie.conf het dossier:
[hoofd]cachedir=/var/cache/yum/$basearch/$releasever
bewaarcache=0
debugniveau = 2
logfile=/var/log/yum.log
exactarch=1
verouderd = 1
gpgcheck=1
plug-ins=1
installonly_limit=5
Dit configuratiebestand kan verschillen van wat u ook op uw computer krijgt, maar de configuratiesyntaxis volgt dezelfde regels. De repository van pakketten die met Yum kunnen worden geïnstalleerd, worden meestal opgeslagen in de /etc/yum.repo's.d/ directory, met elk *.repo bestand in de map die dienst doet als opslagplaats van de verschillende pakketten die kunnen worden geïnstalleerd.
De onderstaande afbeelding toont de structuur van een CentOS-basisrepository:
YUM werkt in een patroon dat vergelijkbaar is met alle Linux-opdrachten, met behulp van de onderstaande structuur:
yum [opties] COMMANDOMet het bovenstaande commando kun je alle noodzakelijke taken uitvoeren met YUM. Je kunt hulp krijgen bij het gebruik van YUM met de -help optie:
jammie --helpU zou een lijst moeten krijgen met de opdrachten en opties die op YUM kunnen worden uitgevoerd, zoals te zien is in de onderstaande afbeeldingen:
Lijst met opdrachten
Lijst met opties
Voor de rest van dit artikel zouden we een aantal taken met Yum . uitvoeren. We zouden pakketten opvragen, installeren, bijwerken en verwijderen.
Pakketten opvragen met YUM
Laten we zeggen dat je net een baan hebt gekregen als Linux-systeembeheerder bij een bedrijf, en je eerste taak is om een aantal pakketten te installeren om je taken gemakkelijker te maken, zoals nmap, top enz.
Om hiermee verder te gaan, moet u weten wat de pakketten zijn en hoe goed ze passen bij de behoeften van de computer.
Taak 1: Informatie verkrijgen over een pakket
Om informatie over een pakket te krijgen, zoals de versie, grootte, beschrijving enz. van het pakket, moet u de info opdracht.
yum info pakketnaamAls voorbeeld geeft de onderstaande opdracht informatie over het httpd-pakket:
jammie info httpdHieronder is een fragment van het resultaat van de opdracht:
Naam : httpdBoog: x86_64
Versie 2.4.6
Vrijgeven: 80.el7.centos.1
Taak 2: Zoeken naar bestaande pakketten
Het is niet in alle gevallen dat u de exacte naam van een pakket weet. Soms is alles wat u zou weten een trefwoord dat aan het pakket is gekoppeld. In deze scenario's kunt u eenvoudig zoeken naar pakketten met dat trefwoord in de naam of beschrijving met behulp van de zoeken opdracht.
lekker zoekwoordDe onderstaande opdracht geeft een lijst met pakketten met het trefwoord "nginx" erin.
lekker zoeken nginxHieronder is een fragment van het resultaat van de opdracht:
verzameld-nginx.x86_64 :Nginx-plug-in voor verzameldmunin-nginx.noarch: NGINX-ondersteuning voor Munin-resourcebewaking
nextcloud-nginx.noarch : Nginx-integratie voor NextCloud
nginx-alle-modules.noarch: een metapakket dat alle beschikbare Nginx-modules installeert
Taak 3: Een lijst met pakketten opvragen
Er zijn veel pakketten die zijn geïnstalleerd of beschikbaar zijn voor installatie op de computer. In sommige gevallen wilt u een lijst van die pakketten zien om te weten welke pakketten beschikbaar zijn voor installatie.
Er zijn drie opties voor het aanbieden van pakketten die hieronder worden vermeld:
yum lijst geïnstalleerd: geeft een overzicht van de pakketten die op de machine zijn geïnstalleerd.
jammie lijst beschikbaar: geeft een overzicht van alle pakketten die beschikbaar zijn om te worden geïnstalleerd vanuit ingeschakelde repositories.
jammie lijst allemaal: geeft een overzicht van alle geïnstalleerde en beschikbare pakketten.
Taak 4: Pakketafhankelijkheden verkrijgen
Pakketten worden zelden geïnstalleerd als zelfstandige tools, ze hebben afhankelijkheden die essentieel zijn voor hun functionaliteiten. Met Yum kun je een lijst krijgen van de afhankelijkheden van een pakket met de deplist opdracht.
yum deplist pakketnaamAls voorbeeld haalt het onderstaande commando een lijst op met de afhankelijkheden van httpd:
jammie deplist httpdHieronder een fragment van het resultaat:
pakket: httpd.x86_64 2.4.6-80.el7.centos.1afhankelijkheid: /bin/sh
provider: bash.x86_64 4.2.46-30.el7
afhankelijkheid: /etc/mime.types
provider: mailcap.noarch 2.1.41-2.el7
afhankelijkheid: /usr/sbin/groupadd
provider: shadow-utils.x86_64 2:4.1.5.1-24.el7
Taak 6: Informatie verkrijgen over pakketgroepen
Via dit artikel hebben we naar pakketten gekeken. Op dit punt zouden pakketgroepen worden geïntroduceerd.
Pakketgroepen zijn verzamelingen van pakketten voor een gemeenschappelijk doel. Dus als u bijvoorbeeld de systeemtools van uw machine wilt instellen, hoeft u de pakketten niet apart te installeren. Je kunt ze allemaal tegelijk installeren als pakketgroep.
U kunt informatie over een pakketgroep krijgen met behulp van de groepsinfo commando en zet de groepsnaam tussen aanhalingstekens.
yum groepsinfo "groepsnaam"De onderstaande opdracht zou informatie over de pakketgroep "Emacs" ophalen.
yum groepsinfo "Emacs"Hier is de informatie:
Groep: EmacsGroeps-ID: emacs
Beschrijving: De uitbreidbare, aanpasbare teksteditor van GNU Emacs.
Verplichte pakketten:
=emacs
Optionele pakketten:
ctags-etags
emacs-auctex
emacs-gnuplot
emacs-nox
emacs-php-modus
Taak 7: Lijst van de beschikbare pakketgroepen
In de bovenstaande taak hebben we geprobeerd informatie te krijgen over het "Emacs" -pakket. Echter, met de groepslijst commando, kunt u een lijst met beschikbare pakketgroepen krijgen voor installatiedoeleinden.
jammie groepslijstHet bovenstaande commando geeft een lijst van de beschikbare pakketgroepen. Sommige pakketten worden echter niet weergegeven vanwege hun verborgen status. Om een lijst te krijgen van alle pakketgroepen inclusief de verborgen groepen, voegt u de verborgen commando zoals hieronder te zien is:
yum groepslijst verborgenPakketten installeren met YUM
We hebben gekeken hoe pakketten kunnen worden opgevraagd met Yum. Als Linux-systeembeheerder zou je meer doen dan pakketten opvragen, je zou ze installeren.
Taak 8: Pakketten installeren
Zodra je de naam hebt van het pakket dat je wilt installeren, kun je het installeren met de installeren opdracht.
yum install pakketnaamVoorbeeld:
yum installeer nginxTaak 9: Pakketten installeren vanaf .rpm-bestanden
Hoewel u de meeste pakketten vanuit de repository moet installeren, krijgt u in sommige gevallen *.rpm-bestanden om te installeren. Dit kan met behulp van de localinstall opdracht. De opdracht localinstall kan worden gebruikt om *.rpm-bestanden of ze zijn beschikbaar op de machine of in een externe repository die toegankelijk zijn via een link.
yum localinstall bestandsnaam.toerenTaak 10: Pakketten opnieuw installeren
Tijdens het werken met configuratiebestanden kunnen fouten optreden waardoor pakketten en hun configuratiebestanden in de war raken. De installeren commando kan het werk doen om de puinhoop te corrigeren. Als er echter een nieuwe versie van het pakket in de repository staat, is dat de versie die moet worden geïnstalleerd, wat niet is wat we willen.
Met de opnieuw installeren commando, kunnen we de huidige versie van pakketten opnieuw installeren, ongeacht de nieuwste versie die beschikbaar is in de repository.
yum pakketnaam opnieuw installerenTaak 11: Pakketgroepen installeren
Eerder hebben we gekeken naar pakketgroepen en hoe we deze kunnen opvragen. Nu zouden we zien hoe we ze kunnen installeren. Pakketgroepen kunnen worden geïnstalleerd met behulp van de groepsinstallatie commando en de naam van de pakketgroep tussen aanhalingstekens.
yum groupinstall “groepsnaam”Pakketten bijwerken met YUM
Uw pakketten up-to-date houden is de sleutel. Nieuwere versies van pakketten bevatten vaak beveiligingspatches, nieuwe functies, beëindigde functies enz. Het is dus essentieel om uw computer zo veel mogelijk up-to-date te houden.
Taak 12: Informatie verkrijgen over pakketupdates
Als Linux-systeembeheerder zouden updates zeer cruciaal zijn voor het onderhouden van het systeem. Daarom is het nodig om constant te controleren op pakketupdates. U kunt controleren op updates met de update informatie opdracht.
yum update-infoEr zijn veel mogelijke commandocombinaties die kunnen worden gebruikt met update informatie. We zouden echter alleen de lijst geïnstalleerd opdracht.
yum updateinfo lijst geïnstalleerdEen fragment van het resultaat is hieronder te zien:
FEDORA-EPEL-2017-6667e7ab29 bugfix epel-release-7-11.noarchusFEDORA-EPEL-2016-0cc27c9cac bugfix lz4-1.7.3-1.el7.x86_64
FEDORA-EPEL-2015-0977 Geen/Sec. novnc-0.5.1-2.el7.noarchus
Taak 13: Alle pakketten bijwerken
Het updaten van pakketten is net zo eenvoudig als het gebruik van de bijwerken opdracht. De ... gebruiken bijwerken commando alleen zou alle pakketten bijwerken, maar het toevoegen van de pakketnaam zou alleen het aangegeven pakket bijwerken.
jammie update : om alle pakketten in het besturingssysteem bij te werken
yum update httpd : om alleen het httpd-pakket bij te werken.
Terwijl de bijwerken commando zal updaten naar de nieuwste versie van het pakket, het zou verouderde bestanden achterlaten die de nieuwe versie niet meer nodig heeft.
Om de verouderde pakketten te verwijderen, gebruiken we de upgrade opdracht.
jammie upgrade : om alle pakketten in het besturingssysteem bij te werken en verouderde pakketten te verwijderen.
De upgrade commando is echter gevaarlijk, omdat het verouderde pakketten zou verwijderen, zelfs als je ze voor andere doeleinden gebruikt.
Taak 14: Pakketten downgraden
Hoewel het belangrijk is om de nieuwste pakketupdates bij te houden, kunnen updates fouten bevatten. Daarom kan in het geval dat een update bugs bevat, deze worden gedowngraded naar de vorige versie die stabiel was. Downgrades worden gedaan met de downgraden opdracht.
yum downgrade pakketnaamPakketten verwijderen met YUM
Als Linux-systeembeheerder moeten bronnen worden beheerd. Dus hoewel pakketten voor bepaalde doeleinden worden geïnstalleerd, moeten ze worden verwijderd wanneer ze niet meer nodig zijn.
Taak 15: Pakketten verwijderen
De verwijderen commando wordt gebruikt om pakketten te verwijderen. Voeg eenvoudig de naam van het te verwijderen pakket toe en het zou worden verwijderd.
yum verwijder pakketnaamTerwijl het bovenstaande commando pakketten zou verwijderen, zou het de afhankelijkheden achterlaten. Om de afhankelijkheden ook te verwijderen, de, automatisch verwijderen commando wordt gebruikt. Dit zou de afhankelijkheden, configuratiebestanden enz. verwijderen.
yum automatisch verwijderen pakketnaamTaak 15: Pakketgroepen verwijderen
Eerder hadden we het over het installeren van pakketgroepen. Het zou vermoeiend zijn om de pakketten afzonderlijk te verwijderen wanneer ze niet meer nodig zijn. Daarom verwijderen we de pakketgroep met de groepverwijderen opdracht.
yum groupverwijder “groepsnaam”Conclusie
De commando's die in dit artikel worden besproken, zijn slechts een kleine vertoning van de kracht van Yum. Er zijn veel andere taken die met YUM kunnen worden gedaan, die u kunt bekijken op de officiële RHEL-webpagina. De opdrachten die in dit artikel zijn besproken, zouden echter iedereen op weg moeten helpen met het uitvoeren van reguliere Linux-systeembeheertaken.