Compartilhamento de arquivos com diretórios virtuais

Compartilhamento de arquivos com diretórios virtuais

Me desculpe se este não é o lugar certo para perguntar isso... Estou tentando criar algum tipo de servidor onde não quero armazenar todos os softwares que são usados ​​na minha escola organizados pelas diferentes salas de aula para que quando estou preparando um novo computador posso encontrar o grupo correto de software para copiar. O problema é que existem vários aplicativos em classes diferentes, então tenho que criar várias cópias do mesmo software em cada pasta de classe, usando cada vez mais espaço.

Primeiro pensei em criar um site usando PHP, Javascript porque é fácil armazenar todos os arquivos em um só lugar e criar páginas diferentes para cada classe onde eu pudesse baixar o software, mas tenho pouca experiência em desenvolvimento Web então ainda tenho que trabalhe nisso.

A outra solução foi com um servidor FTP mas não sei se é possível criar algum tipo de pasta virtual onde eu pudesse ver apenas os arquivos de cada classe mas quando baixei os arquivos o verdadeiro local de armazenamento era uma única pasta .

A ideia é ter uma maneira fácil de atualizar constantemente o software sem precisar alterar cada pasta de classe.

Responder1

Como você instalará o software apenas uma vez, mesmo que você tenha classes diferentes para usá-los, eu colocaria todos os .debarquivos em uma única pasta, portanto, quando você baixá-los do ftp/servidor em uma nova instalação, você só precisará fazer:

dpkg -i /path-to-the-downloaded-files/*.deb

Para separá-los para cada classe, você pode criar uma estrutura de pastas que contenha .desktoparquivos para cada aplicativo em sua área de trabalho.

Você pode empacotar essa estrutura de pastas com uma ferramenta de compactação ( tar, 7z, etc.) e colocá-la no servidor também, o que torna a restauração muito fácil. Mais informações sobre .desktoparquivos podem ser encontradasaqui.

Responder2

Você também pode usar links simbólicos. Comece colocando todos os aplicativos em um diretório; então, em cada pasta de classe, em vez de colocar os aplicativos reais, crie um link para o arquivo do aplicativo relevante. Agora você armazena o arquivo apenas uma vez, mas pode acessá-lo de vários lugares.

Se você atualiza aplicativos com frequência, você pode dar um passo adiante: em vez de vincular ao aplicativo, vincule a um "ponteiro" ou "stub" e, em seguida, vinculequepara o aplicativo. Isso significa que você teria algo como:

Classe A

---AppA (links para A)

---AppB (links para B)

---AppC (links para C)

Classe B

---AppA (links para A)

---AppD (links para D)

Classe C

---AppA (links para A)

---AppC (links para C)

---AppD (links para D)

Diretório de aplicativos

---A (links para A.versão)

---B (links para B.versão)

---C (links para versão C.)

---D (links para D.versão)

Agora, ao atualizar um pacote, você não precisa refazer os links para cada classe, pois eles não mudam. Em vez disso, você alteraria os links noDiretório de aplicativosapontar para a nova versão e pronto.

informação relacionada