11

Is there any command that prints only the name of the packages that apt-get autoremove selects? I'm creating a script that updates the kernel, removes the old kernel and the unnecessary packages (apt-get autoremove), but I want to print on the screen the list of packages that will be removed by apt-get autoremove, how can I do this?

  • You should just be able to get it to run sudo apt-get autoremove -y and it should autoremove anything needed to be removed... – user364819 Jul 24 '15 at 20:33
  • Try reading here, [This may be of help.][1] [1]: serverfault.com/questions/433250/… – Doug Jul 24 '15 at 20:35
  • To get the list of packages without removing them actually you can do sudo apt-get --dry-run autoremove – heemayl Jul 24 '15 at 20:36
  • I just want to get the name of the packages, not the entire output of the command.... – Afonso Sousa Jul 24 '15 at 20:53
12

Since as per your comment you want to list only the packages that are going to be removed:

apt-get --dry-run autoremove | grep -Po '^Remv \K[^ ]+'

grep command breakdown:

  • -P: Interprets the given pattern as a PCRE (Perl Compatible Regular Expression) pattern
  • -o: Prints only the matched string instead of the whole line

Regex breakdown:

  • ^: matches the start of the line
  • Remv: matches a Remv string
  • \K: excludes the previously matched substring from the matched string
  • [^ ]+: matches one or more characters not
$ apt-get --dry-run autoremove | grep -Po 'Remv \K[^ ]+'
libapache2-mod-php5
php5-readline
php5-cli
libonig2
libqdbm14
php5-json
php5-common 
  • 1
    @GeekLynxAfonso, you don't need to use sudowith --dry-run option. – jarno Dec 23 '15 at 10:35
  • @jarno Makes sense, the fact that it was probably not needed didn't occur to me. Thanks – kos Dec 23 '15 at 10:41
2

Actually you only need to filter the output of your

sudo apt-get autoremove --dry-run 

command.

For instance you can do it with

sudo apt-get autoremove --dry-run  | head -n 5 | tail -n 1
  • Your command works too!! But I prefer the kos's command... But thanks in same!! :) – Afonso Sousa Jul 25 '15 at 14:23

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.