Deferred RSS 1.1

Вышла новая версия плагина Deferred RSS (1.1). предназначен для отложенной публикации фидов для того, чтобы поисковые системы проиндексировали сайт-источник первым. Далее »

Автор: , опубликовано в: Плагины WordPress, комментариев: 2
11
Фев
2010

Притча о зависти и злости


Читать здесь.

Автор: , опубликовано в: Всё подряд, комментариев: 1
10
Фев
2010

cpio: ./lib/udev/firmware.sh: не удаётся stat: Нет такого файла или каталога

Если вы — счастливый обладатель тестовой версии 10.04 (), и после обновления система выдаёт такую ошибку:

[-]
View Code Text
Обрабатываются триггеры для initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.32-12-server
cpio: ./lib/udev/firmware.sh: не удаётся stat: Нет такого файла или каталога
update-initramfs: failed for /boot/initrd.img-2.6.32-12-server              
dpkg: подпроцесс установлен сценарий post-installation возвратил код ошибки 1
E: Sub-process /usr/bin/dpkg returned an error code (2)                      
Не удалось установить пакет.  Попытка восстановить:                          
Настраивается пакет initramfs-tools (0.92bubuntu64) ...                      
update-initramfs: deferring update (trigger activated)                      

Обрабатываются триггеры для initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.32-12-server
cpio: ./lib/udev/firmware.sh: не удаётся stat: Нет такого файла или каталога
update-initramfs: failed for /boot/initrd.img-2.6.32-12-server              
dpkg: подпроцесс установлен сценарий post-installation возвратил код ошибки 1
E: dpkg был прерван, Вы должны вручную выполнить 'sudo dpkg --configure -a' чтобы исправить эту проблему.
E: Не удалось получить системную блокировку! (Возможно, запущен другой экземпляр apt или dpkg?)          
E: dpkg был прерван, Вы должны вручную выполнить 'sudo dpkg --configure -a' чтобы исправить эту проблему.

Выполнение sudo dpkg --configure -a ни к чему хорошему не приводит:

[-]
View Code Text
Настраивается пакет initramfs-tools (0.92bubuntu64) ...
update-initramfs: deferring update (trigger activated)

Обрабатываются триггеры для initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.32-12-server
cpio: ./lib/udev/firmware.sh: не удаётся stat: Нет такого файла или каталога
update-initramfs: failed for /boot/initrd.img-2.6.32-12-server
dpkg: подпроцесс установлен сценарий post-installation возвратил код ошибки 1

либо

[-]
View Code Text
Setting up initramfs-tools (0.92bubuntu64) ...
update-initramfs: deferring update (trigger activated)

Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.32-12-server
cpio: ./lib/udev/firmware.sh: Cannot stat: No such file or directory
update-initramfs: failed for /boot/initrd.img-2.6.32-12-server
dpkg: subprocess installed post-installation script returned error exit status 1

Если всё так, то вы попали по адресу. К счастью, проблема исправляется просто. Но до тех пор, пока её не исправить, обновить систему будет весьма и весьма проблематично.

Для решения проблемы нужно исправить файл /usr/share/initramfs-tools/hooks/udev:

[-]
View Code Bash
sudo nano /usr/share/initramfs-tools/hooks/udev

Нужно найти строку

[-]
View Code Text
copy_exec /lib/udev/firmware.sh /lib/udev

и исправить её на

[-]
View Code Text
copy_exec /lib/udev/firmware /lib/udev

После чего нужно сохранить файл и выполнить

[-]
View Code Bash
sudo dpkg --configure -a

Для любителей патчей: для /usr/share/initramfs-tools/hooks/udev:

[-]
Download udev.patch
--- /usr/share/initramfs-tools/hooks/udev.orig   2010-02-10 14:03:18.000000000 +0200
+++ /usr/share/initramfs-tools/hooks/udev        2010-02-10 18:25:18.000000000 +0200
@@ -41,7 +41,7 @@
 mkdir -p ${DESTDIR}/lib/udev
 # 50-udev-default.rules
 # 50-firmware.rules
