Advertisement
xosski

Ubuntu trimmer/debloat

Jan 22nd, 2025
13
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # Function to ask for confirmation before removing software
  4. confirm_removal() {
  5. read -p "Are you sure you want to remove $1? (y/n): " confirm
  6. if [[ "$confirm" == "y" || "$confirm" == "Y" ]]; then
  7. sudo apt-get remove --purge -y $1
  8. echo "$1 removed successfully."
  9. else
  10. echo "$1 was not removed."
  11. fi
  12. }
  13.  
  14. # Update and upgrade the system
  15. sudo apt update && sudo apt upgrade -y
  16.  
  17. # Software to be removed
  18. software_list=(
  19. "rhythmbox"
  20. "gnome-mines"
  21. "gnome-sudoku"
  22. "gnome-weather"
  23. "gnome-calendar"
  24. "gnome-contacts"
  25. "gnome-maps"
  26. "gnome-clocks"
  27. "gnome-photos"
  28. "gnome-music"
  29. "gnome-shell-extension-ubuntu-dock"
  30. "gnome-software"
  31. "libreoffice*"
  32. "thunderbird"
  33. "transmission-gtk"
  34. "ubuntu-docs"
  35. "ubuntu-release-upgrader-core"
  36. "usb-creator-gtk"
  37. )
  38.  
  39. # Prompt user to choose which software to remove
  40. echo "List of software to remove:"
  41. for software in "${software_list[@]}"; do
  42. confirm_removal "$software"
  43. done
  44.  
  45. # Remove snap packages
  46. read -p "Do you want to remove Snap packages? (snapd) (y/n): " snap_confirm
  47. if [[ "$snap_confirm" == "y" || "$snap_confirm" == "Y" ]]; then
  48. sudo apt-get purge -y snapd
  49. sudo rm -rf /var/cache/snapd/
  50. echo "Snap packages removed."
  51. else
  52. echo "Snap packages not removed."
  53. fi
  54.  
  55. # Disable unnecessary services
  56. services_to_disable=(
  57. "snapd"
  58. "ModemManager"
  59. "bluetooth"
  60. )
  61.  
  62. echo "Services to disable:"
  63. for service in "${services_to_disable[@]}"; do
  64. read -p "Do you want to disable $service? (y/n): " service_confirm
  65. if [[ "$service_confirm" == "y" || "$service_confirm" == "Y" ]]; then
  66. sudo systemctl disable --now $service
  67. echo "$service disabled."
  68. else
  69. echo "$service was not disabled."
  70. fi
  71. done
  72.  
  73. # Clean up residual files and dependencies
  74. sudo apt-get autoremove --purge -y
  75. sudo apt-get clean
  76.  
  77. # Reboot the system to apply changes
  78. echo "Debloating complete. Rebooting the system..."
  79. sudo reboot
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement