Sistema de Diretorios

Iniciado por fabioebner, 06 de Julho de 2009, 22:28

tópico anterior - próximo tópico

fabioebner

Pessoal estou com um problema.  desenvolvi um prog em q o usuario seleciona um diretorio grava no banco, e todos os clientes qdo precisar de algum arquivo vao naquele diretorio e pega.. porem o problema e q no windows eu faco o seguinte : mapeio um diretorio no meu servidor e no programa seleciono aquela unidade mapeada. porem ele salva no banco como z:\notas

agora instalei o prog em um linux.. e qdo vou abrir o negocio ele procura no z:\notas.. porem nao existe so exite so notas\  como eu faco para arrumar isso.. salvar uma localizacao no disco q serve para ambos (lembra-se q mesmo no linux eu posso buscar um arquivo q esta em outro micro.. )

valeu

VB5

Acho que a saída é modificar a versão Linux pra que ela encontre o folder desejado. Se ele está em outra máquina, você pode usar o IP desta; mas tudo depende de como você programou.

VB5
Ubuntu 10.04 - Semprom 2600+/Asus K8N/1.5 GB RAM DDR 400/GeForce 6200/HDs: 80MB + 320 GB

raidicar

No linux você pode mapear uma unidade onde você quiser, em qualque pasta vazia. Isso é fácil.
Mas a estrutura de diretórios é diferente, pra começar, a barra que o linux utiliza para navegar entre os diretórios é "/" e não "\" como o windows e, como eu disse, o mapeamento é feito em um diretório e no windows é feito em uma "unidade lógica".
É complicado então recriar o caminho z:\ no linux, você não pode mudar o caminho, como /media/z no seu programa?
Você está utilizando o wine para rodar esse seu programa?
Quem ama extremamente, deixa de viver em si e vive no que ama. Na vida três coisas são certas, o amor, a morte e o Linux !
Se Platão disse, então realmente sofremos de uma perigosa doença mental.

slkslk

#3
Como já foi dito, e de tudo o que conheço de ambos os SO's tal não é possível. no link seguinte tem a estrutura de directorios do linux

http://slashmedia.wordpress.com/2007/12/23/linux-directory-structure/

É um pouco intimidante para quem está habituado ao windows, e bastante mais complexo do que c:\program files\xpto\ ...

Assim sendo pode:

Alojar o directório no windows (a fazer de file server) e mapeie com o samba nos clientes linux, ou aloje no linux (a fazer de file server) e mapeie com nfs nos clientes windows, o que é um pouco mais complicado mas possível e tenho a funcionar nas minhas empresas. Para o último caso facilmente poderia criar uma drive z: virtual a apontar para o servidor linux, por ex. 192.168.0.1:/home/users/z . De qualquer modo deverá ter uma versão de windows e uma de linux a apontar para os directorios apropriados em cada caso, apesar de poderem (do modo que referi) aceder aos mesmos ficheiros mesmo que alojados em SO diferentes.

Se conseguir reunir as bibliotecas necessárias no wine pode também correr via wine.

Instalar o vmware no linux ou no windows e opere como se estivesse no outro SO, ou seja trabalhe no windows dentro do linux ou vice-versa. Funciona muito bem mesmo, e dá para configurar ip's de rede e por aí fora.

Cumps
"Carpe diem, quam minimum credula postero."
(Aproveite o dia, acredite o mínimo possível no amanhã), Horácio, Odes I,11,8

fabioebner

Entao pessoal nao estou usando nem wine nem nada. pois o programa e em java.. rodo normal em ambos os SO .. teria como eu fazer um mount de um diretorio qualquer (mesmo q ele seja o servidor) e no meu programa eu substituir o c:\ por um lugar padrao no qual sempre ficam localizados os meus drivers montados?? entederam?

slkslk

E se criar uma variável chamada PATH por ex, em que toma o valor "c:\program files\etc\..." ou "/etc/abc/..." conforme o sistema operativo? Não sei como captaria o sistema operativo, mas calculo que deve existir um comando para o obter, e conforme retornasse *win* ou não a variável assumiria um valor diferente. Não o posso ajudar mais do  que isto porque infelizmente não conheço o suficiente de java, mas penso que será possível... De qualquer modo talvez seja melhor postar na área de programação/scripts onde eventualmente terá uma resposta mais específica do que esta...

Cumps
"Carpe diem, quam minimum credula postero."
(Aproveite o dia, acredite o mínimo possível no amanhã), Horácio, Odes I,11,8

raidicar

Citação de: fabioebner online 07 de Julho de 2009, 12:10
Entao pessoal nao estou usando nem wine nem nada. pois o programa e em java.. rodo normal em ambos os SO .. teria como eu fazer um mount de um diretorio qualquer (mesmo q ele seja o servidor) e no meu programa eu substituir o c:\ por um lugar padrao no qual sempre ficam localizados os meus drivers montados?? entederam?
Sim amigo, isso resolve o problema, se pode alterar o caminho então, o problema não existe. os dados você pode montar onde quiser. Poderia criar uma pasta no diretório /media.
sudo mkdir /media/dados.
Depois instalar o smbfs
apt-get install samba smbfs
Por fim o fomando:
sudo mount -t smbfs //SERVIDOR/ARQUIVOS /media/dados -o username=USUARIO,password=SENHA
Agora a pasta dados no computador nada mais é que a pasta arquivos do Servidor
Veja os tópicos abaixo para mais detalhes:
http://ubuntuforum-br.org/index.php?topic=50982.0
http://ubuntuforum-br.org/index.php?topic=35285.0
http://ubuntuforum-pt.org/index.php?topic=51487.0
Quem ama extremamente, deixa de viver em si e vive no que ama. Na vida três coisas são certas, o amor, a morte e o Linux !
Se Platão disse, então realmente sofremos de uma perigosa doença mental.

fabioebner

Boa era isso q eu queria.. agora tenho uma duvida.. vc falou q eu preciso instalar neh? mas pq qdo eu vou pelo menu LOCAIS - CONECTAR AO SERVIDOR ele me cria um smb://IP ???
e qdo eu faco no console fala q nao esta instalado?


valeu

clcampos

Movido para Programação e Scripts.
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

raidicar

#9
Citação de: fabioebner online 08 de Julho de 2009, 10:08
Boa era isso q eu queria.. agora tenho uma duvida.. vc falou q eu preciso instalar neh? mas pq qdo eu vou pelo menu LOCAIS - CONECTAR AO SERVIDOR ele me cria um smb://IP ???
e qdo eu faco no console fala q nao esta instalado?
O que exatemente fala que não está instalado???
Sejá como form foi instalado o samba e o smbfs via apt-get? Por que pela linha de comando o smbfs é necessário.
sudo apt-get install samba smbfs
Na maioria das vezes o modo gráfico possui aplicativos que facilitam a vida para realizar determinados processos, utilizando-se de determinados recursos que, via terminal, não funciona, fazendo com que via terminal o mesmo processo seja realizado de forma diferente, utilizando recursos diferentes, necessitando, por vezes, da instalação de algum componente ainda não instalado, afim de obter o mesmo resultado final.
Gráfico é gráfico e texto é texto, não pode misturar ferramentas que funcionam em modo texto com ferramentas que funcionam em modo gráfico, mesmo que possuam a mesma finalidade, tratam-se de ferramentas diferentes e algumas vezes, independentes, ok?
Quem ama extremamente, deixa de viver em si e vive no que ama. Na vida três coisas são certas, o amor, a morte e o Linux !
Se Platão disse, então realmente sofremos de uma perigosa doença mental.