Seite 1 von 1

fail2ban setup.py meldet fehler

Verfasst: Donnerstag 27. März 2008, 23:09
von NDMR
Hallo,

ich habe die datei fail2ban-0.8.2.tar.bz2 entpackt.

Im verzeichnis fail2ban-0.8.2 setup.py install ausgeführt.

Ich bekomme follgenden Fehler:

Code: Alles auswählen

/fail2ban-0.8.2$ python setup.py install
Traceback (most recent call last):
  File "setup.py", line 29, in ?
    from distutils.core import setup
ImportError: No module named distutils.core
Hier die setup.py

Code: Alles auswählen

#!/usr/bin/python

# This file is part of Fail2Ban.
#
# Fail2Ban 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 of the License, or
# (at your option) any later version.
#
# Fail2Ban 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 Fail2Ban; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

# Author: Cyril Jaquier
# 
# $Revision: 671 $

__author__ = "Cyril Jaquier"
__version__ = "$Revision: 671 $"
__date__ = "$Date: 2008-03-06 00:12:41 +0100 (Thu, 06 Mar 2008) $"
__copyright__ = "Copyright (c) 2004 Cyril Jaquier"
__license__ = "GPL"

from distutils.core import setup
from common.version import version
from os.path import isfile, join, isdir
from sys import argv
from glob import glob

longdesc = '''
Fail2Ban scans log files like /var/log/pwdfail or
/var/log/apache/error_log and bans IP that makes
too many password failures. It updates firewall rules
to reject the IP address or executes user defined
commands.'''

setup(
	name = "fail2ban", 
	version = version, 
	description = "Ban IPs that make too many password failure", 
	long_description = longdesc, 
	author = "Cyril Jaquier", 
	author_email = "cyril.jaquier@fail2ban.org", 
	url = "http://www.fail2ban.org", 
	license = "GPL", 
	platforms = "Posix", 
	scripts =	[
					'fail2ban-client', 
					'fail2ban-server', 
					'fail2ban-regex'
				], 
	packages =	[
					'common', 
					'client', 
					'server'
				], 
	data_files =	[
						('/etc/fail2ban', 
							glob("config/*.conf")
						), 
						('/etc/fail2ban/filter.d', 
							glob("config/filter.d/*.conf")
						), 
						('/etc/fail2ban/action.d', 
							glob("config/action.d/*.conf")
						)
					]
)

# Do some checks after installation
# Search for obsolete files.
obsoleteFiles = []
elements =	{
				"/etc/":
					[
						"fail2ban.conf"
					], 
				"/usr/bin/":
					[
						"fail2ban.py"
					], 
				"/usr/lib/fail2ban/firewall/":
					[
						"iptables.py", 
						"ipfwadm.py", 
						"ipfw.py"
					],
				"/usr/lib/fail2ban/":
					[
						"version.py", 
						"protocol.py"
					]
			}

for directory in elements:
	for f in elements[directory]:
		path = join(directory, f)
		if isfile(path):
			obsoleteFiles.append(path)

if obsoleteFiles:
	print
	print "Obsolete files from previous Fail2Ban versions were found on " \
		  "your system."
	print "Please delete them:"
	print
	for f in obsoleteFiles:
		print "\t" + f
	print

if isdir("/usr/lib/fail2ban"):
	print
	print "Fail2ban is not installed under /usr/lib anymore. The new " \
		  "location is under /usr/share. Please remove the directory " \
		  "/usr/lib/fail2ban and everything under this directory."
	print

# Update config file
if argv[1] == "install":
	print
	print "Please do not forget to update your configuration files."
	print "They are in /etc/fail2ban/."
	print
Auf dem Server ist Suse 10.1 und Python 2.4

Könnt ihr mir helfen?

Gruß NDMR

Verfasst: Freitag 28. März 2008, 00:25
von audax
Mr Obvious sagt:
Installiere das Modul "distutils"!
Wie du das machst, solltest du selbst wissen wenn du einen Server hast.

Verfasst: Freitag 28. März 2008, 00:55
von NDMR
Hallo audax,

vielen dank schon mal für deine Hilfe.

Ich habe das Modul Distutils-1.0.2 gefunden. Leider bringt die Installation auch ein Fehler mit sich.

Fehler:

Code: Alles auswählen

/Distutils-1.0.2$ python setup.py install
Traceback (most recent call last):
  File "setup.py", line 30, in ?
    packages = ['distutils', 'distutils.command'],
  File "/Distutils-1.0.2/distutils/core.py", line 101, in setup
    _setup_distribution = dist = klass(attrs)
  File "/Distutils-1.0.2/distutils/dist.py", line 130, in __init__
    setattr(self, method_name, getattr(self.metadata, method_name))
AttributeError: DistributionMetadata instance has no attribute 'get___doc__'
Hast du hierfür auch ein Tipp für mich?

PS: Ich weiß das man von den Vollprofis immer zuhören bekommt, das musst du wissen usw. Aber jeder hat mal klein angefangen...

Es will mir nicht gegönnt sein, das fail2ban auf meinem Server läuft.

Gruß NDMR

Verfasst: Freitag 28. März 2008, 01:04
von Leonidas
audax hat geschrieben:Installiere das Modul "distutils"!
Eigentlich heißt das Paket wohl eher ``python-devel`` auf Suse.

Verfasst: Freitag 28. März 2008, 09:00
von Darii
NDMR hat geschrieben:PS: Ich weiß das man von den Vollprofis immer zuhören bekommt, das musst du wissen usw. Aber jeder hat mal klein angefangen...
Aber nicht mit nem rootserver. Das hat nichts mit klein zu tun, das ist grob fahrlässig.

Verfasst: Freitag 28. März 2008, 13:29
von Leonidas
Davon mal abgesehen müsste es fail2ban eigentlich in den Suse-Repositories geben, warum nutzt du nicht das?