LINUX.ORG.RU

binkd на rapberrry pi

 ,


0

1

Столкнулся с трудностями при установке сабжа. На малинке установлен Raspbian. Первоначально при установке по мануалу, не скомпилировался binkd. Вариант из инструкции по установке уже собранного пакета не заработал. Установил Binkd из репозитория через apt-get.

получил вот такие логи:


sudo apt-get install binkd
sudo: unable to resolve host (none)
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  binkd
0 upgraded, 1 newly installed, 0 to remove and 17 not upgraded.
Need to get 98.6 kB of archives.
After this operation, 262 kB of additional disk space will be used.
Get:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main binkd armhf 
0.9.11-1.1 [98.6 kB]
Fetched 98.6 kB in 1s (64.0 kB/s)
Selecting previously unselected package binkd.
(Reading database ... 76022 files and directories currently installed.)
Unpacking binkd (from .../binkd_0.9.11-1.1_armhf.deb) ...
Processing triggers for man-db ...
Setting up binkd (0.9.11-1.1) ...
Warning: The home dir /var/spool/ftn you specified already exists.
Adding system user `ftn' (UID 64000) ...
Adding new group `ftn' (GID 64000) ...
Adding new user `ftn' (UID 64000) with group `ftn' ...
The home directory `/var/spool/ftn' already exists.  Not copying from 
`/etc/skel'.
[ ok ] Starting FTN mailer: binkd.

Но после этого скрипт получения почты ругается следующим образом:

 recv
/usr/local/sbin/binkd: 1: /usr/local/sbin/binkd: Syntax error: "(" unexpected
Помогите куда копать? (с linux сильно на ВЫ, опыт работы - считанные минуты).



Последнее исправление: ramon105 (всего исправлений: 1)

В начале постарайтесь правильно оформить ваше сообщение, команды и выводы команд нужно помещать в тег [code][/code], вот так:

$ sudo apt-get install binkd
sudo: unable to resolve host (none)
Reading package lists... Done
Building dependency tree Reading state information... Done 
...
за подробностями сюда: www.linux.org.ru/wiki/en/Lorcode

Внизу вашего сообщения есть ссылка "править".

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)

Но после этого скрипт получения почты ругается следующим образом: recv /usr/local/sbin/binkd: 1: /usr/local/sbin/binkd: Syntax error: "(" unexpected

Вы видите, что путь указан /usr/local/sbin/binkd, в /usr/local/... по умолчанию ставятся программы, которые собраны из исходных кодов, а не установлены посредством пакетного менеджера, в вашем случае apt. К тому же в пакете binkd не содержится /usr/local/sbin/binkd, вот список файлов пакета:

/etc/binkd/binkd.cfg
/etc/binkd/binkd.inc
/etc/init.d/binkd
/etc/logrotate.d/binkd
/usr/sbin/binkd
/usr/sbin/binkdlogstat
/usr/share/doc/binkd/changelog.Debian.gz
/usr/share/doc/binkd/changelog.gz
/usr/share/doc/binkd/copyright
/usr/share/doc/binkd/todo.lst
/usr/share/man/man8/binkd.8.gz
/usr/share/man/man8/binkdlogstat.8.gz
https://packages.debian.org/wheezy/armhf/binkd/filelist

Так что тот binkd, который вы запускаете, видимо, от тех установок, которые вы пытались выполнить, собирая binkd из исходных кодов, так что вам придётся в начале удалить все части того binkd, что вы поставили в /usr/local при сборке из исходников, тогда будет использоваться binkd, установленный из пакета.

Смотрите приведённый список файлов в пакете и ищите аналогичные файла, только учтите, что вместо /usr/... вам нужно найти файлы /usr/local/... и удалить относящиеся к binkd, установленному в обход пакетного менеджера.

Зачем вы вообще собирали binkd из исходных кодов, а не установили готовый пакет?

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

скопировал два файла из /usr/sbin/ в /usr/local/sbin/ - скрипт заработал. Ура!

Спасибо!

Остался вопрос, как можно сделать так, что бы этот скрипт автоматически запускался раз в час?

ramon105
() автор топика
Ответ на: комментарий от ramon105

Я честно выполнял инструкцию пакета fidoip.

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

Если пакет не найден, то проверьте, что у вас подключены все части репозитория, они подключаются в файле /etc/apt/sources.list, в нём у вас примерно такие строки:

deb http://http.debian.net/debian wheezy main
deb-src http://http.debian.net/debian wheezy main

deb http://http.debian.net/debian wheezy-updates main
deb-src http://http.debian.net/debian wheezy-updates main

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main
В этом примере подключена только часть main, есть ещё части contrib и non-free. В contrib находятся пакеты с открытым исходным кодом, но подпадающие под некоторые лицензионные ограничения, в части non-free находятся пакеты с закрытым исходным кодом.

Вам нужно после main дописать через пробел два слова «contrib» и «non-free», т.е. выглядеть строки будут примерно так:

deb http://http.debian.net/debian wheezy main contrib non-free
deb-src http://http.debian.net/debian wheezy main contrib non-free

deb http://http.debian.net/debian wheezy-updates main contrib non-free
deb-src http://http.debian.net/debian wheezy-updates main contrib non-free

deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
после чего выполнить обновление списка доступных пакетов:
apt-get update

Для поиска пакета воспользуйтесь apt-cache:

apt-cache search слово

kostik87 ★★★★★
()
Ответ на: комментарий от ramon105

скопировал два файла из /usr/sbin/ в /usr/local/sbin/ - скрипт заработал. Ура!

Зачем? Вам как раз наоборот лучше было удалить все файлы из /usr/local/..., которые остались от установок binkd в обход пакетного менеджера. Если в скрипте binkd вызывается по пути из /usr/local/sbin/..., то поправьте скрипт.

Остался вопрос, как можно сделать так, что бы этот скрипт автоматически запускался раз в час?

Почитайте в Internet про cron.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

В собранном пакете была автонастройка конфигов. побоялся, что тяжело настроить будет самому в отличии от программы. Еще раз спасибо за помощь, буду изучать, то что Выше написано.

ramon105
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.