Comment transformer un Raspberry Pi en une machine Usenet toujours allumée

Cf : http://www.howtogeek.com/142249/how-to-turn-a-raspberry-pi-into-an-always-on-usenet-machine/

Nous allons transformer un Raspberry Pi en un client usenet fonctionnant 24h/24 et 7j/7 en faisant des économies d'énergie.

De plus, le Raspberry Pi étant toujours prêt, le PC est moins chargé et peut même être éteint. C'est particulièrement intéressant la nuit ou pour de gros téléchargements.

Pour la même chose avec BitTorrent en gardant les ratios tracker à un niveau élevé, voir l'article http://www.howtogeek.com/142044/how-to-turn-a-raspberry-pi-into-an-always-on-bittorrent-box/.

Pré-requis

Ce tutoriel nécéssite :

un Raspberry Pi (Raspbian installé) accessible soit directement via un moniteur et un clavier, soit à distance via SSH ou VNCun disque ou une clé raccordé au Raspberry Pi.Relire dans l'ordre les guides suivants (le premier est essentiel) :

Guide de mise en route HTG avec Raspberry Pi : The HTG Guide to Getting Started with Raspberry PiAccès à distance et transfert de fichiers : How to Configure Your Raspberry Pi for Remote Shell, Desktop, and File Transfermise en place (avec montage automatique au démarrage) d'un périphérique de stockage réseau économe en énergie : How to Turn a Raspberry Pi into a Low-Power Network Storage DeviceUsenet : The How-To Geek Guide to Getting Started with Usenet. Contrairement aux torrents où on peut télécharger en passant d'un traqueur public à un autre, il n'y a pas de serveur Usenet public fiable et gratuit. Il faut un compte auprès d'un fournisseur (voir le guide pour des informations générales sur Usenet et les fournisseurs). A lire absolument si on n'a pas de compte Usenet.

Installation de SABnzbd

Placez-vous sur le Raspberry Pi :

...@...:~ $ ssh framboise

installer SABnzbd et ses dépendances :

pi@framboise:~ $ sudo apt update
pi@framboise:~ $ sudo apt upgrade
pi@framboise:~ $ sudo apt install sabnzbdplus

Cela installe aussi plusieurs outils Python ainsi que les thèmes de base de SABnzbd. Un warning rappelle que SABnzbd n'a pas encore été configuré, ce qui est normal puisque nous l'installons.

Exécution de l'Assistant de configuration SABnzbd

Lancer SABnzbd pour la première fois en tapant :

sabnzbdplus --server 0.0.0.0

Cette commande démarre le démon SABnzbd sur l'interface utilisateur Web. Après quelques messages, il ne se passe plus rien : SABnzbd vient de prendre le contrôle du terminal.

Ouvrir un nouveau terminal.

Sur un PC du réseau, ouvrir dans le navigateur web l'adresse suivante :

http://[adresse_IP_du_Raspberry Pi]:8080/wizard/

Sélectionner la langue et Start Wizard.

Première étape : renseigner les informations du fournisseur Usenet.

Saisir l'hôte, le port, nom d'utilisateur / mot de passe, et définir le nombre de connexions (5 est un bon choix pour commencer).

Cliquer sur Tester le serveur pour voir si le login est le bon.

Si c'est la cas, cliquer sur Suiv.>> pour passer à la deuxième étape de l'assistant, le contrôle d'accès :

cocher Je veux que SABnzbd soit accessible à partir de tous les ordinateurs de mon réseau.décocher la case Lancer mon navigateur internet avec l'adresse de SABnzbd au démarrage de l'application.Protéger par nom d'utilisateur/mot de passe (à fournir)cocher Activer l'accès à SABnzbd via HTTPS.L'étape 3 de l'assistant de démarrage rapide est facultative et peut etre sautée. Cliquer sur Suiv.>> pour passer à l'étape 4.

La quatrième étape est automatique : le démon SABnzbd redémarre et l'assistant affiche les adresses Web pour accéder à l'interface utilisateur Web comme ceci :

Installation de unrar pour décompactage automatique

Sur l'interface, une mise en garde signale qu'aucun programme unrar n'est trouvé. Donc SABnzbd pourra télécharger des fichiers à partir de Usenet, mais ils ne seront pas automatiquement décompressés.

Pour automatiser la décompression, nous allons construire une copie de l'application libre nommée (mal à propos...) unrar-nonfree.

La méthode pour Raspian est décrite dans l'article RaspberryPi.StackExchange.

Ouvrir avec les droits d'administration le fichier /etc/apt/sources.list pour y ajouter la ligne :

deb-src http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi

De retour à l'invite de commande, mettre à jour la liste de sources pour que le changement prenne effet :

sudo apt-get update

La mise à jour est terminée, créer un répertoire de travail et s'y rendre :

mkdir ~/unrar-nonfree && cd ~/unrar-nonfree

Télécharger les dépendances de unrar-nonfree :

sudo apt-get build-dep unrar-nonfree

Lorsque le processus se termine, de retour à l'invite, entrer la commande suivante pour télécharger le code source et construire le package d'installation :

sudo apt-get source -b unrar-nonfree

Pour installer le paquet, vérifier d'abord le numéro de version en tapant “ls” et lancer la commande :

sudo dpkg -i unrar_4.1.4-1_armhf.deb

en mettant le numéro de version correct (s'aider de l'autocomplétion).

