Wat een lelijke titel, maar ik weet geen betere.
Ik heb een bash script geschreven dat een .deb-package maakt van sickbeard. Maar ik kom er bij 1 ding niet uit, hij installed de deb, dat gaat goed, maar ik wil sickbeard als de current user draaien, dus als de user die de deb installeert (via softwarecenter, dpkg of whatever).
Het postinstall script ziet er zo uit:
En de bedoeling is dus dat $USER wordt vervangen door de huidige user, maar als ik de deb-package installeer dan wordt het vervangen door root. Ik heb mijn complete google-fu arsenaal erop losgelaten, maar ik weet dus niet hoe dat moet. Ik snap ook niet waarom ie direct met root gaat werken.
Het gekke is dat sickbeard dan wel weer de datadir en config.ini in ~/.sickbeard in de home-folder zet (dat is onderdeel van het init-script wat ik aan wil passen. Voor de volledigheid het initscript (het relevante stuk dan):
Iemand een idee waardoor dit komt dat SICKBEARD_USER door root wordt vervangen en hoe ik dat kan voorkomen? De .deb installeert verder prima en sickbeard werkt ook gewoon, maar ik wil het gewoon als user draaiende hebben.
Ik heb een bash script geschreven dat een .deb-package maakt van sickbeard. Maar ik kom er bij 1 ding niet uit, hij installed de deb, dat gaat goed, maar ik wil sickbeard als de current user draaien, dus als de user die de deb installeert (via softwarecenter, dpkg of whatever).
Het postinstall script ziet er zo uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| #!/bin/sh set -e # change values in init.script if grep -i 'SICKBEARD_USER' /etc/init.d/sickbeard > /dev/null then sed -i "s!SICKBEARD_USER!$USER!g" /etc/init.d/sickbeard fi #create pidfile permissions if ! [ -d /var/run/sickbeard ] then mkdir /var/run/sickbeard fi chown -R $USER /var/run/sickbeard #create datadir permissions if ! [ -d ~/.sickbeard ] then mkdir ~/.sickbeard fi chown -R $USER ~/.sickbeard # execute init.script chmod +x /etc/init.d/sickbeard update-rc.d sickbeard defaults /etc/init.d/sickbeard start |
En de bedoeling is dus dat $USER wordt vervangen door de huidige user, maar als ik de deb-package installeer dan wordt het vervangen door root. Ik heb mijn complete google-fu arsenaal erop losgelaten, maar ik weet dus niet hoe dat moet. Ik snap ook niet waarom ie direct met root gaat werken.
Het gekke is dat sickbeard dan wel weer de datadir en config.ini in ~/.sickbeard in de home-folder zet (dat is onderdeel van het init-script wat ik aan wil passen. Voor de volledigheid het initscript (het relevante stuk dan):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
| ############### EDIT ME ################## # path to app APP_PATH=/opt/sickbeard # path to python bin DAEMON=/usr/bin/python # Path to store PID file PID_FILE=/var/run/sickbeard/sickbeard.pid PID_PATH=`dirname $PID_FILE` # script name NAME=sickbeard # app name DESC=SickBeard # user RUN_AS=SICKBEARD_USER # data directory DATA_DIR=~/.sickbeard # config directory CONFIG_DIR=$DATA_DIR/config.ini # startup args DAEMON_OPTS=" SickBeard.py -q --daemon --pidfile=${PID_FILE} --datadir=${DATA_DIR} --config=${CONFIG_DIR}" ############### END EDIT ME ################## test -x $DAEMON || exit 0 set -e if [ ! -d $PID_PATH ]; then mkdir -p $PID_PATH chown $RUN_AS $PID_PATH fi if [ ! -d $DATA_DIR ]; then mkdir -p $DATA_DIR chown $RUN_AS $DATA_DIR fi |
Iemand een idee waardoor dit komt dat SICKBEARD_USER door root wordt vervangen en hoe ik dat kan voorkomen? De .deb installeert verder prima en sickbeard werkt ook gewoon, maar ik wil het gewoon als user draaiende hebben.