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

