Все о Linux. LinuxRSP.Ru


Cвежие новости Linux и BSD, анонсы статей и книг прямо в почтовый ящик!
Подписаться письмом


 Сегодняшние новости:

25 лет исполнилось ядру Linux

Релиз KDevelop 5.0

Oracle открывает код JDK9 для ARM

Выпущен Timewarrior 1.0.0

Релиз Android 7.0

Percona Memory Engine для MongoDB на базе WiredTiger

PowerShell открыт и доступен для Linux

Форк TrueCrypt: VeraCrypt 1.18

Релиз Snapcraft 2.14

Релиз Go 1.7

Стабильный выпуск рабочего стола Lumina

Вышла первая версия аналога OpenCV - DCV 0.1

Выпуск минималистичной программы для мониторинга jsonmon 3

В MIT разработали новый язык программирования

Первый релиз Qt5Gtk2

Godot 2.1 - новая версия открытого игрового движка

Свободная цифровая станция звукозаписи: Ardour 5.0

Обновление SkypeWeb Plugin for Pidgin

Вышла версия 3.0 Android File Transfer для Linux (и для OS X)

Программный аналог MIDI-контроллера для создания музыки: Launchpadd v1.3

Mozilla спонсирует поддержку Python 3.5 в PyPy

Ef 0.08 - программа для моделирования динамики заряженных частиц

Обновление текстового редактора TEA до версии 42.0.0

Релиз OpenOrienteering Mapper 0.6.4

Вышли Guix и GuixSD 0.11

Релиз Opera 39

Выпуск LibreOffice 5.2

В OpenSSH обнаружены и устранены некоторые уязвимости

Эмулятор FCEUX 2.2.3

Компания Билайн переходит на российскую СУБД с открытым исходным кодом Tarantool

Google

 Новые статьи :

Утилиты для восстановления потерянных данных в Linux

Лучшие файловые менеджеры для Android

20 лучших бесплатных книг о Linux

Как сгенерировать открытый/закрытый SSH-ключ в Linux

Grive - клиент Google Drive для Linux с открытым исходным кодом

Протокол IPv6: варианты подключения

Сервер из образа: DHCP + TFTP + Initrd + OpenVZ

Обзор веб-панелей управления хостингом

Приёмы работы с Vim

Nginx как Reverse Proxy для сайта, использующего SSL

Разработка модулей ядра Linux

Мониторинг нагрузки http-сервера Apache 2

Перевод комментариев к файлу конфигурации Squid

Решение проблем при использовании "1c предприятие" 8.2 в Linux

Advanced Bash-Scripting Guide Искусство программирования на языке сценариев командной оболочки







Rambler's Top100





 
 

HOWTO : fidonet software for unix

[ index ]

Часть четвертая, программы
filefix

Существуют различные версии filefix'ов : Здесь я опишу настройку первых двух из них. Первоначально я использовал filefix by Serg Oskin, с модификациями by Alex Mansurov (я его выбрал из-за поддержки files.bbs ;), но после некоторого периода эксплуатации я отказался от него и перешел на gtic by Yuri Kuzmenko.

filefix by Serg Oskin + ffix-plus by Alex Mansurov.

