Próbuję utworzyć plik Makefile dla małego narzędzia Perla, które napisałem, i staram się znaleźć sposób, aby znaleźć miejsce, w którym mogę zainstalować stronę man, gdy make
jest uruchamiany jako użytkownik inny niż root .
Obecnie analizuję dane wyjściowe, manpath
aby znaleźć pierwszą ścieżkę w $HOME
katalogu… i prawie działa dobrze.
Ścieżki, które znalazłem, to ~/man
i~/share/man
Jedynym problemem jest to, że jeśli te katalogi w ogóle nie istnieją, manpath
nie wypisuje żadnego z nich.
pytania
- Czy istnieje przenośny sposób, aby dowiedzieć się, gdzie powinienem zainstalować strony man w katalogu $ HOME użytkownika?
- Jeśli nie, który z nich powinien być preferowany?
manpath
ostrzeżenia oMANPATH
ustawieniu, możesz przekazać tę-q
opcję.man
gdzie szukać. Szukam ogólnego, przenośnego sposobu na ogólną instalację (tzn. Gdzieman
szuka się standardowej konfiguracji)echo $MANPATH
i zobacz, co to pokazuje. Są to dobre miejsca, aby zacząć szukać lub użyćmanpath
polecenia, jak pokazałem w mojej odpowiedzi.Odpowiedz z opisem
Używam Cygwin na Windows 7. Kiedy próbuję
Nic nie dostaję Oto mój przenośny sposób na znalezienie nowych
man
stron.(Uwaga na temat tego szalonego polecenia znajduje się na dole tej odpowiedzi).
Można po prostu zastąpić
/
z~
. Inna możliwość znajduje się w sekcji Kolejna uwaga poniżej.Na moim komputerze
find
polecenie zwróciło:Dla mnie oznaczało to, że były dwie możliwości:
/share/man
i/usr/man
.Zdecydowałem się użyć
/usr/man
, czego nie chciałbyś, ale potrzebowałem trochę więcej odkrywania.Tak więc, gdzie miałem nowe
man
pliki wdoc/
podkatalogu mojego katalogu roboczego, użyłemTeraz mogę przejść do „instrukcji”, pisząc
Jeśli nie widzisz prawdopodobnego kandydata, możesz usunąć tę część lub zmienić ją, np. Na
-maxdepth 3
, lub4
, lub jak5
głęboko potrzeba, aby znaleźć to, czego potrzebujesz. Kiedy to zrobiłem3
, znalazłem dwóch innych kandydatów/var/cache/man
iusr/share/man
, ale znalazłem już działające rozwiązanie, więc nie zadzwoniłem z nimi.Kolejna uwaga
Wierzę, że
/share/man/man1
lub/var/cache/man
będzie dostępny dla użytkowników innych niż root, zgodnie z twoją prośbą. Proszę, popraw mnie jeśli się mylę.Obiecana notatka na dole
Zauważ, że użyłem tej
-maxdepth 2
opcji zfind
, ponieważ pomyślałem, żeman
katalog będzie w obrębie dwóch katalogów katalogu głównego systemu plików i nie chciałem uzyskać zbyt wielu katalogów zewnętrznych, które w jakiś sposób miały podłańcuchman
, podobnie jak/lib/gnome-co
mander
.Dodatkowe elementy wokół
find
są w celu wyeliminowaniaPermission denied
błędów w przypadku, gdy nie masz dostępu dosu
lubsudo
. Oto świetny opis tego, co się dzieje. (Poszukaj linii rozpoczynającej się od „gniourf_gniourf”.)źródło
Zainstalowałem kilka aplikacji, które skompilowałem, wraz z odpowiednim
configure
zestawem do instalacji${HOME}/usr/local
.Teraz stwierdzam, że mam katalogi
ze strony podręcznika
gnuplot.1
,gnuplot-ja.1
,python3.1
,python3.5.1
,libpng.3
,libpngpf.3
,zlib.3
,png.5
, więc myślę, że (biorąc pod uwagę mój prefiks) jest to dość standardowy lokalizacja dla aplikacji zainstalowanych lokalnie.Jest to wtedy lokalizacja kandydująca w przypadkach, w których należy ręcznie wybrać
man
katalog lokalny .Oczywiście można dodać dowolne ścieżki (i należy to zrobić nawet w zwykłym, wspomnianym przypadku) dla
man
stron z(zobacz to ).
źródło