वहाँ स्थापित द्विआधारी पैकेज खोजने के लिए एक रास्ता है जो manpages नहीं है?


13

मैंने हाल ही में https://lintian.debian.org/tags/binary-without-manpage.html देखा और इसमें लगभग 14k मैनपेज़ दिखाई दिए हैं जो गायब हैं।

इसका मतलब यह है कि यह संभावना से अधिक है कि कुछ बाइनरी पैकेज (पुस्तकालयों में नहीं) में मैनपेज़ गायब हैं। मुझे स्थापित बाइनरी पैकेज / एप्लिकेशन (लाइब्रेरी नहीं) की सूची कैसे मिलेगी, जिसमें मैनपेज नहीं हैं? मुझे कुछ पता हो सकता है और उस दिशा में थोड़ा योगदान देना शुरू कर सकता हूं।

जवाबों:


16

आप 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

2
नहीं पता था कि यह devxcripts पैकेज का हिस्सा था, thanx।
शिरीष

5

जबकि manpage-alertआप जो पूछते हैं वह करते हैं, आपको ध्यान देना चाहिए कि आपके प्रश्न से लिंक में सूची एक अलग प्रक्रिया से उत्पन्न होती है, जो लिंटियन में निम्नलिखित जांच है:

https://github.com/Debian/lintian/blob/master/checks/manpages.pm

तो यह विकल्प (और अन्य विकल्पों को चुनने के लिए जिन्हें आप जांचना चाहते हैं) के lintianसाथ कॉल करके उत्पादित किया जा सकता है -T binary-without-manpage


उस के बारे में पता नहीं था, thanx।
शिरीष

4

स्वीकृत उत्तर के लिए धन्यवाद, उपयोगिता के अस्तित्व के बारे में सीखना दिलचस्प था manpage-alert, devscriptsपैकेज का हिस्सा , जो वास्तव में एक शेल स्क्रिप्ट है।

मैंने स्थापित करने की कोशिश की, devscriptsलेकिन मुझे लगभग 70MB निर्भरता स्थापित करने का संकेत मिला, इसलिए मैंने छोड़ दिया।

devscriptsडिबेट पैकेज डाउनलोड करना ( apt download devscripts), डिबेट को निकालना और manpage-alertस्क्रिप्ट के करीब देखना , पूरी कहानी "अंडर द हुड" यह है कि यह अलर्ट स्क्रिप्ट कमांड चलाता है:

man -w -S 1:8:6 <file> (w = शो लोकेशन -S १: 6: ६ सीमाएँ आदमी खोज १, 6 और ६)।

इस आपरेशन रिकर्सिवली निर्देशिका के अंतर्गत सभी फाइलों में किया जाता है /bin, /sbin, /usr/bin, /usr/sbin, और /usr/games

इसके अलावा, पुनर्निर्देशित manकरने 2>&1और भी पुनर्निर्देशित करने के लिए >/dev/null, यदि किसी फ़ाइल में एक वैध मैन पेज लोकेशन है तो कुछ भी प्रिंट नहीं किया जाता है, लेकिन यदि man"कोई मैन्युअल प्रविष्टि" के लिए शिकायत करता है, तो यह संदेश मुद्रित होता है।
लेखक "संदेश 7 को मदद के लिए अनिर्धारित" संदेश से त्रुटि संदेश manpage-alertछीन रहा है manऔर केवल पहली पंक्ति = रखता है No manual entry for xxxx

नतीजतन, निम्नलिखित कुछ पंक्तियाँ डैनरिक्स पैकेज स्थापित किए बिना बायनेरिज़ लापता पुरुष पृष्ठों का एक समान प्रिंट देगी:

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बहुत अच्छी उपयोगिताओं / लिपियों को शामिल करने के बाद निश्चित रूप से स्थापित कर सकते हैं। मुझे बस यह जानना है कि हुड के नीचे क्या चलता है :-)


भक्ति में बहुत सारे इन्टर्स्टिंग पैकेज हैं, उदाहरण के लिए dch, rmadison, wnpp-check और कुछ अन्य, बस इस बारे में कोई जानकारी नहीं थी। यह इसके लायक है। मुझे संदेह है कि यह एक बाशस्क्रिप्ट होगी क्योंकि डेबियन बशीशों को हटाने की कोशिश कर रहा है और सादे खोल लिपियों पर भरोसा करता है जो एक एक्सटर्म से दूसरे में अधिक आसानी से होते हैं।
शिरीष

@ शिरीष एक नज़दीकी नज़र रखते हुए, मूल manpage-alertस्क्रिप्ट के साथ शुरू होता है#!/bin/sh -e
जॉर्ज वासिलियौ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.