Берем с ftp://oskin.macomnet.ru/pub/linux/fido/ дистрибутивы filefix-1.8.3.tar.gz и ffix-plus.tgz, раскручиваем filefix-1.8.3.tar.gz в /usr/src/filefix-1.8.3, запускаем make. Если все скомпилировалось нормально, то в /usr/local/fidonet/etc/filefix копируем файлы config, Areas(.dist), Users(.dist), help.txt, а в /usr/local/fidonet/bin/filefix файлы crc32, alt2koi8, koi82alt, fromdos, areaqueue, filefix.
Если вы будете использовать filefix-plus by Alex Mansurov, то возьмите из его архива файлы config и filefix и замените ими аналогичные файлы : /usr/local/fidonet/etc/filefix/config и /usr/local/fidonet/bin/filefix/filefix.
Меняем для всех файлов пакета владельца на fido:fido, и начинаем править config (в основном просто корректируем пути) :
BinDir /usr/local/fidonet/bin/filefix
KoiToAlt /usr/local/fidonet/bin/filefix/koi82alt
AltToKoi /usr/local/fidonet/bin/filefix/alt2koi8
DosToUnix /usr/local/fidonet/bin/filefix/fromdos
Users /usr/local/fidonet/etc/filefix/Users
Areas /usr/local/fidonet/etc/filefix/Areas
IfConfig /usr/local/fidonet/etc/config
Queue /usr/local/fidonet/tmp/filefix/queue
LogFile /usr/local/fidonet/log/filefix.log
LockFile /usr/local/fidonet/tmp/filefix.lock
TicDir /usr/local/fidonet/tmp/filefix/tics
BadTic /usr/local/fidonet/tmp/filefix/bad
BadFile /usr/local/fidonet/tmp/filefix/bad
HelpFile /usr/local/fidonet/etc/filefix/help.txt
MailTo fido@domain.my
ANewsCommand /usr/local/news/bin/inews -h -S
ANewsgroups f99.notify
LastScan /usr/local/fidonet/tmp/filefix/filefix.scan

С config все.

Теперь описания файлэх и линков. Сохраните оригинальные файлы (Users.dist и Areas.dist) - вам пригодятся комментарии из них. В Areas оставьте первую секцию (default), остальные можно стереть, т.к. при тоссинге файлэх они сами создадутся (если для аплинка, с которого они пришли, в файле Users разрешен autocreate) :
Area default
Desc The new area
Group A
Path /var/spool/uucppublic
Exclude 'files.bbs' '.+\.desc'
Newfile /usr/local/fidonet/tmp/filefix/new_files
Mode 644
DupeCheck name

Путь /var/spool/uucppublic - тот же, что и указан в настройках ifmail'а как путь для freq's. В нем будут создаваться подкаталоги с файлэхами, типа /var/spool/uucppublic/NODEDIFF, и т.д. Не прописывайте Mode 444, filefix должен иметь права r/w на файлы в файлэхах. Если вы выписываете r/o файлэхи (NODEDIFF, R50ROUTE, etc.), то для них можно прописать ReadOnly 1, во избежание ;).
Правим конфиг Users :
2:5058/500  passwd UpLink  * +A
2:5058/99.1  passwd2 Home_Point  * +C +!


Переходим в /usr/local/fidonet/bin/filefix, правим сам filefix - путь к perl'у (/usr/bin/perl или /usr/local/bin/perl), и путь к конфигу :
$ConfigFile = "/usr/local/fidonet/etc/filefix/config";


Файлэхи обрабатываются в два прохода.
1. Для тоссинга файлэх запускается filefix -t (из-под пользователя fido), при этом файлэхи в inbound.pro обрабатываются и файлы переносятся в каталог /var/spool/uucppublic/ИМЯ_ФЭХИ/, а описания файлов - в файлы с расширением .desc, например :
$ ls -la /var/spool/uucppublic/XORNBOOK
total 433
drwxr-xr-x   2 fido  uucp     512  2 ноя 11:02 .
drwxrwxrwx  13 uucp  uucp     512  2 ноя 11:02 ..
-rw-r--r--   1 fido  uucp   12743  2 ноя 11:02 medic.dos
-rw-r--r--   1 fido  uucp      17  2 ноя 11:02 medic.dos.desc
-rw-r--r--   1 fido  uucp  413769  2 ноя 11:02 setup3.exe
-rw-r--r--   1 fido  uucp      18  2 ноя 11:02 setup3.exe.desc

