Package managers.
apt: è il tool originale, di uso molto veloce ed estendibile (apt-file per cercare un file particolare in TUTTI i pacchetti, apt-build per compilare da sorgenti creando deb personalizzati, ecc...). Per l'uso quotidiano.
dpkg: può installare pacchetti non provenienti da repositories (memorizzati in una qualche directory locale o da una risorsa montata) ed ha una sintassi più stringata. Per installare deb particolari o creati personalmente.
dselect: strumento di "più alto livello", presenta un frontend se lanciato senza argomenti. Personalmente lo uso solo per creare una lista di tutti i pacchetti installati o per installare partendo da una lista già creata.
Policies di installazione: personalmente considero la scelta Mac buona: tutto ciò che riguarda un programma è chiuso nella sua cartella. Ma questo comporta eventuali sprechi di spazio, con librerie usate da più programmi e presenti in varie cartelle di installazione, non dimenticando la necessità di trovare l'installer da qualche parte...
In Gnu/Linux le distribuzioni coordinano migliaia di pacchetti come una sinfonia per far sì che esista una sola copia di ogni file (al massimo di poche versioni diverse), e che sia possibile conoscerne la posizione con certezza. Questo trasforma il filesystem in un enorme puzzle in cui ogni pezzo è incollato al suo posto e facilmente recuperabile in caso di rari problemi con un semplice "apt-get install --reinstall PACCHETTO".
Puoi sapere dove sono i files installati da un pacchetto senz'altro in Synaptic (proprietà -> files installati), ma credo sia possibile anche in testuale, anche se non ne ho mai avuto bisogno.
Il più grande vantaggio è che ti basta avere una connessione internet e aprire un programma per installare una marea di programmi senza doverli andare a scaricare a mano in chissà quale sito o altro...
Ultimo dettaglio: le configurazioni di tutti i programmi finiscono nella cartella home dell'utente che li usa (sono spesso nascosti iniziando per un punto), mentre quelle di demoni di sistema o programmi fondamentali sono in
/etc.
Compilare da sorgenti: raro, raro, raro... in questo caso tutto quanto dovrebbe finire nelle
cartelle user relative ai principali rami del filesystem, spesso è meglio tenere i sorgenti per eventualmente rimuovere ciò che si è installato (se quello che ha scritto il programma ha pensato bene di fare un uninstall nel make...) o cercare di capire dove ha messo il tutto.
Se si installano drivers da sorgenti (più comune) spesso creano solo uno o più moduli nella cartella
/lib/modules/[versione del kernel].
Per chiudere ecco un piccolo specchietto dell'albero directory in Gnu/Linux con breve introduzione al contenuto.