Seperti yang disebutkan sebelumnya , /usr/localdimaksudkan sebagai awalan untuk, pada dasarnya, perangkat lunak yang diinstal oleh administrator sistem, sedangkan /usrharus digunakan untuk perangkat lunak yang diinstal dari paket distribusi.
Gagasan di balik ini adalah untuk menghindari bentrokan dengan perangkat lunak terdistribusi (seperti rpmdan debpaket) dan memberikan admin pemerintahan penuh atas awalan "lokal".
Ini berarti bahwa admin dapat menginstal perangkat lunak yang dikompilasi khusus saat masih menggunakan distro seperti debian.
Perangkat lunak yang ditempatkan di / atau / usr dapat ditimpa oleh peningkatan sistem (meskipun kami menyarankan distribusi tidak menimpa data di / etc dalam keadaan ini). Untuk alasan ini, perangkat lunak lokal tidak boleh ditempatkan di luar / usr / local tanpa alasan yang kuat.
Saat memasang perangkat lunak khusus pengguna, uther menyarankan penggunaan $HOMEsebagai awalan karena ini memastikan Anda memiliki izin menulis. Secara pribadi, saya merasa menggunakan $HOME/.localuntuk menjadi solusi yang lebih elegan, karena itu menghindari kekacauan direktori rumah Anda (semoga) bagus dan rapi!
$HOME/.local/sharesudah digunakan dalam spesifikasi Direktori Dasar XDG freedesktop.org , jadi tidak perlu banyak membayangkan menambahkan sebuah $HOME/.local/binke Anda $PATHdan membuat $HOME/.local/lib, dll, saat Anda sedang menggunakannya.
Jika Anda tidak benar-benar ingin awalan Anda menjadi direktori tersembunyi, Anda juga dapat membuat tautan simbolis dengan mudah, misalnya:
ln -s .local ~/local
Sidenote
Perlu dicatat bahwa .config(tidak .local/etc) adalah nilai default untuk $XDG_CONFIG_HOMEdigunakan untuk file konfigurasi khusus pengguna. Saya juga harus menunjukkan bahwa, sayangnya, sebagian besar perangkat lunak mengabaikan XDG dan membuat file konfigurasi di mana pun mereka suka (biasanya di root $HOME). Perhatikan juga bahwa $XDG_CONFIG_HOMEmungkin tidak disetel jika default $HOME/.configdiinginkan.
Anehnya, tidak ada direktori yang disediakan untuk file konfigurasi default distribusi, jadi tidak ada cara untuk mengetahui apakah suatu file /etcyang disediakan oleh distro atau diedit oleh administrator sistem.