Difference between revisions of "Packages"
Jump to navigation
Jump to search
m (Text replacement - "<abbr title="[^"]+">(.*)<\/abbr>" to "$1") |
(adds info about removing headers) |
||
Line 18: | Line 18: | ||
You can also use the web interface at http://packages.ubuntu.com/ | You can also use the web interface at http://packages.ubuntu.com/ | ||
+ | === Remove old kernels === | ||
+ | |||
+ | Kernels take up a lot of disk space. And once you've got a new one, the old ones really don't serve a purpose. <code>autoremove</code> is supposed to remove old kernels (keeping the currently running kernel plus the prior one or two for backups). | ||
+ | <source lang="bash"> | ||
+ | sudo apt-get autoremove | ||
+ | </source> | ||
+ | But sometimes old kernels are left lying around. Maybe a lot of them. I'm not sure why, because normally you would only be left with 2 or 3 kernels if you run autoremove (perhaps this is because you have old virtualboxes?). | ||
+ | |||
+ | The post-install script <code>/etc/kernel/postinst.d/apt-auto-removal</code> is responsible for keeping track of what to preserve. And it writes a manifest to <code>/etc/apt/apt.conf.d/01autoremove-kernels</code>. | ||
+ | <source lang="bash"> | ||
+ | # run the post-install script | ||
+ | sudo /etc/kernel/postinst.d/apt-auto-removal | ||
+ | # see what's reserved | ||
+ | cat /etc/apt/apt.conf.d/01autoremove-kernels | ||
+ | </source> | ||
+ | |||
+ | Let's use <code>dpkg</code> to see all the kernels that are currently installed. Note: there are other related packages like headers (<code>linux-headers-*</code>), but those are dependencies of the kernel images, and will be removed when we remove the images so we don't need to even look at them. | ||
+ | <source lang="bash"> | ||
+ | # the last pipe uses a simple extended grep to take the meta package 'linux-image-generic' out of our list | ||
+ | dpkg -l linux-image* | awk '/^ii/ { print $2 }' | grep -e [0-9] | ||
+ | # more complete perl-compatible regex to highlight the kernel release number | ||
+ | dpkg -l linux-image* | awk '/^ii/ { print $2 }' | grep -P '[0-9]+\.[0-9]+\.[0-9\-]+[0-9]+' | ||
+ | </source> | ||
+ | Manually compose an <code>apt-get purge</code> invocation of the kernels you don't want (keep the running kernel and the prior as a fallback). | ||
+ | <source lang="bash"> | ||
+ | sudo apt-get -y purge linux-image-3.13.0-44-generic linux-image-3.13.0-46-generic linux-image-3.13.0-48-generic linux-image-3.13.0-55-generic linux-image-3.13.0-71-generic linux-image-3.13.0-74-generic | ||
+ | </source> | ||
== RedHat and derivatives == | == RedHat and derivatives == | ||
There is [[Yum]] package manager for RedHat and derivatives. | There is [[Yum]] package manager for RedHat and derivatives. | ||
+ | |||
+ | == See Also == | ||
+ | [[Regular Expressions]] | ||
[[Category:System Administration]] | [[Category:System Administration]] |