ইনস্টল করা বাইনারি প্যাকেজগুলি খুঁজে পাওয়ার কোনও উপায় আছে যেখানে ম্যানপেজ নেই?


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
থ্যাঙ্ক, এটি ডিভাস্ক্রিপ্ট প্যাকেজের অংশ ছিল তা জানতেন না।
শিরিশ

5

manpage-alertআপনি যা চেয়েছিলেন তা করার সময় , আপনার অবশ্যই খেয়াল করা উচিত যে আপনার প্রশ্ন থেকে লিঙ্কের তালিকাটি একটি ভিন্ন প্রক্রিয়া দ্বারা উত্পন্ন হয়েছে, যা লিন্টিয়ানের নিম্নলিখিত চেক:

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

সুতরাং বিকল্পটি (এবং আপনি যে প্যাকেজগুলি পরীক্ষা করতে চান তা নির্বাচন করার জন্য অন্যান্য বিকল্পগুলি) lintianদিয়ে কল করে এটি উত্পাদন করা যায় -T binary-without-manpage


থ্যাঙ্কস সম্পর্কে জানতাম না।
শিরিশ

4

গৃহীত উত্তরের জন্য ধন্যবাদ, ইউটিলিটির অস্তিত্ব, প্যাকেজের manpage-alertঅংশ devscripts, যা আসলে একটি শেল স্ক্রিপ্ট , এটি সম্পর্কে জানতে আগ্রহী ছিল interesting

আমি ইনস্টল করার চেষ্টা করেছি devscriptsতবে প্রায় 70MB নির্ভরতা ইনস্টল করার জন্য একটি প্রম্পট পেয়েছি, তাই আমি এড়িয়ে গেলাম।

devscriptsডেব প্যাকেজ ( apt download devscripts) ডাউনলোড করা, ডেবটি এক্সট্রাক্ট করা এবং manpage-alertস্ক্রিপ্টের কাছাকাছি নজর রাখা , পুরো গল্পটি "হুডের নীচে" হ'ল এই সতর্কতা স্ক্রিপ্টটি কমান্ডটি চালায়:

man -w -S 1:8:6 <file> (ডাব্লু = অবস্থান দেখান - এস 1: 8: 6 বিভাগ 1,8 এবং 6 বিভাগে মানুষের সীমাবদ্ধ করে)।

এই অপারেশন যাও recursively ডিরেক্টরি অধীনস্থ সকল ফাইলের মধ্যে সঞ্চালিত হয় /bin, /sbin, /usr/bin, /usr/sbin, এবং /usr/games

অধিকন্তু, পুনঃনির্দেশিত manকরা 2>&1এবং পুনঃনির্দেশিত >/dev/null, যদি একটি ফাইলটি একটি বৈধ মানুষের পৃষ্ঠার অবস্থান কিছুই ছাপা হয় আছে, কিন্তু যদি manএকটি "কোন ম্যানুয়াল এন্ট্রি" জন্য অভিযোগ তারপর এই বার্তাটি ছাপা হয়।
লেখক manpage-alertআরও stripping হয় man"দেখুন মানুষ 7 সাহায্যের জন্য অনথিভুক্ত" বার্তা এবং শুধুমাত্র প্রথম লাইন = রাখে থেকে ত্রুটির বার্তা 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##*/}শুধুমাত্র কমান্ড পথ stripping নাম রাখে /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

PS: আপনি অবশ্যই ইনস্টল করতে পারেন devscriptsযেহেতু অনেকগুলি দুর্দান্ত ইউটিলিটি / স্ক্রিপ্ট অন্তর্ভুক্ত রয়েছে। আমি কেবল জানতে চাইছি কিসের আড়ালে চলে :-)


ডিভাস্ক্রিপ্টগুলিতে প্রচুর ইন্টারেস্টেরিং প্যাকেজ রয়েছে, যেমন, ডিচ, রামাদিসন, ডাব্লুএনপিপি-চেক এবং আরও কিছু, কেবল এটির সম্পর্কে জানত না। এটি ভাল মূল্য। আমি সন্দেহ করি এটি একটি বাশস্ক্রিপ্ট হবে কারণ ডেবিয়ান ব্যাশিজমগুলি সরাতে এবং সরল শেল স্ক্রিপ্টগুলিতে নির্ভর করে যা এক xterm থেকে অন্য সহজে চলে যায়।
শিরিশ

@ শিরীশ ঘনিষ্ঠভাবে পর্যালোচনা করে, আসল manpage-alertস্ক্রিপ্টটি শুরু হয়#!/bin/sh -e
জর্জি ভ্যাসিলিউ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.