Instalacja skryptu CheckGmail + wielowątkowość i szyfrowanie

Slackware FAQ - czyli baza pytań i odpowiedzi.

Moderatorzy: Moderatorzy, Administratorzy

ODPOWIEDZ
Awatar użytkownika
dame
Moderator w st. spocz.
Posty: 985
Rejestracja: 2004-09-25, 17:37
Lokalizacja: wawa

Instalacja skryptu CheckGmail + wielowątkowość i szyfrowanie

Post autor: dame » 2006-05-25, 21:26

Instalacja skryptu CheckGmail + wielowątkowość i szyfrowanie

Spis Treści

Kod: Zaznacz cały

1. Wstęp, cel, założenia i wymagania
2. Perl
   a) Wielowątkowość
   b) Szyfrowanie
3. CheckGmail
1. Wstęp, cel, założenia i wymagania

Skrypt CheckGmail jest przydatnym skrypcikiem, który systematycznie sprawdza nam pocztę na koncie Gmail. Jego główna zaleta jest taka, że w przeciwieństwie do wielu alternatyw, skrypt ten funkcjonuje samodzielnie i niezależnie od innych aplikacji. Ma też dwie zasadnicze wady - do działania potrzebuje Perl'a z wielowątkowością oraz zapisuje hasło w formacie czystego tekstu.

Celem tego FAQ jest przeprowadzenie użytkownika przez proces instalacji oraz zaszyfrowanie hasła do konta Gmail.

Wymagania to:
- Slackware Linux 10.2 (stable)
- GTK2 (w momencie pisania miałem wersję 2.6.10, wydaną przez P.V.)
- Inne programy, zwykle używane podczas procesu kompilacji, takie jak gcc etc.

2. Perl

Standardowo, Perl (w momencie pisania, stabilna wersja to 5.8.7) w Slackware jest kompilowany bez obsługi wielowątkowości (ang. multithreading). W tym celu musimy zacząć od kompilacji Perla. W tym celu musimy pobrać źródła. By zachować ogólną stabilność/zgodność systemu postanowiłem użyć tej samej wersji, którą miałem dotychczas oraz skorzystać z slack-builda, co również w znacznej mierze uprości proces.

Korzystając z ftp://ftp.slackware.at/slackware-10.2/source/d/perl wykonaj:

Kod: Zaznacz cały

$ mkdir /tmp/perl
$ cd /tmp/perl
$ wget ftp://ftp.slackware.at/slackware-10.2/source/d/perl/perl-5.8.7.tar.bz2
$ wget ftp://ftp.slackware.at/slackware-10.2/source/d/perl/perl.SlackBuild
$ wget ftp://ftp.slackware.at/slackware-10.2/source/d/perl/slack-desc
$ wget ftp://ftp.slackware.at/slackware-10.2/source/d/perl/XML-Parser-2.34.tar.gz
$ wget ftp://ftp.slackware.at/slackware-10.2/source/d/perl/DBI-1.48.tar.gz
$ wget ftp://ftp.slackware.at/slackware-10.2/source/d/perl/XML-Parser-2.34.tar.gz
Podczas instalacji tych skryptów, mogą się pojawić proste pytania. Zwykle odpowiadamy na nie domyślną odpowiedzią. Nie należy też panikować, jeśli brakuje nam jakichś zewnętrznych programów (zwłaszcza ncftp*). Lecz niektóre, takie jak np. openssl mogą się przydać. W razie potrzeby - doinstalować.

Nie mam pewności, czy trzy ostatnie pliki są konieczne - ja je ściągnąłem i kompilacja powiodła się za pierwszym razem. Następnie należy wyedytować plik perl.SlackBuild, ja do tego celu używam vim'a:

Kod: Zaznacz cały

$ vim perl.SlackBuild
Po czym należy odnaleźć linię nr. 72:

Kod: Zaznacz cały

#USE_THREADS="-Dusethreads -Duseithreads"
i usunąć z niej znak # po czym zapisać plik

Kod: Zaznacz cały

:wq!
$ chmod +x perl.SlackBuild
$ sudo ./perl.SlackBuild >> bulid.log 2>&1
Ostatnie polecenie uruchomi kompilację Perla z wielowątkowością. W razie gdyby sudo nie działało, równie dobrze można zalogować się jako root i wykonać

Kod: Zaznacz cały

$ cd /tmp/perl
./perl.SlackBuild >> bulid.log 2>&1
W oddzielnej konsoli możemy na bieżąco obserwować, co się dzieje podczas kompilacji, w tym celu należy wydać polecenie:

Kod: Zaznacz cały

$ cd /tmp/perl
$ tail -f build.log
Z programu wychodzimy naciskając kombinację klawiszy [CTRL]+[C]. Log ten przyda się, w razie gdyby coś poszło nie po naszej myśli.
Kiedy Perl skończy się już kompilować (jakieś 20-30 minut - na athlonie 2000xp+), należy zainstalować nowo powstałą paczkę:

Kod: Zaznacz cały

$ sudo installpkg /tmp/perl-5.8.7-i486-1.tgz
Voila! Perl z obsługą wielowątkowości jest zainstalowany! Kolej na odpowiednie moduły:

Kod: Zaznacz cały

$ sudo perl -MCPAN -e 'install Bundle::LWP'
$ sudo perl -MCPAN -e 'install Crypt::Simple'
$ sudo perl -MCPAN -e 'install XML::Simple'
$ sudo perl -MCPAN -e 'install Crypt::SSLeay'
$ sudo perl -MCPAN -e 'install Glib'
$ sudo perl -MCPAN -e 'install Gtk2::CodeGen'
$ sudo perl -MCPAN -e 'install Gtk2::TrayIcon'
b) szyfrowanie

By otrzymać szyfrowanie, należy doinstalować (tą samą metodą co wyżej) jeszcze kilka pakietów Perla:

Kod: Zaznacz cały

Crypt::Blowfish
FreezeThaw
Digest::MD5
MIME::Base64
Do tego, trzeba doinstalować Compress-Zlib:

Kod: Zaznacz cały

$ /tmp/perl
$ wget http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/Compress-Zlib-1.41.tar.gz
$ tar -xvzf Compress-Zlib-1.41.tar.gz
$ perl Makefile.PL
$ make
$ make test
$ sudo make install
Jeśli wszystko poszło bez zastrzeżeń, to należy przejść do ostatniego punktu

3. Checkmail

Na koniec pobieramy skrypt Checkgmail ze strony domowej i rozpakowujemy:

Kod: Zaznacz cały

$ tar -xvjf nazwa_pliku.tar.bz2
mv checkgmail-numerwersji /opt/checkgmail-numerwersji
/opt/checkgmail-numerwersji/checkgmail
Ostatnie polecenie włącza nam skrypt. Pozostaje dodać go do autostartu (różne metody w zależności od środowiska graficznego - dlatego nie będę tego tu opisywał; odsyłam do FAQ dot. poszczególnych środowisk).

W ten sposób możemy cieszyć się checkgmail'em z szyfrowanym hasłem.

TODO:

Kod: Zaznacz cały

- jak wylistować zainstalowane już moduły perla?
autor: Dame
Ostatnio zmieniony 2006-09-14, 22:56 przez dame, łącznie zmieniany 6 razy.

ODPOWIEDZ