Bagaimana cara menginstal file halaman manual di seluruh sistem?
Misalnya, jika saya memiliki file halaman manual examplecommand.1
, bagaimana cara menginstalnya sehingga saya bisa mengetik man examplecommand
untuk melihatnya?
sumber
Bagaimana cara menginstal file halaman manual di seluruh sistem?
Misalnya, jika saya memiliki file halaman manual examplecommand.1
, bagaimana cara menginstalnya sehingga saya bisa mengetik man examplecommand
untuk melihatnya?
Pertama, cari tahu bagian mana dari halaman manual milik Anda. Jika itu perintah, itu mungkin milik bagian 1
. Anda dapat membaca halaman manual untuk man
perintah untuk melihat deskripsi dari bagian yang berbeda dan nomor yang sesuai.
Salin halaman manual Anda ke /usr/local/share/man/man1/
(ubah 1
ke nomor bagian Anda jika perlu). Anda juga dapat menginstalnya /usr/share/man/man1/
, tetapi praktik terbaik untuk menggunakan local
direktori untuk file yang diinstal tanpa menggunakan manajer paket APT:
sudo cp examplecommand.1 /usr/local/share/man/man1/
Jalankan mandb
perintah. Ini akan memperbarui man
basis data internal:
sudo mandb
Itu dia! Anda harus dapat melihat halaman manual dengan menjalankan:
man 1 examplecommand
man
perintahmandb
perintah/usr/bin/dh_installman
jika Anda dapat membaca Perl, diinstal dengan debhelper
paket.
sudo
?/usr/local/man
dan juga disarankan dalam pemetaan PATH ke MANPATH di/etc/manpath.config
.Jika Anda hanya perlu menginstal halaman manual secara lokal :
Jika
MANPATH
tidak disetel, atau menyertakan komponen kosong (mis. Dimulai dengan:
, diakhiri dengan:
, atau berisi::
), maka<path>/share/man
secara otomatis akan dicari halaman manual kapan pun<path>/bin
merupakan bagian dariPATH
, untuk semua nilai<path>
.Ini memberikan cara yang sangat sederhana untuk menambahkan halaman manual untuk perangkat lunak yang diinstal secara lokal. Ada beberapa detail di
man manpath
dan/etc/manpath.config
, tapi saya tidak melihat penyebutan pemetaan generik dari<path>/bin
ke<path>/share/man
.sumber
MANPATH=<local path to the man pages>:$MANPATH
ke Anda${HOME}/.bashrc
(sesi non-login) atau${HOME}/.profile
(sesi login). Dalam kasus saya, saya membuat direktori lokal untuk halaman manual${HOME}/share/man/
, yang meniru sistem file Linux klasik. Saya buat${HOME}/share/man/man.1
, yang kemudian berisi tautan simbolis ke lokasi ke file diexamplecommand.1
mana pun installer program meletakkannya (konfigurasi 'awalan'). Peluncuranman examplecommand
menemukan halaman manual dalam poin. Dengan cara ini, instalasi bersifat lokal, tidak untuk seluruh sistem.<path>/bin
-><path>/share/man
ada. Ketika melakukan strace (1) padaman
denganMANPATH=:/nonexistingdir
, saya melihat berikut: -<path>/bin
-><path>/man
ini adalah pada sistem Debain Buster.Jawaban oleh @ ntc2 di atas adalah yang harus dilihat orang. Saya ingin menambahkan beberapa komentar tambahan yang tidak cocok di bagian komentar:
Pendekatan oleh @ ntc2 menyediakan jalur untuk orang yang hanya perlu mengatur PATH mereka (yang sudah mereka harapkan) untuk binari lokal.
Namun, saya tidak berpikir pemetaan generik
<path>/bin
-><path>/share/man
ada untuk semua jalur di$PATH
. Sepertinya pemetaan spesifik ini dihindari ketika$PATH
pertanyaannya adalah$HOME/bin
. Ketika melakukan strace (1) padaman
denganMANPATH=:/nonexistingdir
, saya melihat pencarian berikut:Untuk elemen apa pun
$PATH
yang bukan$HOME/bin
<path>/bin
-><path>/man
<path>/bin
-><path>/bin/man
<path>/bin
-><path>/share/man
<path>/bin
-><path>/bin/share/man
Untuk
$HOME/bin
$HOME/bin
->$HOME/man
Saya tidak tahu mengapa itu melompati yang lain. Ini ada di sistem Debian Buster. Mungkin berbeda pada sistem lain.
Bagi saya, ini berarti bahwa jalur teraman untuk menginstal halaman manual adalah
<path>/man
, karena dijamin akan ditemukan jika ada di$PATH
.sumber