Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: add whitelist for "Large misc. packages" #6

Open
ingomueller-net opened this issue Jun 13, 2023 · 3 comments
Open

Comments

@ingomueller-net
Copy link

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?

@jlumbroso
Copy link
Owner

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? Like large-packages-whitelist: "llvm, dotnet" for instance?
  • Do you want to take a stab at implementing this?

@ingomueller-net
Copy link
Author

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.

@gmij
Copy link

gmij commented Aug 8, 2023

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants