A idéia é fazer um programa autocontido. Sua resposta foi para mim interessante e surpreendente. Porque estava no windows, nunca lidei com o conceito de link simbólico.
Você sugeriu que tudo fosse posto em /opt. Por desconhecimento, minha tendência seria colocar as bibliotecas e não os links simbólicos nos referidos caminhos. Qual seria a desvantagem de fazê-lo? Deixe-me exercitar uma hipótese. Terei um script que porá os arquivos em /opt e criará os links simbólicos. Talvez os links simbólicos sejam coisinhas mágicas que perseguem os arquivos para o qual apontam e, uma vez removidos os primeiros, os links se apagam automática e milagrosamente. Se isso for verdade, o script de desinstalação do programa, teria apenas de fazer: “rm –r /opt/*”. Todos os links simbólicos de /usr/bin e /usr/lib se suicidariam tão logo descobrissem que ficaram sós. Será que é isso? Se não for, qual a razão de colocar em /usr/bin e /usr/lib os links simbólicos e não as próprias bibliotecas? bEm 08/12/10, Andre Cavalcante<[email protected]> escreveu: > Como diria o bom programador Jack: por partes. > > Teu programa é auto-contido, isto é, tu vais distribuir tudo o que é > necessário, sem links/dependências com outras bibliotecas (além é claro do > glibc e kernel linux e eventualmente o LUA runtime)? Se sim é um programa de > terceiros e o melhor é fazer um script que copie tudo para /opt/teu_programa > e crie uns links simbólicos em /usr/bin para os executáveis e em /usr/lib > para as bibliotecas dinâmicas. A estrutura interna pode ser qualquer uma, > mas a que você sugeriu é muita boa. > > Teu programa tem uma estrutura distribuída (usar várias bibliotecas > compartilhadas de outros pacotes e irá fornecer igualmente uma ou várias > bibliotecas compartilhadas)? Então gere um pacote .deb que guarde as coisas > onde devem ser guardadas (veja LSB). Tem vários detalhes, mas aí eu deixo > para os meus colegas da lista que são mantenedores de pacotes para te > explicar melhor isso. > > Eu particularmente uso a primeira opção e, como uso Java, distribuo > compactados em zip com um script interno que pode ser executado tanto como > root (/opt/meu_programa) como usuário comum (/home/$USER/apps/meus_programa) > - quando não uso WebStart. > > -- > André Cavalcante > Almada, Portugal > Ubuntu User number # 24370 > Quer saber sobre Open Source Software? http://sobreoss.blogspot.com > Quer saber mais sobre Espiritismo? http://sobreespiritismo.blogspot.com > > Atenção: Este e-mail pode conter anexos no formato ODF (Open Document > Format)/ABNT (extensões odt, ods, odp, odb, odg). Antes de pedir os anexos > em outro formato, você pode instalar gratuita e livremente o BrOffice ( > http://www.broffice.org) ou o seguinte Plugin para Microsoft Office ( > http://www.sun.com/software/star/odf_plugin/get.jsp). > > > 2010/12/8 luciano de souza <[email protected]> > >> Caros, >> >> Gostaria de compreender melhor a estrutura de pastas do Linux. >> Escreverei um programinha em Lua. Ele se comporá de algumas >> bibliotecas dinâmicas "*.so", de um arquivo de banco de dados Sqlite3, >> de algum arquivo de configuração, de alguns scripts Lua, alguma >> documentação e de um Shell script que invocará o interpretador de Lua >> que processará o referido script. >> >> Se estivesse em Windows, compactaria a pasta do programa com o Winrar, >> escolheria a opção de geração de um arquivo autoextraível ("exe" e, >> apontaria para a pasta Arquivos de Programas. Como não necessitaria de >> nenhuma gravação no registro do Windows, isto seria suficiente. >> >> Em Arquivos de Programas, ele criaria a pasta do programa e dentro dela: >> >> ./bin para executáveis e bibliotecas dinâmicas >> ./doc para alguma documentação >> dat para o banco de dados e para configurações >> scr para os scripts Lua >> >> Na pasta raiz do programa, no windows, teria um executável, o disparador. >> >> E no Linux? Como as coisas funcionam? Pelo que pude depreender: >> >> /bin contém os binários do sistema >> /usr/bin contém os executáveis de programas instalados no sistema >> /usr/lib contém as bibliotecas de programas instalados no sistema >> /usr/local/bin e /usr/local/lib parecem cumprir papel similar ao anterior >> >> >> enfim, estou confuso de como deveria organizar o meu programa. Se bem >> entendi, o Linux não adota uma pasta para cada programa, tendo dentro >> dela uma micelânia de conteúdos. >> >> No Linux, parece que a instalação de um programa não está instalada em >> uma pasta, mas espalhada por diversas pastas de acordo com a função de >> cada arquivo dentro do programa. >> >> O que me dizem a este respeito? Será que estou correto? como deveria >> organizar os conteúdos que mencionei. >> >> Luciano de Souza >> >> -- >> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece >> >> Lista de discussão Ubuntu Brasil >> Histórico, descadastramento e outras opções: >> https://lists.ubuntu.com/mailman/listinfo/ubuntu-br >> > -- > Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece > > Lista de discussão Ubuntu Brasil > Histórico, descadastramento e outras opções: > https://lists.ubuntu.com/mailman/listinfo/ubuntu-br > -- Luciano de Souza -- Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece Lista de discussão Ubuntu Brasil Histórico, descadastramento e outras opções: https://lists.ubuntu.com/mailman/listinfo/ubuntu-br

