Ostatnio widziałem https://lintian.debian.org/tags/binary-without-manpage.html i pokazuje około 14 tysięcy brakujących stron podręcznika.
Oznacza to, że jest więcej niż prawdopodobne, że w niektórych pakietach binarnych (nie bibliotekach) brakuje stron podręcznika. Jak uzyskać listę zainstalowanych pakietów / aplikacji binarnych (NIE bibliotek), które nie mają stron podręcznika? Mógłbym trochę poznać i zacząć się do tego przyczyniać.
debian
package-management
man
shirish
źródło
źródło
Chociaż
manpage-alert
robi to, o co prosisz, pamiętaj, że lista w linku do twojego pytania jest generowana przez inny proces, którym jest następujący sprawdzian w Lintian:https://github.com/Debian/lintian/blob/master/checks/manpages.pm
Można go wytworzyć, dzwoniąc
lintian
z-T binary-without-manpage
opcją (i innymi opcjami, aby wybrać pakiety, które chcesz sprawdzić).źródło
Dzięki przyjętej odpowiedzi, interesujące było poznanie istnienia narzędzia
manpage-alert
, częścidevscripts
pakietu, która w rzeczywistości jest skryptem powłoki.Próbowałem zainstalować,
devscripts
ale dostałem monit o zainstalowanie około 70 MB zależności, więc pominąłem.Pobranie
devscripts
pakietu deb (apt download devscripts
), wyodrębnienie deb i przyjrzenie sięmanpage-alert
skryptowi, cała historia „pod maską” polega na tym, że ten skrypt ostrzegawczy uruchamia polecenie:man -w -S 1:8:6 <file>
(w = pokaż lokalizację - S 1: 8: 6 ogranicza wyszukiwanie człowieka w sekcjach 1,8 i 6).Operacja ta wykonywana jest we wszystkich plikach rekurencyjnie pod katalogów
/bin
,/sbin
,/usr/bin
,/usr/sbin
, i/usr/games
.Co więcej, przekierowanie
man
do,2>&1
a także przekierowanie do>/dev/null
, jeśli plik ma prawidłową lokalizację stronyman
podręcznika, nic nie jest drukowane, ale jeśli narzeka na „brak ręcznego wprowadzania”, wówczas komunikat ten jest drukowany.Autor
manpage-alert
jest dalej usuwającman
komunikat o błędzie z komunikatu „zobacz man 7 nieudokumentowane w celu uzyskania pomocy” i zachowuje tylko pierwszą linię =No manual entry for xxxx
.W rezultacie kilka poniższych wierszy da podobny wydruk plików binarnych z brakującymi stronami man bez instalowania pakietu devscripts:
PS:
${ff##*/}
przechowuje tylko nazwę polecenia odpędzania ścieżkę/usr/bin/
lub/bin/
czy cokolwiekPowyżej może również działać jako jedna linijka:
PS: Możesz oczywiście zainstalować,
devscripts
ponieważ zawiera wiele ładnych narzędzi / skryptów. Po prostu lubię wiedzieć, co działa pod maską :-)źródło
manpage-alert
skrypt zaczyna się od#!/bin/sh -e