Feature request: add whitelist for "Large misc. packages"
ingomueller-net opened this issue · comments
Thanks a lot for this awesome packages! It's an easy work-around for an annoying limitation :)
I have one idea to improve it for my current situation: I really need the space by all options, i.e., I need large-packages: true
. However, I also need llvm-12
and friends, which is removed by that option. Of course, I can work around this by installing it again in another step but I think it would be more convenient and faster if it weren't removed in the first place. One idea to achieve this is to add a whitelist feature that allows to filter out packages that are going to be uninstalled. What do you think?
Hello @ingomueller-net,
Thank you for your kind words and the very nice suggestion, I think this is an excellent idea!
The code for large file removal currently is here:
sudo apt-get remove -y '^dotnet-.*'
sudo apt-get remove -y '^llvm-.*'
sudo apt-get remove -y 'php.*'
sudo apt-get remove -y '^mongodb-.*'
sudo apt-get remove -y '^mysql-.*'
sudo apt-get remove -y azure-cli google-cloud-sdk google-chrome-stable firefox powershell mono-devel libgl1-mesa-dri
A few questions for you:
- Do you have any ideas on how you think this should be specified? So this could be an input flag, like
large-packages-whitelist:
, with a string of comma separated patterns? Likelarge-packages-whitelist: "llvm, dotnet"
for instance? - Do you want to take a stab at implementing this?
Yes, I think 'large-packages-whitelist' would be a good idea. Maybe an actual list of regexes rather than a poor-man's list encoded as a string?
I have been able to reduce my disk usage by other means in the meantime, so I won't be using this action anymore for the time being. I did, however, spent a few minutes thinking about how I would implement this.
I found this post asking the same question I had: how to get a list of packages defined by a wildcard and then remove some with another wildcard. However, I think that that solution isn't quite what we want yet: it only whitelists packages that match the regex of packages that should be removed. However, apt-get remove
may remove further packages, which should also be retained.
add a bug. when dotnet set false, and Large is true, shell will be clean all dotnet runtime . please fix.
It would be even better to provide a. Net runtime environment that retains the specified version.