2. Сразу после тоссинга можно запустить filefix -s, при этом те файлы, у которых есть "файлы-спутники" с расширением .desc заворачиваются на даунлинков (если они есть), и их описания перемещаются в files.bbs :
$ ls -la /var/spool/uucppublic/XORNBOOK
total 432
drwxr-xr-x   2 fido  uucp     512  2 ноя 11:09 .
drwxrwxrwx  13 uucp  uucp     512  2 ноя 11:02 ..
-rw-r--r--   1 fido  uucp      75  2 ноя 11:09 files.bbs
-rw-r--r--   1 fido  uucp   12743  2 ноя 11:02 medic.dos
-rw-r--r--   1 fido  uucp  413769  2 ноя 11:02 setup3.exe

Анонсы о новых файлэхах и файлах в них постятся в заданную эху (f99.notify)

Если вы раздаете файлэхи дальше, то вашим даунлинкам понадобится управлять подпиской через робота filefix. Для этого редактируем /etc/aliases, прописывая (в одну строчку) :
filefix:"|/usr/local/fidonet/bin/filefix/areaqueue /usr/local/fidonet/tmp/filefix/queue", fido
Можете прописать дополнительные адиасы для робота :
allfix: filefix
Здесь filefix (allfix) - имя, на которое будут адресовать письма ваши даунлинки, areaqueue - маленькая програмка, цель которой полученное письмо положить в каталог /usr/local/fidonet/tmp/filefix/queue, а ", fido" - это если вы хотите читать, что пишут вашему роботу ;)
Не забывайте после изменения /etc/aliases запускать newaliases.
areaqueue у меня принадлежит пользователю fido:fido с правами 6555:
-r-sr-sr-x  1 fido  fido   8192  1 ноя 16:43 areaqueue
Для проверки работоспособности areaqueue пишем письмо на имя filefix, например :
$ mail filefix
Subject: test
test
.
EOT

Если в /usr/local/fidonet/tmp/filefix/queue у вас появился файлик с этим содержимым - значит все работает. Если же в /var/log/maillog появляются сообщения от sendmail'а типа : "DSN: unknown mailer error 126, DSN: unknown mailer error 2" - значит вы сделали что-то не так.

Для тестирования можно использовать следующую схему : залогинимся как пользователь fido (su fido ;) - это позволит, во-первых запускать filefix в "родном" окружении, во-вторых проверить корректность установленных прав/владельцев на конфиги и каталоги. Пропишем пробного пользователя в Users (обратите внимание, чтобы в Имени_Фамилии пользователя не было пробелов), например :
2:5058/99.2  PASSWORD  Ivan_Petroff  *
А в /usr/local/fidonet/tmp/filefix/queue создадим файлик с именем 9911939901337 и содержимым :
To: filefix <filefix@f99.n5058.z2.fidonet.org>
From: Test_Point <Test_Point@p2.f99.n5058.z2.fidonet.org>
Subject: PASSWORD

%HELP
%LIST

Здесь в строчке с To: пишем имя робота и ваш адрес, в строчках From: и Subject: - адрес и пароль того фиктивного пойнта, что вы прописали в Users, после пустой строчки - команды (%HELP, %LIST, +area, etc.). Запустив filefix -m, смотрим filefix.log. Если там строчки вида :
Nov  31 23:28:08 filefix(mgr)[28949] Read config ok.
Nov  31 23:28:09 filefix(mgr)[28949] Read Users Ok.
Nov  31 23:28:09 filefix(mgr)[28949] Read Areas Ok.
Nov  31 23:28:09 filefix(mgr)[28949] Reply to 2:5058/99.2...
Nov  31 23:28:09 filefix(mgr)[28949] Processing %HELP...
Nov  31 23:28:09 filefix(mgr)[28949] Processing %LIST...

а на этого пойнта отложилось письмо с help'ом и списком файлэх - то все в порядке ;)
Если вы используете filefix-plus, то при пробных запусках лучше закомментарить строчки
#open (STDERR, ">>/dev/null");
#open (STDOUT, ">>/dev/null");

