Skip to content

Instantly share code, notes, and snippets.

@Iman
Last active November 13, 2024 21:44
Show Gist options
  • Save Iman/8c4605b2b3ce8226b08a to your computer and use it in GitHub Desktop.
Save Iman/8c4605b2b3ce8226b08a to your computer and use it in GitHub Desktop.
Free up disk space on Ubuntu - clean log, cache, archive packages/apt archives, orphaned packages, old kernel and remove the trash
#!/bin/sh
#Check the Drive Space Used by Cached Files
du -sh /var/cache/apt/archives
#Clean all the log file
#for logs in `find /var/log -type f`; do > $logs; done
logs=`find /var/log -type f`
for i in $logs
do
> $i
done
#Getting rid of partial packages
apt-get clean && apt-get autoclean
apt-get remove --purge -y software-properties-common
#Getting rid of no longer required packages
apt-get autoremove -y
#Getting rid of orphaned packages
deborphan | xargs sudo apt-get -y remove --purge
#Free up space by clean out the cached packages
apt-get clean
# Remove the Trash
rm -rf /home/*/.local/share/Trash/*/**
rm -rf /root/.local/share/Trash/*/**
# Remove Man
rm -rf /usr/share/man/??
rm -rf /usr/share/man/??_*
#Delete all .gz and rotated file
find /var/log -type f -regex ".*\.gz$" | xargs rm -Rf
find /var/log -type f -regex ".*\.[0-9]$" | xargs rm -Rf
#Cleaning the old kernels
dpkg-query -l|grep linux-im*
#dpkg-query -l |grep linux-im*|awk '{print $2}'
apt-get purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | head -n -1) --assume-yes
apt-get install linux-headers-`uname -r|cut -d'-' -f3`-`uname -r|cut -d'-' -f4`
#Cleaning is completed
echo "Cleaning is completed"
@yarkomar
Copy link

yarkomar commented Jul 2, 2020

emm, it has removed my "Ubuntu Software Center"... :) (18.04)
I've kinda restored it with apt install gnome-software though

@Ch3mjor
Copy link

Ch3mjor commented Jul 6, 2020

This broke so many of my dependencies on Ubuntu 18.04. Be warned it may break yours too.

@tyeth
Copy link

tyeth commented Jul 8, 2020

Comment out (prefix with #) the line
apt remove --purge software-properties-common
To avoid harming your system by removing key packages

@shuvoenr
Copy link

Works well. Thanks

@luiz-rocha
Copy link

BE CAREFUL DO NOT USE THIS SCRIPT, YOU WILL HARM YOUR SYSTEM

The following packages will be REMOVED:
apturl* gnome-software* gnome-software-plugin-snap* nautilus-share* software-properties-common* software-properties-gtk* ubuntu-desktop* ubuntu-desktop-minimal*
0 upgraded, 0 newly installed, 8 to remove and 0 not upgraded.
After this operation, 8.035 kB disk space will be freed.
(Reading database ... 242150 files and directories currently installed.)
Removing nautilus-share (0.7.3-2ubuntu3) ...
Removing apturl (0.5.2ubuntu19) ...
Removing gnome-software-plugin-snap (3.36.1-0ubuntu0.20.04.0) ...
Removing gnome-software (3.36.1-0ubuntu0.20.04.0) ...
Removing ubuntu-desktop (1.450.1) ...
Removing ubuntu-desktop-minimal (1.450.1) ...
Removing software-properties-gtk (0.98.9.1) ...
Removing software-properties-common (0.98.9.1) ...

@Ferdous123
Copy link

awesome bro, cleaned around 3.7 gb on Ubuntu 20.04 LTS. I was being hopeless after trying a lot & then yours worked flawlessly....

@tardonly
Copy link

it cleaned 67.5G , don't know why. but Great cleaning
System ubuntu 20.10 development branch

@Jonathana1106
Copy link

Thanks man! Ubuntu 20.04

@ooobii
Copy link

ooobii commented Oct 19, 2020

Worked very well for the multiple minimal install VMs I have for both 20.04 and 18.04! Thank you! 😄

Do be careful with every script you copy from the internet, and inspect the commands within until you understand what they're doing.

@matiasdiez
Copy link

matiasdiez commented Oct 23, 2020

Thank you! I am new and I was lost space and didn't find how. This help me to do all the task I was reading about in one shot (sorry my english). Ubuntu 20.04.

@Iman
Copy link
Author

Iman commented Oct 23, 2020

BE CAREFUL DO NOT USE THIS SCRIPT, YOU WILL HARM YOUR SYSTEM

The following packages will be REMOVED:
apturl* gnome-software* gnome-software-plugin-snap* nautilus-share* software-properties-common* software-properties-gtk* ubuntu-desktop* ubuntu-desktop-minimal*
0 upgraded, 0 newly installed, 8 to remove and 0 not upgraded.
After this operation, 8.035 kB disk space will be freed.
(Reading database ... 242150 files and directories currently installed.)
Removing nautilus-share (0.7.3-2ubuntu3) ...
Removing apturl (0.5.2ubuntu19) ...
Removing gnome-software-plugin-snap (3.36.1-0ubuntu0.20.04.0) ...
Removing gnome-software (3.36.1-0ubuntu0.20.04.0) ...
Removing ubuntu-desktop (1.450.1) ...
Removing ubuntu-desktop-minimal (1.450.1) ...
Removing software-properties-gtk (0.98.9.1) ...
Removing software-properties-common (0.98.9.1) ...

Perhaps those packages are outdated and there's no need to maintain them on your machine, hence you've been prompted to allow deletion and make more space.

@tyeth
Copy link

tyeth commented Oct 26, 2020 via email

@eliabeleal
Copy link

Excelente! TKS

@pgsridhar
Copy link

thanks :)

@jinnabaalu
Copy link

Nice work

@Wedz0ff
Copy link

Wedz0ff commented Mar 13, 2021

It worked on Ubuntu 18.04 on DigitalOcean, ty.

@lahirusamith
Copy link

nice!

@1ur11
Copy link

1ur11 commented Apr 12, 2021

Ubuntu 18.04.4 works fine

@PthDE
Copy link

PthDE commented May 2, 2021

Brilliant!!
Running with 18.04 LTS. I have apps like KiCAD and PyCharm on a 34GB root file-system. Down to 6GB left clean.sh found another 5GB to clean out to give me 11GB space left.
Thanks Iman!

@chakradharchokkaku
Copy link

It worked on Ubuntu 20.04. Nearly 20GB cleaned.

@neilyoung
Copy link

thumbs up

@avinashxw
Copy link

Great work @Iman!
Never thought the cleanup is super easy with this script.
All happened in a jiffy!

@gushauptfleisch
Copy link

Skip the step
apt-get remove --purge -y software-properties-common
Otherwise some handy steps and commands for tidying out excessive logs thanks !

@alexpebody
Copy link

Cool! Thx!

@mahdi4187
Copy link

Thanks a lot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment