como criar o pacote debian para instalar arquivos em / home / user

2

Eu criei um pacote debian, quero instalar os arquivos no diretório / home / user / myapp em vez de / usr / bin

mas depois de instalar o deb, o dono do / home / user / myapp é root

Espero que depois de instalar o deb, o dono deva ser usuário, então eu adiciono o postinst para fazer o pós-trabalho:

#postinst
chown -R user /home/user/myapp

mas sempre recebo um erro "chown: ... Operação não permitida"

alguma ajuda?

Obrigado

    
por camino 13.05.2011 / 03:28

2 respostas

4

O ponto de um pacote Debian é para instalar o software em todo o sistema. Pense nisso: se vários usuários instalarem esse pacote em suas respectivas áreas /home/user/myapp , o que deve aparecer em seu gerenciador de pacotes?

Se você deseja instalar em seu diretório home, use a distribuição original da fonte (ex. tarball).

    
por 13.05.2011 / 03:32
0

você precisa fazer uma rotina na pós-instalação do pacote que copie o conteúdo do que você precisa colocar na casa do usuário

Algo parecido com isto:

# For every user in /home/ ...
for HOME_U in /home/*?; do

# Obtain the username
USER=$( basename ${HOME_U} )

# In case the user is active (exists in /etc/shadow) ...
if [ $( grep -c "${USER}:.*:.*:.*:.*:.*:::" /etc/shadow ) == 1 ] \
&& [ $( grep -c "${USER}:.*:.*:.*:.*:.*:/bin/.*sh" /etc/passwd ) == 1 ] \
&& [ -d ${HOME_U}/.config ] \
&& [ -d ${HOME_U} ]; then

# Making sure .config/your-package/ exists
mkdir -p /home/${USER}/.config/your-package/

# with appropiate permissions
chown ${USER}:${USER} /home/${USER}/.config/your-package/

# copy what we need
cp /etc/skel/.config/your-package/x.conf /home/${USER}/.config/your-package/
cp /etc/skel/.config/your-package/y.conf /home/${USER}/.config/your-package/
cp ... /home/${USER}/.config/your-package/

# with appropiate permissions
chown ${USER}:${USER} /home/${USER}/.config/your-package/x.conf
chown ${USER}:${USER} /home/${USER}/.config/your-package/y.conf
...

fi
done

Espero que você possa usá-lo.

    
por 25.08.2011 / 05:40

Tags