тогда вам будет видна диагностика filefix'а и perl'а в случае ошибок.
Если выдаются ошибки типа
Can't locate /usr/share/perl/errno.ph in @INC (did you run h2ph?) (@INC contains: /usr/libdata/perl/5.00503/mach /usr/libdata/perl/5.00503 /usr/local/lib/perl5/site_perl/5.005/i386-freebsd /usr/local/lib/perl5/site_perl/5.005 .) at ./filefix line 117.
то попробуйте последовать его совету и запустить h2ph. Прочитайте man h2ph, перейдите в /usr/include и запустите h2ph -r -l -d/usr/share/perl. (для FreeBSD 3.3)
Запускать filefix можно в различных вариантах : можно просто регулярно по cron'у, можно используя более "интеллектуальные" схемы - с использованием флагов, скриптов типа tossd, etc. Более подробно об этом рассказано в Части 5 - совместная работа.

gtic

Берем последнюю версию с ftp://ftp.cracksoft.kiev.ua/pub/linux/gtic/, например gtic-1.3b.tar.gz, распаковываем, начинаем подготовку к компиляции.
Редактируем CONFIG :
CONFIG = "/usr/local/fidonet/etc/filefix/config"
CONFIGDIR = "/usr/local/fidonet/etc/filefix"
BINDIR = "/usr/local/fidonet/bin/filefix"
OWNER = fido
GROUP = fido
OPTS = -DSECURE_CONFIG
(естественно, к моменту установки, каталоги etc/filefix и bin/filefix были очищены от предыдущего filefix'а).
Компилируем и устанавливаем : make clean ; make all ; make install
Если при make install выскочит два раза сообщение "chown: root: illegal group name" - не обращайте внимания.
В результате у вас проинсталлируются файлы :
$ ls -la /usr/local/fidonet/etc/filefix
total 16
drwxr-xr-x 3 fido fido 512 15 фев 11:33 .
drwxr-xr-x 4 fido fido 512 17 ноя 15:14 ..
-rw-r--r-- 1 fido fido 548 15 фев 11:33 areagroups
-rw-r--r-- 1 fido fido 384 15 фев 11:33 areagroups.help
-rw-r--r-- 1 fido fido 1396 15 фев 11:33 areas
-rw-r--r-- 1 fido fido 913 15 фев 11:33 areas.help
-rw-r--r-- 1 fido fido 68 15 фев 11:33 autohatch.conf
-rw-r--r-- 1 fido fido 3071 15 фев 11:33 config
-rw-r--r-- 1 fido fido 483 15 фев 11:33 domains
-rw-r--r-- 1 fido fido 764 15 фев 11:33 help
-rw------- 1 fido fido 785 15 фев 11:33 users
-rw-r--r-- 1 fido fido 450 15 фев 11:33 users.help
$ ls -la /usr/local/fidonet/bin/filefix
total 278
drwxr-xr-x 3 fido fido 512 15 фев 11:36 .
drwxr-xr-x 5 fido fido 512 15 фев 11:36 ..
---s--x--- 1 fido fido 263052 15 фев 11:36 gtic
-rwxr-xr-x 1 root fido 106 15 фев 11:36 gtic.announce
-rwxr-xr-x 1 root fido 997 15 фев 11:36 gtic.autohatch
-rwxr-xr-x 1 root fido 713 15 фев 11:36 gtic.create_area
Обратите внимание на владельца каталогов etc/filefix, bin/filefix и файлов в них.

Переходим в /usr/local/fidonet/etc/filefix, начинаем настройку.
Редактируем config :
address 2:5058/99
inbound /usr/local/fidonet/inbound.pro
domains_file /usr/local/fidonet/etc/filefix/domains
outbound_mode 640
users_file /usr/local/fidonet/etc/filefix/users
areas_file /usr/local/fidonet/etc/filefix/areas
areagroups_config /usr/local/fidonet/etc/filefix/areagroups
log_file /usr/local/fidonet/log/gtic.log
lock_file /usr/local/fidonet/tmp/gtic.lck
default_newfile /usr/local/fidonet/tmp/gtic.newfile
bad_dir /usr/local/fidonet/tmp/filefix/bad
bad_dir_mode 755
help_file /usr/local/fidonet/etc/filefix/help
announce_exec /usr/local/fidonet/bin/filefix/gtic.announce
newarea_exec /usr/local/fidonet/bin/filefix/gtic.create_area
response_exec /usr/sbin/sendmail -f$msg_from root
toss_badtic yes
# используйте здесь имя, отличное от filefix@ или allfix@
msg_from filefix-response@f99.n5058.z2.fidonet.org
make_hardlinks yes
add_point_seenby yes
newarea_group default
basepath /var/spool/uucppublic
msg_to fido

Редактируем areagroups, в простейшем случае :
default:options:
*:options:

Редактируем areas, прописывая существующие файлэхи (если они у вас есть) :
Area XORNBOOK
Description Orenburg : books
Group default
Path /var/spool/uucppublic/XORNBOOK
Links 2:5058/500 2:5058/99.1 !2:5058/99.2
Mode 644

Area NODEDIFF
Description FidoNet nodediffs
Group default
Path /var/spool/uucppublic/NODEDIFF
Links 2:5020/204.1000 !2:5058/500 !2:5058/99.1
Mode 644
Options readonly

Area 957PHONE
Description 2:5020/957 : Phone
Group default
Path /var/spool/uucppublic/957PHONE
Links 2:5020/0 2:5058/500
Mode 644
Options passthru
Обратите внимание : даже для passthru файлэх создается каталог (пустой ;)

Редактирем domains :
2 /usr/local/fidonet/outbound

Редактируем users :
# Этот линк имеет право автокриэйта фэх у меня, и на него же
# автоматом прокидываются все фэхи, создавшиеся от других линков
2:5058/500 PASSWORD * autocreate,auto_rw
# На домашнего пойнта фэхи кладутся на холд
2:5058/99.1 HOME * hold
# Аплинки
2:5020/0 JOKE1 * autocreate
2:5030/0 JOKE2 * autocreate
2:2/0 MEGAJOKE * autocreate,auto_rw,hold
С конфигами все.

Переходим в /usr/local/fidonet/bin/filefix
Редактируем gtic.announce, выберите вид аннонса - мылом и (или) в эху :
#!/bin/sh
#sendmail -f$msg_from root
/usr/local/news/bin/inews -f FileFix-Announce@f49.n5058.z2.fidonet.org -n f99.notify -t "New file announce"

Редактируем gtic.create_area :
Т.к. у меня от предыдущего filefix'а файлэхи создавались в каталогах, имена которых были в UPPER-case (типа /var/spool/uucppublic/NODEDIFF), то я строчку lowercase_name=`echo $1|tr A-Z a-z` исправил на lowercase_name=`echo $1|tr a-z A-Z`. По умолчанию, gtic извещает о создании новой фэхи сисопа нетмейлом. Я исправил это на анонс в эху, заменив строчку echo|mail -s "fileecho $1 autocreated by gtic" $SYSOP на printf "Filearea $1 created at 2:5058/99 by $2\n\n--- gtic 1.3b\n" | /usr/local/news/bin/inews -f FileFix-Announce@f99.n5058.z2.fidonet.org -n f99.notify -t "New filearea created"
(в одну строчку).

Возможности autohatch я не использовал, поэтому gtic.autohatch не трогал.

Для обработки файлэх запускайте gtic -t. Для получения справки по остальным командам (hatch) запустите gtic без параметров.

Для обработки запросов линков к gtic корректируем /etc/aliases :
allfix: filefix
filefix: "|/usr/local/fidonet/bin/filefix/gtic -m", fido

Не забывайте запускать newaliases после редактирования.

О совместной работе gtic с другими программами рассказано в главе совместная работа.
This is a part of "HOWTO : fidonet software for unix", http://howto.id.ru
Original of this document is located at http://howto.id.ru/filefix.html
Copyright (c) Vitaly Kuharev, 2:5058/49@fidonet, 1999-2000
Last updated : 14 apr 2000

      

Связь | О проекте LinuxRSP | Реклама | О Linux
© 1999-2017 LinuxRSP