banal. ale przy okazji wyszedl niezly bezsens…

# grep mysql /etc/tcpd/hosts.allow
mysqld: ALL: allow
# 

i smiga. ale czy rzeczywiscie brak wpisu (a w tym wypadku – niewlasciwy wpis) powinien powodowac segfault mysqla przy probie polaczenia ? dla mnie bzdura. niech nie pozwoli sie polaczyc, niech wywali jakis msg, ale kuzwa, nie segfault !!!

w sumie drugi raz sie przejechalem, ale nie do konca udalo mi sie wszystko powiazac…

pamietajac wlasnie ten poprzedni raz, oidp to bylo z serwerem jabbera, dodalem wpis do /etc/tcpd/hosts.allow:

mysql: ALL: allow

niestety, proces nazywa sie mysqld, a mi sie cos pozajaczkowalo. i tcpwrappers nie puszcal polaczen. ale kuzwa, dalej uwazam za maksymalna bzdure to, ze wali po oczach segfaultem zamiast zwyczajnie zabronic sie polaczyc. czy chocby siakis mesg… ech :/

dzieki ci, boze, za strace‘a… ;)


na serwerze jest sobie mysql 4.0.x. bodajze x = 24 obecnie (wczesniej bylo 20, ten sam problem), ale moge krzanic a sprawdzac mi sie nie chce. google niewiele sensownego mowia o moim problemie, wiec nieco szlag mnie trafia.
gdzie lezy problem?

musze uruchomic mysql tak, zeby mozna sie bylo zalogowac zdalnie do niego. no wiec zahaszowalem w konfigu skip-network.
ustawilem grzecznie odpowiednie bind-address. probowalem rowniez bez tego, ale nic to nie zmienia.

zrestartowalem mysql.

dodalem odpowiednie uprawnienia dla usera login@%.

zrobilem flush-privileges.

wszystko ladnie smiga, proba polaczenia z mysql z podanym parametrem -h:

% mysql -h adres -u user -p

po chwili mam mesga, ze polaczenie zerwane w trakcie wykonywania query czy jakos podobnie, po zalogowaniu na serwer (dobrze ze mam klucze, bo bez mysql na serwer normalnie nie da sie zalogowac…) service mysql status pokazuje ze nie dziala ale podsystem zablokowany (zginal tak szynko ze z /var/lock/subsys nie usunal locka).

w logach:

/usr/sbin/mysqld: gotowe do polaczenia PLD Linux Distribution MySQL RPM
mysqld got signal 11;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help diagnose
the problem, but since we have already crashed, something is definitely wrong
and this may fail.

key_buffer_size=8388608
read_buffer_size=131072
max_used_connections=0
max_connections=100
threads_connected=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 225791 K
bytes of memory
Hope that’s ok; if not, decrease some variables in the equation.

moge sobie dowolnie mieszac zmiennymi, ilosc potrzebnej mu pamieci w msg spada do jakichs 60mb etc (chwilowo na serwerze zostalo tylko 512mb ramu, ale to przejsciowe), ale ten mesg sie dalej pokazuje wraz z wykladaniem sie mysql przy probioe polaczenia zdalnego.

proba polaczenia z serwera, ale z podanym parametrem -h adres powoduje dokladnie to samo. tylko dzialania na sockecie sa ok :/ nic nie czaje. no nic, moze zaraz na pisze na listy pld, moze cos pomoga (probowalem juz nawet mielic mysql samemu etc, i dalej to samo :///).

a tutaj mamy rozwiazanie problemu


jakis czas temu walczylem z instalacja pld na amd64. po jakims czasie mi sie udalo, a rezultaty walki spisalem i wrzucilem na stara strone PLD. strona sie zmienila, opis poszedl sie bujac.. dzis tenze opis odzyskalem, wiec go wklejam tutaj.

uwaga: ponizsze notatki pochodza sprzed paru ladnych miesiecy, w sumie ca pol roku, wiec niektore kwestie etc moga byc nieprawdziwe/nieaktualne.

Przejdź do reszty tego wpisu »


gtf

wylicza modeline. w zyciu bym sie nie domyslil, ze takie narzedzie jest dostarczane wraz z xorg ;) a tak zawsze grzebalem w necie odnosnie podobnych kalkulatorow… to narzedzie jest bardzo proste w uzyciu. zalozmy, ze chcemy osiagnac rozdzielczosc 1280×800, i odswiezanie 100hz. no to jedziemy:

% gtf 1280 800 100
# 1280x800 @ 100.00 Hz (GTF) hsync: 84.80 kHz; pclk: 147.89 MHz
Modeline "1280x800_100.00" 147.89 1280 1376 1512 1744 800 801 804 848 -HSync +Vsync

w zahaszowanej linijce mamy parametry jakie musi spelniac monitor zeby mogl wyswietlic dana rozdzielczosc. szczegoly w instrukcji obslugi monitora. w drugiej linijce, zaczynajacej sie od slowa modeline jest sama modeline. nalezy ja umiescic w pliku /etc/X11/xorg.conf w sekcji screen.

http://www.x.org/

aespipe

wczytuje plik ze standardowego wejscia, i na standardowe wyjscie zapodaje plik w postaci zaszyfrowanej. podstawowe uzycie:

aespipe < plik_zwykly >plik_zaszyfrowany

przyklad:

% aespipe < a > b
Password:
% cat b; echo
cÅ®]ŽŘďá§UÚÁuwÅąÅ 
%

przydatne do robienia zaszyfrowanych backupow i wszelkich innej masci szyfrowania plikow.

http://loop-aes.sourceforge.net/

agrep
odmiana grep. jedna z zalet jest mozliwosc podania separatora rekordow. domyslnie jest to znak nowej linii (takze w tradycyjnym grepie, tylko ze tu nie ma mozliwosci zmiany go), ale mozna za pomoca opcji -d tenze separator zmienic. inna z zalet jest mozliwosc podania wzorca w osobnym pliku. reszta w manie ;)
acl

nie, nie chodzi o listy kontroli dostepu ;) acl to advanced color logs. male ale przydatne czasem, jesli trzeba odnalezc cos w gaszczu logow. ten skrypt perla w bardzo mily dla oka sposob koloruje logi, dzieki czemu znacznie latwiej jest cos tam zrozumiec ;)

najprostsze uzycie:

acl < /var/log/messages
% tail  -f /var/log/syslog | acl

co spowoduje wsywietlanie na biezaco pokolorowanych logow pojawiajacych sie stopniowo w /var/log/syslog

http://linuxrc.net/linuxrc.org/projects/acl/


juz wiem, ze warto bylo sie przesiasc z dovecota na courier’a. jest nieco mniej zasobozerny, i znacznie lepiej wspolpracuje z outlookiem/thunderbirdem w zakresie imap (pop3 bez roznicy):

  1. nie mieszaja im sie katalogi (jeden tworzyl jedne, drugi drugie i sie nie mogli dogadac – a webmail wprowadzal dodatkowe zamieszanie)
  2. po doinstalowaniu i skonfigurowaniu fam’a na biezaco uaktualnia obecnosc (lub nie) maili (przy jednocznesnych operacjach via program/webmail), etc.

nie wiem tylko jak bedzie gdy ktos rownoczesnie przez pop3 i przez imap bedzie walczyc… cos w dokumentacji czytalem ze ktores ma wiekszy priorytet, ale nie pamietam tera. tak czy inaczej, warto bylo. oczywiscie pozwala na autoryzacje z bazy :) co samo w sobie jest niezwykle wygodne mile i przyjemne ;)


zeby w pld zapewnic obsluge autoryzacji z bazy, trzeba przebudowac speca z odpowiednimi bcondami, ponieaaz domyslnie buduje sie z wylaczona obsluga baz danych. na szczescie zyczliwa dusza nalozyla mojego patcha, i teraz z cvs mozna pobrac poprawiona wersje speca:

% cvs get SPECS/proftpd.spec

w specu poprawilem tez quoty – bo byly jakies stare, zdezaktualizowane quoty (a raczej bcondy do nich), i nie dzialaly. w kazdym badz razie ja swojego proftpd zbudowalem tak:

% ./builder proftpd --without ipv6 --with mysql --with quotamysql

jeszcze tylko zabraklo mi libwrap-devel wiec:

# pd -i libwrap-devel

(pd to u mnie alias do poldka)

teraz juz pakiet zbudowal sie poprawnie, poprawnie sie zainstalowal. czas na konfiguracje:

