Uitgebreid pakketbeheer met yum-utils
Gepubliceerd: Donderdag 18 augustus 2011
Auteur: Koen Vervloesem
Gebruik je een Linux-distributie met Yum-repository's, dan krijg je heel wat extra mogelijkheden voor pakketbeheer als je het pakket yum-utils installeert.
Het pakket yum-utils bevat meer dan een dozijn handige hulpprogramma's voor de pakketbeheerder Yum. Met het programma debuginfo-install installeer je alle rpm-pakketten die nodig zijn voor het debuggen van een gegeven pakket en met het programma yum-builddep installeer je alle rpm-pakketten die nodig zijn voor het compileren van een pakket. Met yumdownloader download je specifieke rpm-pakketten van hun repository's. En het programma yum-complete-transaction probeert de laatste onvolledige of afgebroken Yum-transactie af te werken. Zijn er meerdere onafgewerkte transacties, dan kun je het programma meerdere keren na elkaar uitvoeren om ze één voor één af te werken.
Dependency's
Met het programma package-cleanup onderzoek je dependency-problemen. Dat kan eenvoudig met het volgende commando:
$ package-cleanup --problems
Dit toont alle gevonden problemen, waarna je deze kunt oplossen door de juiste pakketten te installeren of te upgraden. Met de optie --orphans krijg je alle pakketten te zien die in geen enkele Yum-repository te vinden zijn en met --leaves pakketten die van geen enkel ander rpm-pakket een dependency zijn. Verder kan het programma ook oudere kernels verwijderen.
Repository's
Met repotrack download je een pakket en al zijn dependency's. Met reposync synchroniseer je een lokale directory met een remote Yum-repository. Het programma downloadt dan alle Yum-pakketten van de repository die je nog niet lokaal hebt staan. Met repoquery kun je allerlei informatie uit een Yum-repository opvragen. Interessant is vooral de optie -l die de bestanden toont die door een gegeven pakket geïnstalleerd worden.
Met repomanage beheer je een lokale directory met rpm-pakketten, en repodiff toont je de verschillen tussen twee repository's. Standaard bekijkt dit laatste programma alleen bronpakketten, dus voor de x86_64-architectuur kun je het beste de optie -a x86_64,athlon,i686,i586,i486,i386,noarch toevoegen. Repoclosure leest een lijst repository's in en controleert de dependency's van alle pakketten in deze repository's. Als resultaat krijg je een lijst van de pakketten met hiaten in hun dependency's te zien. Met repo-rss genereer je een RSS-feed met de nieuwste pakketversies in een repository.
Het programma repo-graph genereert een graphic met dependency's in dot-formaat (van het programma Graphviz). Dit kun je dan omzetten naar een afbeelding. Een voorbeeld (het tweede commando duurt wel heel lang):
$ repo-graph > dependencies.dot
$ dot -Tpng -o dependencies.png dependencies.dot
Veel programma's in de collectie yum-utils ondersteunen allerlei opties, waaronder ook heel wat opties van het programma Yum. Kijk hiervoor in de man-pagina van de respectievelijke tools of voer ze uit met de optie --help.
De rubriek Tips & Tools biedt praktische informatie die IT-professionals in hun dagelijkse werk kunnen toepassen.
