Package management (Linux): verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
Regel 15: Regel 15:
 
Het is de afwezigheid van dependency resolution waarom Arch Linux doorgaans ongeschikt wordt geacht voor zakelijk gebruik: Je hebt geen garantie dat de dingen die je installeert, niet met elkaar conflicteren.  
 
Het is de afwezigheid van dependency resolution waarom Arch Linux doorgaans ongeschikt wordt geacht voor zakelijk gebruik: Je hebt geen garantie dat de dingen die je installeert, niet met elkaar conflicteren.  
  
Dependency resolution speelt in het bijzonder een rol wanneer er gebruik wordt gemaakt van ''dynamically linked libraries'' itt. ''statically linked libraries'' en de daaruitvloeiende noodzaak om verschillende versies van libraries te beheren. Ziehier de geboorte van [https://en.wikipedia.org/wiki/DLL_Hell DLL Hell] op Microsoft Windows.
+
Dependency resolution speelt in het bijzonder een rol wanneer er gebruik wordt gemaakt van ''shared libraries'', aka. ''dynamically linked libraries'' itt. ''statically linked libraries'' en de daaruitvloeiende noodzaak om verschillende versies van libraries te beheren. Ziehier de geboorte van [https://en.wikipedia.org/wiki/DLL_Hell DLL Hell] op Microsoft Windows.
 
 
  
 
== Packages ==
 
== Packages ==

Versie van 27 jan 2021 11:44

Package management heeft betrekking op installatie, configuratie, upgrading en verwijdering van programmatuur op een computer op een consistente manier.

Van oorsprong werd software op Linux en Unix vanaf broncode gecompileerd en geïnstalleerd. Naarmate deze platformen populairder werden, nam de behoefte toe aan een geautomatiseerde manier om software te beheren. Dit nam de vorm aan van wat we nu kennen als package management. Debian en afgeleide distributies zoals Unbuntu en Linux mint, gebruiken Apt (Advanced Packaging Tool) voor package management. Arch Linux gebruikt Pacman, FreeBSD gebruikt Portage, etc. Dit artikel gaat vooral over Apt op Linux Mint.

Wat een package manager zoal doet:

  • Download, installatie, bijwerken, configureren en verwijderen van programmatuur
  • Dependency resolution
  • Controleren op beschikbaarheid van updates.

Dependency Resolution

Wellicht dat dependency resolution zowaar de belangrijkste functie van een package manager is. Als er bv. een nieuwe versie van Ubuntu uitkomt, heb je standaard de beschikking tot een hoop software die precies bij die versie van Ubuntu past. Of andersom: Een tijdje geleden merkte ik op dat ik op een computer de actuele versie van PHP niet kon installeren. Al snel bleek dat het OS (Ubuntu Server of Linux Mint) te oud was voor de gewenste versie van PHP, en dat het tijd was om het hele OS te upgraden.

Het is de afwezigheid van dependency resolution waarom Arch Linux doorgaans ongeschikt wordt geacht voor zakelijk gebruik: Je hebt geen garantie dat de dingen die je installeert, niet met elkaar conflicteren.

Dependency resolution speelt in het bijzonder een rol wanneer er gebruik wordt gemaakt van shared libraries, aka. dynamically linked libraries itt. statically linked libraries en de daaruitvloeiende noodzaak om verschillende versies van libraries te beheren. Ziehier de geboorte van DLL Hell op Microsoft Windows.

Packages

Een package is basically een archiefbestand met installatiebestanden (dus de software en bijbehorende bestanden die geïnstalleerd moeten worden) en metadata.

Wat de metadata zoal inhoud:

  • Naam van het software-pakket
  • Beschrijving
  • Versienummer
  • Leverancier
  • Checksum
  • Lijst van dependencies.

Zie ook

Bronnen