Differences between revisions 1 and 77 (spanning 76 versions)
Revision 1 as of 2009-04-10 13:36:45
Size: 482
Editor: ?wekt
Comment:
Revision 77 as of 2019-08-16 22:48:15
Size: 8901
Editor: nodiscc
Comment: add CatgegorySystemAdministration
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]]|| ~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[de/FreeSpace|Deutsch]] - English - [[it/FreeSpace|Italiano]]-~
Line 5: Line 5:
If you are running near the end of your disk space, the information here may help you.

== 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
* wajig size
= Freeing Disc Space =

== Disc Usage or Occupied Space ==
To determine the degree of usage of discs and partitions, but not directories, see [[DiskFull]] .

Much of the content in this article is redundant in theme or content with [[ReduceDebian]].

== Tools to see which directories are using the most disc space ==
{{{baobab}}} in package DebianPkg:gnome-utils

Command line program {{{du}}} of package DebianPkg:coreutils
{{{
/usr/bin/du --total --summarize --human-readable --one-file-system
}}}

See also DebianPkg:ncdu.

Ncdu is a ncurses-based du viewer. It provides a fast and easy to use interface and allows to browse through directories, to show percentages of disk usage and to delete unwanted files.
  
== Command line tools to see seldom used files ==
These function only if file systems are usually mounted with option {{{strictatime}}}.

 * DebianPkg:agedu
 * DebianPkg:findutils : {{{/usr/bin/find}}}

=== /usr/bin/find ===
The following options are of special interest

 * {{{-mtime}}}
 * {{{-atime}}} (if your system has atime enabled, which is not default in Linux)
 * {{{-size}}}

== See which packages are using the most disc 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 disc 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
}}}

=== Remove some cruft ===

Purge obsolete configuration files:{{{
aptitude purge ~c
}}}
##Purge obsolete packages:{{{
##aptitude purge ~o
##}}}

Take a look at the Debian Cleanup Tips at http://raphaelhertzog.com/mastering-debian/.

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 remove duplicates to make them unique.

==== Finders ====
 * DebianPkg:duff Can compare full file contents, but not default.
 * DebianPkg:fdupes Can remove. Does compare full file contents.
 * DebianPkg:fslint also does other maintenance and size reduction tasks.
 * DebianPkg:hardlink Can convert from duplicates to hard links.
 * DebianPkg:rdfind Can hard link or remove. Does not compare full file contents. Warning: uses MD5 by default to compare. May produce false matches. Can specify SHA1 instead.

=== 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:gtkorphan GUI for deborphan
 * DebianPkg:popularity-contest Requires file system option strictatime, local e-mail server. 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.
=== Convert spaces to tabs ===
Can reduce the file size of text files, though the difference is usually slight. For this example you need the commands
{{{find}}} of DebianPkg:findutils; {{{unexpand}}} of DebianPkg:coreutils; and rewrite, which is at [[http://oss.ezic.com]] but not packaged.{{{
find -type f -writable -name '*.txt' -exec rewrite '{}' 'unexpand --all' \;}}}

== 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}}}

Output to what would be files can be caused to go to /dev/null in some cases where a symlink does not work as in this example redirecting output from {{{.xsession-errors}}}:
{{{mknod .xsession-errors c 1 3}}}


On systems that have been running for some time you might consider removing or compressing old log files. DebianPkg:logrotate can assist

== File Systems ==

ReiserFS can pack multiple small files and the ends of larger files into shared blocks, which saves space.

For file systems have blocks and which do not put parts of more than 1 file in a block, such as Ext4FS: using a different block size for the file system may save space depending on the size of the files stored on the file system. A block size of 1KB reduces space useage compared to 4KB for a Debian installation.

The following file systems provide compression.
=== 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

==== No high confidence of high reliability ====
These file systems might not be reliable enough to store critical data.
 * 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 discs or discs on an external data bus (such as Firewire or USB).

If you have a read-only source like a write once optical disc, 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).

== File Compression ==
The following packages provide programs which losslessly compress data and can operate by a pipe or on files.
 * BZip2 format
 * DebianPkg:bzip2
 * DebianPkg:lbzip2
 * DebianPkg:pbzip2
 * GZip format
 * DebianPkg:gzip
 * DebianPkg:pigz
 * DebianPkg:plzip
 * DebianPkg:lzop
 * DebianPkg:xz-utils
[[http://www.iasylum.net/writings/parallel-compression.html|External article on parallel compressors]]
== Wish list ==
 * ''lossy compressions.''
 * ''using Quota as usrquota groupquota waringquota in DebianPkg:quota''

----

CatgegorySystemAdministration

Translation(s): Deutsch - English - Italiano


Freeing Disc Space

Disc Usage or Occupied Space

To determine the degree of usage of discs and partitions, but not directories, see DiskFull .

Much of the content in this article is redundant in theme or content with ReduceDebian.

Tools to see which directories are using the most disc space

baobab in package gnome-utils

Command line program du of package coreutils

/usr/bin/du --total --summarize --human-readable --one-file-system

See also ncdu.

Ncdu is a ncurses-based du viewer. It provides a fast and easy to use interface and allows to browse through directories, to show percentages of disk usage and to delete unwanted files.

Command line tools to see seldom used files

These function only if file systems are usually mounted with option strictatime.

/usr/bin/find

The following options are of special interest

  • -mtime

  • -atime (if your system has atime enabled, which is not default in Linux)

  • -size

See which packages are using the most disc 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 disc 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

Remove some cruft

Purge obsolete configuration files:

aptitude purge ~c

Take a look at the Debian Cleanup Tips at http://raphaelhertzog.com/mastering-debian/.

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 remove duplicates to make them unique.

Finders

  • duff Can compare full file contents, but not default.

  • fdupes Can remove. Does compare full file contents.

  • fslint also does other maintenance and size reduction tasks.

  • hardlink Can convert from duplicates to hard links.

  • rdfind Can hard link or remove. Does not compare full file contents. Warning: uses MD5 by default to compare. May produce false matches. Can specify SHA1 instead.

files you do not want

packages you do not want

  • debfoster

  • deborphan The textual user interface is provided by the program orphaner.

  • gtkorphan GUI for deborphan

  • popularity-contest Requires file system option strictatime, local e-mail server. 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.

Convert spaces to tabs

Can reduce the file size of text files, though the difference is usually slight. For this example you need the commands find of findutils; unexpand of coreutils; and rewrite, which is at http://oss.ezic.com but not packaged.

find -type f -writable -name '*.txt' -exec rewrite '{}' 'unexpand --all' \;

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

Output to what would be files can be caused to go to /dev/null in some cases where a symlink does not work as in this example redirecting output from .xsession-errors: mknod .xsession-errors c 1 3

On systems that have been running for some time you might consider removing or compressing old log files. logrotate can assist

File Systems

ReiserFS can pack multiple small files and the ends of larger files into shared blocks, which saves space.

For file systems have blocks and which do not put parts of more than 1 file in a block, such as Ext4FS: using a different block size for the file system may save space depending on the size of the files stored on the file system. A block size of 1KB reduces space useage compared to 4KB for a Debian installation.

The following file systems provide compression.

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

No high confidence of high reliability

These file systems might not be reliable enough to store critical data.

  • 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 discs or discs on an external data bus (such as Firewire or USB).

If you have a read-only source like a write once optical disc, 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).

File Compression

The following packages provide programs which losslessly compress data and can operate by a pipe or on files.

External article on parallel compressors

Wish list

  • lossy compressions.

  • using Quota as usrquota groupquota waringquota in quota


?CatgegorySystemAdministration