Извините, если я не в том месте, чтобы спросить об этом... Я пытаюсь создать своего рода сервер, где я не хочу хранить все программное обеспечение, которое используется в моей школе, организованное по разным классам, чтобы при подготовке нового компьютера я мог найти нужную группу программного обеспечения для копирования. Проблема в том, что в разных классах существует несколько приложений, поэтому мне приходится создавать несколько копий одного и того же программного обеспечения в папке каждого класса, используя все больше и больше места.
Сначала я думал о создании веб-сайта с использованием PHP и Javascript, потому что это позволяет легко хранить все файлы в одном месте и создавать разные страницы для каждого класса, с которых я мог бы загружать программное обеспечение, но у меня мало опыта в веб-разработке, поэтому мне еще предстоит над этим поработать.
Другим решением был FTP-сервер, но я не знаю, возможно ли создать какие-то виртуальные папки, где я мог бы видеть только файлы каждого класса, но когда я загружал файлы, реальным местом хранения была одна-единственная папка.
Идея заключается в том, чтобы обеспечить простой способ постоянного обновления программного обеспечения без необходимости изменения каждой отдельной папки класса.
решение1
Поскольку вы устанавливаете программное обеспечение только один раз, даже если у вас есть разные классы, в которых вы их используете, я бы поместил все файлы .deb
в одну папку, чтобы при загрузке их с ftp/сервера при новой установке вам нужно было сделать только следующее:
dpkg -i /path-to-the-downloaded-files/*.deb
Чтобы разделить их для каждого класса, вы можете создать структуру папок, содержащую .desktop
файлы для каждого приложения на вашем рабочем столе.
Эту структуру папок вы затем можете упаковать с помощью инструмента сжатия ( tar, 7z, etc.
) и поместить ее на сервер, что делает восстановление довольно простым. Более подробную информацию о .desktop
файлах можно найтиздесь.
решение2
Вы также можете использовать символические ссылки. Начните с размещения всех приложений в одном каталоге; затем в каждой папке класса вместо размещения реальных приложений создайте ссылку на соответствующий файл приложения. Теперь вы сохраняете файл только один раз, но можете получить к нему доступ из многих мест.
Если вы часто обновляете приложения, вы можете сделать еще один шаг вперед: вместо ссылки на приложение, сделайте ссылку на «указатель» или «заглушку», а затем ссылкучтов приложение. Это означает, что у вас будет что-то вроде:
Класс А
---AppA (ссылки на A)
---AppB (ссылки на B)
---AppC (ссылки на C)
Класс Б
---AppA (ссылки на A)
---AppD (ссылки на D)
Класс С
---AppA (ссылки на A)
---AppC (ссылки на C)
---AppD (ссылки на D)
Каталог приложений
---A (ссылки на версию A)
---B (ссылки на версию B)
---C (ссылки на версию C)
---D (ссылки на версию D)
Теперь, когда вы обновляете пакет, вам не нужно переделывать ссылки для каждого класса, так как они не меняются. Вместо этого вы измените ссылки вКаталог приложенийвместо этого указать на новую версию, и всё.