среда, 29 октября 2008 г.

mysql root password renew

1. В стартовом скрипте находим строчку которая содержит текст mysqld_safe и добавляем новый параметр --skip-grant-tables
2. Запускаем MySQL сервер
3. Логинимся на mysql сервер и пересоздаем пароль:

# mysql -u root mysql

mysql> UPDATE user SET Password=PASSWORD('newrootpassword') WHERE User='root';
mysql> FLUSH PRIVILEGES;

четверг, 23 октября 2008 г.

mutt замена from

при отправке сообщений через mutt в поле from выглядит так.
user@compname.domain.local в принципе это не является большой проблемой хотя и нарушает RFC, но некоторые компании фильтруют такие сообщение так как не могут отрезолвить хост например paypal.com.

Решение:
в Muttrc добавить

set envelope_from="yes"
ещё опционально
set hostname="example.com" добавит нужный домен, если у вас их несколько, то есть в логе и при проверке на спам будет выглядеть как user@example.com

вторник, 21 октября 2008 г.

Файл заданного размера

Создать файл со случайным содержимым заданного размера

dd if=/dev/urandom of=testdump bs=1024 count=102400

bs - размер блоксайза в байтах

count - количество blocksize`ов

FreeBSD Bestie off

Экономим время при загрузке FreeBSD сервера

/boot/loader.conf
autoboot_delay="1"
userconfig_script_load="YES"
beastie_disable="YES"

пятница, 10 октября 2008 г.

Посласть письмо с консоли

иногда надо послать письмо с консоли, например проверить не открыт ли relay

telnet mail.example.com 25 или cat -|nc mail.example.com 25
ehlo username
mail from: user1@example1.com
rcpt to: user2@example.com
data
To: user2@example.com
Subject: Test

some data
.

суббота, 13 сентября 2008 г.

замена строк в файлах

как изменить в нескольких файлах строчки

sed -i .bak -e 's/old_string/new_string/' *

команда заменит строчку и сделает резервную копию файлов

sed -e 's/<span class="f_Heading1">\(.*\)<\/span>/<h1>\1<\/h1>/g'

обработка тегов вокруг текста, сам текста остается нетронутым

среда, 10 сентября 2008 г.

чистка postfix очереди

Очистка очереди postfix от всякого мусора например от MAILER-DAEMON

Вариант 1.

postqueue -p | tail +2 | awk 'BEGIN { RS = ""} { if ($7 ~ "MAILER-DAEMON") print $1}' | tr -d '*!' | postsuper -d -

Вариант 2.

mailq|grep MAILER-DAEMON|awk '{print $1}'|sed -e 's/\*$//'|xargs -J{} -n1 postsuper -d {} deferred

вторник, 9 сентября 2008 г.

JAVA_HOME undefine

иногда при сборке некоторого софта из портов

появляется сообщение
Environment error: "JAVA_HOME" should not be defined

лечиться просто и быстро в консоли

unset JAVA_HOME

воскресенье, 7 сентября 2008 г.

mysql частые команды

создать пользователя с правами на работу с базами по маске
CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';  #mysql 5* specific

GRANT ALL PRIVILEGES ON `mask%`.* TO 'username'@'%mylocal.domain' WITH GRANT OPTION;

------
снять данные привелегиии

revoke grant option on `mask%`.* From 'username'@'%mylocal.domain';

------
создать пароль для пользователя

update mysql.user set Password=password('here_password') where host='hostname' and user='username';

------
для работы со старыми клиентами

update mysql.user set Password=old_password('here_password') where host='hostname' and user='username';

------

вывести базы данных по маске

show databases like 'mask%';
------
добавить возможность выполнять  RESET QUERY CACHE;

 GRANT RELOAD, PROCESS  on  *.* to 'username'@'localhost' 


-----
подключить engine плагины

INSTALL PLUGIN innodb SONAME 'ha_innodb_plugin.so';
INSTALL PLUGIN sphinx SONAME 'ha_sphinx.so';


будут доступны после рестарта

вторник, 5 августа 2008 г.

expat xml apache2

FreeBSD

понадобилось прикрутить expat к php5 вместо libxml 2

при сборке указать '--with-libexpat-dir=/usr/local/lib/'

результат EXPAT Version expat_2.0.1

xterm с решетками

FreeBSD
проблема после сборки xterm с кодировкой koi8-r, при копипасте решетки

cd /usr/ports/x11/xterm
vim Makefile
удаляем такие строки
--enable-wide-chars --enable-luit
пересобираем


исправляем кракозябры вместо русских букв

/usr/local/lib/x11/app-default/XTerm

добавить

*VT100.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-koi8-r
*VT100.font2: -misc-fixed-medium-r-normal--8-80-75-75-c-50-koi8-r
*VT100.font3: -misc-fixed-medium-r-normal--14-130-75-75-c-70-koi8-r
*VT100.font4: -misc-fixed-medium-r-normal--13-120-75-75-c-80-koi8-r
*VT100.font5: -misc-fixed-medium-r-normal--18-120-100-100-c-90-koi8-r
*VT100.font6: -misc-fixed-medium-r-normal--20-200-75-75-c-100-koi8-r

четверг, 24 июля 2008 г.

создание критораздела на основе geli

FreeBSD only, ну или для тех систем где geli работает

1) создать ключ
dd if=/dev/random of=/boot/keys/da0.key bs=128k count=1
2) инициировать крипто раздел
geli init -b -K /root/keys/da0.key -s 4096 -l 256 /dev/da0s1c
geli init -b -s 4096 -l 256 /dev/da0s1c (не использовать ключевой файл)
3) включить раздел
geli attach -k /boot/keys/da0.key /dev/da0s1c
geli attach /dev/da0s1c (без ключевого файла)

4) выключить geli
geli detach /dev/da0s1c

копирование с помощью tar

tar -cf - -C srcdir . | tar xpf - -C destdir

для копирования на удаленный хост
tar -cf - -C srcdir . | ssh -l user host "tar -xpvf - -C desdir"
tar -cf - -C srcdir . | ssh -l user host " cat - > filename.tar "

понедельник, 21 июля 2008 г.

фейковый ssl сертификат по быстрому

1. openssl genrsa 2048 -out > server.key
2. openssl req -new -key server.key > server.csr
3. openssl x509 -req -days 1825 -in server.csr -signkey server.key > server.crt

for lighttpd
4.cat server.key server.crt > server.pem

пятница, 18 июля 2008 г.

сборка libassuan

очередная пачка ошибок

1.
source='putc_unlocked.c' object='putc_unlocked.o' libtool=no DEPDIR=.deps depmode=gcc /bin/sh ../depcomp cc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -O -pipe -I/usr/local/include/pth -Wall -Wcast-align -Wshadow -Wstrict-prototype
s -Wpointer-arith -c putc_unlocked.c
putc_unlocked.c:28: redefinition of `__sputc'
/usr/include/stdio.h:361: `__sputc' previously defined here
*** Error code 1


открываем libassuan-1.0.4/src/putc_unlocked.c
#ifdef HAVE_CONFIG_H
#include
#endif

#include
// добавляем
#undef putc_unlocked

2.
gcc32 -O -pipe -march=pentiumpro -I/usr/local/include/pth -Wall -Wcast-align -Wshadow -Wstrict-prototypes -Wpointer-arith -o fdpassing fdpassing.o ../src/libassuan.a
../src/libassuan.a(assuan-inquire.o): In function `assuan_inquire':
assuan-inquire.o(.text+0x27a): undefined reference to `stpcpy'
../src/libassuan.a(assuan-inquire.o): In function `assuan_inquire_ext':
assuan-inquire.o(.text+0x73b): undefined reference to `stpcpy'
collect2: ld returned 1 exit status


открываем libassuan-1.0.4/src/assuan-inquire.c

переименовываем stpcpy в strcpy

p.s. за решение первой проблемы спасибо
http://solutions.szylko.com

обновление p5-Encode-Detect

есть в хозяйстве старая тачка с FreeBSD 4.11

при попытке обновить пакет p5-Encode-Detect получал ошибку

lib/Encode/Detect/Detector.c:79: syntax error before `__attribute__'
lib/Encode/Detect/Detector.c:80: syntax error before `__attribute__'
lib/Encode/Detect/Detector.c:85: register name not specified for `struct SV ** mark'
lib/Encode/Detect/Detector.c:85: `sp' was not declared in this scope
lib/Encode/Detect/Detector.c:87: syntax error before `if'
error building lib/Encode/Detect/Detector.o from 'lib/Encode/Detect/Detector.c' at /usr/local/lib/perl5/site_perl/5.8.8/ExtUtils/CBuilder/Base.pm line 110.
*** Error code 2


решение:
в файле p5-Encode-Detect/work/Encode-Detect-1.01/lib/Encode/Detect/Detector.xs
коментируем строку 43 и 45

43 // #if __GNUC__ == 3 && __GNUC_MINOR__ <= 3
44 #undef HASATTRIBUTE_UNUSED
45 // #endif

среда, 16 июля 2008 г.

вызов удаленного X приложения через ssh

вот такой вот биндинг висит у меня для вызова sylpheed с удаленного сервера.
xhost +remote_server.local ;ssh -l nightfog remote_server.local "export LANG=ru_RU.KOI8-R ;DISPLAY=my_workstation.local:0.0 sylpheed"