Ade Malsasa Akbar contact
Senior author, Open Source enthusiast.
Sunday, December 20, 2020 at 16:28

Here’s a simple analysis on what packages will be downloaded and installed by a special option named ‘Install Multimedia Codecs’ on Mint 20 Ulyana all editions. With this analysis I hope you can see what software licenses you are accepting, including the nonfree ones, and whether it is a Digital Restrictions Management (DRM) enters your computing. This analysis requires you to understand basic Debian’s package management system which is the basic of Mint software distribution especially the concepts of package dependency. Don’t worry I will explain them briefly for you so you can grasp the table clearly. I wish you enjoy discussion below.
Subscribe to UbuntuBuzz Telegram Channel to get article updates.

Package Name

Function

License (Location)

cabextract,

Microsoft Cabinet file unpacker

Free

(universe)

gstreamer1.0-libav,

Play 90+ multimedia formats (AVI, MPEG, OGG, Matroska, ASF, ...)

Free

(universe)

gstreamer1.0-plugins-bad,

GStreamer Bad Plug-ins is a set of plug-ins that aren't up to par compared to the rest.

Free

(universe)

gstreamer1.0-plugins-ugly,

This is a set of good-quality plug-ins that might pose distribution problems.

Free

(universe)

gstreamer1.0-vaapi,

allow hardware accelerated video

Free

(universe)

libavcodec-extra,

FFmpeg library with extra codecs (FFmpeg library with additional de/encoders for audio/video codecs)

Free

(universe)

libdvdcss2,

To allow applications to access some of the more advanced features of the DVD format

Free

(import)

libdvdnav4,

Enables advanced features of DVD like menus and navigation.

Free

(universe)

libdvdread7,

To read DVDs.

Free

(universe)

libhal1-flash,

To allow playback of Flash DRM content.

Free

(universe)

unrar,

Unarchiver for .rar files (non-free version).

Nonfree

(multiverse)

unshield

Extracts CAB files from InstallShield installers.

Free

(universe)


Discussion

 

From table above, we know that among 12 packages, there are 11 which are free software, and one is nonfree software. We know that all packages are located in universe room repository, except two, which one in import room, and one in multiverse room.

Conclusion

 

By installing 'Install Multimedia Codecs' (mint-meta-codecs) one will install mostly free software and at least one nonfree software in their computer.


About Software Distribution


All GNU/Linux distros are software distribution. Meaning, every distro is a combination of redistributed software by a party taken from some other parties which is distributed to you under a new name. So to speak, Debian and Ubuntu and Mint are software distribution. By using one, in your computing you get Firefox, LibreOffice, VLC, and many more rich set of software packages. Software distributed to you in a form that is called package. As a distro has roughly 10000 software or more, so there are roughly 10000 packages, distributed to you. When we say package, (mostly) we mean package. And vice versa, when we say software, (mostly) we mean package. This wealth and richness of software is a challenge. To make this distribution easy for both parties, the distributor and the user, then humans created a system called package management system. For Debian it is apt, for Red Hat it is dnf, for SUSE it is zypper, and so on. As GNU/Linux Mint is based on Ubuntu based on Debian, then it means simply Mint users use apt. In a package management system, there are 4 things, namely package, package format, repository, and package manager. So when we talk about Mint, a Mint user deals with thousands of packages distributed by Linux Mint Project, in deb format, in Mint’s repository, using apt package manager. That’s a summary of software distribution.


About Dependency and Meta Package


Every software depends on other software. That’s how computing works. So every package depends on other package in the talk of GNU/Linux software distribution. This means for example package firefox depends on other package, in certain levels, in certain varieties, forming a chain of dependencies. There are packages which the dependencies are short (e.g. < 10 packages), and there are also packages which the dependencies are long (e.g. > 100 packages). Example for the former is Geany, while the latter is KDE. Dependencies are hard. To make it easy, as mentioned, humans created package management system. That is the function of apt to solve dependencies automatically for the user. Talking about other distros, dnf in Red Hat and zypper in SUSE plays the same role as apt in Debian.


There are thousands of packages distributed to users. However, not all of them contain software. Some contain only information of other packages. In other words, there are two types of packages, those which contain software, and those that links to other packages. The latter is called meta package. When you install a meta package, you install multiple packages linked by it. There are many kinds of meta package, such as, here I give you three examples: meta package to install full desktop environment, meta package to install full multimedia support, and meta package to install full graphic editing suite. The second example here is exactly what mint-meta-codecs is. That is the real thing installed when you click Install Multimedia Codecs on GNU/Linux Mint.


About Repository


There are thousands of packages distributed to users stored in a place on the internet. That place is called repository. Speaking about Mint, thousands of packages are organized into “places” in the repository. Some located in a place, some others located in other place. Similar to a building, in Mint repository there are 4 stories, and every story has 4 rooms, so there are 16 (4x4) places in it. Here’s the explanation:


1st story: ulyana

     contains four rooms: main, restricted, universe, multiverse

2nd story: ulyana-updates

     contains four rooms: main, restricted, universe, multiverse

3rd story: ulyana-security

     contains four rooms: main, restricted, universe, multiverse

4th story: ulyana-backports

     contains four rooms: main, restricted, universe, multiverse


Each GNU/Linux Mint version has its own repository. These are for ulyana version (20 LTS). So, for other version, change the name ulyana above with tara (19 LTS) or sarah (18 LTS) or others. To understand repository organization, let’s see packages locations.

  • First example is firefox and libreoffice-writer, located in 1st story, in the main room.
  • Second example is nvidia-driver, 1st story in the restricted room.
  • Third example is vlc, 1st story, in the universe room.
  • Fourth example is unrar, 1st story in the multiverse room.


These are the basic understanding of GNU/Linux Mint package repository. I wish this helps.


This article is licensed under CC BY-SA 3.0.