Статьи из рубрики «linux»
Linux — дружественная операционная система. Она просто разборчива в выборе друзей.
xCache 1.3.0 для PHP 5.2.x для Debian/Ubuntu Linux
Всем, кто хочет обновить xCache до последней версии, но не знает, как это сделать (либо не хочет собирать из исходников). Далее »
Автор: Vladimir, опубликовано в: Linux, PHP, Администрирование, комментариев: 9Мар
2010
Сбой OpenJDK при использовании Eclipse в Ubuntu Lucid Lynx
Симптом: Eclipse молча погибает при редактировании файла, в /var/log/kern.log появляется подобное сообщение об ошибке:
Ключевые слова: java trap int3. Если они есть в логе, с большой вероятностью вы читаете про ту самую ошибку
Далее »
Мар
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
Люблю Linux
Люблю Linux. Но почему сборщики дистрибутивов не тестируют свой продукт, прежде чем помещать новые версии пакетов в репозиторий?
Получился прямо классический баг, напоминающий историю FreeBSD и флэшки. Только если там был kernel panic, то здесь просто не получается отмонтировать флэшку. Далее »
Автор: Vladimir, опубликовано в: Linux, комментариев: нетФев
2010
ionCube Encoder и Linux 64-bit
Если при запуске ioncube_encoder на 64-битном Linux система говорит что-то вида:
но при этом файл /opt/ioncube/ioncube_encoder существует и является исполняемым, то с большой степенью вероятности проблема в том, что не установлены библиотеки для архитектуры ia32.
В Debian лечится так:
Янв
2010
Использование R1Soft CDP в Debian Squeeze
R1Soft CDP — это, на мой взгляд, одна из лучших разработок для высокопроизводительного резервного копирования под Linux. Хотя данный продукт платный и с закрытым кодом, он оправдывает свою стоимость. Заниматься рекламой не буду, кому интересно, те сами найдут нужную информацию, лишь расскажу об одной проблеме, с которой пришлось недавно столкнуться. Далее »
Автор: Vladimir, опубликовано в: Linux, Администрирование, комментариев: 1Дек
2009
Преобразование карты сайта в список адресов для siege
Siege — утилита для нагрузочного тестирования web-серверов, целью которой является дать разработчикам возможность проверить быстродействие/ресурсоёмкость кода в условиях, максимально приближенных к реальным.
В режимах регрессионного тестирования и «имитации Internet» siege использует текстовый файл со списком адресов для тестирования.
В качестве такого файла очень удобно было бы использовать карту сайта (sitemap), но, к сожалению, siege не понимает XML. В данной статье рассмотрено одно из возможных решений по преобразованию карты сайта из XML в текстовый формат. Далее »
Дек
2009
Скажи «Нет!» взломщику: часть 2
Продолжение статьи Скажи «Нет!» взломщику.
Прошлый раз мы использовали swatch и iptables для защиты от нехороших ботов, пытающихся сделать наш компьютер частью ботнета. У приведённого способа был существенный недостаток: IP-адреса блокировались навсегда. Это плохо, так как IP-адреса можно подделывать.
Tamdiu discendum est, quamdiu vivas, поэтому сегодня рассмотрим вариант с блокированием атакующего на заданный промежуток времени. Далее »
Автор: Vladimir, опубликовано в: Linux, Безопасность, комментариев: 2Дек
2009
Оптимизация изображений без потерь
Внимание: в данной статье описывается скрипт оптимизации изображений для Linux. Если вы ищите программу для оптимизации изображений для Windows, то это PictureBeaver.
Один из советов по ускорению загрузки сайта, который даёт Yahoo! Exceptional Performance Team — это оптимизация изображений. Оптимизация без потерь (рассматриваться будет именно она) позволяет уменьшить размер изображений (временами очень даже значительно) и за счёт этого уменьшить общее время, требуемое для загрузки страницы.
Уменьшение размера изображения без потери качества достигается рядом способов:
- использование другого алгоритма сжатия данных либо использование более агрессивных параметров (как правило, чем выше степень сжатия, тем больше времени уходит на сжатие);
- удаление информационных блоков, наличие или отсутствие которых не влияет на декодирование изображения;
- оптимизация цветов (например, если изображение сохранено в формате PNG32 — 4 байта на пиксель, но реально используются только 16 цветов — 4 бита на пиксель, то оптимизация цветов (color reduction) позволит значительно уменьшить размер файла).
Yahoo! предоставляет бесплатный сервис Yahoo! Smush.it™, который позволяет оптимизировать графику в онлайн-режиме, но его использование не всегда удобно. Гораздо удобнее, когда всё можно сделать на своём компьютере. Далее »
Автор: Vladimir, опубликовано в: Linux, комментариев: 15Ноя
2009
Профиль AppArmor для nginx
Данный профиль AppArmor предназначается тем, кто знает, что такое AppArmor и сознательно решил использовать профиль для nginx. Профиль не является законченным решением, работающим из коробки, а должен рассматриваться только как шаблон.
При построении профиля молчаливо предполагалось:
- рабочие процессы nginx выполняются от имени
www-data:www-data; - файлы конфигурации nginx находятся в
/etc/nginx(/etc/nginx/sites-enabled,/etc/nginx/sites-available,/etc/nginx/conf.d/*.conf,/etc/nginx/ssl); - пользовательские сайты расположены в
/home/<user>/htdocs; - логи записываются в
/var/log/nginx/*.log
Ноя
2009
Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.