-copy_exec /lib/udev/firmware.sh /lib/udev
+copy_exec /lib/udev/firmware /lib/udev
 # 60-persistent-storage.rules
 copy_exec /lib/udev/ata_id /lib/udev
 copy_exec /lib/udev/usb_id /lib/udev

PS — а дистростроителям, ленящимся протестировать обновление, прежде чем пихать его в репозиторий, оторвал бы все выступающие части тела :-)

UPDATE: ссылка на официальный баг в Launchpad. Возможно, там предложат лучшее решение, чем я.

Автор: , опубликовано в: Linux, комментариев: 1
10
Фев
2010

SQLMon для Kohana 3

Продолжая славную традицию реализации под различные CMS/фреймворки, написал одному заказчику модуль для 3.

SQLMon для интегрируется в иерархию классов Database (встраивается между классами Database_ и Kohana_Database_MySQL) и реализует обёртку над методом Kohana_Database_MySQL::query(), измеряя время выполнения запроса, объём потребляемой памяти, записывая код ошибки запроса, трассу вызовов и EXPLAIN запроса (причём не только для SELECT, но и UPDATE/DELETE и INSERT/REPLACE INTOAS или CREATE  TABLEAS) — всё то же самое, что и SQLMon для WordPress. Далее »

Автор: , опубликовано в: Kohana, комментариев: 4
9
Фев
2010

Simple Tags 1.7.4.2

Недавно вышла очередная версия плагина Simple Tags. Проблема с UTF-8/многобайтными строками осталась (нужно бы написать автору ещё раз). Вдобавок появилась проблема с вызовом register_uninstall_hook() при каждой загрузки страницы (я исправлял аналогичную проблему с NextGen Gallery).

Из плюсов:  1.7.4.2 нормально работает с  3.0. Далее »

Автор: , опубликовано в: Плагины WordPress, комментариев: 7
3
Фев
2010

Исправление ошибки с поддержкой VERP в PHPMailer

PHPMailer — класс для отправки почты из ; используется многими известными приложениями, в том числе и .

VERP — техника, упрощающая автоматическое определение и удаление email-адресов из списков рассылки, сообщения которым не могут быть доставлены.

Поддержка VERP в хоть и реализована, но не работает. Далее »

Автор: , опубликовано в: PHP, комментариев: нет
2
Фев
2010

Люблю Linux

Люблю . Но почему сборщики дистрибутивов не тестируют свой продукт, прежде чем помещать новые версии пакетов в репозиторий?

Получился прямо классический баг, напоминающий историю FreeBSD и флэшки. Только если там был kernel panic, то здесь просто не получается отмонтировать флэшку. Далее »

Автор: , опубликовано в: Linux, комментариев: нет
1
Фев
2010

ionCube Encoder и Linux 64-bit

Если при запуске _encoder на 64-битном система говорит что-то вида:

[-]
View Code Text
bash: /opt/ioncube/ioncube_encoder: No such file or directory

но при этом файл /opt/ioncube/ioncube_encoder существует и является исполняемым, то с большой степенью вероятности проблема в том, что не установлены библиотеки для архитектуры ia32.

В Debian лечится так:

[-]
View Code Bash
aptitude install ia32-libs
Автор: , опубликовано в: Linux, комментариев: нет
16
Янв
2010

WP File Cache 1.2.1

Я нарушил своё обещание и написал новую версию плагина  — 1.2.1. Но эта версия будет последней (скорее всего). Далее »

Автор: , опубликовано в: Плагины WordPress, комментариев: 46
14
Янв
2010

Патч для php-cgi, позволяющий конфигурировать значение listen backlog

По умолчанию значение listen backlog в -cgi жёстко задано — 128. Это означает, что не сможет обработать более 128 запросов одновременно (точнее, что очередь запросов не сможет превысить данного значения). Я столкнулся с тем, что 128 — это мало.

Для тех, кто столкнулся с данной проблемой, но по каким-либо причинам не хочет/не может поставить php-fpm (в котором backlog конфигурируется), я сделал небольшой . Далее »

Автор: , опубликовано в: C/C++, PHP, комментариев: 10
3
Янв
2010