Sono totalmente nuovo su Ubuntu/Linux, al momento utilizzo Ubuntu Server. Sto solo cercando di capire qualcosa di semplice.
Come puoi sapere dove stai installando un programma. Ad esempio ho appena installato il motore di ricerca Sphinx posizionando il tarball che ho scaricato dal loro sito nel mio:
/home/sphinx
directory. Ho creato la directory sphinx in cui inserire quel tarball. Quindi ho eseguito questi comandi:
tar xvzf sphinx-0.9.8.1.tar.gz
cd sphinx-0.9.8.1/
./configure --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql
e poi questi:
make
sudo make install
Ora ho molti file nella directory in cui ho eseguito questi comandi. Questa è la mia installazione di Spynx o è stata installata da qualche altra parte?
In Windows, se esegui un programma di installazione (file .exe) ovunque, il programma verrà comunque installato nella directory C:\Programmi. Qualcosa di simile si applica a Linux in cui tutti i programmi sono installati in una posizione centrale o puoi installare programmi in qualsiasi punto del sistema.
Domande
-
Preferirei tenere tutti i miei programmi installati in un unico posto, quindi
qual è il posto giusto per questo in termini di best practice. In
altre parole qual è l'equivalente Linux di C:\Programmi? -
E come si installa sempre in questa posizione, è solo questione di posizionare il tarball ed eseguire i comandi di installazione da questa posizione?
-
Che dire se uso sudo apt-get per installare un pacchetto. Come posso puntare a questa posizione per dire a apt-get di installare sempre lì?
Migliore risposta
Qualcosa di simile si applica a Linux dove tutti i programmi sono installati in una posizione centrale
Approssimativo equivalenti delle directory di installazione di Windows in Linux
\Windows
=/bin
\Windows\System32
=/lib
e/sbin
\Program Files
=/usr/bin
e/usr/lib
Preferirei tenere tutti i miei programmi installati in un unico posto, quindi qual è il posto giusto per questo in termini di best practice. In altre parole, qual è l'equivalente Linux di C:\Programmi?
Queste sarebbero le directory sotto /usr
, in particolare /usr/bin
e /usr/lib
.
E come si installa sempre in questa posizione, è solo questione di posizionare il tarball ed eseguire i comandi di installazione da questa posizione?
-
No. La posizione in cui ti trovi quando esegui i comandi di installazione non ha quasi mai importanza.
-
Programmi che installi tramite
apt-get
(oaptitude
) finirà quasi sempre in modo appropriato in/usr
. MA programmi che compili dal sorgente emake install
finirà più spesso in/usr/local/bin
,/usr/local/lib
, ecc, e potresti avere problemi con questo poiché il percorso installato dall'utente in Debian/Ubuntu è/usr
e non/usr/local
. -
Durante la compilazione dal sorgente, aggiungi questa opzione per configurare:
./configure --prefix=/usr
. In questo modo quandomake install
i file finiranno nella directory giusta -
Guarda anche nel
checkinstall
programma, che tiene traccia dei file che un pacchetto compilato dai sorgenti installa, crea un file deb e consente una facile disinstallazione/reinstallazione.
E se uso sudo apt-get per installare un pacchetto. Come posso puntare a questa posizione per dire a apt-get di installare sempre lì?
apt-get
/dpkg
occuparsene automaticamente. Puoi usare dpkg -L name-of-package
per vedere tutti i file installati da un pacchetto e dove sono stati installati.