Crinado um pacote deb [RESOLVIDO]

1. Crinado um pacote deb [RESOLVIDO]

Yuri
yurifc4

(usa Manjaro Linux)

Enviado em 22/01/2015 - 14:46h

Boa tarde,
Estou criando um pacote deb com as configurações do openbox... então tem arquivos que vão para /usr/bin, /usr/share... até aí tudo bem, mas tem arquivos que vão para /home/USUÁRIO/.config. Só que se eu fosse fazer só para mim, faria a estrutura assim /home/yuri/.config. Mas queria deixar padrão para qualquer usuário instalar. Tentei criar o pacote com essa estrutura: $home/.config. Mas na hora de instalar o pacote, as únicas pastas que não são copiadas são as do $home. Não sei se esse é o jeito correto, ou se ele não copia para pastas ocultas... alguém sabe alguma coisa a respeito?

Valeu.


  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/01/2015 - 17:13h

yurifc4 escreveu:
Acho que não é bem isso que eu preciso... só quero saber como montar a estrutura, para quando eu precisar descompactar, ou seja... quando a pessoa instalar o pacote deb, certos arquivos serem instalados dentro da pasta de usuário dele (/home/USER/...)


Você pode pensar em um script pós instalação, dentro de usr/bin do pacote .deb (algo como "postinst_nome_do_pacote") que seria executado como user normal, ai o script copia os arquivos que você quer dentro da home.





3. Re: Crinado um pacote deb [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/01/2015 - 14:58h

Veja na sessão 7.6 o tópico sobre o script postinst;

"7.6 What is a Debian preinst, postinst, prerm, and postrm script?"
https://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html



4. Re: Crinado um pacote deb [RESOLVIDO]

Yuri
yurifc4

(usa Manjaro Linux)

Enviado em 22/01/2015 - 16:46h

ru4n escreveu:

Veja na sessão 7.6 o tópico sobre o script postinst;

"7.6 What is a Debian preinst, postinst, prerm, and postrm script?"
https://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html


Acho que não é bem isso que eu preciso... só quero saber como montar a estrutura, para quando eu precisar descompactar, ou seja... quando a pessoa instalar o pacote deb, certos arquivos serem instalados dentro da pasta de usuário dele (/home/USER/...)






5. Re: Crinado um pacote deb [RESOLVIDO]

Yuri
yurifc4

(usa Manjaro Linux)

Enviado em 22/01/2015 - 17:31h

ru4n escreveu:

yurifc4 escreveu:
Acho que não é bem isso que eu preciso... só quero saber como montar a estrutura, para quando eu precisar descompactar, ou seja... quando a pessoa instalar o pacote deb, certos arquivos serem instalados dentro da pasta de usuário dele (/home/USER/...)


Você pode pensar em um script pós instalação, dentro de usr/bin do pacote .deb (algo como "postinst_nome_do_pacote") que seria executado como user normal, ai o script copia os arquivos que você quer dentro da home.





Então ao invés de extrair a pasta que está dentro do pacote (.deb) para a pasta do usuário, posso colocar em /tmp por exemplo, e depois criar o posinst para mover o que está em /tmp para /home/usr/.config. Seria isso?

O problema é que não sei criar scripts, a não ser que seja os comando básicos de copiar, mover e apagar, não sei onde fica esse arquivo e como executá-lo após a instalação.





6. Re: Crinado um pacote deb

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/01/2015 - 19:16h


Então ao invés de extrair a pasta que está dentro do pacote (.deb) para a pasta do usuário, posso colocar em /tmp por exemplo, e depois criar o posinst para mover o que está em /tmp para /home/usr/.config. Seria isso?

O problema é que não sei criar scripts, a não ser que seja os comando básicos de copiar, mover e apagar, não sei onde fica esse arquivo e como executá-lo após a instalação.



Um exemplo super básico, pensei em algo mais trivial, e.g:

Estrutura do arquivo package_name.deb

./
DEBIAN
DEBIAN/control
usr
usr/bin
usr/bin/set_user_cont.sh
usr/share
usr/share/package_name
usr/share/package_name/default_settings
[...]


O arquivo "usr/bin/set_user_cont.sh" seria o script que instalaria na pasta do usuário as configurações e arquivos encontrados na pasta default_settings. O conteúdo do script pode ser bem simples, e.g:

#!/bin/sh
# Exemplo super básico
echo "** Instalando arquivos de configuração:"
cp -vr /usr/share/package_name/default_settings/* ~
echo "** Pronto!"



A pasta "usr/share/package_name/default_settings" seria o local onde você vai guardar os arquivos que serão copiados para a pasta de usuário assim que ele executar o script "set_user_cont.sh".





7. Re: Crinado um pacote deb [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/01/2015 - 19:18h

Claro que você pode aprimorar esse script de instalação, adicionando mais coisas que precisaria ser feito antes mesmo de copiar os arquivos.



8. Re: Crinado um pacote deb [RESOLVIDO]

Yuri
yurifc4

(usa Manjaro Linux)

Enviado em 22/01/2015 - 19:38h

Aee deu certo ru4n... consegui fazer \o/


9. Re: Crinado um pacote deb [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/01/2015 - 19:44h

yurifc4 escreveu:

Aee deu certo ru4n... consegui fazer \o/


Como fez? Usou o modelo que apresentei?




10. Re: Crinado um pacote deb [RESOLVIDO]

edps
edps

(usa Slackware)

Enviado em 26/01/2015 - 00:41h

As configurações padrões de usuários devem ficar em /etc/skel, porém o openbox deixa as suas em /etc/xdg/openbox, assim caberá ao sujeito que o instala copiá-las para sua $HOME:


$ mkdir -pv ~/.config/openbox
$ cp -av /etc/xdg/openbox/* ~/.config/openbox/





11. Re: Crinado um pacote deb [RESOLVIDO]

Yuri
yurifc4

(usa Manjaro Linux)

Enviado em 28/01/2015 - 21:40h

ru4n escreveu:

yurifc4 escreveu:

Aee deu certo ru4n... consegui fazer \o/


Como fez? Usou o modelo que apresentei?



Na verdae fiz o script (postinst),

#!/bin/sh
# Exemplo super básico
echo "** Instalando arquivos de configuração:"
cp -vr /usr/share/package_name/default_settings/* ~
echo "** Pronto!"

só que coloquei ele dentro da pasta DEBIAN, junto com o control. E deu certo.






12. Re: Crinado um pacote deb [RESOLVIDO]

Yuri
yurifc4

(usa Manjaro Linux)

Enviado em 28/01/2015 - 21:43h

h4rd3r escreveu:

As configurações padrões de usuários devem ficar em /etc/skel, porém o openbox deixa as suas em /etc/xdg/openbox, assim caberá ao sujeito que o instala copiá-las para sua $HOME:


$ mkdir -pv ~/.config/openbox
$ cp -av /etc/xdg/openbox/* ~/.config/openbox/




Realmente, existe uma pasta de configs em /etc/xdg/openbox. Mas eu sempre achei que ficasse em /home/usuario/.config/openbox










Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts