#!/bin/sh IFS=$'\n' SCRIPT_PATH=`echo $(cd $(dirname $0);pwd)` RPMQA=${SCRIPT_PATH}/rpmqa.tmp rpm -qa --queryformat="%{NAME} %{VERSION} %{RELEASE} %{ARCH}\n" > ${RPMQA} grep_param () { KEY=$1 echo $1 | sed -e "s/^ \+//g" | sed -e "s/ \+$//g" | sed -e "s/ \+/ /g" | sed -e "s/ /(([0-9]+)?( |-)[0-9]+)\|^/g" | sed -e "s/^/^/g" | sed -e "s/$/(([0-9]+)?( |-)[0-9]+)/g" } grep_rpm_qa (){ GREP_PARAM=`grep_param $1` for APP in `cat ${RPMQA} | egrep ${GREP_PARAM}` do echo "${APP}" done } textile_rpm_qa(){ SERVICE=$2 for APP in `grep_rpm_qa $1` do NAME=`echo "${APP}" | cut -f1 -d" "` VERSION=`echo "${APP}" | cut -f2 -d" "` echo "|${SERVICE}|${NAME}|${VERSION}|" done } echo "|_. サービス|_. パッケージ名|_. バージョン|" textile_rpm_qa "httpd nginx" "Webサーバー" textile_rpm_qa "mysql-server postgresql mysql-community-server" "データベース" textile_rpm_qa "java" "Java" textile_rpm_qa "perl" "Perl" textile_rpm_qa "php" "PHP" textile_rpm_qa "sendmail postfix exim" "メールサーバー" textile_rpm_qa "vsftpd proftpd" "FTPサーバー" SPLX_PATH=`ps aux | grep splxhttpd | grep -v grep | head -n1 | sed -e"s/[ \t]\+/ /g" | awk -F" " '{ print $NF }' | sed -e "s/SPLX\.httpd.*//g"` if [ -n "${SPLX_PATH}" ] && [ -f "${SPLX_PATH}/Product.ini" ]; then SPLX_VERSION=`${SPLX_PATH}/Product.ini | grep ProductVersion | cut -f2 -d=` if [ -n "${SPLX_VERSION}" ]; then echo "|ウィルス対策|TrendMicro ServerProtect|${SPLX_VERSION}|" fi fi
※ 2015年5月18日 一部のパッケージが取れないためスクリプトを調整