Rpm ile daha az ne yapar ve rpm olmadan bu metni nasıl alabilirim


12

Yürüttüğümde less package.rpm, daha az bana paketle ilgili her türlü meta bilgiyi gösterir. Daha azı tam olarak ne yapıyor - meta bilgileri ayıklamak için dahili kod var mı, yoksa ilk bölüm bir metin dosyasına benzeyecek şekilde yapılandırılmış bir rpm mi?

headBurada çok yararlı olmadığından , eski varsayalım . Ama asıl soruya ulaşmak için : grepBu meta veriler aracılığıyla bana daha az göstermek istersem bunu nasıl başarabilirim?

Yanıtlar:


23

lessMan sayfasına göz lessatarsanız, bir GİRİŞ HAZIRLAYICI özelliği olduğunu fark edeceksiniz .

echo $LESSOPENbu önişlemcinin konumunu görüntülemek ve içeriğini görüntülemek için less/ vim/ catdüğmesini kullanın .

Makinemde bu önişlemci /usr/bin/lesspipe.shve rpms için aşağıdakileri içeriyor:

*.rpm) rpm -qpivl --changelog -- "$1"; handle_exit_status $?

Aslında less, dosyayı açmak için eller kapalı rpmve çıktı sayfalandırma gösterir.

Açıkçası, bu bilgiyi gözden geçirmek için, doğrudan rpm çıktısını doğrudan grep:

grep "foo" < <(rpm -qpivl --changelog -- bar.rpm)

Veya genel olarak (teşekkürler OrangeDog)

grep "foo" < <(lesspipe.sh bar.rpm)

Not: $LESSOPEN Sadece konumunu tutmaz lesspipe.sh- a ile başlar |ve %sdoğrudan çağrılması hatalarla sonuçlanır.


1
Neden olmasın grep "foo" < <($LESSOPEN bar.rpm)? Ya da belki sadece $LESSOPEN bar.rpm | grep "foo".
jpmc26

4

Bu meta veriyi daha az gösteren grep yapmak istersem, bunu nasıl başarabilirim?

çok basit; örneğin "Sürüm" de grep istiyorsanız:

less your.rpm | grep "Version"

Daha azının rpmkomutu kullandığını unutmayın ; daha az kullanarak daha iyi atlamak; ve rpmkomutları kullanın ; sevmek:

rpm -qip /path/to/uninstalled/rpm
rpm -qi installed.rpm
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.