Ubuntu apt-cache policy can be used to find the sources of a package and their order. This can be helpful in case we are downloading/installing a package from a custom repository. Here are some examples on Ubuntu Linux.
To check where will docker-engine be installed from:
$ apt-cache policy docker-engine
docker-engine:
  Installed: 1.9.1-0~trusty
  Candidate: 1.10.0-0~trusty
  Version table:
     1.10.0-0~trusty 0
        500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages
 *** 1.9.1-0~trusty 0
        500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages
        100 /var/lib/dpkg/status
     1.9.0-0~trusty 0
        500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages
...
...
To check where will nodejs be installed from:
$ apt-cache policy nodejs
nodejs:
  Installed: 5.3.0-1nodesource1~trusty1
  Candidate: 5.5.0-1nodesource1~trusty1
  Version table:
     5.5.0-1nodesource1~trusty1 0
        500 https://deb.nodesource.com/node_5.x/ trusty/main amd64 Packages
 *** 5.3.0-1nodesource1~trusty1 0
        100 /var/lib/dpkg/status
     0.10.25~dfsg2-2ubuntu1 0
        500 http://us-west-1.ec2.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
Note that here nodejs is getting installed from https://deb.nodesource.com/node_5.x/ instead of ubuntu default location.
