Manajları olmayan kurulu ikili paketleri bulmanın bir yolu var mı?


13

Kısa bir süre önce https://lintian.debian.org/tags/binary-without-manpage.html adresini gördüm ve eksik olan yaklaşık 14 bin yönetimi gösteriyor.

Bu, bazı ikili paketlerin (kitaplıkların değil) eksik yönetim sayfalarına sahip olma olasılığının yüksek olduğu anlamına gelir. Kurulu olmayan ikili paketlerin / uygulamaların (NOT kütüphaneleri) listesini nasıl edinebilirim? Biraz tanıyabilir ve buna biraz katkıda bulunmaya başlayabilirim.

Yanıtlar:


16

manpage-alertKomut ile man sayfasını içermeyen tüm ikili dosyaları listeleyebilirsiniz

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
devscripts paketinin bir parçası olduğunu bilmiyordum, teşekkürler.
şirish


4

Kabul edilen cevap sayesinde , aslında bir kabuk betiği olan paketin bir manpage-alertparçası olan yardımcı programın varlığını öğrenmek ilginçti devscripts.

Yüklemeye çalıştım devscriptsama yaklaşık 70MB bağımlılık yüklemek için bir istem aldım, bu yüzden atladım.

devscriptsDeb paketini ( apt download devscripts) indirmek, deb'i ayıklamak ve manpage-alertbetiğe daha yakından bakmak , tüm başlık "başlık altında" bu uyarı betiğinin komutu çalıştırmasıdır:

man -w -S 1:8:6 <file> (w = konumu göster -S 1: 8: 6 bölüm 1,8 ve 6'da insan aramasını sınırlar).

Bu işlem alt dizinlere altındaki tüm dosyalarda yapılır /bin, /sbin, /usr/bin, /usr/sbin, ve /usr/games.

Ayrıca, yönlendirme maniçin 2>&1ve ayrıca yönlendirme yaparak >/dev/nullbir dosya şey yazdırılır geçerli bir adam sayfa konumunu varsa, ancak eğer manbir "hayır manuel giriş" için şikayet sonra bu mesajı basılır.
Yazarı manpage-alertayrıca sıyırma olduğu manmesaj ve yalnızca ilk satırını = tutan "adam 7 yardım için belgelenmemiş bkz" hata iletisi No manual entry for xxxx.

Sonuç olarak, aşağıdaki birkaç satır, devscripts paketini yüklemeden man sayfalarının eksik olan ikili dosyalarının benzer bir baskısını verecektir:

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

Not: ${ff##*/}yolunu sıyırma yalnızca komut soyadını koruyan /usr/bin/ya /bin/ya da her neyse

Yukarıda tek astar olarak da çalışabilir:

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

Not: devscriptsÇok sayıda güzel yardımcı program / komut dosyası içerdiğinden elbette yükleyebilirsiniz . Sadece kaputun altında ne olduğunu bilmek istiyorum :-)


Dsc, rmadison, wnpp-check ve diğerleri için devscripts'te birçok ilginç paket var, sadece bunu bilmiyordum. Buna değer. Debian bashisms kaldırmak ve bir xterm diğerine daha kolay olan düz kabuk script güvenmeye çalışıyor gibi bir bashscript olacak şüpheliyim.
şirish

@shirish Daha yakından incelendiğinde orijinal manpage-alertsenaryo ile başlar#!/bin/sh -e
George Vasiliou
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.