Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Comment transformer un RPi 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/

cdn.howtogeek.com_wp-content_uploads_2013_03_2013-03-26_143723.jpg

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 Rpi é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

cdn.howtogeek.com_wp-content_uploads_2013_02_2013-02-28_093803.jpg

Ce tutoriel nécéssite :

  1. un Rpi (Raspbian installé) accessible soit directement via un moniteur et un clavier, soit à distance via SSH ou VNC
  2. un disque ou une clé raccordé au Rpi.

Relire dans l'ordre les guides suivants (le premier est essentiel) :

Installation de SABnzbd

  1. Placez-vous sur le Rpi :

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

  2. 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_Rpi]: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 :

cdn.howtogeek.com_wp-content_uploads_2013_03_2013-03-27_192710.jpg

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 Rpi.

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'utilisateur
  • dossiers 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 Rpi
  • soit 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

cdn.howtogeek.com_wp-content_uploads_2013_03_2013-03-28_113328.jpg

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. !!