1 # What packages use the most disk space?
   2 dpkg-query -W -f='${Installed-Size;10}\t${Package}\n' | sort -n
   3 
   4 # Reinstall conf files
   5 sudo dpkg -i --force-confmiss /var/cache/apt/archives/whatever*deb
   6 sudo aptitude install -o 'Dpkg::Options::=--force-confmiss' whatever # Doesn't work?
   7 
   8 # Remove old kernels
   9 # from: http://chr4.org/blog/2013/08/04/apt-get-cleanup-commands/
  10 apt-get purge $(dpkg --list |egrep 'linux-image-[0-9]' |awk '{print $3,$2}' |sort -nr |tail -n +2 |grep -v $(uname -r) |awk '{ print $2}')
  11 
  12 
  13 # List packages that are uninstalled, but configuration remains
  14 dpkg --list |grep '^rc' |awk '{print $2}'
  15 # Remove those packages
  16 apt-get purge -y $(dpkg --list |grep '^rc' |awk '{print $2}')
  17 apt-get autoremove -y # Remove dependencies no longer required
  18 
  19 # Save automatically installed packages
  20 aptitude search '?installed?not(?automatic)' -F %p > packages.txt
  21 # or
  22 apt-mark showmanual > packages.txt
  23 # ...then install those packages...
  24 aptitude install `cat packages.txt`
  25 # This may contain too many packages, so instead run:
  26 cat packages.txt | xargs -n 100 aptitude install --schedule-only; aptitude

Building packages

If using dpkg-buildpackage to build a customized package (one for which you've not made a formal patch), you may get an error that looks like:

dpkg-source: info: using source format `3.0 (quilt)'
dpkg-source: info: building cairo using existing ./cairo_1.13.0~20140204.orig.tar.xz
dpkg-source: info: local changes detected, the modified files are:
 cairo-1.13.0~20140204/src/cairo-ft-font.c
dpkg-source: info: you can integrate the local changes with dpkg-source --commit
dpkg-source: error: aborting due to unexpected upstream changes, see /tmp/cairo_1.13.0~20140204-0ubuntu1.diff.Rho4ow
dpkg-buildpackage: error: dpkg-source -b cairo-1.13.0~20140204 gave error exit status 2

This is because dpkg-buildpackage wants to create a source package, but with an unexpected change a source package may get built that does not match the binary. To fix this, pass the '-b' option to only build a binary:

   1 dpkg-buildpackage -b -uc

To build for another architecture (cross compile), use

   1 dpkg-buildpackage -b -uc -ai386

Building packages from another distribution (e.g. testing)

Add deb-src line for the repository (Q: how do you specify from where to fetch the package?). Then:

aptitude install build-essential fakeroot devscripts
apt-get build-deb $PACKAGE
apt-get -b source $PACKAGE
# Install the created *.deb file


CategoryCheatSheet

SamatsWiki: CheatSheet/Debian (last edited 2017-03-06 03:52:39 by SamatJain)