Pagina 1 di 1

Script per installazioni

Inviato: dom 31 dic 2023, 14:40
da Linpassion
Ciao mi sto cimentando a creare degli script di installazioni, per automatizzare il tutto anche per eventuali installazioni successive. mi chiedevo se sia possibile dividere l'esecuzione di comandi come come utente ed il resto come root.
Di seguito metto il primo codice per installare pure data

Codice: Seleziona tutto

#!/bin/bash
cp -r pd-0.54-1 ~/.local/share
cp Pd.desktop ~/.local/share/applications
cd ~/.local/share/pd-0.54-1
./autogen.sh
./configure --with-universal=x86_64
make
su
if [ "$(id -u)" = "0" ]; then
    cd ~/.local/share/pd-0.54-1
    make install
fi
Tale codice funziona fino al comando su e ciò che sta al suo interno viene ignorato. Potrei fare tutto da root ma poi il comando cp -r ... non funziona. voi come fate per automatizzare la compilazione tradizionale.

Re: Script per installazioni

Inviato: dom 31 dic 2023, 16:18
da gian_d
Dubito che sia possibile, la canonica installazione da sorgenti ha sempre contemplato la preconfigurazione e la compilazione da utente senza privilegi e l'installazione da root. D'altra parte nella maggior parte delle distribuzioni, che io sappia, si ricorre ormai all'installazione dei pacchetti precompilati, operazione che deve essere fatta dall'amministratore.
D'altra parte gli stessi slackbuild includono l'intera procedura dalla preconfigurazione all'installazione, tutte fasi che vengono fatte da amministratore.

Re: Script per installazioni

Inviato: mar 2 gen 2024, 20:06
da RomInRome
Potresti inserire il tuo utente come sudouser e lanciare tutti i comandi che servono con il comando sudo(8).
Il primo comando sudo chiede la tua password poi gli altri (per un certo tempo) vengono eseguiti senza chiedere più niente.

esempio:

Codice: Seleziona tutto

:~$ sudo id
Password: 
uid=0(root) gid=0(root) gruppi=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),17(audio)
:~$
per cui il test sarebbe:

Codice: Seleziona tutto

if [ "$(sudo id -u)" = "0" ]; then
anche se

Codice: Seleziona tutto

sudo make install
fa gia tutto.

vedi un po tu.
ciao