나는 최근에 https://lintian.debian.org/tags/binary-without-manpage.html을 보았고 누락 된 약 14k 맨 페이지를 보여줍니다.
이는 라이브러리가 아닌 일부 바이너리 패키지에 누락 된 맨 페이지가있을 가능성이 높다는 것을 의미합니다. 맨 페이지가없는 설치된 바이너리 패키지 / 응용 프로그램 (라이브러리가 아님) 목록을 얻으려면 어떻게해야합니까? 나는 일부를 알고 그것에 약간 기여하기 시작합니다.
나는 최근에 https://lintian.debian.org/tags/binary-without-manpage.html을 보았고 누락 된 약 14k 맨 페이지를 보여줍니다.
이는 라이브러리가 아닌 일부 바이너리 패키지에 누락 된 맨 페이지가있을 가능성이 높다는 것을 의미합니다. 맨 페이지가없는 설치된 바이너리 패키지 / 응용 프로그램 (라이브러리가 아님) 목록을 얻으려면 어떻게해야합니까? 나는 일부를 알고 그것에 약간 기여하기 시작합니다.
답변:
manpage-alert
명령을 통해 매뉴얼 페이지없이 모든 바이너리를 나열 할 수 있습니다
manpage-alert - check for binaries without corresponding manpages
DESCRIPTION
manpage-alert searches the given list of paths for binaries without cor‐
responding manpages.
If no paths are specified on the command line, the path list /bin /sbin
/usr/bin /usr/sbin /usr/games will be assumed
manpage-alert
요청한 내용은 수행 하지만 질문 링크의 목록은 Lintian에서 다음과 같은 다른 프로세스로 생성됩니다.
https://github.com/Debian/lintian/blob/master/checks/manpages.pm
따라서 옵션 (및 확인하려는 패키지를 선택하는 다른 옵션)을 호출 lintian
하여 생성 할 수 있습니다 -T binary-without-manpage
.
허용 된 답변 덕분에 패키지의 manpage-alert
일부인 utility의 존재에 대해 배우는 것이 흥미 롭습니다 devscripts
. 실제로는 쉘 스크립트입니다.
설치를 시도했지만 devscripts
약 70MB의 종속성을 설치하라는 메시지가 표시되어 건너 뛰었습니다.
devscripts
deb 패키지 ( apt download devscripts
)를 다운로드하고, deb를 추출하고 manpage-alert
스크립트를 면밀히 살펴보면 "경고 아래"라는 전체 이야기는이 경고 스크립트가 다음 명령을 실행한다는 것입니다.
man -w -S 1:8:6 <file>
(w = show location -S 1 : 8 : 6은 섹션 1,8 및 6에서 사람 검색을 제한합니다).
이 작업은 재귀 적 디렉토리 아래의 모든 파일에서 수행되는 /bin
, /sbin
, /usr/bin
, /usr/sbin
,와 /usr/games
.
또한, 리디렉션 man
에 2>&1
또한 리디렉션 >/dev/null
파일이 아무것도 인쇄되지 않습니다 유효한 man 페이지 위치가있는 경우,하지만 경우 man
에 "아니오 수동 입력"에 대한 불만이 메시지가 인쇄됩니다.
작성자는 "도움이 필요하면 설명서 7 설명서를 참조하십시오"메시지에서 오류 메시지를 manpage-alert
추가로 제거 man
하고 첫 번째 줄만 유지합니다 = No manual entry for xxxx
.
결과적으로, 다음 몇 줄은 devscripts 패키지를 설치하지 않고 바이너리 페이지가없는 유사한 바이너리 페이지를 제공합니다.
F=( "/bin/*" "/sbin/*" "/usr/bin/*" "/usr/sbin/*" "/usr/games/*" )
for f in ${F[@]};do
for ff in $f;do
if ! mp=$(man -w -S 1:8:6 "${ff##*/}" 2>&1 >/dev/null);then
echo "$mp" |grep -v "man 7 undocumented" #man 7 undocumented is printed in a separate line.
fi
done
done
추신 : ${ff##*/}
경로 제거에만 명령 이름 유지 /usr/bin/
하거나 /bin/
또는 무엇이든을
위는 또한 하나의 라이너로 실행될 수 있습니다.
gv@debi64:$ F=( "/bin/*" "/sbin/*" "/usr/bin/*" "/usr/sbin/*" "/usr/games/*" );for f in ${F[@]};do for ff in $f;do if ! mp=$(man -w -S 1:6:8 "${ff##*/}" 2>&1 >/dev/null);then echo "$mp" |grep -v "man 7 undocumented";fi;done;done
No manual entry for ntfsmove
No manual entry for ipmaddr
No manual entry for iptunnel
^C
추신 : 물론 devscripts
많은 유용한 유틸리티 / 스크립트가 포함되어 있기 때문에 설치할 수 있습니다 . 나는 단지 후드 아래에서 무엇이 실행되는지 알고 싶습니다 :-)
manpage-alert
스크립트는 다음과 같이 시작됩니다.#!/bin/sh -e