V
V
Vitaly2017-09-29 20:55:05
Software design
Vitaly, 2017-09-29 20:55:05

How to organize the package manager repository?

Greetings. There was a need to write a package manager. It will store a lot of different information, among which: text and compiled code fragments, various settings in a tree view, binary resource files, maybe something else. In addition to storage, it will take into account dependencies when loading or changing information: incl. renaming or moving, changing content or settings, etc.
Question: how to organize such storage? Will it be a file system or a database? If the first - how to implement security? If the latter, which one is better?

Answer the question

In order to leave comments, you need to log in

2 answer(s)
S
Stanislav Makarov, 2017-09-29
@Nipheris

I would not undertake to answer how or specifically to your questions, because. all this very much depends on the specific tasks that your package manager will solve. It's unclear if this is a system package manager like RPM or Windows Installer, or if it's a language/ecosystem package manager like NPM.
It's also not clear what storage you're talking about. Your package manager will probably be a client-server complex. Are your questions about storage for a service component, or are you also interested in how packages are stored/installed on the machine where they are "consumed"?
What is security for you? What operations and resources in your software package do you want to restrict access to?
You should ask a much narrower question, and for this you first need to think through the problem yourself. If you don’t know where to start, then either another person set your goals for you, and you need to check with him, or, if you set these goals for yourself, you need to understand what you want / need. Start by looking at existing solutions, if only to understand that "package manager" is too broad a term to recommend anything specific.

A
alejandro68, 2017-09-30
@alejandro68

Will it be a file system or a database?

As you wish - so be it.
You can use SQLite, for example.
There performance requirements are not high.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question