The installation of applications in Deepin through the terminal is very easy. However, we do not always know the dependencies that will be added to the system when installing said application. Sometimes this is important because some unwanted components could be installed if we do not know what exactly will be installed. Other times it is simply the curiosity to know if the system is ready or not to install the package we have in mind.
It is very likely that if you are not a newbie you already know these things, but just in case, we tell you that when you install a software package in any type of GNU Linux distribution, sometimes this package needs other packages to work the way for which it was designed. These additional packages are called dependencies, and if they are not already installed on the system, then they are usually installed automatically together with the package you intend to install. Some packages depend on others in Linux, it is something normal in the way that a GNU Linux system works, Although for years some people tend to name this fact as «Dependency-Hell»(Hell of Dependencies). Now, how do you know the specific dependencies of a package?
FINDING THE DEPENDENCES WITH APT SHOW
You can use the command apt show to display the specific details regarding dependencies and other information of a package. Some of this information is the dependencies and you can see it in the line that begins with «depends». You would run it as follows in a terminal:
sudo apt show nombre_del_paquete
As an example you can see below what it shows regarding the application deepin-mail in the shot below:
As you can see deepin-mail depends on the libqat3-runtime libraries Y liblockfile1. But beware; Something happens here! any dependency packages shown as command output apt show they can also depend on some other package and the chain could continue at various levels. Fortunately, the package manager of APT takes care of this smartly by automatically installing all missing dependencies (most of the time), so you don't have to worry much about it. It is also important to note that sometimes apart from the return shown above, an additional line will also appear called: «Recommended»(Recommended).
Recommended packages are not direct dependencies on the package, but allow additional features.
Recommended packages are also installed by default and if you want to explicitly prohibit the installation of the recommended package, use the flag -no-install-recommended thus:
sudo apt install –no-install-recommends nombre_del_paquete
FINDING DEPENDENCES WITH APT CACHE
Another option would be to use the command apt cache. Contrary to command apt show above which shows a greater amount of information related to the package in question and can be useful in many circumstances depending (and not pun intended) on what you are trying to do, you could use instead apt cache for more concise information. In this case the command to use would be:
apt-cache depends nombre_del_paquete
See result of the above command used again the application deepin-mail as an example:
FIND DEPENDENCES WITH DPKG
The two ways shown above to find dependencies work perfectly in packages found in Deepin's repositories, however in some cases you will also want to know the dependencies of packages that you have previously downloaded as it is in the case of packages DEB. For these cases you can use the command DPKG as follows:
dpkg -I ruta/al/fichero/nombre_del_fichero.deb
In the example above you can see the result of that command in the application Tixati, which I use to download files of the type .torrent from the internet. As you can see, everything related to dependencies is indicated in the return of the command suggested with DPKG.
If you want to know even more details about dependencies, for example; If you want to know the dependencies of other dependencies, you can find out by installing a tool called apt-rdepends This application is not normally installed in Deepin so you must install it manually using:
sudo apt install apt-rdepends
The tool apt-rdepends now it will allow you to see dependencies of other dependencies, and you can use it in the following way:
apt-rdepends -r nombre_del_paquete
For example if you try to find the dependencies of the dependency libqapt3-runtime which is one of the package dependencies deepin-mail Using the following command you will see a lot of information about additional dependencies:
apt-rdepends -r libqapt3-runtime
We hope the information is useful to you and if you have questions or doubts, just leave us a comment below and we will try to help you.