Strona 1 z 1

Problem z instalacją fail2ban na Debian Sarge

: 12 czerwca 2007, 13:28
autor: Onyx
Witam wszystkich

Mam problem z instalacja pakietu fail2ban na Debianie Sarge. Konkretnie chodzi o pythona - program (skrypt) wymaga nowszej wersji pythona zainstalowanie pytona 2.4 w systemie (apt-get install python2.4 python2.4-dev) nie wystarczyło. Wymagany jest pakiet python-central. Podczas instalacji pakiet twierdzi że ma systemie wersję 2.3.5-2 a wymagana jest wyższa wersja.

Wersja pythona 2.3.5-2 to wersja tzw oldstable a wersja 2.4.4.2 to wersja stable.

Jak zatem zmienić wersję pythona aby domyślną była nowsza wersja co zrobic jakie polecenia należy wydać. polecenia apt-get update i apt-get upgrade nie dają pożądanego efektu.
Może wystarczy wyedytowac któryś plik konfiguracyjny.

Pozdrawiam z góry dziękuje za pomoc

: 12 czerwca 2007, 15:41
autor: bartek
w repo sarge jest dostępna wersja python2.4 (2.4.1-2sarge1)

Kod: Zaznacz cały

apt-get install python2.4

: 13 czerwca 2007, 13:30
autor: Onyx
Cześć Radex

Dzięki za odpowiedź ale to nie pomaga bo polecenie apt-get install python2.4 już wydawałem. A chodzi o to by było tak po wydaniu polecenia (dpkg --list) tak mam na jednym komputerze a na drugim nie mogę ustawić.

Kod: Zaznacz cały

ii  python         2.4.4-2        An interactive high-level object-oriented la
ii  python-central 0.5.12         register and build utility for Python packag
ii  python-minimal 2.4.4-2        A minimal subset of the Python language (def
rc  python2.3      2.3.5-3sarge2  An interactive high-level object-oriented la
ii  python2.4      2.4.4-3        An interactive high-level object-oriented la
ii  python2.4-mini 2.4.4-3        A minimal subset of the Python language (ver
bo wtedy po wydaniu polecenia " python " zgłasza się python w wersji 2.4

a jest tak

Kod: Zaznacz cały

ii  python         2.3.5-2        An interactive high-level object-oriented la
rc  python-central 0.5.12         register and build utility for Python packag
ii  python2.1      2.1.3dfsg-1sar An interactive high-level object-oriented la
ii  python2.1-egen 2.0.6-1        date and time handling routines for Python 2
ii  python2.1-egen 2.0.6-1        collection of new builtins for Python 2.1
ii  python2.1-imag 1.1.4-3.1      Python Imaging Library
ii  python2.1-imag 1.1.4-3.1      Python Imaging Library SANE interface
ii  python2.1-kjbu 1.0.0-7        Set and graph data types for Python 2.1
ii  python2.1-nume 23.8-1         Numerical (matrix-oriented) Mathematics for
ii  python2.1-xml  0.8.4-1        XML tools for Python (2.1.x)
ii  python2.1-xmlb 2.1.3dfsg-1sar XML support included in Python (v2.1)
ii  python2.3      2.3.5-3sarge2  An interactive high-level object-oriented la
ii  python2.4      2.4.1-2sarge1  An interactive high-level object-oriented la
i nie pomaga odinstalowanie wersji 2.3

Kod: Zaznacz cały

apt-get remove python2.3
i zainstalowanie na nowo wersji 2.4

jeżeli bezpośrednio wydaje polecenie apt-get install python to ściąga wersję 2.3

Kod: Zaznacz cały

Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  python2.3
Suggested packages:
  python-doc python-tk python-profiler python2.3-doc python2.3-profiler
Recommended packages:
  python2.3-iconvcodec python2.3-cjkcodecs python2.3-japanese-codecs
The following NEW packages will be installed:
  python python2.3
0 upgraded, 2 newly installed, 0 to remove and 3 not upgraded.
Need to get 0B/3034kB of archives.
After unpacking 10.3MB of additional disk space will be used.
Do you want to continue? [Y/n]
Więc ponawiam pytanie jak wymusić (co należy zrobić, zmienić) aby była to wersja 2.4 i po wydaniu polecenia python zgłaszała się wersja 2.4 a nie 2.3?

czyli tak

Kod: Zaznacz cały

Python 2.4.4 (#2, Apr  5 2007, 20:11:18)
[GCC 4.1.2 20061115 (prerelease) 
a nie tak

Kod: Zaznacz cały

Python 2.3.5 (#2, Oct 16 2006, 19:19:48)
[GCC 3.3.5 
Pozdrawiam i czekam na odpowiedź...


//do kodów używaj tagów code
velmafia

: 14 czerwca 2007, 09:55
autor: bartek
Nie zagłębiając się w repozytoria i ich poprawność:

Kod: Zaznacz cały

radex@mtbox(09:52:03)~$ whereis python
python: /usr/bin/python2.3 /usr/bin/python /usr/bin/python2.4 /etc/python /etc/python2.3 /etc/python2.4 /usr/lib/python2.3 /usr/lib/python2.4 /usr/lib/python2.5 /usr/X11R6/bin/python2.3 /usr/X11R6/bin/python /usr/X11R6/bin/python2.4 /usr/bin/X11/python2.3 /usr/bin/X11/python /usr/bin/X11/python2.4 /usr/local/lib/python2.3 /usr/local/lib/python2.4 /usr/include/python2.3 /usr/include/python2.4 /usr/share/python /usr/share/man/man1/python.1.gz
radex@mtbox(09:52:04)~$ ls -al /usr/bin/python
lrwxrwxrwx 1 root root 9 cze  4 18:53 /usr/bin/python -> python2.4
radex@mtbox(09:52:07)~$
Jak widać /ust/bin/python jest linkiem do odpowiedniej wersji pythona podobnie jak jest w gcc etc
Jeśli masz teraz dowiązanie do python2.3 i masz zainstalowany python2.4:

Kod: Zaznacz cały

ln -s /usr/bin/python2.4 /usr/bin/python
I musi działać ;)

: 14 czerwca 2007, 13:08
autor: Onyx
Witam

Dzięki za odpowiedź Radex wałkując dalej temat instalacji pythona i problemów.

Wychodzą moje braki na temat systemu (dopiero się uczę) rzeczywiście masz racje trzeba zmienić dowiązania symboliczne do pythona na nowszą wersję.

kod

Kod: Zaznacz cały

ln -s /usr/bin/python2.4 /usr/bin/python
zmienia dowiązanie na nową wersję pod warunkiem, że nie ma w systemie dowiązania do starszej wersji.

czyli po wydaniu polecenia

Kod: Zaznacz cały

ls -al /usr/bin/python
mamy

Kod: Zaznacz cały

lrwxrwxrwx  1 root root 18 Jun 14 10:36 /usr/bin/python -> /usr/bin/python2.3
w tym wypadku dostajemy komunikat

Kod: Zaznacz cały

ln: `/usr/bin/python': File exists
ale jeśli zastosujemy opcję -f - [wymusza (ang. force) umieszczenie dowiązań nawet gdy istnieją już pliki o tej samej nazwie.]

czyli w pełni poprawnie

Kod: Zaznacz cały

ln -s -f /usr/bin/python2.4 /usr/bin/python
i po wydaniu polecenia

Kod: Zaznacz cały

python
mamy wersję 2.4

Kod: Zaznacz cały

Python 2.4.1 (#2, Oct 18 2006, 20:58:01)
ale przy próbie instalacji pakietu python-central, który wymaga wersji 2.4 system a właściwie dpkg dalej twierdzi że ma wciąż wersję 2.3

Kod: Zaznacz cały

dpkg --list

Kod: Zaznacz cały

ii  python         2.3.5-2        An interactive high-level object-oriented la
Moje pytanie co zrobić i gdzie zmienić aby dpkg wiedział, że teraz ma wersję 2.4 pythona i instalacja python-central, a następnie fail2ban się powiodła?

Pozdrawiam i z góry dziękuje za odpowiedź.

: 14 czerwca 2007, 13:18
autor: bartek
Wysłany: Dzisiaj 13:17

Cytat:
ale przy próbie instalacji pakietu python-central, który wymaga wersji 2.4 system a właściwie dpkg dalej twierdzi że ma wciąż wersję 2.3

http://packages.debian.or.../python-central

Jak widać python-central wymaga python (>= 2.3.5-7), a Ty masz już zainstalowanego 2.4, więc nie rozumie gdzie jest problem.
Wklej wynik:

Kod: Zaznacz cały

apt-get install python-central

: 14 czerwca 2007, 15:12
autor: Onyx
Cześć

Poleceniem tym nie idzie dostaje takie komuniakty

Kod: Zaznacz cały

apt-get install python-central
Reading Package Lists... Done
Building Dependency Tree... Done
Package python-central is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package python-central has no installation candidate

więc sciągnąłem plik lokalnie na dysk i próbuje zrobic to poleceniem dpkg ale dostaje takie komunikaty

Kod: Zaznacz cały

dpkg --install python-central_0.5.12_all.deb
Selecting previously deselected package python-central.
(Reading database ... 47280 files and directories currently installed.)
Unpacking python-central (from python-central_0.5.12_all.deb) ...
dpkg: dependency problems prevent configuration of python-central:
 python-central depends on python (>= 2.3.5-7); however:
  Version of python on system is 2.3.5-2.
dpkg: error processing python-central (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 python-central
chodzi mu o różnice w wersjach 2.3.5-2 jest niby w systemie a według dpkg - on chce wersję >=2.3.5-7 mimo że jest zainstalowana 2.4 i zrobione dowiązanie symboliczne jednak dla dpkg jest to za mało i widzi tylko wersję 2.3.5-2 zatem nie puszcza.

Po to zamieszaczałem zrzut z polecenia dpkg --list (ii python 2.3.5-2 An interactive high-level object-oriented la) bo nadal twierdzi że dla niego jest stara wersja


Zatem pytanie jest gdzie jest przechowywana informacja dla dpkg (może w jakiś pliku szukałem ale nie znalazłem) i co zrobić aby to zmienić aby wiedział że ma wersję pythona 2.4?

chyba że jest inne rozwiązanie np. poleceniem apt-get z odpowiednimi parametrami.

Z góry dziękuje za odpowiedź

: 14 czerwca 2007, 20:44
autor: bartek
Odinstaluj python2.3, paczka python-central, którą używasz jest z ETCH i jak widać, masz za starą wersję pythona zainstalowaną. Po deinstalacji zainstaluj wersję 2.4 i będzie wszystko działać.

: 18 czerwca 2007, 08:36
autor: Onyx
Witam

Niestety nie zadziałało próbowałem tego wcześniej i teraz ponownie. Chyba nie tędy droga. Gdzie dpkg trzyma informacje? No nic będę dalej szukał rozwiązania. Chyba, że ktoś jeszcze podpowie. W każdym razie dzięki za pomoc.

Pozdrawiam

[ Dodano: 2007-06-18, 13:22 ]
Witam

Może ktos skorzysta rozwiązanie problemu (przynajmniej u mnie to pomogło)

Problemem był plik /etc/apt/sources.list i jego zawartość

Kod: Zaznacz cały

 cat /etc/apt/sources.list
miałem odnośniki do starych linków (instalacja oddziedziczona po kims i zrobiona troche temu)

Kod: Zaznacz cały

deb [url]http://ftp.task.gda.pl/pub/debian[/url] sarge main non-free contrib
deb-src [url]http://ftp.task.gda.pl/pub/debian[/url] sarge main non-free contrib
deb [url]http://non-us.debian.org/debian-non-US[/url] stable/non-US main contrib non-free
deb-src [url]http://non-us.debian.org/debian-non-US[/url] stable/non-US main contrib non-free

deb [url]http://security.debian.org[/url] sarge/updates main contrib non-free
po zmianie dowolnym edytorem zawartości tego pliku (mcedit nano lub vi)

na

Kod: Zaznacz cały

deb [url]ftp://ftp.pl.debian.org/debian[/url] stable main
deb-src [url]ftp://ftp.pl.debian.org/debian[/url] stable main
deb [url]http://security.debian.org/[/url] stable/updates main contrib
Polecenie

Kod: Zaznacz cały

apt-get update
oraz

Kod: Zaznacz cały

apt-get upgrade
zaktualizowało system i bez problemu wydając polecenie

Kod: Zaznacz cały

apt-get install python
zainstalowało wersję 2.4
ba
nawet polecenie

Kod: Zaznacz cały

apt-get install python-central
odbyło się bez przeszkód (i system nie twierdził że jest to paczka z etch)!

więc po wydaniu polecenia

Kod: Zaznacz cały

apt-get install fail2ban
został zainstalowany w fail2ban w dostępnej wersji 0.7 chociaż jest nowsza 0.8.

Pozostało wedytować plik /etc/fail2ban/jail.conf aby dostosowac do swoich potrzeb i zrestartować program fail2ban

Kod: Zaznacz cały

 /etc/init.d/fail2ban restart
Poleceniem na szybko sprawdzimy co program zablokuje

Kod: Zaznacz cały

awk '($(NF-1) = /Ban/){print $NF}' /var/log/fail2ban.log | sort | uniq -c | sort

fail2ban - program skanuje logi systemowe i blokuje dostęp jesli ktoś próbuje dostać się na nasz serwer poprzez SSH, WWW, FTP itd. więcej na
http://www.fail2ban.org

Polecam dobry i działa nie tylko na debianie :)

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

i chyba na tyle
Pozdrawiam wszystkich