Как организовать хранилище пакетного менеджера?
Я бы не взялся отвечать сколь либо конкретно на ваши вопросы, т.к. всё это очень сильно зависит от конкретных задач, которые будет решать ваш пакетный менеджер. Непонятно, системный ли это пакетный менеджер, вроде RPM или Windows Installer, или это пакетный менеджер для языка/экосистемы вроде NPM.
Также непонятно и о каком хранилище вы говорите. Вероятно ваш пакетный менеджер будет клиент-серверным комплексом. Ваши вопросы касаются хранилища для сервисного компонента или способ хранения/установки пакетов на той машине, где они "потребляются" вас тоже интересует?
Что для вас безопасность? Доступ к каким операциям и ресурсам в вашем программном комплексе вы хотите ограничить?
Вам следует задать гораздо более узкий вопрос, а для этого сначала нужно продумать задачу самостоятельно. Если вы не знаете с чего начать - тогда либо ваши цели вам поставил другой человек, и нужно уточнить у него, либо, если эти цели вы сами себе поставили - вам надо понять, что вам хочется/нужно. Начните с изучения существующих решений, хотя бы чтобы понять, что "пакетный менеджер" - слишком шиорокое понятие, чтобы рекомендовать что-то конкретное.
Будет ли это файловая система или база данных? 
Как хочешь - так и будет.
Можно SQLite использовать, к примеру.
Там же требования к производительности не высоки.