Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Find out what caused the given package to installed,
- # i.e. what other package pulled it in as a dependency.
- # Usage: ./WhatInstalls.sh package-name
- set -e
- depending_pkgs_file="$(mktemp)"
- recommending_pkgs_file="$(mktemp)"
- installed_pkgs_file="$(mktemp)"
- apt-rdepends -r "$1" | grep ':' | cut -d ' ' -f 5 | sort -u > "$depending_pkgs_file"
- apt-rdepends -r --follow='Depends,Recommends' "$1" | grep ':' | cut -d ' ' -f 5 | sort -u > "$recommending_pkgs_file"
- dpkg --get-selections | cut -f 1 | sort -u > "$installed_pkgs_file"
- # Filter out packages that were installed as a dependency for another package
- depending_pkgs_filtered="$(comm -12 "$depending_pkgs_file" "$installed_pkgs_file")"
- recommending_pkgs_prefiltered="$(comm -12 "$recommending_pkgs_file" "$installed_pkgs_file")"
- # Filter out strictly dependent packages from recommending pkgs list
- recommending_pkgs_filtered="$(echo "$recommending_pkgs_prefiltered" | comm -23 - "$depending_pkgs_file")"
- [ -n "$depending_pkgs_filtered" ] && echo "### The following manually installed packages depend on $1: ###
- $depending_pkgs_filtered"
- [ -n "$recommending_pkgs_filtered" ] && echo "### The following manually installed packages pull it in as a recommendation: ###
- $recommending_pkgs_filtered"
- rm "$depending_pkgs_file" "$recommending_pkgs_file" "$installed_pkgs_file"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement