Dove installare software ed eseguibili per tutti gli utenti


15

Per impostazione predefinita alcune applicazioni si installano in / usr / local / bin, ma se cambio utenti sarà quell'utente in grado di accedere a questa applicazione? Ho letto da qualche parte qui (un'altra domanda) che dovrei usare / optare? Ma i binari che di default vanno in / usr / local / bin? non c'è / opt / bin?


Risposte:


19

Di solito non dovresti provare a installare nulla a mano. In quasi tutti i casi troverai un pacchetto .deb. Se non esiste un google per suggerimenti (ad esempio come installare Oracle JDK in Ubuntu ). Se questo è il tuo software, consulta la Guida al packaging di Ubuntu per assistenza su come inserire correttamente i contenuti in Ubuntu.

Se devi farlo comunque, metti il ​​binario in / opt / myapp e collega l'eseguibile con ln -s /opt/myapp/myappbinary /usr/local/bin/myappbinary. Se vuoi saperne di più sul tipo di argomento man hierin un terminale. La differenza tra / usr / bin e / usr / local / bin è spiegata qui. In ogni caso entrambi i percorsi si trovano nella variabile d'ambiente $ PATH. Ciò significa che qualsiasi binario che metterai lì sarà eseguibile da chiunque ti dia il nome del binario (e non il percorso completo). Quindi usando l'esempio sopra puoi eseguire il tuo programma myappbinaryinvece di dover dare il percorso completo /opt/myapp/myappbinary.


1
Qual è lo scopo di metterlo in / opt, specialmente se hai intenzione di collegarlo in / usr / local comunque?
psusi,

Se voglio che tutti gli utenti del sistema siano in grado di utilizzare l'app, dovrei eseguire il collegamento simbolico in / usr / bin anziché in / usr / local / bin?
Jiew Meng,

4
@jiewmeng Se guardi man hiervedrai tutto spiegato lì. Inclusa la differenza tra / usr / bin e / usr / local / bin. In breve: non collegare nulla a / usr / bin /. @psusi Il motivo è mantenere pulito il tuo filesystem. se si reinstalla il computer (o si passa a un altro computer / disco rigido), le uniche directory che è necessario guardare dovrebbero essere / home, / etc e / opt. E lasciami ripetere ancora una volta: di solito non vuoi mai fare nulla al di fuori di $ HOME tranne che per modificare i file di configurazione in / etc.
mniess,

7

/ usr è leggibile dal mondo, quindi no, non ci saranno problemi con altri utenti che sono in grado di eseguire il programma. / usr / local è dove vanno le applicazioni che compili dal codice sorgente tu stesso. I programmi installati tramite il gestore pacchetti vanno altrove. Non ho mai visto alcuno scopo / optare e credo che sia solo un riporto dai vecchi AT&T Sys V degli anni '80.


qual è la differenza tra / usr / local / bin e / usr / bin? Se voglio che tutti gli utenti possano accedere all'app, la inserisco in / usr / bin?
Jiew Meng,

@jiewmeng, ancora una volta, la versione locale è per i programmi che compilate da soli, invece di installarli tramite il gestore pacchetti. Non ha nulla a che fare con gli utenti e l'accesso.
psusi,

0

A seconda del tipo di Linux, il posto preferito per installare qualcosa a mano potrebbe variare. Se lo fai a mano, fai ciò che il README suggerisce.

Se crei un nuovo utente e i tuoi vecchi utenti non dovevano fare nulla per accedere al nuovo programma, anche i nuovi utenti non lo faranno.

Tuttavia, sei libero di creare / opt / bin e includerlo nel percorso , ma perché dovresti? O anche / flip / flop / funky / bin . Oppure collega da qualche parte a una directory, che è già inclusa nel PERCORSO .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.