L'installation terminée, faire un test rapide en tapant “unrar” à l'invite de commande. Si elle est correctement installée, l'application unrar va afficher une liste de tous les commutateurs disponibles et leurs descriptions. Si le paquet installé sans erreur, on peut nettoyer avec la commande suivante :

cd && rm -r ~/unrar-nonfree

Pour effacer l'erreur dans SABnzbd, redémarrer sabnzbd dans l'interface utilisateur Web en cliquant sur Options -> Redémarrer. Le message d'erreur en haut à gauche devrait avoir disparu. On peut vérifier que le journal d'erreur est vide en cliquant sur le lien d'état dans le coin supérieur gauche de l'écran :

Configuration des répertoires de SABnzbd

Par défaut, tous les fichiers téléchargés vont dans le répertoire /home/pi/downloads. Si on laisse les choses ainsi, la carte SD sera rapidement remplie, ce qui arrêtera le téléchargement et arrêtera le Raspberry Pi.

Pour éviter cela, il faut déplacer les répertoires importants sur le disque dur externe qui doit donc être relié selon le tutoriel disque

Nous allons créer les répertoires pour SABnzbd :

sudo mkdir /media/Reservoirs/shares/SABnzbd/downloading
sudo mkdir /media/Reservoirs/shares/SABnzbd/completed
sudo mkdir /media/Reservoirs/shares/SABnzbd/watch
sudo mkdir /media/Reservoirs/shares/SABnzbd/watch/nzb-backup
sudo mkdir /media/Reservoirs/shares/SABnzbd/scripts

Une fois ces répertoires créés, revenir à l'interface utilisateur Web de SABnzbd pour changer les répertoires par défaut.

Dans l'interface utilisateur Web, accédez à Configuration -> Répertoires. Il y a deux sections,

dossiers de l'utilisateurdossiers du système.Dans ces deux articles, modifier les entrées suivantes en utilisant les dossiers que nous venons de créer. Il faut utiliser des chemins absolus pour forcer SABnzbd à utiliser ces dossiers à la place de la valeur par défaut.

entrée	répertoire
Dossier de téléchargement temporaire	/media/Reservoirs/shares/SABnzbd/downloading
Dossier de téléchargement terminé	/media/Reservoirs/shares/SABnzbd/completed
Dossier à surveiller	/media/Reservoirs/shares/SABnzbd/watch
Dossier des scripts de post-traitement	/media/Reservoirs/shares/SABnzbd/scripts
Dossier de sauvegarde NZB	/media/Reservoirs/shares/SABnzbd/watch/nzb-backup

On peut aussi définir l'“Espace disque minimum pour le Dossier téléchargement temporaire” en utilisant des désignations telles que 900M de 900 Mo ou 20G pour 20 gigaoctets. Il est bon de laisser 10 à 20 Go libres sur le disque pour avoir un beau tampon.

Ces modifications faites, cliquer sur Enregistrer les modifications au bas du menu.

Les changements faits exigent un redémarrage, donc cliquer sur Téléchargements pour revenir à l'interface utilisateur Web principal, puis cliquer sur Options -> Redémarrer dans le coin supérieur droit de l'écran.

Test de l'installation de SABnzbd

Après le redémarrage de SABnzbd, il est temps de le tester. Pour notre test, nous sommes dirigés vers Binsearch.info et trouvé une copie de Linux Mint à télécharger.

Pour commencer le téléchargement, téléchargeons le fichier .NZB dans le dossier SABnzbd /watch/ où SABnzbd le cherche. Il apparaît dans la file d'attente, puis est transféré à la section historique de l'interface utilisateur Web : téléchargement, vérification et décompression, comme dans la capture d'écran ci-dessus.

Réglage de SABnzbd pour qu'il soit lancé au démarrage

Le package d'installation déjà créé un script /init.d/. La seule chose à faire est d'indiquer l'utilisateur qui exécute le démon.

Pour ce faire, Ouvrir avec les droits d'administration le fichier /etc/default/sabnzbdplus pour modifier la variable

USER =pi;

Nous utilisons le compte utilisateur par défaut pi (et sous lequel nous avons installé sabnzbd).

On peut tester si les modifications sont prises en compte :

soit en redémarrant le Raspberry Pisoit en vérifiant que l'on peut démarrer SABnzbd comme un service avec la commande suivante :

sudo service sabnzbdplus start

Si les modifications sont entrées en vigueur, il s'affiche :

[....] Starting SABnzbd+ binary newsgrabber:
[ ok ] Starting SABnzbd+ binary newsgrabber:.

<note>si on exécute la commande de démarrage du service pendant que SABnzbd est en marche, il s'affichera “fail” au lieu de “ok”, car elle a échoué parce qu'elle avait déjà commencé.</note>

Améliorations de configuration et accélération

Quelques réglages permettent d'améliorer significativement les performances. Sur l'interface utilisateur Web principal, cliquer sur Config. Nous allons passer en revue les réglages par ordre d'utilité décroissante.

section Configuration -> Serveurs? SSL :: à désactiver si le serveur le permet !! section Configuration -> Paramètres? Détecter les Téléchargements dupliqués :: l'activer en choisissant Pause pour examiner la file d'attente et décider si on veut vraiment re-télécharger le fichier. !!? Mettre en pause les téléchargement lors du post-traitement :: l'activer !! section Configuration -> Général? Limite d'Article en cache :: bons résultats en mettant cette option à 32M ou 64M. !!