Сбой OpenJDK при использовании Eclipse в Ubuntu Lucid Lynx

Симптом: молча погибает при редактировании файла, в /var/log/kern.log появляется подобное сообщение об ошибке:

[-]
View Code Text
Mar  9 09:11:44 sjinks kernel: [350411.627132] java[19570] trap int3 ip:7ff3fbd74302 sp:7ff42741b030 error:0

Ключевые слова: java trap int3. Если они есть в логе, с большой вероятностью вы читаете про ту самую ошибку :-) Далее »

Автор: , опубликовано в: Linux, комментариев: 5
9
Мар
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

Люблю 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.

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

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

Использование R1Soft CDP в Debian Squeeze

R1Soft CDP — это, на мой взгляд, одна из лучших разработок для высокопроизводительного резервного копирования под . Хотя данный продукт платный и с закрытым кодом, он оправдывает свою стоимость. Заниматься рекламой не буду, кому интересно, те сами найдут нужную информацию, лишь расскажу об одной проблеме, с которой пришлось недавно столкнуться. Далее »

Автор: , опубликовано в: Linux, Администрирование, комментариев: 1
30
Дек
2009

Преобразование карты сайта в список адресов для siege

Siege — утилита для нагрузочного тестирования web-серверов, целью которой является дать разработчикам возможность проверить быстродействие/ресурсоёмкость кода в условиях, максимально приближенных к реальным.

В режимах регрессионного тестирования и «имитации Internet» siege использует текстовый файл со списком адресов для тестирования.

В качестве такого файла очень удобно было бы использовать карту сайта (sitemap), но, к сожалению, siege не понимает . В данной статье рассмотрено одно из возможных решений по преобразованию карты сайта из в текстовый формат. Далее »

Автор: , опубликовано в: Linux, комментариев: 6
11
Дек
2009

Скажи «Нет!» взломщику: часть 2

Продолжение статьи Скажи «Нет!» взломщику.

Прошлый раз мы использовали swatch и iptables для защиты от нехороших ботов, пытающихся сделать наш компьютер частью ботнета. У приведённого способа был существенный недостаток: IP-адреса блокировались навсегда. Это плохо, так как IP-адреса можно подделывать.

Tamdiu discendum est, quamdiu vivas, поэтому сегодня рассмотрим вариант с блокированием атакующего на заданный промежуток времени. Далее »

Автор: , опубликовано в: Linux, Безопасность, комментариев: 2
8
Дек
2009

Оптимизация изображений без потерь

Внимание: в данной статье описывается скрипт оптимизации изображений для . Если вы ищите программу для оптимизации изображений для Windows, то это PictureBeaver.

Один из советов по ускорению загрузки сайта, который даёт Yahoo! Exceptional Performance Team — это оптимизация изображений. без потерь (рассматриваться будет именно она) позволяет уменьшить размер изображений (временами очень даже значительно) и за счёт этого уменьшить общее время, требуемое для загрузки страницы.

Уменьшение размера изображения без потери качества достигается рядом способов:

  • использование другого алгоритма сжатия данных либо использование более агрессивных параметров (как правило, чем выше степень сжатия, тем больше времени уходит на );
  • удаление информационных блоков, наличие или отсутствие которых не влияет на декодирование изображения;
  • оптимизация цветов (например, если изображение сохранено в формате PNG32 — 4 байта на пиксель, но реально используются только 16 цветов — 4 бита на пиксель, то оптимизация цветов (color reduction) позволит значительно уменьшить размер файла).

Yahoo! предоставляет бесплатный сервис Yahoo! Smush.it™, который позволяет оптимизировать графику в онлайн-режиме, но его использование не всегда удобно. Гораздо удобнее, когда всё можно сделать на своём компьютере. Далее »

Автор: , опубликовано в: Linux, комментариев: 15
28
Ноя
2009

ACL как одно из решений проблемы работы web-сервера под root

Я довольно часто встречал конфигурацию, когда web-сервер работает под root, чтобы обойти жёсткие права доступа, установленные на каталоги пользователей. Рассмотрим на примере: предположим, что пользовательские сайты расположены в /home/<username>/, при этом права на каталог home установлены в 0711 (rwx--x--x), а права на пользовательские каталоги установлены в 0700 (rwx------). Такие права устанавливаются, чтобы изолировать пользователей друг от друга — один пользователь не сможет зайти и посмотреть домашний каталог другого пользователя. Такая мера популярна у администраторов виртуального (shared) хостинга.

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

  • web-сервер работает под учётной записью root;
  • права на домашний каталог устанавливаются в 0750 (rwxr-x---), а пользователь, под которым работает web-сервер, вносится в группу, которой принадлежит пользователь.

Далее »

Автор: , опубликовано в: Linux, Администрирование, комментариев: 2
15
Ноя
2009

Решение проблем с дуплексным режимом при несоответствии дуплекса

На днях мы сменили хостера (с HiVelocity на Hvosting), и всё было здорово, кроме проблем с интегрированной сетевой картой (Intel Corporation 82567V-2 Gigabit Network Controller).

ifconfig показывал очень большое количество ошибок:

[-]
View Code Text
eth0      Link encap:Ethernet  HWaddr 00:1c:c0:ee:19:33
          inet addr:91.200.42.30  Bcast:91.200.43.255  Mask:255.255.252.0
          inet6 addr: fe80::21c:c0ff:feee:1933/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1492  Metric:1
          RX packets:45816071 errors:0 dropped:32127 overruns:0 frame:0
          TX packets:63359144 errors:9679835 dropped:0 overruns:0 carrier:9679835
          collisions:11287183 txqueuelen:10
          RX bytes:7996889371 (7.9 GB)  TX bytes:80681126916 (80.6 GB)

И, судя по collisions, карта работала в полудуплексном режиме. Техподдержка подтвердила, что коммутатор работает в дуплексном режиме на скорости 10 Мбит/сек. Следовательно, проблема либо в сетевом кабеле (на что указывают высокие значения carrier), либо с сетевой картой (на что указывают collisions). Далее »

Автор: , опубликовано в: Linux, комментариев: 3
13
Окт
2009