Vraag & Antwoord

OS Linux

fwanalog en zegrep

5 antwoorden
  • Ik ben fwanalog aan het installeren, dit is niet zo'n probleem, alleen zit ik met het probleem dat er zich geen zegrep op m'n systeem bevindt Dus ik dacht.. Die download ik ff, maar nee hoor, nergens te vinden. Nu ik zo rond loop te kijken op zoek naar zegrep lijkt het erop dat het iets van een symbolic link naar grep is, klopt dat en zo ja, hoe maak ik deze aan? Of kan ik hem toch ergens downloaden? Alvast bedankt! Rutger
  • zegrep wordt bij mij (Gentoo) geinstalleerd als onderdeel van gzip. Het is een "shellscript wrapper" om grep en gzip heen. Hier volgt het: [b:ef9b026108]/bin/zegrep :[/b:ef9b026108] [code:1:ef9b026108]#!/bin/sh # zgrep -- a wrapper around a grep program that decompresses files as needed # Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca> # Copyright (C) 1998, 2001 Free Software Foundation # Copyright (C) 1993 Jean-loup Gailly # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. PATH="//bin:$PATH"; export PATH prog=`echo $0 | sed 's|.*/||'` case "$prog" in *egrep) grep=${EGREP-egrep} ;; *fgrep) grep=${FGREP-fgrep} ;; *) grep=${GREP-grep} ;; esac pat="" after_dash_dash="" files_with_matches=0 files_without_matches=0 no_filename=0 with_filename=0 while test $# -ne 0; do case "$after_dash_dash$1" in --d* | --rec*) echo >&2 "$0: $1: option not supported"; exit 1;; --files-with-*) files_with_matches=1;; --files-witho*) files_without_matches=1;; --no-f*) no_filename=1;; --wi*) with_filename=1;; --*) ;; -*) case "$1" in -*[dr]*) echo >&2 "$0: $1: option not supported"; exit 1;; esac case "$1" in -*H*) with_filename=1;; esac case "$1" in -*h*) no_filename=1;; esac case "$1" in -*L*) files_without_matches=1;; esac case "$1" in -*l*) files_with_matches=1;; esac;; esac case "$after_dash_dash$1" in -[ef]) opt="$opt $1"; shift; pat="$1" if test "$grep" = grep; then # grep is buggy with -e on SVR4 grep=egrep fi;; -[ABCdm])opt="$opt $1 $2"; shift;; --) opt="$opt $1"; after_dash_dash=1;; -*) opt="$opt $1";; *) if test -z "$pat"; then pat="$1" else break; fi;; esac shift done if test -z "$pat"; then echo "grep through gzip files" echo "usage: $prog [grep_options] pattern [files]" exit 1 fi if test $# -eq 0; then gzip -cdfq | $grep $opt "$pat" exit $? fi res=0 for i do gzip -cdfq "$i" | if test $files_with_matches -eq 1; then $grep $opt "$pat" > /dev/null && echo $i elif test $files_without_matches -eq 1; then $grep $opt "$pat" > /dev/null || echo $i elif test $with_filename -eq 0 && { test $# -eq 1 || test $no_filename -eq 1; }; then $grep $opt "$pat" else if test $with_filename -eq 1; then sed_script="s|^[^:]*:|${i}:|" else sed_script="s|^|${i}:|" fi $grep $opt "$pat" | sed "$sed_script" fi r=$? test $res -lt $r && res=$r done exit $res[/code:1:ef9b026108]
  • Bedankt, het werkt! Is er trouwens ook een manier om mijn firewall log gescheiden te houden? Nu gaan alle firewall melding zowel naar kern.log als naar sys.log (Standaar LFS systeem). Ik heb liever dat hij ze in een eigen log firewall.log gaat zetten, dit is wat overzichtelijker, en scheelt fwanalog een hoop filterwerk (en dus snelheid) Ik neem aan dat ik dit in /etc/syslog.conf moet regelen? Maar hoe?
  • Ik weet niet zoveel van LFS af, maar misschien dat je toch even "man bash" ;) moet intypen om wat scripting mogelijkheden te bekijken. De belangrijkste in jouw geval: [code:1:0bc3de0746] > redirection teken | pipe 0, 1, 2 STDIN, STDOUT, STDERROR [/code:1:0bc3de0746] Wat ik bijvoorbeeld wel eens gebruik: [code:1:0bc3de0746] startx 2>/debug.txt [/code:1:0bc3de0746] Hiermee wil ik de STDERR van startx hebben (alle foutmeldingen als X opstart) en die schrijf ik naar het bestand debug.txt, zodat ik ze op mijn gemak kan naleen met vi :) daarna zou je b.v. kunnen doen [code:1:0bc3de0746] cat debug.txt | grep ATI [/code:1:0bc3de0746] Nu gebruik ik voor het commando grep als invoer het bestand "debug.txt", en ik zoek daarin naar de string ATI. (pipe = uitvoer ene bestand / prog koppelen aan invoer andere prog.) Nu zal je als het goed is met jouw LFS kennis wel het een en ander om kunnen bouwen en weg kunnen schrijven! ;) Succ6
  • De meeste redirects en pipes ken ik wel daar doelde ik ook niet op (maar evengoed bedankt voor je korte uitleg... :wink: ) Ik meen me echter ook te herinneren dat je in je syslog al een onderscheid kan maken voor iptables meldingen. Momenteel ziet mijn /etc/syslog.con er zo uit: [code:1:8a6dd581b5] # Begin /etc/syslog.conf auth,authpriv.* -/var/log/auth.log *.*;auth,authpriv.none -/var/log/sys.log daemon.* -/var/log/daemon.log kern.* -/var/log/kern.log mail.* -/var/log/mail.log user.* -/var/log/user.log *.emerg * # End /etc/syslog.conf [/code:1:8a6dd581b5] Is hier geen optie aan toe te voegen die dus wegschrijft naar /var/log/firewall.log? Maar misschien dat ik het mis heb en is hier geen standaard methode voor, en moet ik geen redirecten...

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.