Bagaimana shell menemukan program Anda
Saat Anda mengetikkan foocommand-line pada shell Anda, itu akan mencari fooset path yang ditentukan oleh PATHvariabel lingkungan shell Anda (yang dapat Anda periksa dengan menjalankan echo $PATH).
Jadi tebakan saya simpe: paket asterisk yang Anda miliki sebelum menginstal ulang memiliki asteriskbiner yang terletak di tempat yang terdaftar di pengguna Anda $PATHdan paket yang diinstal kemudian menginstalnya di tempat lain.
Anda dapat memeriksa ini dengan mudah dengan mengkorelasikan echo $PATHdi shell Anda dengan output
$ dpkg -L asterisk | grep bin/asterisk
Bagaimanapun, Anda dapat menjalankan program biner Anda dengan menentukan pathname lengkapnya.
Caching resitution pathname di shell
Kemungkinan lain, meskipun kecil kemungkinannya, adalah caching resolusi pathname. Kerang interaktif, bashtermasuk, hanya mencari nama program telanjang melalui daftar $PATHsekaligus, dan kemudian ingat lokasi lengkap yang mereka temukan. Jika Anda kemudian menghapus program dari lokasi itu, shell tidak akan dapat menjalankannya lagi, bahkan jika file program sekarang dapat diakses di beberapa tempat lain yang tercantum dalam $PATH.
Anda dapat membantu shell dengan menjalankannya hash -r(silakan lihat help hashdi bashprompt Anda ).
Miscellanea
Perhatikan bahwa dalam kasus umum, ketika Anda melakukannya
apt-get remove --purge asterisk
apt-get install asterisk
yaitu, lakukan siklus hapus + instal, versi paket yang dikenal dengan sistem APT berdasarkan arsip yang disediakan untuknya telah diinstal. Artinya, jika Anda telah menginstal versi buatan tangan Anda langsung melalui dpkg -i ..., APT tidak akan berusaha untuk menemukan dan menginstal versi yang sama ini ketika Anda kemudian menghapus dan menginstal paket dengan nama yang sama.
Jika Anda ingin membuat asteriskpaket buatan tangan Anda tersedia untuk instalasi umum, Anda harus memelihara repositori Debian lokal yang tepat ( repreprojuga alat yang paling sederhana untuk digunakan, lihat juga apt-ftparchive), buat diketahui oleh sistem APT lokal Anda dan juga mungkin membuat paket dari repositori yang disukai menggunakan preferensi APT .
/usr/bintidak ada di PATH saya. Baru saja menambahkannya di .bashrc, yang menyelesaikannya. Terima kasih atas inspirasi dan jawaban yang luas dan luar biasa! Anda membuat hari saya!