Установка Optware на роутер начинается с проверки двух условий: прошивка устройства должна поддерживать запуск сторонних скриптов (например, DD-WRT, Tomato, OpenWrt или модифицированные прошивки Keenetic), а к USB-порту должна быть подключена флешка, отформатированная в ext2 или ext3. Без выполнения этих требований команда установки просто не отработает: пакетному менеджеру ipkg некуда будет распаковать файлы, и вы получите ошибку записи в каталог /opt.
Optware — это репозиторий пакетов программного обеспечения, адаптированных для встраиваемых Linux-систем с ограниченными ресурсами. Он позволяет превратить обычный роутер в мини-сервер: запустить торрент-клиент Transmission, файловый сервер Samba, Lighttpd или Dropbear. В этой статье разберём подготовку накопителя, монтирование раздела, установку системы пакетов и типичные ошибки, с которыми сталкиваются при первой настройке.
Что такое Optware и когда он нужен
Стандартная прошивка роутера содержит только базовый набор функций. Optware расширяет её за счёт пакетного менеджера ipkg (или ipkg-opt), который работает по принципу apt в Debian: вы указываете имя пакета, а система сама скачивает его из репозитория вместе с зависимостями. Все файлы устанавливаются в каталог /opt, не затрагивая системный раздел прошивки.
Типичные сценарии использования:
- 📥 запуск торрент-клиента Transmission или rtorrent прямо на роутере;
- 📁 организация сетевого хранилища через Samba или NFS;
- 🌐 поднятие лёгкого веб-сервера Lighttpd с PHP;
- 🔐 установка OpenVPN-сервера или Dropbear для SSH-доступа;
- 📊 мониторинг сети через vnStat и подобные утилиты.
Стоит учитывать, что проект Optware развивался давно, и часть оригинальных репозиториев со временем стала недоступна. Для современных устройств чаще рекомендуют его «наследника» — Entware, который ставится аналогично и поддерживается активнее. Однако на старых роутерах с DD-WRT и Tomato классический Optware по-прежнему рабочий вариант.
Подготовка USB-накопителя
Первый шаг — отформатировать флешку или внешний диск в файловую систему ext2/ext3. Файловые системы FAT32 и NTFS не подходят: они не поддерживают символьные ссылки и права доступа Unix, без которых большинство пакетов работать не будет. Разметку удобнее всего выполнять на компьютере с Linux или через Live-USB, либо утилитами вроде GParted.
Рекомендуется создать на накопителе два раздела: первый — под /opt объёмом от 512 МБ, второй — под данные или swap. Метка раздела (label) упростит автоматическое монтирование. Например, задайте первому разделу метку optware — тогда многие прошивки смогут подключать его по имени.
Используйте качественную флешку: дешёвые накопители быстро деградируют от постоянных циклов записи логов и торрент-кэша, что приводит к сбоям пакетов и зависаниям роутера.
⚠️ Внимание: форматирование уничтожит все данные на накопителе. Перед разметкой скопируйте нужные файлы, и убедитесь, что выбрали именно флешку, а не системный диск компьютера.
Подключение и монтирование раздела /opt
Вставьте подготовленную флешку в USB-порт роутера и включите поддержку USB в веб-интерфейсе прошивки. В DD-WRT это разделы Services → USB, где активируются Core USB Support, USB Storage Support и Automatic Drive Mount. Точные названия пунктов зависят от версии прошивки, поэтому сверяйтесь с документацией вашей сборки.
После перезагрузки проверьте, что раздел смонтирован. Подключитесь к роутеру по Telnet или SSH и выполните:
mount | grep /opt
df -h
Если в выводе видна строка вида /dev/sda1 on /opt type ext3 — накопитель подключён правильно. Если каталог /opt пуст или монтирование отсутствует, привяжите раздел вручную командой mount /dev/sda1 /opt и добавьте эту строку в скрипт автозапуска прошивки (в DD-WRT — Administration → Commands → Save Startup).
☑️ Проверка перед установкой Optware
Установка Optware через скрипт
На большинстве прошивок установка сводится к запуску готового bootstrap-скрипта, который скачивает ipkg-opt и базовый набор библиотек. Классический вариант для DD-WRT выглядит так:
cd /tmp
wget http://www.3iii.dk/linux/optware/optware-install-ddwrt.sh -O - | tr -d '\r' > /tmp/optware-install.sh
sh /tmp/optware-install.sh
Имейте в виду: адреса сторонних скриптов и зеркал репозиториев со временем меняются, а часть старых ссылок уже не работает. Если wget возвращает ошибку 404, найдите актуальный установочный скрипт на форуме вашей прошивки или используйте репозиторий Entware — для него установщик обычно доступен на официальном ресурсе проекта.
После завершения скрипта обновите список пакетов и убедитесь, что пакетный менеджер работает:
/opt/bin/ipkg update
/opt/bin/ipkg list | head
Вывод длинного списка доступных пакетов означает, что репозиторий подключён корректно. Если команда ipkg не находится, проверьте переменную PATH: каталоги /opt/bin и /opt/sbin должны быть добавлены в неё через стартовый скрипт.
Почему ipkg не находится после установки
Чаще всего переменная окружения PATH не включает /opt/bin. Добавьте в скрипт автозапуска строку export PATH=/opt/bin:/opt/sbin:$PATH и перезагрузите роутер либо выполните эту команду в текущей сессии вручную.
Установка и настройка пакетов
Работа с Optware строится по стандартной схеме пакетных менеджеров. Основные команды:
- 🔍
ipkg list | grep название— поиск пакета в репозитории; - 📦
ipkg install transmission— установка пакета с зависимостями; - 🗑️
ipkg remove название— удаление пакета; - 🔄
ipkg update && ipkg upgrade— обновление списка и установленных пакетов.
Конфигурационные файлы пакетов размещаются в /opt/etc, а стартовые скрипты служб — в /opt/etc/init.d. Скрипты с префиксом S (например, S90transmission) запускаются автоматически при загрузке, если это предусмотрено логикой прошивки. Права на исполнение проверяются командой ls -l /opt/etc/init.d.
Для наглядности сравним классический Optware и Entware:
| Критерий | Optware | Entware |
|---|---|---|
| Пакетный менеджер | ipkg / ipkg-opt | opkg |
| Актуальность репозиториев | Часть зеркал недоступна | Поддерживаются активнее |
| Каталог установки | /opt | /opt |
| Типичные прошивки | DD-WRT, Tomato | Keenetic, OpenWrt, Tomato |
| Команда установки пакета | ipkg install | opkg install |
Optware и Entware используют один и тот же каталог /opt, поэтому ставить их одновременно на один накопитель нельзя — пакеты и библиотеки будут конфликтовать.
Типичные ошибки и их решение
Ошибка can't create directory /opt/...: Read-only file system означает, что раздел смонтирован только для чтения или не смонтирован вовсе. Проверьте вывод mount и перемонтируйте раздел с правами записи. Если файловая система повреждена, выполните проверку e2fsck /dev/sda1 при отмонтированном разделе.
Сбой wget: bad address при скачивании пакетов указывает на проблему с DNS на самом роутере. Пропишите рабочий DNS-сервер в настройках прошивки и проверьте разрешение имён командой nslookup. Также встречается ситуация, когда после перезагрузки роутера пакеты «пропадают» — это верный признак того, что монтирование /opt не прописано в автозапуске.
⚠️ Внимание: не устанавливайте пакеты во внутреннюю флеш-память роутера вне каталога
/opt. Объём jffs-раздела мал, и его переполнение может привести к сбоям прошивки вплоть до невозможности загрузки устройства.
Отдельный источник проблем — нехватка оперативной памяти. Тяжёлые пакеты вроде Transmission с большим числом закачек могут исчерпать RAM слабого роутера. В таком случае создайте на накопителе swap-раздел или swap-файл и подключите его через стартовый скрипт.
Держите под рукой резервную копию каталога /opt/etc: если флешку придётся переформатировать, вы быстро восстановите настройки пакетов, не настраивая всё заново.
Проверка работоспособности после установки
Финальный этап — убедиться, что система переживает перезагрузку. Перезагрузите роутер, подождите полной загрузки и выполните mount | grep /opt и ipkg list-installed. Оба вывода должны быть корректными без ручного вмешательства. Затем запустите установленную службу, например /opt/etc/init.d/S90transmission start, и проверьте её веб-интерфейс или лог.
Если служба стартует вручную, но не поднимается автоматически, проблема в порядке выполнения скриптов автозапуска прошивки: монтирование /opt должно происходить раньше, чем вызов скриптов из /opt/etc/init.d. Добавьте паузу sleep 5 в стартовый скрипт — это частое и безобидное решение гонки при загрузке.
Рабочая установка Optware определяется тремя признаками: /opt монтируется автоматически, ipkg видит репозиторий, службы стартуют после перезагрузки без ручных команд.
Частые вопросы
Можно ли установить Optware на стоковую прошивку роутера?
На большинстве заводских прошивок — нет, поскольку они не позволяют запускать сторонние скрипты и монтировать разделы произвольно. Исключение — устройства Keenetic с соответствующими компонентами системы и модифицированными сборками, где предусмотрена поддержка Entware/Optware. В остальных случаях требуется альтернативная прошивка вроде DD-WRT или Tomato.
Чем Optware отличается от Entware и что выбрать?
Оба проекта решают одну задачу и используют каталог /opt, но Entware поддерживается активнее и его репозитории доступнее. Для нового устройства разумнее начать с Entware; классический Optware оправдан на старых роутерах, где инструкции и скрипты заточены именно под него.
Почему после перезагрузки роутера пакеты перестают работать?
Наиболее вероятная причина — раздел с Optware не монтируется автоматически в /opt. Проверьте скрипт автозапуска прошивки и добавьте в него команду монтирования, а также экспорт PATH с каталогами /opt/bin и /opt/sbin.
Подойдёт ли флешка в FAT32 или NTFS для Optware?
Нет. Эти файловые системы не поддерживают символьные ссылки и Unix-права, необходимые большинству пакетов. Используйте ext2 или ext3; ext4 на старых ядрах роутеров может не поддерживаться, поэтому ext2/ext3 — более безопасный выбор.
Опасна ли установка Optware для роутера?
Сама установка происходит на USB-накопитель и не изменяет системный раздел прошивки, поэтому риск минимален. Опасны смежные действия: переполнение jffs-раздела, некорректные скрипты автозапуска и нестабильные флешки. Перед экспериментами сохраните резервную копию настроек прошивки.