LinuxシステムにP2Pファイル共有がインストールされているかどうかを知りたいです。これらのアプリケーションのいくつかの例は次のとおりです。
- ナプスター
- カザ
- アレス
- ライムライン
- IRCチャットリレー
- ビーティ
上記のアプリケーションのRPMがインストールされているか検索検索を使用しているかに関係なく、どのようにスクリプトを作成できますか?デフォルトでは、上記のP2Pアプリケーションを見つけるには、そのアプリケーションのクエリが必要です。
修正する
これが私が検索するために使用するコマンドです。私は何を逃したことがありませんか?
rpm -qa |grep -i bittorrent
rpm -qa |grep -i limewire
rpm -qa |grep -i kazaa
rpm -qa |grep -i ares
rpm -qa |grep -i napster
rpm -qa |grep -i irc
rpm -qa |grep -i irssi
rpm -qa |grep -i xchat
find / -name bittorrent
find / -name limewire
find / -name kazaa
find / -name ares
find / -name napster
find / -name irc
ベストアンサー1
ただし、プログラム/パッケージの名前は、ファイルからそれぞれ一意の行を取得します(例:)packages.txt
。rpm -qa |grep -iFf packages.txt
今... 2番目の部分では、find
コマンドを使用するのがやや愚かなようです。これはややLinux専用です。ルートとして実行されてps
いるか、ポートでリッスンしているnetstat -nap
すべてのデーモンとプロセスが優れています。それらのいくつかは単に州udp
にいないためです。LISTEN
netstat -tap |grep -E "(LISTEN|ESTABLISHED)" | grep -iFf packages.txt
netstat -uap |grep -iFf packages.txt
ps -axo pid,user,args | grep -iFf packages.txt
上記のすべてを次のようにまとめることができます。
{
rpm -qa
netstat -tap |grep -E "(LISTEN|ESTABLISHED)"
netstat -uap
ps -axo pid,user,args
} | grep -iFf packages.txt
ただし、grepの一致する出力を見つける必要があります。