P a c k a g e    M a n a g e m e n t

  1. Introduction & Definition

    Package Management Tools enable users to install, remove, list and manage additional programs that are not "canonical" (at a given time), but still registered with the distribution as available for download. A prominent example in the linux world is dpkg that manages .deb packages - archives for installing programs targeting a debian environment.

    The great majority of those tools are command line tools - see also shell -, which fits well into the Unix tradition. However, Graphical User Interface (GUI) are also available.

  2. Package Management Tools

    1. For MacOSX

      1. Command line tools

        Program / command Description /link Link
        MacPorts / port

        MacPorts is an older package management program. 2014 until 2019, I used it extensively to tailor the tool landscape on my Apple computer. For this reason, I felt compelled to write a detailed documentation about it.

        MacPorts_EN.html

        Homebrew / brew

        I became aware of Homebrew in 2019 after having much trouble with MacPorts due to broken links and malfunctioning system tools after package installation (most probably because system programs / libraries had been inadvertently replaced in the process).
        The correct handling of dependencies for user-installed packages requires much more caution, as many users are aware of (I must confess that I personally did not bring every time the required attention and, in some cases, I add to pay a high price).

        One of the top priority of homebrew is to avoid messing with the operating system (libraries). For this reason also, installing packages does not require administrator rights - unlike Macports.

        In the last years, homebrew definitely became the number one package manager for MacOS, generating a positive feed loop: More packages attract more users.

        I did not write pages about Homebrew, but the developers site is so well structured: One can rapidly find anything one might need.

        Wikipedia: Homebrew
        brew developers site

        Tab. Command Line Tools for package management in MacOS-Systems

    2. Tools for Linux

      There is a confusing number of package management programs in the Linux world. Why such a profusion of tools apparently performing identical tasks? The answer to this question does not lie in the tools themselves (or their differences), but rather has to do with the development processes in the Unix-Linux world and its many flavors. Multipolarity still shaped by the same circumstances and intentions: development teams despite different agendas and perspectives eventually end up with similar tools, analog to convergent evolution.

      From my perspective, there is no point in extensively reviewing tools in the market. I will mention a few tools I came in contact with - that happen to be the most widespread to date. I may extend the list, if the tool landscape evolves significantly.

      1. Command line tools

        Program / Command Short description Internal links
        dpkg

        debian packaging (system):
        Basic Command Line Tool working on debian (.deb) install archives: install, remove, check consistency, update, list and show contents.
        On Ubuntu system, the program is stored in /usr/bin/dpkg.

        dpkg

        apt-get

        apt-get performs similar tasks as dpkg: install, remove, update packages.
        On Ubuntu system, the program is stored in /usr/bin/apt-get.

        apt-get

        apt-cache

        Search for APT packages and their contents.
        On Ubuntu system, the program is stored in /usr/bin/apt-cache.

        apt-cache

        apt

        apt is similar to apt-get - but a different tool, developed later. According to its developers, it targets "normal" Linux users, defining "a higher level interface" - less bound to "gory details" of tasks (than apt-get). Currently, it seems to be the tool of choice in the ubuntu world.
        On Ubuntu system, the program is stored in /usr/bin/apt.

        apt

        snap

        On Ubuntu system, the program is stored in /usr/bin/snap.

        snap

        Tab. 1: Command line tools for Linux package management

      2. GUI tools

        Name Short description Internal links
        discover

        Easy to use and useful GUI for package management that is part of the canonical ubuntu distribution.

        discover

        muon

        Extended package management delivered in the Kubuntu distribution.

        muon

        synaptic

        Graphical Interface of apt (to be installed).

        synaptic

        Tab. 2: Graphical Tools for Linux package management