Это старая версия документа.
Содержание
Установка программ, автозапуск программ, правила iptables
Установка программ
Готовые, собранные приложения для ZyXEL Keenetic устанавливаются с помощью системы opkg. Приведем основные команды системы opkg:
1. opkg list
- команда выдает список пакетов, которые можно установить в настоящий момент.
opkg list busybox - 1.17.3-2 - The Swiss Army Knife of embedded Linux. It slices, it dices, it makes Julian Fries. e2fsprogs - 1.41.12-3 - This package contains essential ext2 filesystem utilities which consists of e2fsck, mke2fs, debugfs, dumpe2fs, tune2fs, and most of the other core ext2 filesystem utilities. file - 5.05-1 - utility gawk - 3.1.8-1 - GNU version of AWK. glib2 - 2.22.2-1 - The GLib library of C routines htop - 0.9-1 - Htop is an ncursed-based process viewer similar to top, but it allows to scroll the list vertically and horizontally to see all processes and their full command lines. ...
2. opkg list-installed
- команда выдает список уже установленных пакетов
opkg list-installed busybox - 1.17.3-2 file - 5.05-1 glib2 - 2.22.2-1 htop - 0.9-1 ...
3. opkg update
- команда скачивает и обновляет список пакетов, которые могут быть установлены. Рекомендуется всегда выполнять эту команду перед установкой пакета и при других «манипуляциях» с пакетами.
4. opkg upgrade
- команда обновляет установленные пакеты, если есть обновления. Если обновляется запущенная служба, то следует руками ее перезапустить или перезагрузить маршрутизатор.
5. opkg install <имя пакета>
- команда устанавливает пакет включая пакеты, от которых устанавливаемый пакет зависит. Например opkg install mc
установит Midnight Commander.
6. opkg remove <имя пакета>
- команда удалит установленный ранее пакет.
7. Полный список подкоманд и опций можно получить, запустив opkg без параметров.
Автозапуск программ
Некоторые из собранных для Keenetic пакетов являются сервисами или демонами. Для автоматического запуска сервисов используются скрипты удовлетворяющие маске S??*
, расположенные в папке /media/DISK_A1/system/etc/init.d
. Эти скрипты запускаются в алфавитном порядке автоматически при монтировании usb носителя или включении роутера. Останавливаются скриппты в обратном порядке при размонтировании usb носителя. После установки, описанной в разделе устанавливаем систему opkg, в этой папке находятся скрипты S01swap
, S10dropbear
и заготовка K02cron
, предназначенная для запуска планировщика cron. Если Вы считаете, что Вам не нужен swap файл, переименуйте файл S01swap
в K01swap
. При установке некоторых пакетов в папке init.d
появятся дополнительные скрипты K??*
или S??*
.
Не следует относится к этим скриптам, как к окончательным и устоявшимся. Часто их можно и нужно редактировать, дорабатывать под себя. После таких доработок переименуйте окончательный вариант скрипта K??*
в S??*
для автоматического запуска.
Правила файрвола iptables
Если к установленным демонам нужно дать доступ из интернета (WAN), то потребуется создать дополнительные правила проброса портов, используя установленный в Keenetic файрвол iptables
. Правила проброса могут быть расположены непосредственно в скриптах S??*
или в скриптах, расположенных в папке /media/DISK_A1/system/etc/firewall.d
.
Правильнее такие правила размещать в скрипте в папке firewall.d
. Дело в том, что при разрыве сессии соединения с Интренет правила iptables сбрасываются, и создаются заново при подъеме соединения. Правила при подъеме соединения в скриптах S??*
не выполняются, а в скриптах в папке firewall.d
выполняются.
Очень часто нужно, чтобы установленные на кинетике программы взаимодействовали между собой по сети. Для этого необходимо выполнение правила
iptables -I INPUT -i lo -j ACCEPT
Пример файла /media/DISK_A1/system/etc/firewall.d/fw.sh
#!/bin/sh # Разрешаем внутрисетевой обмен iptables -I INPUT -i lo -j ACCEPT # Разрешаем доступ по ssh из интернет iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Файл fw.sh
должен иметь атрибут исполнения и заканчиваться символом конец строки.