Внешний USB-диск и торренты

Disclaimer: данные инструкции не претендуют на истину в последней инстанции. Более того, наверняка в этих инструкциях есть не оптимальные или «костыльные» решения. Я пытался решать возникающие вопросы теми способами, которые нашёл. Если у вас есть замечания и дополнения — ниже есть блок для комментариев.
Ещё одна из задач, которые я хотел повесить на Raspberry Pi — автоматизацию закачек аниме и сериалов. Не поймите меня неправильно, я в целом не поддерживаю пиратство, я готов и хочу платить за качественный сервис, но, увы, на этих двух фронтах стоят сервисы, которые не устраивают меня по качеству и запросам (это даже откинув региональные ограничения).

USB-диск

Ну ладно, лирика лирикой, а для начала неплохо бы расширить хранилище у Raspberry Pi. У меня завалялся относительно старенький USB-диск на 1Tb. Он был боевой, повидал многое, поэтому почему бы сейчас ему не побыть в роли домашнего хранилища.
Насколько я знаю, далеко не всегда Pi хорошо дружит с внешними дисками. Лучший вариант — диск с внешним питанием. Ещё многое зависит от питания самой Pi: от провода и USB-зарядника.
Ну ладно, мой диск завёлся нормально и был с файловой системой NTFS. Raspbian из коробки уже может читать эту файловую систему, но для записи в неё нам понадобится установить дополнительный пакет:

sudo apt-get update
sudo apt-get install ntfs-3g

Теперь нам надо примонтировать этот диск, и сделать так, чтобы он монтировался автоматически при загрузке. 
Подключим диск и выполним команду:

sudo lsblk -o UUID,NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL,MODEL

На самом деле самая важная информация — это UUID нашего диска. В моём случае это CC50980E5097FE00
Я решил монтировать этот диск в директорию /mnt. Для этого надо открыть файл /etc/fstab :

sudo nano /etc/fstab

и добавить к остальным строкам такую (заменив UUID на ваш)

UUID=CC50980E5097FE00 /mnt ntfs defaults 0 0

Размонтирование диска производится командой sudo umount /mnt, а монтирование sudo mount -a
Руководство с сайта Raspberry Pi советует перед размонтированием проверять, не использует ли что-либо этот диск с помощью пакета lsof, но мы же рисковые, да? 🙂 (на самом деле нет, делайте как там написано).

Samba

Теперь расшарим диск по сети
Установим Samba:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install samba samba-common-bin

Дадим полные права директории с диском:

sudo chmod 0777 /mnt

Далее отредактируем конфиг Samba, добавив в конец блок [share]:

sudo nano /etc/samba/smb.conf

[share]
Comment = PiShare
Path = /mnt
Browseable = yes
Writeable = Yes
only guest = no
create mask = 0777
directory mask = 0777
Public = yes

Наконец, создадим Samba-пользователя и зададим пароль:

sudo smbpasswd -a pi

Теперь осталось перезагрузить Samba и к сетевой папке можно подключаться:

sudo /etc/init.d/samba restart

Торренты

Я остановил свой выбор на клиенте Deluge, поэтому все инструкции, касающиеся торрентов, предназначены для него.


Установим Deluge. Честно говоря не помню этот шаг идеально, многие устанавливают демона deluged и его запускают, но мне комфортнее сработалось с графической версией.

sudo apt-get update
sudo apt-get install deluge deluge-common deluge-gtk deluge-web deluge-webui

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



WebUI

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


YaRSS2

Это сканер RSS-лент. Он мониторит заданные ему ленты раз в 5+ минут и при совпадении условий качает соответствующие торренты. Не работает в веб-интерфейсе.



Установка и настройка весьма просты и хорошо описаны на странице плагина. Добавляются нужные ленты и потом создаются подписки с условиями на эти ленты.

Auto Remove Plus

Набор правил по удалению торрентов. В Deluge есть некоторые стандартные способы удаления при разных условиях, но подружиться с ними у меня не получилось.


Также я хотел, чтобы Deluge запускался автоматом на старте системы. Тут вышел забавный момент. Я перепробовал несколько способов (Записи в rc.local; крон), но ничего не получалось. А потом скопировал ярлык Deluge из .local/share/applications (в домашней директории) в .config/autostart и он действительно начал запускаться на старте системы 😀 Такого я не ожидал.