2

I'm using ppa:graphics-drivers/ppa to install nvidia drivers. If you'll go to "Overview of published packages" in its description (and filter by one ubuntu release for convinience), you will see packages like nvidia-graphics-drivers-***, where *** is a number.

So far so good. However, if you add this ppa to your system, none of that packages will appear (apt will say "no such package"), but some other ones (like nvidia-dkms-***, nvidia-utils-*** and so on) will.

How is that implemented? Is it implemented on PPA side (it show one to us but many to apt) or on apt/dpkg side (there is something special about package itself)?

3

This is one case where there are large source packages from which multiple binary packages are built.

Source packages are just archives of all source code files together with whatever else is needed to compile the actual binaries that can be installed. Launchpad performs these builds for the developers, who just have to upload the sources and configure it accordingly. Sometimes it makes sense to have a large code base containing everything related to a project, even if the result is going to be split up into several smaller packages that can be installed individually or (partially) depend on each other.

Have a look at the View package details page of the PPA (link is e.g. in the top right corner).

Here you see a list of all source packages, but each entry is expandable when you click on it and reveals more detailed information, including a section Built packages that lists all the binary packages built from this source. These package names are what you can install with apt. Below that is also a list with download links to these .deb package files (but you should always install with apt, not download them manually).

For example, the single source package nvidia-graphics-drivers-430 - 430.14-0ubuntu0~gpu18.04.1 builds all these binary packages :

libnvidia-cfg1-430
libnvidia-common-430
libnvidia-compute-430
libnvidia-decode-430
libnvidia-encode-430
libnvidia-fbc1-430
libnvidia-gl-430
libnvidia-ifr1-430
nvidia-compute-utils-430
nvidia-dkms-430
nvidia-driver-430
nvidia-headless-430
nvidia-headless-no-dkms-430
nvidia-kernel-common-430
nvidia-kernel-source-430
nvidia-utils-430
xserver-xorg-video-nvidia-430

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.