====== Free your space ====== Sometimes you can find yourself in a situation where you are suddenly faced with a message telling you that there’s no more free space on your system. There might be a few things you can do to free some of it. ==== /tmp directory ==== The first reason can be a /tmp directory which doesn’t get cleaned automatically. I create my own temporary files in my home directory so I can safely delete the contents of /tmp every time I shut down the system. You don’t have to do it manually, though. The following command should be placed in ''/etc/rc.d/rc.local_shutdown''. /usr/bin/find /tmp -mindepth 1 -maxdepth 1 -exec /bin/rm -rf {} +; This will delete ALL the files in the /tmp directory every time the system shuts down, so be careful what you put there! The ''rc.local_shutdown'' file can also be useful in other ways. If you need to perform any other tasks on shutdown, you can put them here. As this file doesn’t exist on the default installation of Slackware, you need to create it first and make it executable: root@darkstar# touch /etc/rc.d/rc.local_shutdown root@darkstar# chmod +x /etc/rc.d/rc.local_shutdown Remember to test your commands well before you include them in the shutdown file. Alternatively, if you have enough RAM, you may mount the ''/tmp'' in tmpfs by adding the following to ''/etc/fstab''. tmpfs /tmp tmpfs size=4G,nodev,nosuid 0 0 You can restrict the size of ''/tmp'' (max. 4GB in the example above) to avoid running out of memory. There is also a more prudent way of cleaning up your tmp directory; this method consists of allowing the temporary files to exist for more than the amount of time between startup and shutdown. The following script selects files which haven't been touched for a certain amount of time and doesn't remove sockets for X. One could decide to run this script using cron on a regular basis. #!/bin/sh # Cleanup /tmp however, do not remove sockets for X # No lost+found with reiserfs find /tmp/lost+found -exec /bin/touch {} \; find /tmp -type s -exec /bin/touch {} \; find /tmp -type d -empty -mtime +37 -exec /bin/rmdir {} \; find /tmp -type f -mtime +37 -exec rm -rf {} \; Again, please test scripts very carefully before deploying them on your system. As always: your mileage may vary. ==== sbopkg ==== root@darkstar# sbopkg -o [ Checking for obsolete sources ] This may take a few moments. Press to abort. 100%[====================================================] It appears there are no obsolete sources in /var/cache/sbopkg. If you do not need the sources of packages installed via ''sbopkg'', you may also want to clean the whole ''sbopkg'' cache. You can do it in ''sbopkg''’s utility menu. ==== Finding files/directories taking up most space ==== It’s also good practice to find directories/files that take up most space. The following command will display 20 largest files/directories in a specified place (in this example Fred's home directory): du -a /home/fred/ | sort -n -r | head -n 20 You can go through the list and decide whether you want to delete any of them. A quicker approach might be to use [[http://slackbuilds.org/repository/13.37/system/ncdu/|ncdu]], ''du'''s ncurses frontend. Not only does it display directories in your chosen order (ascending/descending, by size/name), but also lets you interactively browse (and **be careful: delete**) them. To make sure you don’t delete something by accident, you can run the program in the read-only mode calling it with the //-r// flag. Apart from ordering the files/directories by size or name, there are also a number of interesting display options like showing percentage or graph, showing/hiding hidden or excluded files and directories (you can exclude certain directories or files if you want.) Although it is not part of the stock Slackware, it can be easily installed from [[http://slackbuilds.org/repository/13.37/system/ncdu/|SlackBuilds.org]] (it does not have any additional dependencies.) ==== Remove unnecessary programs ==== Another way of freeing some space is by uninstalling the apps that you no longer need. If you don’t know what you are doing, it is NOT recommended to uninstall anything from the Slackware’s default installation. You might break some parts of the system . A safer approach would be to uninstall some 3rd party applications. Long time ago you may have installed some applications from [[http://www.slackbuilds.org|SlackBuilds]] that you no longer use. You can remove 3rd party programs using the following command: root@darkstar# slackpkg clean-system This will list all 3rd party packages and let you select the ones you want to remove. In order for an application to be included in ''slackpkg'' list it must have been built and installed the Slackware way, ie. by [[http://docs.slackware.com/howtos:lets_build_a_slackbuild|using a SlackBuild]]. Otherwise, it will not be part of the Slackware package management system. If there's no SlackBuild for a program you want to install, try to [[http://www.slackwiki.com/Writing_A_SlackBuild_Script|create one]] or use the excellent [[http://www.src2pkg.net/|src2pkg]] tool. ===== Disk Cleanup Utilities ===== Here are a list of disk cleanup utilities you might find useful to remove unnecessary or temporary files from your system. * [[http://www.kde.org/applications/utilities/sweeper/|Sweeper]] - A KDE disk cleanup application. * [[http://bleachbit.sourceforge.net/|BleachBit]] - BleachBit quickly frees disk space and tirelessly guards your privacy. Free cache, delete cookies, clear Internet history, shred temporary files, delete logs, and discard junk you didn't know was there. A Slackbuild is available at [[http://slackbuilds.org/|SlackBuilds.org]]. ====== Sources ====== * Originally written by [[wiki:user:sycamorex|sycamorex]] * Based on sycamorex's blog article [[http://www.slackword.net/?p=78|here ]] * Additional inputs by [[wiki:user:vharishankar|Harishankar]] (Disk Cleanup Utilities section) * Contrbutions by [[wiki:user:cpt | cpt]] (cleanup script), original script has been copied from a mail-list, cpt does explicitly not claim to be the original author of this script. {{tag>howtos software free space author_sycamorex}}