@fredlackey/devutils 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/package.json +1 -1
- package/src/commands/install.js +374 -36
- package/src/installs/adobe-creative-cloud.js +527 -25
- package/src/installs/adobe-creative-cloud.md +605 -0
- package/src/installs/appcleaner.js +303 -26
- package/src/installs/appcleaner.md +699 -0
- package/src/installs/apt-transport-https.js +390 -0
- package/src/installs/apt-transport-https.md +678 -0
- package/src/installs/atomicparsley.js +624 -26
- package/src/installs/atomicparsley.md +795 -0
- package/src/installs/aws-cli.js +779 -26
- package/src/installs/aws-cli.md +727 -0
- package/src/installs/balena-etcher.js +688 -26
- package/src/installs/balena-etcher.md +761 -0
- package/src/installs/bambu-studio.js +912 -26
- package/src/installs/bambu-studio.md +780 -0
- package/src/installs/bash-completion.js +554 -23
- package/src/installs/bash-completion.md +833 -0
- package/src/installs/bash.js +399 -26
- package/src/installs/bash.md +993 -0
- package/src/installs/beyond-compare.js +585 -26
- package/src/installs/beyond-compare.md +813 -0
- package/src/installs/build-essential.js +511 -26
- package/src/installs/build-essential.md +977 -0
- package/src/installs/ca-certificates.js +618 -0
- package/src/installs/ca-certificates.md +937 -0
- package/src/installs/caffeine.js +490 -26
- package/src/installs/caffeine.md +839 -0
- package/src/installs/camtasia.js +577 -25
- package/src/installs/camtasia.md +762 -0
- package/src/installs/chatgpt.js +458 -26
- package/src/installs/chatgpt.md +814 -0
- package/src/installs/chocolatey.js +447 -0
- package/src/installs/chocolatey.md +661 -0
- package/src/installs/chrome-canary.js +472 -26
- package/src/installs/chrome-canary.md +641 -0
- package/src/installs/chromium.js +645 -26
- package/src/installs/chromium.md +838 -0
- package/src/installs/claude-code.js +558 -26
- package/src/installs/claude-code.md +1173 -0
- package/src/installs/curl.js +361 -26
- package/src/installs/curl.md +714 -0
- package/src/installs/cursor.js +561 -26
- package/src/installs/cursor.md +970 -0
- package/src/installs/dbschema.js +674 -26
- package/src/installs/dbschema.md +925 -0
- package/src/installs/dependencies.md +435 -0
- package/src/installs/development-tools.js +600 -0
- package/src/installs/development-tools.md +977 -0
- package/src/installs/docker.js +1010 -25
- package/src/installs/docker.md +1109 -0
- package/src/installs/drawio.js +1001 -26
- package/src/installs/drawio.md +795 -0
- package/src/installs/elmedia-player.js +328 -25
- package/src/installs/elmedia-player.md +556 -0
- package/src/installs/ffmpeg.js +870 -25
- package/src/installs/ffmpeg.md +852 -0
- package/src/installs/file.js +464 -0
- package/src/installs/file.md +987 -0
- package/src/installs/gemini-cli.js +793 -26
- package/src/installs/gemini-cli.md +1153 -0
- package/src/installs/git.js +382 -26
- package/src/installs/git.md +907 -0
- package/src/installs/gitego.js +931 -26
- package/src/installs/gitego.md +1172 -0
- package/src/installs/go.js +913 -26
- package/src/installs/go.md +958 -0
- package/src/installs/google-chrome.js +801 -25
- package/src/installs/google-chrome.md +862 -0
- package/src/installs/gpg.js +412 -73
- package/src/installs/gpg.md +1056 -0
- package/src/installs/homebrew.js +1015 -26
- package/src/installs/homebrew.md +988 -0
- package/src/installs/imageoptim.js +950 -26
- package/src/installs/imageoptim.md +1119 -0
- package/src/installs/installers.json +2297 -0
- package/src/installs/jq.js +382 -26
- package/src/installs/jq.md +809 -0
- package/src/installs/keyboard-maestro.js +701 -26
- package/src/installs/keyboard-maestro.md +825 -0
- package/src/installs/latex.js +771 -26
- package/src/installs/latex.md +1095 -0
- package/src/installs/lftp.js +338 -26
- package/src/installs/lftp.md +907 -0
- package/src/installs/lsb-release.js +346 -0
- package/src/installs/lsb-release.md +814 -0
- package/src/installs/messenger.js +829 -26
- package/src/installs/messenger.md +900 -0
- package/src/installs/microsoft-office.js +550 -26
- package/src/installs/microsoft-office.md +760 -0
- package/src/installs/microsoft-teams.js +782 -25
- package/src/installs/microsoft-teams.md +886 -0
- package/src/installs/node.js +886 -26
- package/src/installs/node.md +1153 -0
- package/src/installs/nordpass.js +698 -26
- package/src/installs/nordpass.md +921 -0
- package/src/installs/nvm.js +977 -26
- package/src/installs/nvm.md +1057 -0
- package/src/installs/openssh.js +734 -64
- package/src/installs/openssh.md +1056 -0
- package/src/installs/pandoc.js +644 -26
- package/src/installs/pandoc.md +1036 -0
- package/src/installs/pinentry.js +492 -26
- package/src/installs/pinentry.md +1142 -0
- package/src/installs/pngyu.js +851 -26
- package/src/installs/pngyu.md +896 -0
- package/src/installs/postman.js +781 -26
- package/src/installs/postman.md +940 -0
- package/src/installs/procps.js +425 -0
- package/src/installs/procps.md +851 -0
- package/src/installs/safari-tech-preview.js +355 -25
- package/src/installs/safari-tech-preview.md +533 -0
- package/src/installs/sfnt2woff.js +640 -26
- package/src/installs/sfnt2woff.md +795 -0
- package/src/installs/shellcheck.js +463 -26
- package/src/installs/shellcheck.md +1005 -0
- package/src/installs/slack.js +722 -25
- package/src/installs/slack.md +865 -0
- package/src/installs/snagit.js +566 -25
- package/src/installs/snagit.md +844 -0
- package/src/installs/software-properties-common.js +372 -0
- package/src/installs/software-properties-common.md +805 -0
- package/src/installs/spotify.js +858 -25
- package/src/installs/spotify.md +901 -0
- package/src/installs/studio-3t.js +803 -26
- package/src/installs/studio-3t.md +918 -0
- package/src/installs/sublime-text.js +780 -25
- package/src/installs/sublime-text.md +914 -0
- package/src/installs/superwhisper.js +687 -25
- package/src/installs/superwhisper.md +630 -0
- package/src/installs/tailscale.js +727 -26
- package/src/installs/tailscale.md +1100 -0
- package/src/installs/tar.js +389 -0
- package/src/installs/tar.md +946 -0
- package/src/installs/termius.js +780 -26
- package/src/installs/termius.md +844 -0
- package/src/installs/terraform.js +761 -26
- package/src/installs/terraform.md +899 -0
- package/src/installs/tidal.js +752 -25
- package/src/installs/tidal.md +864 -0
- package/src/installs/tmux.js +328 -26
- package/src/installs/tmux.md +1030 -0
- package/src/installs/tree.js +393 -26
- package/src/installs/tree.md +833 -0
- package/src/installs/unzip.js +460 -0
- package/src/installs/unzip.md +879 -0
- package/src/installs/vim.js +403 -26
- package/src/installs/vim.md +1040 -0
- package/src/installs/vlc.js +803 -26
- package/src/installs/vlc.md +927 -0
- package/src/installs/vscode.js +825 -26
- package/src/installs/vscode.md +1002 -0
- package/src/installs/wget.js +415 -0
- package/src/installs/wget.md +791 -0
- package/src/installs/whatsapp.js +710 -25
- package/src/installs/whatsapp.md +854 -0
- package/src/installs/winpty.js +352 -0
- package/src/installs/winpty.md +620 -0
- package/src/installs/woff2.js +535 -26
- package/src/installs/woff2.md +977 -0
- package/src/installs/wsl.js +572 -0
- package/src/installs/wsl.md +699 -0
- package/src/installs/xcode-clt.js +520 -0
- package/src/installs/xcode-clt.md +351 -0
- package/src/installs/xcode.js +542 -26
- package/src/installs/xcode.md +573 -0
- package/src/installs/yarn.js +806 -26
- package/src/installs/yarn.md +1074 -0
- package/src/installs/yq.js +636 -26
- package/src/installs/yq.md +944 -0
- package/src/installs/yt-dlp.js +683 -26
- package/src/installs/yt-dlp.md +946 -0
- package/src/installs/yum-utils.js +297 -0
- package/src/installs/yum-utils.md +648 -0
- package/src/installs/zoom.js +740 -25
- package/src/installs/zoom.md +884 -0
- package/src/scripts/README.md +567 -45
- package/src/scripts/STATUS.md +208 -0
- package/src/scripts/afk.js +395 -7
- package/src/scripts/backup-all.js +731 -9
- package/src/scripts/backup-source.js +711 -8
- package/src/scripts/brewd.js +373 -7
- package/src/scripts/brewi.js +505 -9
- package/src/scripts/brewr.js +512 -9
- package/src/scripts/brews.js +462 -9
- package/src/scripts/brewu.js +488 -7
- package/src/scripts/c.js +185 -7
- package/src/scripts/ccurl.js +325 -8
- package/src/scripts/certbot-crontab-init.js +488 -8
- package/src/scripts/certbot-init.js +641 -9
- package/src/scripts/ch.js +339 -7
- package/src/scripts/claude-danger.js +253 -8
- package/src/scripts/clean-dev.js +419 -8
- package/src/scripts/clear-dns-cache.js +525 -7
- package/src/scripts/clone.js +417 -7
- package/src/scripts/code-all.js +420 -7
- package/src/scripts/count-files.js +195 -8
- package/src/scripts/count-folders.js +195 -8
- package/src/scripts/count.js +248 -8
- package/src/scripts/d.js +203 -7
- package/src/scripts/datauri.js +373 -8
- package/src/scripts/delete-files.js +363 -7
- package/src/scripts/docker-clean.js +410 -8
- package/src/scripts/dp.js +426 -7
- package/src/scripts/e.js +375 -9
- package/src/scripts/empty-trash.js +497 -7
- package/src/scripts/evm.js +428 -9
- package/src/scripts/fetch-github-repos.js +441 -10
- package/src/scripts/get-channel.js +329 -8
- package/src/scripts/get-course.js +384 -11
- package/src/scripts/get-dependencies.js +290 -9
- package/src/scripts/get-folder.js +783 -10
- package/src/scripts/get-tunes.js +411 -10
- package/src/scripts/get-video.js +352 -9
- package/src/scripts/git-backup.js +561 -9
- package/src/scripts/git-clone.js +477 -9
- package/src/scripts/git-pup.js +303 -7
- package/src/scripts/git-push.js +380 -8
- package/src/scripts/h.js +607 -9
- package/src/scripts/hide-desktop-icons.js +483 -7
- package/src/scripts/hide-hidden-files.js +522 -7
- package/src/scripts/install-dependencies-from.js +440 -9
- package/src/scripts/ips.js +647 -10
- package/src/scripts/iso.js +354 -8
- package/src/scripts/killni.js +561 -7
- package/src/scripts/ll.js +451 -8
- package/src/scripts/local-ip.js +310 -8
- package/src/scripts/m.js +508 -8
- package/src/scripts/map.js +293 -8
- package/src/scripts/mkd.js +287 -7
- package/src/scripts/ncu-update-all.js +441 -8
- package/src/scripts/nginx-init.js +702 -12
- package/src/scripts/npmi.js +366 -7
- package/src/scripts/o.js +495 -8
- package/src/scripts/org-by-date.js +321 -7
- package/src/scripts/p.js +208 -7
- package/src/scripts/packages.js +313 -8
- package/src/scripts/path.js +209 -7
- package/src/scripts/ports.js +582 -8
- package/src/scripts/q.js +290 -8
- package/src/scripts/refresh-files.js +378 -10
- package/src/scripts/remove-smaller-files.js +500 -8
- package/src/scripts/rename-files-with-date.js +517 -9
- package/src/scripts/resize-image.js +523 -9
- package/src/scripts/rm-safe.js +653 -8
- package/src/scripts/s.js +525 -9
- package/src/scripts/set-git-public.js +349 -7
- package/src/scripts/show-desktop-icons.js +459 -7
- package/src/scripts/show-hidden-files.js +456 -7
- package/src/scripts/tpa.js +265 -8
- package/src/scripts/tpo.js +264 -7
- package/src/scripts/u.js +489 -7
- package/src/scripts/vpush.js +422 -8
- package/src/scripts/y.js +267 -7
- package/src/utils/common/os.js +94 -2
- package/src/utils/ubuntu/apt.js +13 -7
- package/src/utils/windows/choco.js +82 -26
- package/src/utils/windows/winget.js +89 -27
|
@@ -0,0 +1,699 @@
|
|
|
1
|
+
# Installing AppCleaner
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
AppCleaner is a small, free application that allows you to thoroughly uninstall unwanted applications by finding and removing all associated files, preferences, caches, and hidden data that standard uninstallation methods leave behind. When you install an application on macOS, it distributes files throughout your system, using disk space unnecessarily. AppCleaner finds all these files and safely deletes them.
|
|
6
|
+
|
|
7
|
+
**Important Platform Limitation:** AppCleaner by FreeMacSoft is a **macOS-only** application. There is no official version for Windows, Linux, or any other operating system. For other platforms, this documentation covers equivalent application uninstaller tools that provide similar functionality.
|
|
8
|
+
|
|
9
|
+
| Platform | Tool | Description |
|
|
10
|
+
|----------|------|-------------|
|
|
11
|
+
| macOS | AppCleaner | FreeMacSoft's free application uninstaller |
|
|
12
|
+
| Windows | Bulk Crap Uninstaller | Open-source bulk application uninstaller |
|
|
13
|
+
| Linux | apt purge / apt autoremove | Built-in package manager cleanup commands |
|
|
14
|
+
|
|
15
|
+
## Dependencies
|
|
16
|
+
|
|
17
|
+
### macOS (Homebrew)
|
|
18
|
+
- **Required:**
|
|
19
|
+
- Homebrew - Install via `dev install homebrew` or from [brew.sh](https://brew.sh)
|
|
20
|
+
- **Optional:** None
|
|
21
|
+
- **Auto-installed:** None
|
|
22
|
+
|
|
23
|
+
### Ubuntu (APT/Snap)
|
|
24
|
+
- **Required:** None (installation not supported on this platform)
|
|
25
|
+
- **Optional:** None
|
|
26
|
+
- **Auto-installed:** None
|
|
27
|
+
- **Note:** AppCleaner is macOS-only. Ubuntu uses built-in APT commands (`apt purge`, `apt autoremove`) which are pre-installed with the operating system.
|
|
28
|
+
|
|
29
|
+
### Raspberry Pi OS (APT/Snap)
|
|
30
|
+
- **Required:** None (installation not supported on this platform)
|
|
31
|
+
- **Optional:** None
|
|
32
|
+
- **Auto-installed:** None
|
|
33
|
+
- **Note:** AppCleaner is macOS-only. Raspberry Pi OS uses built-in APT commands (`apt purge`, `apt autoremove`) which are pre-installed with the operating system.
|
|
34
|
+
|
|
35
|
+
### Amazon Linux (DNF/YUM)
|
|
36
|
+
- **Required:** None (installation not supported on this platform)
|
|
37
|
+
- **Optional:** None
|
|
38
|
+
- **Auto-installed:** None
|
|
39
|
+
- **Note:** AppCleaner is macOS-only. Amazon Linux uses built-in DNF/YUM commands (`dnf remove`, `dnf autoremove`) which are pre-installed with the operating system.
|
|
40
|
+
|
|
41
|
+
### Windows (Chocolatey/winget)
|
|
42
|
+
- **Required:**
|
|
43
|
+
- At least one of the following package managers:
|
|
44
|
+
- winget (Windows Package Manager) - Install via Microsoft Store (App Installer) or pre-installed on Windows 10 1809+
|
|
45
|
+
- Chocolatey - Install via `dev install chocolatey` or from [chocolatey.org](https://chocolatey.org/install)
|
|
46
|
+
- **Optional:** None
|
|
47
|
+
- **Auto-installed:**
|
|
48
|
+
- .NET 6 Desktop Runtime - Automatically installed by Bulk Crap Uninstaller's installer if not already present
|
|
49
|
+
|
|
50
|
+
### Git Bash (Manual/Portable)
|
|
51
|
+
- **Required:**
|
|
52
|
+
- `curl` - Pre-installed with Git Bash (part of Git for Windows)
|
|
53
|
+
- `unzip` - Pre-installed with Git Bash (part of Git for Windows)
|
|
54
|
+
- **Optional:**
|
|
55
|
+
- PowerShell - For alternative installation via winget from Git Bash (pre-installed on Windows)
|
|
56
|
+
- **Auto-installed:** None
|
|
57
|
+
- **Note:** The portable version of Bulk Crap Uninstaller includes the .NET 6 runtime, making it fully self-contained.
|
|
58
|
+
|
|
59
|
+
## Prerequisites
|
|
60
|
+
|
|
61
|
+
Before installing, ensure you have:
|
|
62
|
+
|
|
63
|
+
1. **Administrator Access**: Required for installation on all platforms
|
|
64
|
+
2. **Package Manager**: The appropriate package manager for your platform must be installed:
|
|
65
|
+
- macOS: Homebrew
|
|
66
|
+
- Windows: Chocolatey or winget
|
|
67
|
+
- Ubuntu/Debian: APT (pre-installed)
|
|
68
|
+
- Amazon Linux: DNF or YUM (pre-installed)
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Platform-Specific Installation
|
|
73
|
+
|
|
74
|
+
### macOS (Homebrew)
|
|
75
|
+
|
|
76
|
+
AppCleaner is the native solution for macOS and is available as a Homebrew cask.
|
|
77
|
+
|
|
78
|
+
#### Prerequisites
|
|
79
|
+
|
|
80
|
+
- macOS 10.15 (Catalina) or later for version 3.6.8
|
|
81
|
+
- macOS 10.13 (High Sierra) users should use version 3.6
|
|
82
|
+
- Homebrew package manager installed
|
|
83
|
+
- 64-bit processor (Intel or Apple Silicon)
|
|
84
|
+
|
|
85
|
+
Verify Homebrew is installed:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
brew --version
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
If Homebrew is not installed, install it first using `dev install homebrew`.
|
|
92
|
+
|
|
93
|
+
#### Installation Steps
|
|
94
|
+
|
|
95
|
+
Run the following command to install AppCleaner:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
brew install --cask --quiet appcleaner
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**Explanation of flags:**
|
|
102
|
+
- `--cask`: Indicates this is a macOS application (not a CLI formula)
|
|
103
|
+
- `--quiet`: Suppresses output for non-interactive installation
|
|
104
|
+
|
|
105
|
+
The installation downloads AppCleaner and installs it to `/Applications/AppCleaner.app`.
|
|
106
|
+
|
|
107
|
+
#### Verification
|
|
108
|
+
|
|
109
|
+
Confirm the installation succeeded:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
ls -la "/Applications/AppCleaner.app" && echo "AppCleaner is installed"
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
You can also verify by checking the Homebrew list:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
brew list --cask | grep appcleaner
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
#### Troubleshooting
|
|
122
|
+
|
|
123
|
+
**Installation fails with permission errors:**
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# Reset Homebrew cask cache and retry
|
|
127
|
+
brew cleanup
|
|
128
|
+
brew install --cask --quiet appcleaner
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**AppCleaner fails to open with "cannot be opened" error:**
|
|
132
|
+
|
|
133
|
+
This occurs when macOS Gatekeeper blocks the application:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
xattr -cr /Applications/AppCleaner.app
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**Need to downgrade for older macOS version:**
|
|
140
|
+
|
|
141
|
+
For macOS High Sierra (10.13):
|
|
142
|
+
```bash
|
|
143
|
+
# Download version 3.6 directly
|
|
144
|
+
curl -L -o ~/Downloads/AppCleaner3.6.zip "https://freemacsoft.net/downloads/AppCleaner_3.6.zip"
|
|
145
|
+
unzip -q ~/Downloads/AppCleaner3.6.zip -d /Applications/
|
|
146
|
+
rm ~/Downloads/AppCleaner3.6.zip
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
### Ubuntu/Debian (APT)
|
|
152
|
+
|
|
153
|
+
**AppCleaner is NOT available on Ubuntu or Debian.** It is a macOS-only application.
|
|
154
|
+
|
|
155
|
+
However, Ubuntu and Debian have built-in package management tools that handle complete application removal, including configuration files and dependencies.
|
|
156
|
+
|
|
157
|
+
#### Prerequisites
|
|
158
|
+
|
|
159
|
+
- Ubuntu 18.04 or later / Debian 10 or later
|
|
160
|
+
- sudo privileges
|
|
161
|
+
|
|
162
|
+
#### Installation Steps
|
|
163
|
+
|
|
164
|
+
No installation is required. The APT package manager includes built-in functionality for complete application removal.
|
|
165
|
+
|
|
166
|
+
**To completely remove an application and its configuration files:**
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get purge -y <package-name>
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**To remove unused dependencies left behind by removed applications:**
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoremove -y
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
**To perform a complete cleanup (purge package and remove orphaned dependencies):**
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get purge -y <package-name> && \
|
|
182
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoremove -y --purge
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
**Explanation of flags:**
|
|
186
|
+
- `DEBIAN_FRONTEND=noninteractive`: Prevents any interactive prompts
|
|
187
|
+
- `purge`: Removes the package AND its configuration files (unlike `remove` which keeps configs)
|
|
188
|
+
- `-y`: Automatically answers "yes" to confirmation prompts
|
|
189
|
+
- `autoremove`: Removes packages that were installed as dependencies but are no longer needed
|
|
190
|
+
- `--purge`: When used with autoremove, also removes configuration files of orphaned packages
|
|
191
|
+
|
|
192
|
+
#### Verification
|
|
193
|
+
|
|
194
|
+
Verify the package removal tools are available:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
apt-get --help | grep -E "(purge|autoremove)" && echo "APT removal tools available"
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
#### Troubleshooting
|
|
201
|
+
|
|
202
|
+
**Finding the correct package name:**
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
dpkg --list | grep -i <application-name>
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**Listing all manually installed packages:**
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
apt-mark showmanual
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
**Removing Snap packages completely:**
|
|
215
|
+
|
|
216
|
+
Snap packages are removed differently:
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
sudo snap remove <package-name>
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
### Raspberry Pi OS (APT)
|
|
225
|
+
|
|
226
|
+
**AppCleaner is NOT available on Raspberry Pi OS.** The same APT-based cleanup approach used for Ubuntu/Debian applies here.
|
|
227
|
+
|
|
228
|
+
#### Prerequisites
|
|
229
|
+
|
|
230
|
+
- Raspberry Pi OS (Bullseye or later recommended)
|
|
231
|
+
- sudo privileges
|
|
232
|
+
|
|
233
|
+
#### Installation Steps
|
|
234
|
+
|
|
235
|
+
No installation is required. Use the built-in APT commands for complete application removal.
|
|
236
|
+
|
|
237
|
+
**To completely remove an application and its configuration files:**
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get purge -y <package-name>
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
**To remove unused dependencies:**
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoremove -y --purge
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
**To clean up downloaded package files and free disk space:**
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get clean
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
#### ARM-Specific Considerations
|
|
256
|
+
|
|
257
|
+
Raspberry Pi uses ARM architecture. This does not affect the APT removal commands, which work identically across architectures.
|
|
258
|
+
|
|
259
|
+
#### Verification
|
|
260
|
+
|
|
261
|
+
Confirm APT tools are working:
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
apt-get --version && echo "APT is available"
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
#### Troubleshooting
|
|
268
|
+
|
|
269
|
+
**Disk space issues on Raspberry Pi:**
|
|
270
|
+
|
|
271
|
+
Clean all cached package files to free space:
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get clean && \
|
|
275
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoclean
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
**Broken packages preventing removal:**
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
sudo dpkg --configure -a
|
|
282
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -f -y
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
### Amazon Linux/RHEL (YUM/DNF)
|
|
288
|
+
|
|
289
|
+
**AppCleaner is NOT available on Amazon Linux or RHEL.** Use the built-in package manager commands for complete application removal.
|
|
290
|
+
|
|
291
|
+
#### Prerequisites
|
|
292
|
+
|
|
293
|
+
- Amazon Linux 2, Amazon Linux 2023, RHEL 7/8/9, or compatible
|
|
294
|
+
- sudo privileges
|
|
295
|
+
|
|
296
|
+
#### Installation Steps
|
|
297
|
+
|
|
298
|
+
No installation is required. Use DNF (modern) or YUM (legacy) for complete package removal.
|
|
299
|
+
|
|
300
|
+
**For Amazon Linux 2023 / RHEL 8+ (DNF):**
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
# Remove a package completely (including dependencies if safe)
|
|
304
|
+
sudo dnf remove -y <package-name>
|
|
305
|
+
|
|
306
|
+
# Remove orphaned dependencies
|
|
307
|
+
sudo dnf autoremove -y
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
**For Amazon Linux 2 / RHEL 7 (YUM):**
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
# Remove a package
|
|
314
|
+
sudo yum remove -y <package-name>
|
|
315
|
+
|
|
316
|
+
# Remove orphaned dependencies
|
|
317
|
+
sudo yum autoremove -y
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
**Explanation of flags:**
|
|
321
|
+
- `-y`: Automatically answers "yes" to all prompts
|
|
322
|
+
|
|
323
|
+
#### Verification
|
|
324
|
+
|
|
325
|
+
Confirm the package manager is available:
|
|
326
|
+
|
|
327
|
+
```bash
|
|
328
|
+
# For DNF-based systems
|
|
329
|
+
dnf --version && echo "DNF is available"
|
|
330
|
+
|
|
331
|
+
# For YUM-based systems
|
|
332
|
+
yum --version && echo "YUM is available"
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
#### Troubleshooting
|
|
336
|
+
|
|
337
|
+
**Finding installed packages:**
|
|
338
|
+
|
|
339
|
+
```bash
|
|
340
|
+
# DNF
|
|
341
|
+
dnf list installed | grep -i <application-name>
|
|
342
|
+
|
|
343
|
+
# YUM
|
|
344
|
+
yum list installed | grep -i <application-name>
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
**Cleaning package cache:**
|
|
348
|
+
|
|
349
|
+
```bash
|
|
350
|
+
# DNF
|
|
351
|
+
sudo dnf clean all
|
|
352
|
+
|
|
353
|
+
# YUM
|
|
354
|
+
sudo yum clean all
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
|
|
359
|
+
### Windows (Chocolatey/winget)
|
|
360
|
+
|
|
361
|
+
**AppCleaner is NOT available on Windows.** Use **Bulk Crap Uninstaller (BCUninstaller)** as the equivalent tool. BCUninstaller is a free, open-source bulk application uninstaller that excels at removing large numbers of applications with minimal user input.
|
|
362
|
+
|
|
363
|
+
#### Prerequisites
|
|
364
|
+
|
|
365
|
+
- Windows 10 version 1903 or later (Windows 7 SP1 with Platform Updates minimum)
|
|
366
|
+
- winget (Windows Package Manager) or Chocolatey installed
|
|
367
|
+
- Administrator privileges
|
|
368
|
+
- .NET 6 Desktop Runtime (installed automatically if missing)
|
|
369
|
+
|
|
370
|
+
Verify winget is available:
|
|
371
|
+
|
|
372
|
+
```powershell
|
|
373
|
+
winget --version
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
Or verify Chocolatey:
|
|
377
|
+
|
|
378
|
+
```powershell
|
|
379
|
+
choco --version
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
#### Installation Steps
|
|
383
|
+
|
|
384
|
+
**Option A: Install using winget (Recommended):**
|
|
385
|
+
|
|
386
|
+
Open PowerShell or Command Prompt as Administrator and run:
|
|
387
|
+
|
|
388
|
+
```powershell
|
|
389
|
+
winget install --id Klocman.BulkCrapUninstaller --silent --accept-package-agreements --accept-source-agreements
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
**Explanation of flags:**
|
|
393
|
+
- `--id Klocman.BulkCrapUninstaller`: Specifies the exact package identifier
|
|
394
|
+
- `--silent`: Suppresses the installer UI completely
|
|
395
|
+
- `--accept-package-agreements`: Automatically accepts the package license
|
|
396
|
+
- `--accept-source-agreements`: Automatically accepts the source terms
|
|
397
|
+
|
|
398
|
+
**Option B: Install using Chocolatey:**
|
|
399
|
+
|
|
400
|
+
```powershell
|
|
401
|
+
choco install bulk-crap-uninstaller -y
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
**Explanation of flags:**
|
|
405
|
+
- `-y`: Automatically confirms all prompts
|
|
406
|
+
|
|
407
|
+
#### Verification
|
|
408
|
+
|
|
409
|
+
Confirm Bulk Crap Uninstaller is installed:
|
|
410
|
+
|
|
411
|
+
```powershell
|
|
412
|
+
# Check via winget
|
|
413
|
+
winget list --id Klocman.BulkCrapUninstaller
|
|
414
|
+
|
|
415
|
+
# Or check if the executable exists
|
|
416
|
+
if (Test-Path "$env:ProgramFiles\BCUninstaller\BCUninstaller.exe") {
|
|
417
|
+
Write-Host "Bulk Crap Uninstaller is installed"
|
|
418
|
+
} else {
|
|
419
|
+
Write-Host "Bulk Crap Uninstaller is NOT installed"
|
|
420
|
+
}
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
#### Troubleshooting
|
|
424
|
+
|
|
425
|
+
**winget installation fails:**
|
|
426
|
+
|
|
427
|
+
Reset winget sources and retry:
|
|
428
|
+
|
|
429
|
+
```powershell
|
|
430
|
+
winget source reset --force
|
|
431
|
+
winget install --id Klocman.BulkCrapUninstaller --silent --accept-package-agreements --accept-source-agreements
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
**Chocolatey installation fails:**
|
|
435
|
+
|
|
436
|
+
Clear the Chocolatey cache:
|
|
437
|
+
|
|
438
|
+
```powershell
|
|
439
|
+
choco cache remove
|
|
440
|
+
choco install bulk-crap-uninstaller -y --force
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
**.NET 6 Runtime missing:**
|
|
444
|
+
|
|
445
|
+
The installer should automatically install .NET 6 if missing. If it fails:
|
|
446
|
+
|
|
447
|
+
```powershell
|
|
448
|
+
winget install --id Microsoft.DotNet.DesktopRuntime.6 --silent --accept-package-agreements --accept-source-agreements
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
---
|
|
452
|
+
|
|
453
|
+
### WSL (Ubuntu)
|
|
454
|
+
|
|
455
|
+
**AppCleaner cannot run in WSL.** WSL runs a Linux environment where AppCleaner (a macOS application) is not compatible.
|
|
456
|
+
|
|
457
|
+
#### Recommended Approach
|
|
458
|
+
|
|
459
|
+
Use the standard APT commands within WSL for managing Linux packages, and install Bulk Crap Uninstaller on the Windows host for managing Windows applications.
|
|
460
|
+
|
|
461
|
+
#### Prerequisites
|
|
462
|
+
|
|
463
|
+
- WSL 2 with Ubuntu installed
|
|
464
|
+
- sudo privileges within WSL
|
|
465
|
+
|
|
466
|
+
#### Installation Steps
|
|
467
|
+
|
|
468
|
+
**For Linux packages within WSL, use APT:**
|
|
469
|
+
|
|
470
|
+
```bash
|
|
471
|
+
# Completely remove a package and its configuration
|
|
472
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get purge -y <package-name>
|
|
473
|
+
|
|
474
|
+
# Remove orphaned dependencies
|
|
475
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoremove -y --purge
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
**To install Bulk Crap Uninstaller on the Windows host from within WSL:**
|
|
479
|
+
|
|
480
|
+
```bash
|
|
481
|
+
powershell.exe -Command "winget install --id Klocman.BulkCrapUninstaller --silent --accept-package-agreements --accept-source-agreements"
|
|
482
|
+
```
|
|
483
|
+
|
|
484
|
+
#### Verification
|
|
485
|
+
|
|
486
|
+
Verify APT is available in WSL:
|
|
487
|
+
|
|
488
|
+
```bash
|
|
489
|
+
apt-get --version && echo "APT is available in WSL"
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
Check if Bulk Crap Uninstaller is installed on Windows host:
|
|
493
|
+
|
|
494
|
+
```bash
|
|
495
|
+
powershell.exe -Command "Test-Path 'C:\Program Files\BCUninstaller\BCUninstaller.exe'"
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
#### Troubleshooting
|
|
499
|
+
|
|
500
|
+
**PowerShell command fails from WSL:**
|
|
501
|
+
|
|
502
|
+
Use the full path to PowerShell:
|
|
503
|
+
|
|
504
|
+
```bash
|
|
505
|
+
/mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe -Command "winget install --id Klocman.BulkCrapUninstaller --silent --accept-package-agreements --accept-source-agreements"
|
|
506
|
+
```
|
|
507
|
+
|
|
508
|
+
---
|
|
509
|
+
|
|
510
|
+
### Git Bash (Manual/Portable)
|
|
511
|
+
|
|
512
|
+
Git Bash runs within Windows, so use the portable version of Bulk Crap Uninstaller for a self-contained solution that does not require installation.
|
|
513
|
+
|
|
514
|
+
#### Prerequisites
|
|
515
|
+
|
|
516
|
+
- Windows 10 or later
|
|
517
|
+
- Git Bash installed
|
|
518
|
+
- curl available in Git Bash (included by default)
|
|
519
|
+
- Sufficient disk space (approximately 200 MB for the portable version)
|
|
520
|
+
|
|
521
|
+
#### Installation Steps
|
|
522
|
+
|
|
523
|
+
Download and extract the portable version of Bulk Crap Uninstaller:
|
|
524
|
+
|
|
525
|
+
```bash
|
|
526
|
+
# Create installation directory
|
|
527
|
+
mkdir -p "$HOME/Apps/BCUninstaller"
|
|
528
|
+
|
|
529
|
+
# Download the portable version
|
|
530
|
+
curl -L -o "$HOME/Apps/BCUninstaller/BCUninstaller_portable.zip" \
|
|
531
|
+
"https://github.com/Klocman/Bulk-Crap-Uninstaller/releases/download/v5.9/BCUninstaller_5.9.0_portable.zip"
|
|
532
|
+
|
|
533
|
+
# Extract the archive
|
|
534
|
+
unzip -q "$HOME/Apps/BCUninstaller/BCUninstaller_portable.zip" -d "$HOME/Apps/BCUninstaller/"
|
|
535
|
+
|
|
536
|
+
# Remove the zip file to save space
|
|
537
|
+
rm "$HOME/Apps/BCUninstaller/BCUninstaller_portable.zip"
|
|
538
|
+
|
|
539
|
+
# Create a convenience alias (optional)
|
|
540
|
+
echo 'alias bcuninstaller="$HOME/Apps/BCUninstaller/BCUninstaller.exe"' >> ~/.bashrc
|
|
541
|
+
source ~/.bashrc
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
**Note:** The portable version includes the .NET 6 runtime, making it self-contained but larger in size (approximately 200 MB).
|
|
545
|
+
|
|
546
|
+
#### Alternative: Install via PowerShell from Git Bash
|
|
547
|
+
|
|
548
|
+
If you prefer the installed version:
|
|
549
|
+
|
|
550
|
+
```bash
|
|
551
|
+
powershell.exe -Command "winget install --id Klocman.BulkCrapUninstaller --silent --accept-package-agreements --accept-source-agreements"
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
#### Verification
|
|
555
|
+
|
|
556
|
+
Verify the portable installation:
|
|
557
|
+
|
|
558
|
+
```bash
|
|
559
|
+
if [[ -f "$HOME/Apps/BCUninstaller/BCUninstaller.exe" ]]; then
|
|
560
|
+
echo "Bulk Crap Uninstaller (portable) is installed"
|
|
561
|
+
else
|
|
562
|
+
echo "Bulk Crap Uninstaller is NOT installed"
|
|
563
|
+
fi
|
|
564
|
+
```
|
|
565
|
+
|
|
566
|
+
Launch the application to verify it works:
|
|
567
|
+
|
|
568
|
+
```bash
|
|
569
|
+
"$HOME/Apps/BCUninstaller/BCUninstaller.exe" &
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
#### Troubleshooting
|
|
573
|
+
|
|
574
|
+
**curl download fails:**
|
|
575
|
+
|
|
576
|
+
Use wget as an alternative:
|
|
577
|
+
|
|
578
|
+
```bash
|
|
579
|
+
wget -O "$HOME/Apps/BCUninstaller/BCUninstaller_portable.zip" \
|
|
580
|
+
"https://github.com/Klocman/Bulk-Crap-Uninstaller/releases/download/v5.9/BCUninstaller_5.9.0_portable.zip"
|
|
581
|
+
```
|
|
582
|
+
|
|
583
|
+
**unzip not found:**
|
|
584
|
+
|
|
585
|
+
Extract using PowerShell:
|
|
586
|
+
|
|
587
|
+
```bash
|
|
588
|
+
powershell.exe -Command "Expand-Archive -Path '$HOME/Apps/BCUninstaller/BCUninstaller_portable.zip' -DestinationPath '$HOME/Apps/BCUninstaller/' -Force"
|
|
589
|
+
```
|
|
590
|
+
|
|
591
|
+
**Permission denied when running:**
|
|
592
|
+
|
|
593
|
+
Ensure the executable has proper permissions. In Git Bash, Windows executables should run without additional permissions, but if issues occur:
|
|
594
|
+
|
|
595
|
+
```bash
|
|
596
|
+
chmod +x "$HOME/Apps/BCUninstaller/BCUninstaller.exe"
|
|
597
|
+
```
|
|
598
|
+
|
|
599
|
+
---
|
|
600
|
+
|
|
601
|
+
## Post-Installation Configuration
|
|
602
|
+
|
|
603
|
+
### macOS (AppCleaner)
|
|
604
|
+
|
|
605
|
+
After installing AppCleaner on macOS:
|
|
606
|
+
|
|
607
|
+
1. **Enable SmartDelete (Optional)**: Open AppCleaner > Preferences > SmartDelete. This automatically prompts you to remove associated files when you drag an app to the Trash.
|
|
608
|
+
|
|
609
|
+
2. **Configure Protected Apps**: In Preferences, you can specify applications that should never be suggested for removal.
|
|
610
|
+
|
|
611
|
+
3. **Review Launch at Login**: Disable "Launch at Login" in Preferences if you prefer to run AppCleaner only when needed.
|
|
612
|
+
|
|
613
|
+
### Windows (Bulk Crap Uninstaller)
|
|
614
|
+
|
|
615
|
+
After installing Bulk Crap Uninstaller on Windows:
|
|
616
|
+
|
|
617
|
+
1. **First Launch**: The application may run a setup wizard on first launch. Accept the default settings for standard operation.
|
|
618
|
+
|
|
619
|
+
2. **Enable Quiet Uninstall**: In Settings > Uninstall > Quiet uninstall, enable automatic quiet uninstallation for supported applications.
|
|
620
|
+
|
|
621
|
+
3. **Configure Leftover Removal**: In Settings > Uninstall, enable "Automatically search for leftovers" to clean up residual files after uninstallation.
|
|
622
|
+
|
|
623
|
+
---
|
|
624
|
+
|
|
625
|
+
## Common Issues
|
|
626
|
+
|
|
627
|
+
### Cross-Platform Issues
|
|
628
|
+
|
|
629
|
+
| Issue | Cause | Solution |
|
|
630
|
+
|-------|-------|----------|
|
|
631
|
+
| Package manager not found | Package manager not installed | Install the appropriate package manager for your platform first |
|
|
632
|
+
| Permission denied | Insufficient privileges | Run commands with sudo (Linux/macOS) or as Administrator (Windows) |
|
|
633
|
+
| Download fails | Network connectivity issues | Check internet connection; try alternative download sources |
|
|
634
|
+
|
|
635
|
+
### macOS-Specific Issues
|
|
636
|
+
|
|
637
|
+
| Issue | Solution |
|
|
638
|
+
|-------|----------|
|
|
639
|
+
| "AppCleaner is damaged" error | Run `xattr -cr /Applications/AppCleaner.app` |
|
|
640
|
+
| Homebrew cask outdated | Run `brew update && brew upgrade --cask appcleaner` |
|
|
641
|
+
| AppCleaner not finding all files | Ensure you have granted Full Disk Access in System Preferences > Privacy & Security |
|
|
642
|
+
|
|
643
|
+
### Windows-Specific Issues
|
|
644
|
+
|
|
645
|
+
| Issue | Solution |
|
|
646
|
+
|-------|----------|
|
|
647
|
+
| winget not found | Install from Microsoft Store (App Installer) or upgrade Windows |
|
|
648
|
+
| .NET Runtime errors | Install .NET 6 Desktop Runtime manually |
|
|
649
|
+
| Portable version fails to start | Ensure Windows Defender is not blocking the executable; add an exception if needed |
|
|
650
|
+
|
|
651
|
+
### Linux-Specific Issues
|
|
652
|
+
|
|
653
|
+
| Issue | Solution |
|
|
654
|
+
|-------|----------|
|
|
655
|
+
| apt-get purge leaves files behind | Some applications store data in user home directories; manually remove `~/.config/<app-name>` and `~/.local/share/<app-name>` |
|
|
656
|
+
| Package dependencies still installed | Run `apt-get autoremove -y --purge` after purging the main package |
|
|
657
|
+
|
|
658
|
+
---
|
|
659
|
+
|
|
660
|
+
## Usage Examples
|
|
661
|
+
|
|
662
|
+
### macOS: Using AppCleaner
|
|
663
|
+
|
|
664
|
+
1. **Drag and Drop Method**: Open AppCleaner, then drag an application from Finder into the AppCleaner window. It will scan for all associated files.
|
|
665
|
+
|
|
666
|
+
2. **Application List Method**: Click the application icon in AppCleaner's toolbar to see a list of all installed applications. Select one to see its associated files.
|
|
667
|
+
|
|
668
|
+
3. **SmartDelete Method**: With SmartDelete enabled, simply drag an application to the Trash. AppCleaner will automatically detect this and offer to remove associated files.
|
|
669
|
+
|
|
670
|
+
### Windows: Using Bulk Crap Uninstaller
|
|
671
|
+
|
|
672
|
+
1. **GUI Method**: Launch BCUninstaller. The application automatically scans for installed programs. Select one or more programs and click "Uninstall".
|
|
673
|
+
|
|
674
|
+
2. **Quiet Uninstall**: Select applications and choose "Quiet Uninstall" to remove them without installer prompts.
|
|
675
|
+
|
|
676
|
+
3. **Leftover Cleanup**: After uninstallation, BCUninstaller can scan for and remove leftover files and registry entries.
|
|
677
|
+
|
|
678
|
+
---
|
|
679
|
+
|
|
680
|
+
## References
|
|
681
|
+
|
|
682
|
+
### macOS (AppCleaner)
|
|
683
|
+
|
|
684
|
+
- [AppCleaner Official Website (FreeMacSoft)](https://freemacsoft.net/appcleaner/)
|
|
685
|
+
- [AppCleaner Homebrew Cask](https://formulae.brew.sh/cask/appcleaner)
|
|
686
|
+
|
|
687
|
+
### Windows (Bulk Crap Uninstaller)
|
|
688
|
+
|
|
689
|
+
- [Bulk Crap Uninstaller Official Website](https://www.bcuninstaller.com/)
|
|
690
|
+
- [Bulk Crap Uninstaller GitHub Repository](https://github.com/Klocman/Bulk-Crap-Uninstaller)
|
|
691
|
+
- [Bulk Crap Uninstaller Chocolatey Package](https://community.chocolatey.org/packages/bulk-crap-uninstaller)
|
|
692
|
+
- [Bulk Crap Uninstaller winget Package](https://winget.run/pkg/Klocman/BulkCrapUninstaller)
|
|
693
|
+
- [Bulk Crap Uninstaller SourceForge Downloads](https://sourceforge.net/projects/bulk-crap-uninstaller/)
|
|
694
|
+
|
|
695
|
+
### Linux
|
|
696
|
+
|
|
697
|
+
- [Ubuntu APT Documentation](https://help.ubuntu.com/community/AptGet/Howto)
|
|
698
|
+
- [Debian Package Management](https://www.debian.org/doc/manuals/debian-reference/ch02.en.html)
|
|
699
|
+
- [DNF Command Reference](https://dnf.readthedocs.io/en/latest/command_ref.html)
|