Полная установка и настройка LogicFox (с установкой transmission)
- Разметка диска
- Форматируем жёсткий диск через меню плеера и не устанавливаем никаких доп. пакетов из архива с прошивкой, разве что можно поставить шрифты
- Изменяем структуру жёсткого диска в соответствии с этой статьёй (только 1 и 2 шаги). Единственное отличие в том, что нам раздел с NTFS вообще не нужен, поэтому его можно как начать так и закончить 2-м цилиндром (минимально возможный размер). К сожалению если удалить его полностью, то плеер будет работать некорректно. Рекомендую перед форматированием большого раздела в EXT3 (больше 1 Тб) выполнить команду "swapon /dev/sda2", иначе может не хватить памяти и будет выдана ошибка вроде "не могу записать основной блок".
- Увеличиваем раздел /dev/sda3 до 300 МБ в соответствии с этой статьёй. Здесь вполне можно обойтись и средствами встроенного fdisk, что даже может оказаться проще.
- Устанавливаем optware в соответствии с этой статьёй, предварительно установив IPKG:
mkdir /opt/bin
mkdir /opt/tmp
mkdir /opt/tmp/ipkg
cd /opt/tmp
wget http://www.kovari.priv.hu/download/ipkg-cl.tgz
tar -xvf ipkg-cl.tgz
mv /opt/tmp/ipkg-cl /opt/bin/
rm ipkg-cl.tgz
Единственное отличие в том, что я использовал /root в качестве домашней директории, по-моему так правильнее (т.е. дополнительно надо создать директорию "/root" командой "mkdir /tmp/hdd/root/home && ln -s /tmp/hdd/root/home /root" и там где в инструкции устанавливается домашняя директория писать не "/opt", а "/root").
- Устанавливаем планировщик cron командой "ipkg install cron", запускаем crontab.
- Устанавливаем ntpclient командой "ipkg install ntpclient". После установки сразу выполняем команду "/opt/bin/ntpclient -s -h pool.ntp.org" (плеер должен быть подключён к инету) и проверяем командой "date", что теперь дата установлена корректно. Проверяем наличие в планировщике задания синхронизации времени.
cat /tmp/hdd/root/opt/etc/cron.d/ntpclient
Добавляем синхронизацию при старте в файл /tmp/hdd/root/opt/etc/init.d/starter /opt/bin/ntpclient -s -h pool.ntp.org > /dev/null
Исправляем timezone в файле /usr/local/etc/profile export TZ=CST+0:00:00 на export TZ=CST-2:00:00 (для Одессы)
- Установим файловый менеджер Midnight Commander (mc).
Это незаменимое средство работы с файлами и каталогами, плюс удобный встроенный текстовый редактор.
4.1 Для установки mc нужно выполнить команду:
ipkg install mc
4.2 Нужно добавить (проверить наличие) в файле пользовательского профиля /usr/local/etc/profile строчек:
export TERMINFO=/opt/share/terminfo
export TERM="xterm"
alias mc="mc -c"
3.3 Для запуска MidnightCommander нужно выполнить команду (можно вставить в конец файла profile):
mc
Получаем:
Встроенный редактор:
Чтобы изменения в файле "profile" вступили в действие, рекомендуется перелогиниться.
Для этого необходимо выйти из сессии telnet командой exit или просто закрыть окно putty.
Эмуляция функциональных клавиш F1, F2 ... F10 в mc делается нажатием двух кнопок:
Esc и 1, Esc и 2, ... Esc и 0. Текстовый редактор mc вызывается по F4 (Esc и 4).
Если для подключения по telnet вы используете putty, то функциональные клавиши, клавиши-стрелочки и мышка будут работать корректно сразу.
- Устанавливаем последнюю версию Transmission из репозитория optware командой "ipkg install transmission".
- Запускаем transmission-daemon, что-бы создать установки по-умолчанию. Заменяем содержимое файла /root/.config/transmission-daemon/settings.json этим:
{
"alt-speed-down": 100,
"alt-speed-enabled": false,
"alt-speed-time-begin": 540,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": false,
"alt-speed-time-end": 1020,
"alt-speed-up": 10,
"bind-address-ipv4": "0.0.0.0",
"bind-address-ipv6": "::",
"blocklist-enabled": false,
"blocklist-url": "http://www.example.com/blocklist",
"cache-size-mb": 2,
"dht-enabled": true,
"download-dir": "/tmp/hdd/volumes/HDD1/Torrent",
"encryption": 1,
"idle-seeding-limit": 30,
"idle-seeding-limit-enabled": false,
"incomplete-dir": "/tmp/hdd/volumes/HDD1/Incomplete",
"incomplete-dir-enabled": true,
"lazy-bitfield-enabled": true,
"lpd-enabled": false,
"message-level": 0,
"open-file-limit": 32,
"peer-limit-global": 16,
"peer-limit-per-torrent": 16,
"peer-port": 47578,
"peer-port-random-high": 65535,
"peer-port-random-low": 1024,
"peer-port-random-on-start": true,
"peer-socket-tos": 0,
"pex-enabled": true,
"port-forwarding-enabled": true,
"preallocation": 1,
"proxy": "",
"proxy-auth-enabled": false,
"proxy-auth-password": "",
"proxy-auth-username": "",
"proxy-enabled": false,
"proxy-port": 80,
"proxy-type": 0,
"ratio-limit": 2,
"ratio-limit-enabled": false,
"rename-partial-files": true,
"rpc-authentication-required": true,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-password": "СЮДАВПИШИТЕЖЕЛАЕМЫЙПАРОЛЬДЛЯДОСТУПАК WEB-ИНТЕРФЕЙСУ",
"rpc-port": СЮДАВПИШИТЕЖЕЛАЕМЫЙПОРТДЛЯДОСТУПАК WEB-ИНТЕРФЕЙСУ,
"rpc-username": "СЮДАВПИШИТЕЖЕЛАЕМЫЙЛОГИНДЛЯДОСТУПАК WEB-ИНТЕРФЕЙСУ",
"rpc-whitelist": "*.*.*.*",
"rpc-whitelist-enabled": false,
"script-torrent-done-enabled": false,
"script-torrent-done-filename": "",
"speed-limit-down": 1000,
"speed-limit-down-enabled": false,
"speed-limit-up": 100,
"speed-limit-up-enabled": false,
"start-added-torrents": false,
"trash-original-torrent-files": true,
"umask": 18,
"upload-slots-per-torrent": 2
}
Эти настройки примерные, с ними мой плеер работает стабильно и без тормозов, но можете поиграться.
В самый конец файла /usr/local/etc/rcS добавляем следующее:
# Enable swap.
swapon /dev/sda2
# Unmount NTFS partition and mount EXT3.
sync
umount /tmp/hdd/volumes/HDD1
umount /tmp/hdd/volumes/HDD2
mount /dev/scsi/host0/bus0/target0/lun0/part1 /tmp/hdd/volumes/HDD2
mount /dev/scsi/host0/bus0/target0/lun0/part4 /tmp/hdd/volumes/HDD1
Сохраняемся и перегружаем.
- Создаем директории для торретна:
mkdir /tmp/hdd/volumes/HDD1/Torrent
mkdir /tmp/hdd/volumes/HDD1/Incomplete
- Устанавливаем Samba командой "ipkg install samba". Устанавливаем gconv-modules командой "ipkg install gconv-modules"
- Удаляем всё содержимое файла "/opt/etc/samba/smb.conf" и вставляем туда следующее:
[global]
netbios name = Venus
workgroup = WORKGROUP
server string = %h server (Samba %v)
interfaces = 127.0.0.1/24 IP.АДРЕС.ВАШЕГО.ПЛЕЕРА/24 eth0 lo
bind interfaces only = yes
security = share
guest account = root
log file = /opt/var/samba/log.%m
max log size = 10
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192
dns proxy = no
unix extensions = no
use sendfile = yes
passdb backend = smbpasswd
read raw = yes
write raw = yes
oplocks = yes
deadtime = 15
load printers = no
printcap name = /dev/null
create mask = 0644
force create mode = 0644
directory mask = 0755
force directory mode = 0755
unix charset = UTF8
display charset = CP1251
[movie]
comment = Directory for movies
path = /tmp/hdd/volumes/HDD1/REC/
read only = no
guest ok = yes
[Torrent]
comment = Directory for Torrent downloads
path = /tmp/hdd/volumes/HDD1/Torrent/
read only = yes
guest ok = yes
[hdd]
comment = Directory for all
path = /tmp/hdd/volumes/HDD1/
read only = no
guest ok = yes
Здесь ресурсы можете прописать под себя как удобнее, я сделал так, запретив любые изменения в директории "Torrent", чтобы никто не мог случайно удалить незавершённую закачку руками.
- Устанавливаем пустой (ну или не пустой) пароль для Samba командой "smbpasswd". Запускаем сервер командой "/opt/etc/init.d/S08samba" и проверяем, что в логе всё хорошо командами "cat /opt/var/samba/log.smbd" и "cat /opt/var/samba/log.nmbd". Также если есть возможность, то проверяем доступ по Samba с какого-нибудь компа в локальной сети.
- Останавливаем Samba командой "killall smbd && killall nmbd" и добавляем в файл "/etc/inetd.conf" следующие строки:
netbios-ssn stream tcp nowait root /opt/sbin/smbdsmbd -s /opt/etc/samba/smb.conf
netbios-ns dgram udp wait root /opt/sbin/nmbdnmbd -s /opt/etc/samba/smb.conf
Выполняем команду "killall -HUP inetd" и ещё раз проверяем, что Samba работает без проблем (запускать через "/opt/etc/init.d/S08samba" теперь не надо).
Здесь важное замечание: если часто пользуетесь Самбой, то всё-таки лучше запускать её не через inetd, а постоянно держать запущенной, для этого просто в самый конец файла /usr/local/etc/rcS добавьте строчку "/opt/etc/init.d/S08samba", а inetd.conf не трогайте. Связано это с тем, что хоть и при использовании inetd память кушается меньше, но возможны конфликты когда Винда захочет сама контроллировать рабочую группу.
- Выполняем команду "mount -o remount,rw /" и в файле /tmp/hdd/root/opt/etc/init.d/starter вместо
screen -dmS "rt" rtorrent 2>> /tmp/hdd/root/opt/hddmount.log
echo 'rtorrent started' >> /tmp/hdd/root/opt/hddmount.log
пишем следующее:
nice -n 15 /opt/bin/transmission-daemon -g /root/.config/transmission-daemon
- Перезагружаем плеер командой "reboot".
- Проверяем, что после перезагрузки раздел /dev/sda1 и /dev/sda 4 корректно примонтировался "df -h && mount" и все сервисы поднялись.
Если вам пишет, что вы неаторизованы и ваш адрес не в белом списке – это значит, что демон transmission-daemonиспользует конфиг по-умолчанию, а не тот что написали вы. Проверьте правильность пути конфига, при старте демона, и убедитесь, что отключили фильтрацию IP
P.S. Некоторые разъяснения конфига transmission
Установка торрента transmission c web-мордой.
Автор: urgor.
Введение
Есть в наличии собранная из разного хлама машинка, назначение которой пограничный шлюз доступа из/в домашнюю локалку. Но как там у Маяковского? Говорим интернет — подразумевает торрент, говорим торрент — подразумеваем интернет! :) Как жить в наше время без фильмов, музыки, игрушек и... для кого-то порно =)
Посему было решено водрузить на сию машинку еще и торрент с вебмордой, дабы управлять закачками по человечески, через web (водружать иксы я даже и не думал, ибо нафик там не нужны).
Установка
Т.к. я до этого пользовал transmission-cli (консольный торрент клиент), то и демона с вебмордой решил ставить из этой же серии. Итак, обновим порты и приступим к установке.
cd /usr/ports/net-p2p/transmission-daemon
make clean && make install clean |
Добавляем в /etc/rc.conf параметры запуска:
transmission_enable="YES"
# Где лежат конфиги
transmission_conf_dir="/usr/local/etc/transmission/"
# Куда складывается скаченное
transmission_download_dir="/usr/home/transmission/downloads"
# Пользователь под которым работает демон.
# Если задан пустой, то пускается под root'ом, что не рекомендуется.
# Если параметр не задан, то запускается под transmission
transmission_user="transmission"
# Дополнительные флаги запуска
transmission_flags="" |
Не забываем создать нужные папки и выдать на них разрешения.
mkdir /usr/local/etc/transmission
chown -R transmission:transmission /usr/local/etc/transmission
mkdir -p /usr/home/transmission/downloads
chown -R transmission:transmission /usr/home/transmission |
Создаем конфиг /usr/local/etc/transmission/settings.json примерно такого содержания:
{
"alt-speed-down": 50,
"alt-speed-enabled": false,
"alt-speed-time-begin": 540,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": false,
"alt-speed-time-end": 1020,
"alt-speed-up": 50,
"bind-address-ipv4": "0.0.0.0",
"bind-address-ipv6": "::",
"blocklist-enabled": false,
"dht-enabled": true,
"download-dir": "\/usr\/home\/transmission\/downloads",
"encryption": 1,
"incomplete-dir": "\/usr\/home\/transmission\/incomplete",
"incomplete-dir-enabled": true,
"lazy-bitfield-enabled": true,
"message-level": 2,
"open-file-limit": 32,
"peer-limit-global": 240,
"peer-limit-per-torrent": 60,
"peer-port": 51413,
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": false,
"peer-socket-tos": 0,
"pex-enabled": true,
"port-forwarding-enabled": true,
"preallocation": 1,
"proxy": "",
"proxy-auth-enabled": false,
"proxy-auth-password": "",
"proxy-auth-username": "",
"proxy-enabled": false,
"proxy-port": 80,
"proxy-type": 0,
"ratio-limit": 2.0000,
"ratio-limit-enabled": false,
"rename-partial-files": true,
"rpc-authentication-required": true,
"rpc-bind-address": "192.168.0.248",
"rpc-enabled": true,
"rpc-password": "{b743e257d2c7350417225b4c51a8cbcd6e8aabe9Dl3WnTBV",
"rpc-port": 9091,
"rpc-username": "urgor",
"rpc-whitelist": "127.0.0.1,192.168.0.37",
"rpc-whitelist-enabled": true,
"speed-limit-down": 100,
"speed-limit-down-enabled": false,
"speed-limit-up": 100,
"speed-limit-up-enabled": false,
"umask": 18,
"upload-slots-per-torrent": 14
} |
На что стоит обратить внимание:
RPC — Конфигурация для удаленного управления
* rpc-authentication-required: Нужна ли авторизация для удаленного доступа.
* rpc-enabled: Включить/выключить удаленный доступ.
* rpc-username: Пользователь
* rpc-password: Пароль (строка). После запуска демон его зашифрует.
* rpc-port: Прослушиваемый порт (default 9091)
* rpc-whitelist: Список ip через запятую с которых разрешено управление.
Например: "127.0.0.*,192.168.*.*", Default: "127.0.0.1"
* rpc-whitelist-enabled: true — разрешить белый список
Location
* "incomplete-dir": Папка, где размещаются недокачанные файлы. Заметьте, что слэши должны экранироваться. Наример: "\/usr\/home\/transmission\/incomplete"
* "incomplete-dir-enabled": true — разрешить.
Scheduling — Планировщик
* ratio-limit: Лимит на отдачу (default = 2.0)
* alt-speed-time-enabled: Альтернативные настройки скорости (default = false)
* alt-speed-time-begin: Время в минутах от полуночи до начала действия правил (default = 540 — 9am)
* alt-speed-time-end: Время в минутах от полуночи до окончания действия правил (default = 1020 — 5pm)
* alt-speed-time-day: Битовая маска дней по которым действуют правила (default = 127, all days)
Sunday: 1 (binary: 0000001)
Monday: 2 (binary: 0000010)
Tuesday: 4 (binary: 0000100)
Wednesday: 8 (binary: 0001000)
Thursday: 16 (binary: 0010000)
Friday: 32 (binary: 0100000)
Saturday: 64 (binary: 1000000)
Например:
Рабочие дни: 62 (binary: 0111110)
Выходные: 65 (binary: 1000001)
Все дни: 127 (binary: 1111111)
Более подробное описание всех переменных можно посмотреть на сайте самого проекта по адресу http://trac.transmissionbt.com/wiki/EditConfigFiles
Ну, а теперь когда все настроено пробуем запуститься:
/usr/local/etc/rc.d/transmission start
Starting transmission. |
И подключиться к нашему торренту http://torrent-host:9091/transmission/web/ Если ругнулось на ограничение доступа (ошибка 403), то смотрим rpc-whitelist в конфиге. Машина с которой пытаемся подключиться должна быть прописана в белом списке. Так же не лишним будет проверить /var/log/messages на предмет отсутствия ругани.
Примечание: Перед тем как вносить изменения в конфиг, остановите демон командой:
/usr/local/etc/rc.d/transmission stop |
Для еще большего облегчения себе жизни можно установить Transmission Remote GUI. Тогда интерфейс будет почти неотличим от uTorrent`а.