Skip to content


Ошибка Samba: Unable to connect to CUPS server

Часто встречается ситуация, когда на файловом сервере под Samba, где никаких принтеров нет и не будет, в лог-файл smbd.log постоянно пишутся сообщения типа этого:

May 7 09:45:02 www smbd[]: [2009/05/07 09:45:02, 0] printing/print_cups.c:cups_connect(69)
May 7 09:45:02 www smbd[]: Unable to connect to CUPS server localhost:631 - Connection refused

Чтобы умерить самбовые печатные потуги и избавиться от этих сообщений, нужно в samba.conf добавить следующее:

load printers = no
show add printer wizard = no
printing = none
printcap name = /dev/null
disable spoolss = yes

У меня на 4-ех серверах (версии samba 3.0.23a-1, 3.0.24-7, 3.0.28-1) это сработало. Многие считают, что строки "load printers = no" достаточно для отключения поддержки принтеров, но на самом деле это не так. Опция "show add printer wizard = no" предотвращает появление иконки "Добавить принтер" в списке расшаренных ресурсов. Опция "disable spoolss = yes" отключает возможность загрузки клиентами WinNT/2000 (и выше) драйверов принтера с Samba-сервера.


Еще кое-что насчет ошибок самбы есть тут.

Posted in *nix.

Tagged with , , .


Активация java в браузерах под linux

Единственная версия java, которая не тормозит

Единственная версия java, которая не тормозит

Opera использует Java Runtime Environment (JRE) напрямую, а не через plug-in, как это реализовано в других браузерах. Для проверки работоспособности Java можно использовать следующий тестовый апплет. Если ничего похожего на java-апплет не отображается или броузер пишет сообщение об ошибке, делаем следующее.

  1. Проверяем, есть ли в системе библиотеки libjava.so и libawt.so:
    locate libjava.so
    /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libjava.so
    locate libawt.so
    /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libawt.so

    Если эти два файла не найдены, то устанавливаем соответствующий пакет (его имя зависит от дистрибутива). В случае с Fedora это java-1.6.0-openjdk. А вообще название пакета можно определить с помощью чудесного сервиса RPMFIND.

  2. Заходим в меню оперы "Tools"-"Preferences"-"Content", устанавливаем галочку "Enable Java", жмем рядом кнопку "Java Options..." и указываем в диалоговом окошке путь к директории, где обитают две вышеупомянутых библиотеки. Жмем кнопку "Validate Java Path", если не ругается, перезапускаем браузер.
  3. После перезапуска опять проверям работу java, на этот раз тестовый апплет должен заработать.

UPDATE для Opera 11.01 на CentOS 5.5 x86_64 и Fedora 14: в меню Preferences уже нет галочки "Enable Java", теперь последовательность немного другая.

  1. Смотрим где лежит libjavaplugin:
    [root@sunrise ~]# locate libjavaplugin
    /usr/java/jre1.6.0_23/lib/amd64/libjavaplugin_jni.so
  2. Заходим в настройки Оперы в меню "Инструменты" - "Общие настройки" - "Содержимое", жмём кнопку "Настроить плагин..." и добавляем найденный путь /usr/java/jre1.6.0_23/lib/amd64 к списку директорий, где искать плагины:
    диалог выбора директорий поиска плагинов в броузере opera

    Скриншот оперы, указание пути к Java runtime environment

После этого в списке плагинов появляется ещё и "Java(TM) Plugin" и java начинает работать даже без перезапуска броузера, что можно проверить опять же с помощью вышеупомянутого тестового апплета.

Firefox


