It is the duty of the system manager to keep an eye on the drives and partitions. Should any of the partitions overflow, the system is likely to stop working properly, no matter how much space is available on other partitions, until space is reclaimed.
Partitions and disks are easily monitored using df
and
should be done
frequently, perhaps using a cron job or some other general system
management tool.
Do not forget the swap partitions, these are best monitored using
one of the memory statistics programs such as
free
or top
.
Drive usage monitoring is more difficult but it is important for the sake of performance to avoid contention - placing too much demand on a single drive if others are available and idle.
It is important when installing software packages to have a clear idea where the various files go. As previously mentioned GCC keeps binaries in a library directory and there are also other programs that for historical reasons are hard to figure out, X11 for instance has an unusually complex structure.
When your system is about to fill up it is about time to check and
prune old logging messages as well as hunt down core files. Proper
use of ulimit
in global shell settings can help saving you
from having core files littered around the system.
The observant reader might have noticed a few hints about the usefulness of making backups. Horror stories are legio about accidents and what happened to the person responsible when the backup turned out to be non-functional or even non existent. You might find it simpler to invest in proper backups than a second, secret identity.
There are many options and also a mini-HOWTO ( Backup-With-MSDOS
)
detailling what you need to know. In addition to the DOS specifics it
also contains general information and further leads.
In addition to making these backups you should also make sure you can restore the data. Not all systems verify that the data written is correct and many administrators have started restoring the system after an accident happy in the belief that everything is working, only to discover to their horror that the backups were useless. Be careful.
This is very dependent on the file system design, some suffer fast and
nearly debilitating fragmentation. Fortunately for us, ext2fs
does
not belong to this group and therefore there has been very little talk
about making a defragmentation tool.
If for some reason you feel this is necessary, the quick and easy solution
is to do a backup and a restore. If only a small area is affected, for instance
the home directories, you could tar
it over to a temporary area on
another partition, delete the original and then untar it back again.
No matter how large your drives, time will come when you will find you need more. As technology progresses you can get ever more for your money. At the time of writing this, it appears that 5GB drives gives you the most bang for your bucks.
Note that with IDE drives you might have to remove an old drive, as the maximum number supported on your mother board is normally only 2 or some times 4. With SCSI you can have up to 7 for narrow (8-bit) SCSI or up to 15 for wide (15 bit) SCSI, per channel. Some host adapters can support more than a single channel. My personal recommendation is that you will most likely be better off with SCSI in the long run.
The question comes, where should you put this new drive? In many cases
the reason for expansion is that you want a larger spool area, and in that
case the fast, simple solution is to mount the drive somewhere under
/var/spool
. On the other hand newer drives are likely to be
faster than older ones so in the long run you might find it worth your
time to do a full reorganizing, possibly using your old design sheets.
If the upgrade is forced by running out of space in partitions used for
things like /usr
or /var
the upgrade is a little more
involved. You might consider the option of a full re-installation from
your favourite (and hopefully upgraded) distribution. In this case you
will have to be careful not to overwrite your essential setups. Usually
these things are in the /etc
directory. Proceed with care,
fresh backups and working rescue disks. The other possibility is to
simply copy the old directory over to the new directory which is
mounted on a temporary mount point, edit your /etc/fstab
file,
reboot with your new partition in place and check that it works.
Should it fail you can reboot with your rescue disk, re-edit
/etc/fstab
and try again.
Until volume management becomes available to Linux this is both complicated and dangerous. Do not get too surprised if you discover you need to restore your system from a backup.
the Tips-HOWTO gives the following example on how to move an entire directory structure across:
(cd /source/directory; tar cf - . ) | (cd /dest/directory; tar xvfp -)