Size: 625
Comment:
|
Size: 6467
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
||<tablestyle="width: 100%;" style="border: 0px hidden">~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: none-~||<style="text-align: right;border: 0px hidden"> (!) [[/Discussion|Discussion]]|| | ||<tablestyle="width: 100%;" style="border: 0px hidden">~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[de/FreeSpace|Deutsch]] - English - [[it/FreeSpace|Italiano]]-~||<style="text-align: right;border: 0px hidden"> (!) [[/Discussion|Discussion]]|| |
Line 5: | Line 5: |
If you are running near the end of your disk space, the information here may help you. | = Freeing Disk Space = |
Line 7: | Line 7: |
== Command line tools to see which package are using the most disk space: == * aptitude -F '%I %p' search '~i'|egrep '^[0-9]+[\.,]?[0-9]*[MG]B'|sort -n |
== Disk Usage or Occupied Space == To determine degree of usage of disks and partitions, but not directories, see [[DiskFull]] . |
Line 10: | Line 10: |
* wajig size | == Tools to see which directories are using the most disk space == {{{baobab}}} in package DebianPkg:gnome-utils |
Line 12: | Line 13: |
=== Tools to erase === ==== files you do not want ==== bleachbit localepurge ==== packages you do not want ==== deborphan debfoster |
Command line program {{{du}}} of package DebianPkg:coreutils {{{ /usr/bin/du --total --summarize --human-readable --one-file-system }}} == Command line tools to see seldom used files == These will not function if file systems are not usually mounted without option strictatime. * DebianPkg:agedu * DebianPkg:findutils : {{{/usr/bin/find}}} === /usr/bin/find === The following options are of special interest * {{{-usage}}} * {{{-atime}}} == See which packages are using the most disk space == === Command line === * kernel packages are large; older versions are not removed automatically for your safety. To list packages that take up most of the disk space with aptitude into visual mode, select Views → New Flat Package List (this menu entry is available only after etch version), press {{{l}}} and enter {{{~i}}}, press {{{S}}} and enter {{{~installsize}}}, then it will give you nice list to work with. Doing this after upgrading aptitude should give you access to this new feature. In lenny, aptitude has "why" and "why-not". {{{ aptitude why package1 }}} shows why package1 may have been installed. {{{ aptitude why package1 package2 }}} tries to work out why installing package1 would drag in package2. "why-not" looks at conflicts. These commands only provide one possible explanation. Check {{{/var/log/aptitude}}} for definitive information. Using [[aptitude]] to list uninstalled recommended or suggested packages: {{{ aptitude search '~RBsuggests:~i!~i' }}}To list upgradeable packages:{{{ aptitude search '~U' }}}To list manually installed packages:{{{ aptitude search '~i!~M' }}}To install without recommends but not uninstalling other recommends:{{{ aptitude install -R -o Aptitude::Keep-Recommends=true }}}To list packages in increasing order of size:{{{ aptitude -F '%I %p' search '~i'|egrep '^[0-9]+[\.,]?[0-9]*[MG]B'|sort -n }}} Using [[DebianMan:1/dpigs|dpigs]] (DebianPkg:debian-goodies):{{{ dpigs -n50 }}}Using DebianPkg:wajig :{{{ wajig size }}} Sort installed packages by size: {{{ dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n }}} === Graphical Interface === {{{synaptic}}}, go to installed packages and click on the size column. == Find things to erase == === Categorically Expendable Directories === ==== Temporary ==== {{{ /tmp /var/tmp }}} Contents of these directories are only intended to be used in the short term or while a program is running and are generally expendable. ==== Logs ==== {{{ /var/log }}} ==== Cache ==== * packages in {{{/var/cache/apt/archives}}} usually eats some space. As root or using sudo, you can get rid of them with: {{{ apt-get clean }}} or {{{ aptitude clean }}} Use {{{apt-get autoclean}}} if you want to remove old packages for which you also have the last package. ==== Spool ==== Things in {{{ /var/spool }}} are intended to be processed but may be expendable. === Duplicate Handling === When you find duplicates, you can hard link them, if they are on the same file system, or erase duplicates to make them unique. ==== Finders ==== * DebianPkg:fdupes Is fast * DebianPkg:fslint also does other maintenance and size reduction tasks === files you do not want === * DebianPkg:bleachbit ([[DebianSqueeze|Squeeze]] and later) * DebianPkg:localepurge === packages you do not want === * DebianPkg:debfoster * DebianPkg:deborphan The textual user interface is provided by the program {{{orphaner}}}. * DebianPkg:popularity-contest Requires file system option strictatime. run {{{ popularity-contest | sort > popcon }}} == Tools to alter files to reduce them == * [[DebianMan:1/strip|strip]] (DebianPkg:binutils) * eg. {{{strip --strip-unneeded foo}}} Stripping {{{dbus-daemon}}} exposes a bug in BFD. Executing in {{{find /usr/bin -not -name strip -and -not -name dbus-daemon -execdir strip --strip-unneeded '{}' \; }}} reduced the size of contents of the directory in a Squeeze installation from 140MB to 120MB. * DebianPkg:upx-ucl [[http://upx.sourceforge.net/|Ultimate Packer for eXecutables]] Do not compress DebianPkg:bash or your scripts will crash. Compressed executables may require more memory when run. == Reduce data creation == Use the following line as your {{{/etc/rsyslog.conf}}} configuration file in order to not save logs but output them on virtual terminal 12: {{{ *.* -/dev/tty12}}} On systems that have been running for some time you might consider removing or compressing old log files. DebianPkg:logrotate can assist == Compressed File Systems == === Application Level / User Space === * GVFS Zip format archives can be mounted by GVFS. * DebianPkg:fuse-utils There are many file systems which offer compression and operate through FUSE. === In Linux === * squashfs read-only ==== Not ready for general use ==== The development level of these file systems is such that they are not yet usable for general purpose. * Reiser4FS * BTrFS ==== Turn Off Reserved Blocks on ExtFS ==== By default, ExtFS reserves 5% of the file system for the user 'root' as a safety measure. To turn this off: {{{ tune2fs -r 0 /dev/sda2 }}} This can be done on a mounted filesystem. == Off Line Storage == You may move data to off line storage, such as removable optical disks or disks on an external data bus (such as Firewire or USB). If you have a read-only source like a write once optical disk, an overlaid unifying file system like [[http://aufs.sourceforge.net/|aufs]] or Linux's "union mount" can save changes in a writeable filesystem, saving the user the space of the unchanged portions. The same could be accomplished with a snapshotted filesystem as with Linux Volume Manager (lvm2). __Wish list: __ * ''lossy compressions.'' * ''using Quota as usrquota groupquota waringquota in DebianPkg:quota'' |
Freeing Disk Space
Disk Usage or Occupied Space
To determine degree of usage of disks and partitions, but not directories, see DiskFull .
Tools to see which directories are using the most disk space
baobab in package gnome-utils
Command line program du of package coreutils
/usr/bin/du --total --summarize --human-readable --one-file-system
Command line tools to see seldom used files
These will not function if file systems are not usually mounted without option strictatime.
/usr/bin/find
The following options are of special interest
-usage
-atime
See which packages are using the most disk space
Command line
- kernel packages are large; older versions are not removed automatically for your safety.
To list packages that take up most of the disk space with aptitude into visual mode, select Views → New Flat Package List (this menu entry is available only after etch version), press l and enter ~i, press S and enter ~installsize, then it will give you nice list to work with. Doing this after upgrading aptitude should give you access to this new feature.
In lenny, aptitude has "why" and "why-not".
aptitude why package1
shows why package1 may have been installed.
aptitude why package1 package2
tries to work out why installing package1 would drag in package2.
"why-not" looks at conflicts.
These commands only provide one possible explanation. Check /var/log/aptitude for definitive information.
Using aptitude to list uninstalled recommended or suggested packages:
aptitude search '~RBsuggests:~i!~i'
To list upgradeable packages:
aptitude search '~U'
To list manually installed packages:
aptitude search '~i!~M'
To install without recommends but not uninstalling other recommends:
aptitude install -R -o Aptitude::Keep-Recommends=true
To list packages in increasing order of size:
aptitude -F '%I %p' search '~i'|egrep '^[0-9]+[\.,]?[0-9]*[MG]B'|sort -n
Using dpigs (debian-goodies):
dpigs -n50
Using wajig :
wajig size
Sort installed packages by size:
dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n
Graphical Interface
synaptic, go to installed packages and click on the size column.
Find things to erase
Categorically Expendable Directories
Temporary
/tmp /var/tmp
Contents of these directories are only intended to be used in the short term or while a program is running and are generally expendable.
Logs
/var/log
Cache
packages in /var/cache/apt/archives usually eats some space. As root or using sudo, you can get rid of them with:
apt-get clean
or
aptitude clean
Use apt-get autoclean if you want to remove old packages for which you also have the last package.
Spool
Things in
/var/spool
are intended to be processed but may be expendable.
Duplicate Handling
When you find duplicates, you can hard link them, if they are on the same file system, or erase duplicates to make them unique.
Finders
files you do not want
packages you do not want
deborphan The textual user interface is provided by the program orphaner.
popularity-contest Requires file system option strictatime. run popularity-contest | sort > popcon
Tools to alter files to reduce them
Stripping dbus-daemon exposes a bug in BFD. Executing in find /usr/bin -not -name strip -and -not -name dbus-daemon -execdir strip --strip-unneeded '{}' \; reduced the size of contents of the directory in a Squeeze installation from 140MB to 120MB.
Do not compress bash or your scripts will crash. Compressed executables may require more memory when run.
Reduce data creation
Use the following line as your /etc/rsyslog.conf configuration file in order to not save logs but output them on virtual terminal 12:
*.* -/dev/tty12
On systems that have been running for some time you might consider removing or compressing old log files. logrotate can assist
Compressed File Systems
Application Level / User Space
- GVFS Zip format archives can be mounted by GVFS.
fuse-utils There are many file systems which offer compression and operate through FUSE.
In Linux
- squashfs read-only
Not ready for general use
The development level of these file systems is such that they are not yet usable for general purpose.
- Reiser4FS
- BTrFS
Turn Off Reserved Blocks on ExtFS
By default, ExtFS reserves 5% of the file system for the user 'root' as a safety measure. To turn this off:
tune2fs -r 0 /dev/sda2
This can be done on a mounted filesystem.
Off Line Storage
You may move data to off line storage, such as removable optical disks or disks on an external data bus (such as Firewire or USB).
If you have a read-only source like a write once optical disk, an overlaid unifying file system like aufs or Linux's "union mount" can save changes in a writeable filesystem, saving the user the space of the unchanged portions. The same could be accomplished with a snapshotted filesystem as with Linux Volume Manager (lvm2).
Wish list:
lossy compressions.
using Quota as usrquota groupquota waringquota in quota