SystemCleanUpTool

Revision 10 as of 2006-06-20 09:52:35

Clear message

Summary

This specification discusses implemeting a small program tool , that would be automatically fired each time the predefined minimum free space on a designated file system is reached, and will suggest to the user several ways to free more space in order to be able to resume his work. This is especially useful in system partitions, where not enough free space can make the system in-operable.

Rationale

Often, when actively working on a system, disk space is consumed rapidly until a shortage is experienced. While one can have lots of indisposable content that takes up space, this is often caused by all sorts of redundent data, that accumulates and is often neglected until a shortage is encountered and users actively put effort into deleting it. There should be a solution to warn users before hand, and suggest and carry purge operations for several common residual data, that can be safely removed and immediately help gain more free space to resume work. Residual data can be log files, package constructions left overs, Garbage Bin contents, unused installed programs, /tmp contents etc, unused language packs and data, old kernels etc..

Use cases

  • Brian is using his desktop computer to do some web development. For that he has several DB servers, and an application server installed. Those application produce alot of log file data, especially under heavy development and experimentation, where he sets them to produce maximum verbosity for debugging purposes. After a week of heavy work, his free space on his / fs reaches the low minimum. The free-disk-space wizard detects that, and before Brian is running into operation problems, it offer him to free some old logs that occupie most of the space currently on his / fs. He confirms the removal, and resume working (the wizard takes care to do the removal in the background). The interaction with Brian is done through the desktop notification infrastructure.
  • George has been reciving lots of audio visual content recently, from relatives overseas. He burnt them all to DVDs, and made sure to move to the garbage bin every file he had burnt. After a while of doing so, he does not notice his free space in his home folder dropped to the minimum allowed. He is also downloading a big iso file of the edgy desktop-cd for testing. The disk space freeing tool detects that there is not enough free space, and pops up a desktop notification for George, suggesting that there is large amount of data in .Trash, that can be purged, to make more room. George acknowledges, space is freed and the download is saved.
  • David had an issue after burning a DVD where the drive would not unlock. In his wisdom, he used a paper clip to force the tray to open and retrieved the disk. Little did David know that the kernel.log and messages.log were filling up with information about the bad IDE communication thingo until the disk space freeing tool detects that the hard drive is filling up and provides a notification that the data can be purged to make more room. David acknowledges, space is freed and the system operates normally.
  • Dan has been using ubuntu for some time now, and has been experimenting with the wealth of software packages available form the various ubuntu repositories. He is not aware that many of the package pulled in as dependencies are not removed when he chooses to remove the package he originally installed. When disk space becomes low, the tool checks to see if there are any packages that can be good candidates for removal (orphaned, missing dependencies etc). PackageDependencyManagement should be consulted in order to achive that described functionality.

Scope

Design

  • Suggestion criteria should also consider tradeoff of data aging time, as well as weight of the folder or file. "Heavier" content should be more under the gun then lighter, and older more then newer.
  • "System" folders (e.g. /var /tmp /usr ...) should have different matching rules then homes.
  • Orphaned files that no longer belong to any of the packages installed on the system.

Implementation

  • The cruft rules can be used to identify outdated configuration and orphaned files in managed directories.

Code

Data preservation and migration

Outstanding issues

BoF agenda and discussion


CategorySpec