Bir man sayfa dosyasını el ile nasıl yüklerim?


44

Sistem genelinde bir man sayfa dosyasını nasıl kurarım?

Örneğin, bir man sayfa dosyam varsa examplecommand.1, onu man examplecommandgörüntülemek için sadece yazabilmem için nasıl yüklerim ?

Yanıtlar:


53
  1. Öncelikle, man sayfanızın hangi bölümüne ait olduğunu bulun. Bu bir komut ise, muhtemelen bölüme aittir 1. Okuyabiliyorsun için manpage mankomutuManpage simgesi farklı bölümlerde ve bunlara karşılık gelen sayıların açıklamasını görmek için.

  2. Rehber sayfanızı kopyalayın /usr/local/share/man/man1/( 1gerekirse bölüm numaranıza değiştirin ). Bunu ayrıca kurabilirsiniz /usr/share/man/man1/, ancak localAPT paket yöneticisini kullanmadan yüklenen dosyalar için dizini kullanmak en iyisidir :

    sudo cp examplecommand.1 /usr/local/share/man/man1/
    
  3. mandbKomutu çalıştır . Bu, mandahili veritabanını güncelleyecektir :

    sudo mandb
    
  4. Bu kadar! Çalıştırarak man sayfasını görüntüleyebilmeniz gerekir:

    man 1 examplecommand
    

Referanslar:


1
Bir seçenek var mı veya kullanmaktan kaçınmak istediğinizde önerilen uygulama sudonedir?
Jorge Bucaran

@JorgeBucaran Yazabileceğiniz boşluklara manuel sayfalar koymanıza olanak tanıyan MANPATH'ın nasıl ayarlanacağına ilişkin aşağıdaki cevaba bakınız, örneğin: $ HOME / lib / share / man veya bunun gibi bir yer
nealmcb 3:17

Bence /usr/local/manMANPATH haritalamasında PATH'te önerildiği gibi man sayfalarını saklayabilirsin /etc/manpath.config.
jarno

10

Man sayfasını yalnızca yerel olarak yüklemeniz gerekirse :

Eğer MANPATHkaldırılırsa ya da boş bir bileşeni içerir (yani başlar :, ile biter :ya da içeriyor ::), sonra <path>/share/mankendini otomatik olarak adam sayfaları için aranır <path>/binbir parçasıdır PATH, tüm değerleri için<path> .

Bu, yerel olarak yüklenen yazılımlar için kılavuz sayfaları eklemek için çok basit bir yol sağlar. Orada bazı detaylar man manpathve /etc/manpath.configama gelen jenerik haritalama herhangi bir söz görmüyorum <path>/biniçin <path>/share/man.


Ben eklenmiş MANPATH=<local path to the man pages>:$MANPATHsenin için ${HOME}/.bashrc(non-giriş oturumları) ya da ${HOME}/.profile(giriş oturumları). Benim durumumda, ${HOME}/share/man/klasik Linux dosya sistemini taklit eden man sayfaları için yerel bir dizin oluşturdum . ${HOME}/share/man/man.1Sonra examplecommand.1program yükleyicisinin koyduğu yere dosyaya konumsal olarak sembolik bir link içeren yarattım (configure 'prefix'). Başlatma man examplecommand, man sayfalarını noktada bulur. Bu şekilde, kurulum sistem genelinde değil yereldir.
XavierStuvw

Bu çok ilginç bir yorumdu ve yerel ikililer için sadece PATH'lerini (zaten bekledikleri) belirlemelerine ihtiyaç duyan insanlar için bir yol sunuyor. Ancak, genel haritalamanın <path>/bin-> <path>/share/manvar olduğunu sanmıyorum . Üzerinde strace (1) gerçekleştirirken manile MANPATH=:/nonexistingdirben aşağıdakileri bakın: - <path>/bin-> <path>/man Bu Debain Buster sistemi üzerinde olduğunu.
Aktau

1

Yukarıda @ ntc2'nin verdiği cevap insanların bakması gerekenlerden biri. Yorumlar bölümüne uymayan bazı yorum eklemek istedim:

@ Ntc2 yaklaşımı, yerel ikili dosyalar için yalnızca PATH'lerini (zaten bekledikleri) belirlemelerine ihtiyaç duyan insanlar için bir yol sağlar.

Ancak, genel haritalamanın <path>/bin-> <path>/share/maniçindeki tüm yollar için var olduğunu sanmıyorum $PATH. O zaman bu özel haritalama önlenir gibi görünüyor $PATHsöz konusu olduğunu $HOME/bin. Üzerinde strace (1) gerçekleştirirken manile MANPATH=:/nonexistingdir, aşağıdaki aramaları bakın:

İçinde olmayan herhangi bir element $PATHiçin$HOME/bin

  • <path>/bin -> <path>/man
  • <path>/bin -> <path>/bin/man
  • <path>/bin -> <path>/share/man
  • <path>/bin -> <path>/bin/share/man

İçin $HOME/bin

  • $HOME/bin -> $HOME/man

Diğerlerini neden atladığını bilmiyorum. Bu bir Debian Buster sisteminde. Diğer sistemlerde farklı olabilir.

Benim için ise en güvenli yol insan sayfalarını yüklemek için bu araçlar <path>/manİçinde eğer daha büyük pilli olarak, bulunacak $PATH.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.