#pam jest zupelnie nieprzydatny tutaj
AuthPAM off
AuthPAMAuthoritative off
#autoryzowac ma _tylko_ z bazy. jesli ktos chce takze z kont systemowych (ja nie chcialem),
#to mozna dodac do ponizszej linijki mod_auth_unix.c - lista dostepnych
#modulow wyswietli sie po wydaniu komendy proftpd -l
AuthOrder mod_sql.c
#i teraz najciekawsze:
SQLAuthenticate users groups usersetfast groupsetfast
SQLAuthTypes Encrypt
SQLConnectInfo baza@host login haslo PERSESSION
SQLGroupInfo groups groupname gid members
SQLHomedirOnDemand off
SQLMinUserGID 1000
SQLMinUserUID 500
SQLUserInfo users login password uid gid home shell
SQLUserWhereClause "(date_expire IS NULL OR date_expire > NOW()) AND status='enabled'"

szczegoly odnosnie powyzszych (i nie tylko) pol mozna znalezc na tej stronie

i smiga :) tylko musialem wylaczyc na razie te konfigi, bo jeszcze bazy danych nie mam uzupelnionej ;) dzis to bede musial zmienic, bo chce wywalic dovecota z serwera. a jesli wrzuce obecny konfig courier’a, to nie bedzie poczta mi dzialac bez uzupelnionej bazy… a skoro uzupelnie baze to bede mogl wrzucic powyzszy konfig proftpd… etc etc – takie koleczko male ;)


w koncu udalo mi sie uniezaleznic konta mailowo/ftpowe od serwerowych. wszystko trzymane w bazie. poczatkowo chcialem to zrobic za pomoca pam (mod_mysql.so), ale to bzdura, bo i tak sa potrzebne konta systemowe i tak. pam nie dostarcza takich informacji jak uid, gid czy homedir. wiec go w koncu olalem…

soft:

  • proftpd 1.2.10 (musialem popoprawiac troche speca z pld, bo byl niektualny – gdzies w miedzyczasie sie zmienily opcje dotyczace quoty, a domyslny pakiet nie mial mod_sql wkomilowanego) – poprawiony spec lezy juz w cvs pld
  • exim 4.43
  • courier imap {pop3, imap i authmysql}
  • pdns 2.9.16

dzieki temu zastawowi moge sobie ulatwic duuuuzo pracy. pozostaje mi teraz poprzenosic konta systemowe do bazy, zeby nie bylo problemow z logowaniem sie (chwiloiwo przez to musalem wrocic na dzisiejszy dzien do starych konfigow, bo inaczej nikt by nie odebral/wyslal poczty ani sie nie mogl zalogowac via ftp ;) ), ale dzis w nocy dokoncze dziela… :)

jestem z siebie zadowolony (tym bardziej ze wsio robilem z goraczka ca 38 stopni, chory i ogolnie rozbity ;) )

pozniej moze postaram sie poumieszczac przepisy na to co i jak zrobic zeby osiagnac podobny stan :)


czasem rezygnuje z vima na rzecz eric3 dla programow w pythonie. dzis sie niezle przejechalem (w sumie drugi raz, ale za pierwszym razem stwierdzilem ze trzeba dac mu druga szanse): w pewnym momencie ot tak sobie powstal jakis zajebisty wyciek pamieci, ze tylko widzialem w gkrellmie jak mi znika ram (768) i swap(300) do zera z predkoscia zblizona do pierwszej kosmicznej… i po chwili ledwo mial sile mi kursor myszki przerysowywac w miare przesuwania po erkanie, nie mowiac o przelaczeniu pulpitu czy skillowaniu programu… chujnia. twardy reset :(

eric3 na razie idzie w odstawke na rzecz gvima. w sumie dobrze. nie bede musial sie rozmieniac na rozne edytory… :)

nie wiem jak to sie stalo ze zauwazylem to dopiero teraz: po prawej stronie lewego shifta (;) )mam dodatkowy przycisk oznaczony jako backslash/more(pipe), ale generuje mi znaki < i > (ten drugi to z shiftem ;) )

podmapowalem je sobie od razu pod to co jest na nich narysowane, bo stwierdzilem ze to moze byc bardziej przydatne:

keycode 94 = backslash bar

jako ze po tej operacji przestaly dzialac mi < i > znajdujace sie nad , i . ;) to poprawic tez trzeba bylo i to:

keycode 59 = comma less
keycode 60 = period greater

jak na razie smiga ;)

przy okazji sprawdzilem cala klawirke czy jeszcze jakies buttony mi sie nie zapodzialy…


Strona 2 z 3