Zoeken op website

Hoe apt en apt-cache te gebruiken in Debian-systemen


Als u ooit Debian of op Debian gebaseerde distributies zoals Ubuntu of Linux Mint heeft gebruikt, is de kans groot dat u het apt-pakket heeft gebruikt systeem om software te installeren of verwijderen.

Zelfs als u nog nooit met de opdrachtregel heeft gewerkt, is het onderliggende systeem dat de GUI van uw pakketbeheerder aanstuurt het APT-systeem.

Vandaag gaan we een aantal bekende commando's bekijken, ingaan op enkele minder of vaker gebruikte apt commando's, en wat licht werpen op dit briljant ontworpen systeem.

Wat is APT?

APT staat voor Advanced Package Tool, dat voor het eerst te zien was in Debian 2.1 in 1999. In wezen is APT een beheersysteem voor dpkg-pakketten, zoals blijkt uit de extensie *.deb.

Het is niet alleen ontworpen om pakketten en updates te beheren, maar ook om de vele afhankelijkheidsproblemen op te lossen bij het installeren van bepaalde pakketten.

Zoals iedereen die in die pioniersdagen Linux gebruikte, waren we maar al te bekend met de term “dependency hell” wanneer we iets probeerden te compileren vanuit de broncode, of zelfs wanneer we te maken hadden met met veel van de individuele RPM-bestanden van Red Hat.

APT loste al deze afhankelijkheidsproblemen automatisch op, waardoor het installeren van elk pakket, ongeacht de grootte of het aantal afhankelijkheden, een opdracht van één regel was.

Voor degenen onder ons die urenlang aan deze taken hebben gewerkt: dit was een van die “zon die de wolken scheidt”-momenten in ons Linux-leven!

APT-configuratie begrijpen

Het bestand /etc/apt/sources.list is een configuratiebestand dat de opslagplaatsen specificeert waaruit de pakketbeheerder (apt) softwarepakketten ophaalt en installeert. Dit bestand bevat een lijst met URL's (Uniform Resource Locators) voor de repository's, samen met details zoals de distributiecodenaam en componenten.

Hier is een voorbeeld van hoe een /etc/apt/sources.list bestand eruit zou kunnen zien:

sudo cat /etc/apt/sources.list

Zoals je waarschijnlijk uit mijn /etc/apt/sources.list bestand kunt afleiden, gebruik ik Ubuntu 22.04 (ammy Jellyfish). Ik gebruik ook drie repositories:

  • Hoofdopslagplaats
  • Universe-opslagplaats
  • Ubuntu-beveiligingsrepository

De syntaxis van het bestand /etc/apt/sources.list is relatief eenvoudig:

deb (url) release repository

De begeleidende regel is de opslagplaats van het bronbestand. Het volgt een soortgelijk formaat:

deb-src (url) release repository

Dit bestand is vrijwel het enige dat u ooit zult moeten bewerken met APT, en de kans is groot dat de standaardinstellingen u goed van pas zullen komen en dat u het helemaal nooit hoeft te bewerken.

Er zijn echter momenten waarop u opslagplaatsen van derden wilt toevoegen. U voert ze eenvoudigweg in met hetzelfde formaat en voert vervolgens de opdracht update uit:

sudo apt update

OPMERKING: wees zeer voorzichtig met het toevoegen van opslagplaatsen van derden!!! Voeg alleen toe vanuit vertrouwde en gerenommeerde bronnen. Het toevoegen van onbetrouwbare repository's of het mixen van releases kan uw systeem ernstig in de war brengen!

We hebben ons /etc/apt/sources.list bestand bekeken en weten nu hoe we het moeten bijwerken, dus wat nu? Laten we enkele pakketten installeren. Laten we zeggen dat we een server gebruiken en WordPress willen installeren.

Laten we eerst naar het pakket zoeken:

sudo apt-cache search wordpress

Wat is APT-Cache?

Apt-Cache is een opdracht die eenvoudigweg de apt-cache opvraagt. We hebben de zoekparameter eraan doorgegeven en aangegeven dat we ernaar APT willen zoeken. Zoals we hierboven kunnen zien, leverde het zoeken naar “wordpress” verschillende pakketten op die verband hielden met de zoekreeks, met een korte beschrijving van elk pakket.

Hieruit zien we het hoofdpakket van “wordpress – weblogmanager”, en we willen het installeren. Maar zou het niet leuk zijn om te zien welke afhankelijkheden er precies mee worden geïnstalleerd? apt kan ons dat ook vertellen:

sudo apt-cache showpkg wordpress

Dit laat ons zien dat wordpress 5.8.3 de versie is die moet worden geïnstalleerd, de repository van waaruit het moet worden geïnstalleerd, omgekeerde afhankelijkheden en andere pakketten waarvan het afhankelijk is, plus hun versienummers.

OPMERKING: (null betekent dat de versie niet is gedefinieerd en dat de nieuwste versie in de repository wordt geïnstalleerd.)

Nu het eigenlijke installatiecommando:

sudo apt install wordpress

Dat commando installeert WordPress-5.8.3 en alle afhankelijkheden die momenteel niet zijn geïnstalleerd.

Dat is natuurlijk niet alles wat u kunt doen met APT. Enkele andere nuttige apt-opdrachten zijn als volgt:

OPMERKING: het is een goede gewoonte om een apt-update uit te voeren voordat u een reeks apt-opdrachten uitvoert. Onthoud dat apt update uw /etc/apt/sources.list bestand parseert en de database ervan bijwerkt.

Het verwijderen van een pakket is net zo eenvoudig als het installeren van het pakket:

sudo apt remove wordpress

Helaas laat de opdracht apt remove alle configuratiebestanden intact. Om deze ook te verwijderen, kun je apt purge gebruiken:

sudo apt purge wordpress

Zo nu en dan kun je een situatie tegenkomen waarin er sprake is van verbroken afhankelijkheden. Dit gebeurt meestal als u de apt update niet correct uitvoert, waardoor de database wordt verminkt. Gelukkig is apt een oplossing hiervoor:

sudo apt –f install

Omdat apt alle *.deb-bestanden van de repository rechtstreeks naar uw computer downloadt (ze opslaat in /var/cache/apt/archives ) wilt u deze mogelijk periodiek verwijderen om schijfruimte vrij te maken:

sudo apt clean

Dit is slechts een klein deel van apt, apt-cache, en enkele van de nuttige opdrachten ervan. Er valt nog veel te leren en enkele meer geavanceerde opdrachten te verkennen in het onderstaande artikel.

Kijk zoals altijd naar de manpagina's voor nog meer opties. Zodra iemand bekend raakt met apt, is het mogelijk geweldige Cron-scripts te schrijven om het systeem up-to-date te houden.