Для броузера firefox (проверялось на версии 3.6.17 в fedora 14) включение java можно делать так:

  1. Смотрим есть ли какие-то связанные с java плагины в /usr/lib/mozilla/plugins и путем просмотра инфы на странице со служебным адресом about:plugins. Если там что-то есть, то соответствующий .so-файл удаляем.
  2. Ищем библиотеку libnpjp2.so, если находим несколько, то выбираем ту, которая находится в директории, соответствующей JRE нужной нам версии:
    $ locate libnpjp2.so
    /usr/java/jre1.6.0_26/lib/i386/libnpjp2.so
  3. Создаем символическую ссылку на найденную библиотеку в директорию ~/.mozilla/plugins (если требуется включить java только для одного пользователя) или в /usr/lib/mozilla/plugins (если требуется включить java для всех пользователей системы):
    $ cd ~/.mozilla/plugins/
    $ ln -s /usr/java/jre1.6.0_26/lib/i386/libnpjp2.so

Если после этого java всё еще не работает, нужно проверить, что все другие java-плагины удалены (отсутствуют симлинки на них и их не видно на странице about:plugins). Даже если ненужный плагин выключен (но не удалён) и его видно "Tools - AddOns - Plugins" серым цветом, он может мешать работе нужного плагина. Проверено лично (в моем случае выключенный /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/lib/amd64/IcedTeaPlugin.so не давал работать включенному /usr/java/jre1.6.0_26/lib/amd64/libnpjp2.so - на странице проверки jav-ы http://www.java.com/en/download/testjava.jsp писало "Something wrong, java not working") - только после удаления симлинки

$ ls -l  /usr/lib64/mozilla/plugins/libjavaplugin.so
lrwxrwxrwx 1 root root 64 Июн 16 11:39 /etc/alternatives/libjavaplugin.so.x86_64 -> /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/lib/amd64/IcedTeaPlugin.so
# unlink /usr/lib64/mozilla/plugins/libjavaplugin.so

родной плагин от Oracle (libnpjp2.so) заработал нормально.

Дополнительную информацию о плагинах можно почитать на http://plugindoc.mozdev.org/

Google chrome


Хром использует плагины, найденные в директории /usr/lib/mozilla/plugins (или /usr/lib64/mozilla/plugins если у вас 64-битная версия ОС). Поэтому настройка тут в общем аналогичная firefox-у. Проверить какие плагины установлены в chrome можно на служебной странице chrome://plugins/.

Выбор нужной JVM


Если в системе установлено несколько JVM (например, при установке openoffice он тянет за собой openjdk, который значительно отличается от "классической" SunOracle-овской Java Virtual Machine), то заставить приложения работать именно с нужной Вам JVM можно следующим образом. Пусть для примера мы только что установили jre-6u26-linux-i586.rpm и хотим чтобы java использовалась именно отсюда.

  1. Смотрим какие симлинки предоставляют бинарник java:
    $ update-alternatives --config java
    There are 2 programs which provide 'java'.
      Selection    Command
    *+ 1           /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
       2           /usr/lib/jvm/jre-1.5.0-gcj/bin/java

    Как видно, нужного нам бинарника от версии 1.6.0_26 тут нет, поэтому нужно его добавить.

  2. Добавляем еще одну симлинку на нашу свежеустановленную джаву:
    # update-alternatives --install /usr/bin/java java /usr/java/jre1.6.0_26/bin/java 50
  3. И выбираем её как master link (подробности в man alternatives):
    # update-alternatives --config java
    There are 3 programs which provide 'java'.
      Selection    Command
    *+ 1           /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
       2           /usr/lib/jvm/jre-1.5.0-gcj/bin/java
       3           /usr/java/jre1.6.0_26/bin/java
    Enter to keep the current selection[+], or type selection number: 3
    $ java -version
    java version "1.6.0_26"
    Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
    Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)
  4. Проверяем, что симлинка /usr/java/latest указывает на нужную нам версию и при необходимости меняем:
    $ ls -la /usr/java/
    total 12
    drwxr-xr-x   3 root root 4096 Jun 26 18:42 .
    drwxr-xr-x. 13 root root 4096 Jun 26 18:41 ..
    lrwxrwxrwx   1 root root   16 Jun 26 18:42 default -> /usr/java/latest
    drwxr-xr-x   7 root root 4096 Jun 26 18:41 jre1.6.0_26
    lrwxrwxrwx   1 root root   21 Jun 26 18:42 latest -> /usr/java/jre1.6.0_26

