Comments (13)
Here's how SMT implements this:
# smt-repos -h
...
--delete : delete the repository from disk
from rmt.
Instead of actually implementing a "delete" command, we could print out where the repos are on the disk when the user calls repos disable
or products disable
. That gives users the chance to quickly remove the files if they want to.
from rmt.
#127 (comment) could be done as part of #94
from rmt.
@lagartoflojo I'm not sure if we want to do this with deduplication in place.
If a user deletes a directory that has a package used in symlinks, other products using that symlink could be broken. This would be fixed in the next mirror, but I'm not sure if we should find that "downtime" acceptable.
from rmt.
@tmuntaner but there are no symlinks? It's only hardlink or copy.
from rmt.
@ikapelyukhin You're right, you can ignore my previous comment ^_^
from rmt.
Hi guys, I'd like to take this one as @thutterer suggested me last time on #202 . Can somebody tell me where to start please ?
from rmt.
@NeimadTL At the moment there's no way to remove repositories that are no longer needed (repositories that are disabled for mirroring). Another issue is that repositories accumulate old packages over time: new versions of packages come out, repository metadata references new packages only -- which means that old packages become effectively inaccessible by client machines, but they are still stored on the disk of RMT server.
There are 3 possible things you could do:
- The quick-and-dirty solution: when repository is being disabled, print the path to it on disk, so that the user can remove it manually. However, during mirroring all file names and checksums are stored in the DB (for creating hardlinks). This solution wouldn't address cleaning up the DB (that's the "dirty" bit).
- Implement a new
rmt-cli repos clean
command that would go through the directories stored on the disk and remove the ones that aren't mirrored, as well as clean up entries in the DB. - Implement a new
rmt-cli repos clean
command that would go through the mirrored repositories and remove files that aren't referenced by the metadata anymore, as well as clean up entries in the DB.
That's the overview of things from my perspective. Please feel free to ask questions, you can also reach me on IRC, RocketChat or via email.
Thanks, Ivan.
from rmt.
Hi @ikapelyukhin, thank you for your guidance. I think I'll definitely have a lot more questions so I'll reach out to you one way or another tomorrow. No need to ask them here.
from rmt.
Hello @NeimadTL,
I just wanted to check in with you to see if you're still interested in working on this. If not, I'll create a task for the team to take over.
Thanks
from rmt.
I have to admit that I've put on the the side because I wanted to do too much things at the same time. I don't how a gem is organized in general and I don't know the RMT project in particular. Is that possible to give me one or two weeks to deal with it please ? if you have deadlines, I understand.
from rmt.
@lagartoflojo Do you think we can close this issue with the latest changes made to RMT?
from rmt.
Solved by #595
from rmt.
Related Issues (20)
- Directories will be created with wrong permissions HOT 3
- rmt-cli sync issues HOT 6
- SSL configuration settings support for database settings in `/etc/rmt.conf` HOT 1
- Move documentation for rmt.conf to it's own manpage HOT 2
- RMT CLI logfile info for Mirroring HOT 5
- SCC credentials are needed even for OpenSUSE only environment HOT 7
- rmt-mirror reports error from cron job, but ok from command-line on opensuse15.5 HOT 2
- Missing details in error "Not all mandatory repositories are mirrored for product X"
- Offline import repos fail with files that included the special symbol(s) HOT 1
- feature request: allow RMT clients to download packages that are not mirrored but accessible via RMT server HOT 1
- rmt-cli mirror - "Checksum doesn't match" - http redirection issue HOT 2
- rmt-cli mirror error while moving directory: Invalid argument @ apply2files HOT 1
- Unable to mirror openSUSE Tumbleweed HOT 8
- Don't set up source and debuginfo repos on clients when not mirrored
- [RFE] Honor symlinks - RMT does not honor symlink, makes disk full HOT 1
- repos custom help output lacks available options
- feature: Allow filtering out debuginfo packages from a repo
- New `setup` command for `bin/rmt-cli`
- SSL issues with `rmt-client-setup-res` HOT 6
- Update translation license headers HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rmt.