Contoh: di Ubuntu, selalu ada .local
direktori di direktori home dan .profile
termasuk baris ini:
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
$HOME/.local/bin
tidak ada secara default, tetapi jika itu sudah dibuat $PATH
dan executable di dalamnya dapat ditemukan.
Ini tidak disebutkan secara spesifik dalam spesifikasi direktori XDG tetapi tampaknya berasal darinya.
Yang saya heran adalah apakah ini cukup umum sehingga biasanya diasumsikan ada di distribusi pengguna akhir yang paling umum. Apakah itu, misalnya di semua turunan Debian, atau setidaknya yang Ubuntu? Bagaimana dengan ekosistem Red Hat / Fedora / CentOS? Dan seterusnya dengan Arch, Suse, dan apa yang digunakan orang saat ini.
Supaya lebih jelas, ini hanya untuk $HOME/.local/bin
, bukan $HOME/bin
.
Karena penasaran, jangan ragu untuk memasukkan BSD, OS / X dan lainnya jika Anda memiliki informasi. :)
sumber
/etc/skel/.profile
hingga dan termasuk setidaknya 14,04 tes untuk keberadaan pengguna$HOME/bin
dan menambahkannya kePATH
jika ada; sebaliknya, 16,04 tampaknya menambahkan keduanya$HOME/bin
dan$HOME/.local/bin
tanpa syarat. Saya tidak ingat Ubuntus sebelumnya menambahkan$HOME/.local/bin
sama sekali - tapi saya tidak melihat sesuatu yang relevan dalambash
paket changelog (yang seharusnya dimiliki/etc/skel/.profile
).Jawaban:
The
~/.local
direktori adalah bagian dari yang systemd file hirarki spesifikasi dan merupakan perpanjangan dari xdg user-dirs spekIni bisa membingungkan karena paket-paket turunan Debian untuk
bash
kehilangan~/.local
jalur ketika mereka diubah menjadi bash 4.3 mereka memilikinya di bash 4.2.Ini adalah bug , dan tambalan telah ada di sistem Debian untuk beberapa saat.
Bug ini adalah alasan Ubuntu 16.04 memiliki ~ / .local in the path dan Ubuntu 17.04 tidak.
Jika Anda menjalankan
systemd-path
sebagai pengguna dan Anda akan melihat bahwa itu dimaksudkan untuk berada di jalur.Secara teori, jawaban untuk pertanyaan Anda adalah Setiap distro yang menggunakan systemd atau ingin mempertahankan kompatibilitas dengan systemd.
Ada informasi lebih lanjut di
file-hierarchy(7)
sumber
Pada distro berbasis RPM situasinya terlihat seperti ini
sudo su -l johndoe
tetapi tidak akan bekerja jika Anda tidak menggunakan-l
sakelar.Jika Anda ingin melihat bug itu diurutkan, jangan lupa untuk memberikan suara / mengomentari bug tersebut karena ini akan menyoroti pentingnya masalah ini.
sumber