Отличия между различными JVM


Какую JVM выбрать зависит во многом от задач, которые требуется решать с их помощью. Иногда даже приходится на одном компе держать несколько разных Java-машин. Ниже список эмпирически открытых особенностей, которые, возможно, кому-то пригодятся.

– Замечено, что в Fedora 15 Cisco WebEx отказался нормально работать с JRE от Oracle версии 1.7.0_04 (при попытке подсоединиться к аудио-конференции вылазило окошко с ошибкой "audio device is unaccessible now". В то же время WebEx работал нормально с OpenJDK Runtime Environment (IcedTea6 1.10.4), симлинка /etc/alternatives/libjavaplugin.so при этом указывала на файл /usr/lib/jvm/jre-1.6.0-openjdk/lib/i386/IcedTeaPlugin.so

– Клиент-банк iBank2 от конторы BIFIT по состоянию на 2011-ый год не работал с OpenJDK, но работал нормально с Oracle JRE.

– Веб-интерфейсы многих IPKVM-ов/DRAC/iLo-карт для удалённого доступа к консоли серверов не работали вообще или глючили под OpenJDK, но работали нормально с Oracle JRE

ПРИМЕЧАНИЕ: Если у вас 64-битная версия ОС (проверить можно командой "uname -a"), то везде вместо директории /usr/lib/mozilla/plugins следует использовать /usr/lib64/mozilla/plugins.

Posted in *nix, Howto.

Tagged with , , .


О манипуляции

Женский форум.
Тема новой ветки - "Как правильно манипулировать мужчинами?"
Второе сообщение "Главное - правильно взяться за манипулятор..." задало тон всей ветки...

Posted in Fun.


Быстрая массовая правка конфигураций нескольких подинтерфейсов

Пусть имеем маршрутизатор с множеством логических интерфейсов, для каждого из которых нужно добавить/заменить один и тот же фрагмент в конфиге, например добавить строку "shutdown". Сделать это можно с помощью старого доброго sed.

Пример конфига:

$ cat conf.txt
interface FastEthernet0/1.302
  description Client1
  encapsulation dot1Q 302
  ip address 10.10.10.141 255.255.255.252
  ip verify unicast source reachable-via rx
!
interface FastEthernet0/1.304
  description Client2
  encapsulation dot1Q 304
  ip address 10.10.10.241 255.255.255.252
  ip verify unicast source reachable-via rx
!
interface FastEthernet0/1.313
  description Client3
  encapsulation dot1Q 313
  ip address 10.10.10.33 255.255.255.252
  ip verify unicast source reachable-via rx
!
interface FastEthernet0/1.314
  description Client4
  encapsulation dot1Q 314
  ip address 10.10.20.229 255.255.255.252
  ip verify unicast source reachable-via rx
  shutdown

После команды

$ cat conf.txt | sed -r "s/(interface.*)$/\1\n  shutdown/" > conf_new.txt

получаем тот же конфиг, но с уже добавленным "shutdown" для каждого подинтерфейса:

$ cat conf_new.txt
interface FastEthernet0/1.302
  shutdown
  description Client1
  encapsulation dot1Q 302
  ip address 10.10.10.141 255.255.255.252
  ip verify unicast source reachable-via rx
!
interface FastEthernet0/1.304
  shutdown
  description Client2
  encapsulation dot1Q 304
  ip address 10.10.10.241 255.255.255.252
  ip verify unicast source reachable-via rx
!
interface FastEthernet0/1.313
  shutdown
  description Client3
  encapsulation dot1Q 313
  ip address 10.10.10.33 255.255.255.252
  ip verify unicast source reachable-via rx
!
interface FastEthernet0/1.314
  shutdown
  description Client4
  encapsulation dot1Q 314
  ip address 10.10.20.229 255.255.255.252
  ip verify unicast source reachable-via rx
  shutdown

Да, у FastEthernet0/1.314 получилось два shutdown-а, но это не страшно, ведь маслом кашу не испортишь :).

Posted in *nix, Cisco.

Tagged with , , .