Blog.Lysov.ru
msgbartop
My own blog
msgbarbottom

18 Apr 12 Восстановление пароля на почту по-админски

Забыл сохраненный пароль на почту пришлось его на маршрутизаторе отловить командой

tcpdump -i ng9 -A -n tcp port 110

Tags: , , ,

24 Feb 12 MC на Мастерхост

Удобнее когда есть файловый менеджер, на мастерхосте же его нету
Мне удалось скомпилить только версию 4.6.1 версия 4.8.1 собирается с ошибками

cd ~
mkdir mc
cd mc
fetch http://www.midnight-commander.org/downloads/mc-4.6.1.tar.gz
tar -xzvf mc-4.6.1.tar.gz
cd mc-4.6.1
./configure --prefix=$HOME/local --with-subshell=no
make install

В переменной PATH есть директория /home/u******/bin
Создадим её в виде символической ссылки

ln -s ~/local/bin ~/bin

Tags: , , ,

26 Jan 12 MySQL MEMORY

MEMORY ENGINE часто используют для хранения/обработки временных данных
Но в таком типе таблиц есть свои ньюансы.
1. Нет типов данных с переменной длиной VARCHAR работает как CHAR, VARBINARY как BINARY, таким образом каждая строка в таблице (UTF-8) будет использовать 3*255=765 байт для значения в поле VARCHAR(255)
2. Ограничение максимального размера таблицы (по умолчанию 16мб) определяется значением переменной max_heap_table_size

Tags: , , , ,

18 Jan 12 Замена & на &

Чтобы заменить амперсанты для размещения ссылок в xml документ можно воспользоваться таким регулярным выражением

$str = preg_replace("/(&(?!amp;))/is", '&',$str)

Tags: , ,

17 Nov 11 Часовой пояс PHP

Для того чтобы обновить часовые пояса в PHP надо установить модуль timezonedb
заходим на http://pecl.php.net/package/timezonedb копируем ссылку на последнюю версию

cd /tmp
fetch http://pecl.php.net/get/timezonedb-2011.14.tgz
tar -xzvf timezonedb-2011.14.tgz
cd timezonedb-2011.14
phpize
./configure
make install

Затем добавить в файл /usr/local/etc/php/extensions.ini
строчку extension=timezonedb.so
Всё перезапуск апача и таймзоны будут обновлены

Tags: , , ,

28 Sep 11 Как размонтировать NFS

Иногда бывает что подмонтированный по NFS раздел надо размонтировать, а NFS server уже не в сети.

> umount /mnt/bak
umount: /mnt/bak: device is busy

В таком случае помогает команда

> umount -f /mnt/bak

Tags: , , ,

03 Sep 11 Типы таблиц MariaDB на FreeBSD

При установке MariaDB из портов FreeBSD автоматом не подключаются все ENGINE, например движки InnoDB и XtraDB идут плагинами и по умолчанию отключены.

Чтобы заработали таблицы типа InnoDB можно выполнить один раз команду

INSTALL PLUGIN INNODB SONAME 'ha_xtradb.so';

В итоге получаем такой список поддерживаемых типов таблиц
http://screenshot.su/show.php?img=f66d135a77cd185981b22aae6842a7ef.jpg
В данном случае я не подключил InnoDB ENGINE, чтобы таблицы InnoDB обрабатывались новым движком XtraDB от Percona.

Tags: , , , ,

25 Jan 11 Извлечь один файл из tar.gz

Часто просят восстановить из бэкапов, которые весят, порой ни один гигабайт один или несколько файлов. Как правило бэкапы хранятся в .tar , .tar .gz или . tar.bz2.

Для начала необходимо узнать путь до нужного файла в архиве tar.gz, для этого можно воспользоваться следующей командой

tar  -tzf backup.tar.gz | grep core.php

Для извлечения определенного файла из tar предусмотрена возможность перечисления нужных файлов в виде аргументов.

 tar  -xzvf backup.tar.gz  index.php CORE/core.php

В результате из архива backup.tar.gz будут извлечены не все файлы а лишь два: index.php CORE/core.php.

Tags: , , ,

25 Aug 10 Ограничения PCRE в PHP5

Столкнулся с проблемой что не парсятся длинные страницы, методом подбора выяснил что размер максимально парсящейся страницы 120кб, оказалось что в настройках PHP по умолчанию стоит ограничение в 100000 символов.
Вот кусок кода для выявления этой ошибки.

< ?php
preg_match...
 
if (preg_last_error() == PREG_BACKTRACK_LIMIT_ERROR) {
    echo 'Ошибка превышен предел';
}
?>

проблема решается увеличением параметра pcre.backtrack_limit в php.ini

pcre.backtrack_limit=1000000

Tags: , , , , ,

13 Aug 10 Nginx и *.tar.gz

Столкнулся с проблемой в nginx не возможно было докачивать файлы типа tar.gz.

Выяснилось что для файлов .gz в файле mime.types не назначено типа.
Такие файлы выдавались как тип по умолчанию application/octet-stream.
При этом почему-то не выдавалось заголовка Content-Lenght.

Добавление такой строки результатов не дало

application/x-gzip            gz;

Проблема решена добавлением расширения gz в строчку zip

application/zip                       zip gz;

надеюсь это не повлияет на работу nginx по архивированию txt/html on-the-fly

Tags: , , ,