Ошибка в ORM Kohana 3 при использовании префиксов таблиц
Ситуация: имеем две таблицы: пользователи и подписки:
id INTEGER NOT NULL PRIMARY KEY,
name VARCHAR(255) NOT NULL
);
CREATE TABLE prefix_subscriptions (
id INTEGER NOT NULL PRIMARY KEY,
user_id INTEGER UNSIGNED NOT NULL,
some_data TEXT NOT NULL
);
Один пользователь может иметь несколько подписок, одна подписка может принадлежать только одному пользователю. Далее »
Автор: Vladimir, опубликовано в: Kohana, комментариев: 5Фев
2010
cpio: ./lib/udev/firmware.sh: не удаётся stat: Нет такого файла или каталога
Если вы — счастливый обладатель тестовой версии Ubuntu 10.04 (Lucid Lynx), и после обновления udev система выдаёт такую ошибку:
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 ни к чему хорошему не приводит:
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
либо
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:
Нужно найти строку
и исправить её на
После чего нужно сохранить файл и выполнить
Для любителей патчей: патч для /usr/share/initramfs-tools/hooks/udev:
+++ /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. Возможно, там предложат лучшее решение, чем я.
Автор: Vladimir, опубликовано в: Linux, комментариев: 1Фев
2010
Simple Tags 1.7.4.2
Недавно вышла очередная версия плагина Simple Tags. Проблема с UTF-8/многобайтными строками осталась (нужно бы написать автору ещё раз). Вдобавок появилась проблема с вызовом register_uninstall_hook() при каждой загрузки страницы (я исправлял аналогичную проблему с NextGen Gallery).
Из плюсов: Simple Tags 1.7.4.2 нормально работает с WordPress 3.0. Далее »
Автор: Vladimir, опубликовано в: Плагины WordPress, комментариев: 5Фев
2010
Исправление ошибки с поддержкой VERP в PHPMailer
PHPMailer — класс для отправки почты из PHP; используется многими известными приложениями, в том числе и WordPress.
VERP — техника, упрощающая автоматическое определение и удаление email-адресов из списков рассылки, сообщения которым не могут быть доставлены.
Поддержка VERP в PHPMailer хоть и реализована, но не работает. Далее »
Автор: Vladimir, опубликовано в: PHP, комментариев: нетФев
2010
Патч для php-cgi, позволяющий конфигурировать значение listen backlog
По умолчанию значение listen backlog в php-cgi жёстко задано — 128. Это означает, что PHP не сможет обработать более 128 запросов одновременно (точнее, что очередь запросов не сможет превысить данного значения). Я столкнулся с тем, что 128 — это мало.
Для тех, кто столкнулся с данной проблемой, но по каким-либо причинам не хочет/не может поставить php-fpm (в котором backlog конфигурируется), я сделал небольшой патч. Далее »
Автор: Vladimir, опубликовано в: C/C++, PHP, комментариев: 9Янв
2010

Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.





