La configurazione dinamica a seconda del set di fetaures installati sul sistema di destinazione non è male di per sé. È solo che entrare nel file system per eseguire tale controllo potrebbe essere lento e inaffidabile.
Se possibile, dovresti provare a seguire il percorso ufficiale. Se esiste un sistema di gestione dei pacchetti che è responsabile della configurazione di un sistema di destinazione, avrà un'API ben definita per verificare le funzionalità installate e dovresti usarlo. Se la tua interazione con quella funzione consiste in una specifica chiamata esterna, è spesso utile eseguire tale chiamata in modo vacuo solo per vedere se ha successo o meno.
Controllare l'esistenza di un file potrebbe fare la cosa sbagliata se qualche amministratore ha deciso che non ha effettivamente bisogno di questo specifico file per la funzionalità di sottoinsieme utilizzata dal suo sito, oppure il file potrebbe non Sii canonico come pensi. Se possibile, prova a cercare qualcosa che è definito in uno standard di gerarchia del file system, più è ufficiale e meglio è. Ad esempio, la Base Standard di Linux raccomanda che ogni distribuzione fornisca un file /etc/DISTRONAME-release
per controllare in modo affidabile quale sia la distribuzione in esecuzione e quale verison.