Linux simple fax printer server mini-HOWTO (faxsrv-mini-HOWTO)

Erez Strauss

Перевод: Павел Гашев, ASPLinux

Аннотация

Этот документ в деталях описывает быстрый способ установки факс-сервера в системе Linux. Возможности факса становятся доступны для пользователей сервера и сети.


Содержание
Введение
Вопросы и Ответы
Последняя версия и как связаться с автором
Авторские права

Введение

Для того чтобы, установить принтер/факс на Linux, необходимо определенное программное обеспечение и факс-модем.

Программное обеспечение для печати использует факсимильное программное обеспечение в качестве фильтра печати. Номер факса для программы efax (автор Ed Casas <edc@cce.com>) передается через номер задачи в печать.

Остальная часть документа построена в виде вопросов и ответов на них.


Вопросы и Ответы

Что такое "сервер факсовой печати"?

Сервер факсовой печати - это набор нескольких программ: efax и сервер печати, объединенные таким образом, что посылка факса с компьютера превращается в посылку распечатки на принтер.


Как его установить?

Установка efax в качестве сервера факсовой печати включает в себя несколько задач. Я решал их несколько раз и собрал весь опыт в этом mini-HOWTO, так что комментарии только приветствуются (<erez@newplaces.com>). Я описываю здесь задачи и их решения. Вот все инструкции в двух словах:


Программа efax

Проверьте, что у вас установлен пакет efax.

На системах, основанных на RPM, это будет команда 'rpm -qv efax'.

Вы можете взять исходные тексты efax с серверов sunsite и redhat: ftp://sunsite.unc.edu/pub/Linux/apps/serialcomm/fax/efax08a.tar.gz или пакет rpm: ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/efax-0.8a-3.i386.rpm


Запись в printcap

В документации efax отсутствует двоеточие в конце записи printcap.

Решение: Добавьте следующую запись в /etc/printcap:

fax:\
        :lp=/dev/null:\
        :sd=/var/spool/fax:\
        :if=/usr/bin/faxlpr:


Команда fax

Используйте жесткую (hard link), а не символьную ссылку (symbolic) на команду fax.

Запустите команду:
ln /usr/bin/fax /usr/bin/faxlpr


Файл /usr/bin/fax

Отредактируйте /usr/bin/fax, согласно вашим предпочтениям:

выберите правильный Класс факса для вашего модема:
CLASS=2.0
Установите поле FROM="ваш международный телефонный номер"
NAME="Ваше имя"
Добавьте строку, конвертирующую международный телефонный номер в локальный. Для Израиля это будет:
TELCVT='sed -e s/+972/0/ -e s/+/00/'  # Израиль

Исправьте ошибку в строке 586, смените cfile=... на две следующие строки:

cfile=`/usr/bin/tail -1 lock`
cfile=`cat $cfile`

Не должно быть знаков '-':

0) echo "$l" | mail -s "факс на $num послан" $user@$host ;;
*) echo "$l" | mail -s "факс на $num не прошел" $user@$host ;;


Каталог /var/spool/fax

Создайте каталог /var/spool/fax
mkdir /var/spool/fax
chmod 777 /var/spool/fax


lock-файл

lock-файл (/var/spool/fax/lock) создается с неправильными правами. Исправьте это:

touch /var/spool/fax/lock ; chmod 644 /var/spool/fax/lock


Файл /dev/modem

Программа efax работает с файлом /dev/modem, но не работает с символьной ссылкой, так что вам придется создать файл устройства с тем же главным (major) и дополнительным (minor) номером, как и /dev/cua?, к которому подключен модем. Чтобы разрешить доступ к факс-модему всем пользователям, файл должен иметь права доступа rw-rw-rw-.

ls -lL /dev/modem
rm /dev/modem
mknod /dev/modem c Mj Mi
chmod 666 /dev/modem

Mj = 5, а Mi = 64 для cua0, 65 для cua1 и т.д. Например (для cua1):

mknod /dev/modem c 5 65


Каталог /var/lock.

Смените права доступа к каталогу /var/lock

chmod 1777 /var/lock


Как послать факс с сервера?

Вам нужно указать опции -Pfax и -J<номер факса>

Используйте одну из команд:

lpr -Pfax -J <номер факса> [имена файлов]
любая команда | lpr -Pfax -J<номер факса>


Как мне послать факс с другого Unix в сети?

Добавьте следующую запись в файл /etc/printcap

fax:\
        :sd=/var/spool/fax:\
        :mx#0:\
        :sh:\
        :rm=машина.домен:\
        :rp=fax:

создайте каталог /var/spool/fax и добавьте имя клиента в файл /etc/hosts.lpd на сервере.

Посылка факса осуществляется так же, как и выше.

Примечание:

Заголовок, который добавляется к страницам факса программой efax, не содержит имя пользователя, посылающего факс, впрочем это можно исправить.


Пользователям Caldera и LPRng

LPRng - это программное обеспечение, управляющее печатью, но использующее другой способ поддержки управляющего файла.

Luca Montecchiani <m.luca@usa.net> обнаружил и исправил эту проблему. В файле /usr/bin/fax нужно изменить две строки cfile=... (с номерами 586,587)

# Исправлено для работы с пакетом LPRng
# Luca Montecchiani (08/11/97 m.luca@usa.net)
if [ !-z "$CONTROL_FILE" ]
    then
        cfile=`cat tail -1 lock`
        cfile=`cat $cfile`
    else
        cfile=$CONTROL_FILE
fi


Последняя версия и как связаться с автором

Последняя версия этого файла находится по адресам:

http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.sgml
http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.html
http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.txt
http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.info

Вы можете связаться со мной:
Erez Strauss
erez@newplaces.com
http://www.newplaces.com/linux/
http://www.newplaces.com/
Phone: +972 52 739737
Fax:  +972 9 954 3034


Авторские права

Авторские права на русский перевод этого текста принадлежат ╘ 2000 ASPLinux Все права зарезервированы.

Этот документ является частью проекта Linux HOWTO.

Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но так или иначе автор текста и автор перевода желали бы знать о таких дистрибутивах.

Все переводы и производные работы, выполненные по документам Linux HOWTO должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO с которым можно связаться по адресу приведенному ниже.

Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: , или к координатору русского перевода Linux HOWTO компании ASPLinux по адресу