Comme vous le savez déjà, la version alpha de Fedora 19 ne va pas tarder à être disponible au téléchargement par Bittorrent. J'ai donc mis au point un tout petit script bash chargé de surveiller à ma place la présence des fichiers torrent correspondants sur http://torrents.fedoraproject.org/ . Ce petit script doit donc poller tous les jours les URLs des fichiers, mais aussi s'arrêter tout seul une fois les bons fichiers téléchargés. Il n'y a rien d'extraordinaire là-dedans, mis à part que j'ai rendu ce script un peu plus « smart » en le rendant opérationnel pour toutes les futures nouvelles versions. Mais bon, télécharger des fichiers, ce n'est pas suffisant, puisque je devrais les lancer dans transmission moi-même. Non, là où celà devient intéréssant c'est que les fichiers torrent seront ajoutés automatiquement à Transmission Daemon, qui démarrera les téléchargements des ISOs. C'est hélas encore insuffisant, puisqu'en 24 mois de fonctionnement le script va très rapidement saturer /var/lib/transmission. J'ai donc ajouté une suppression automatique des torrents Fedora âgés de plus d'un an, ce qui devrait stabiliser le remplissage de /var/lib/transmission à 100Gio. Il va sans dire que je recommande vivement de faire un volume logique LVM à part pour /var/lib/transmission.

Maintenant que les fonctionnalités sont détaillées, voyons un peu comment ça marche. En fait le script est placé dans /etc/cron.daily pour le polling journalier, et surtout reste synchronisé avec le cycle de développement de Fedora. Il s'appuie sur deux petits fichiers pour fonctionner correctement :
/var/lib/transmission/currentversion.txt
/var/lib/transmission/versionstatus.txt
Concrètement, currentversion.txt contient le numéro de la dernière version sortie (à l'heure actuelle "18"), et versionstatus.txt contient le status de ce numéro de version (à l'heure actuelle "stable"), puisqu'au moment où j'écris ces lignes Fedora 18 stable est la dernière version sortie de Fedora, Fedora 19 alpha n'étant pas encore sortie. Ces deux fichiers vont donc indiquer au script de rechercher une potentielle Fedora 19 alpha, et s'il ne trouve pas, recommencera demain. S'il la trouve, il télécharge les torrents, les ajoute dans Transmission Daemon, puis écrit "alpha" dans versionstatus.txt. Pourquoi n'écrit-il pas '19' dans currentversion.txt ? Parce que ces fichiers sont renseignés non pas pour l'utilisateur, mais pour le fonctionnement du script, mais ne vous inquietez pas, il y a une logique derriière tout ça. Reprenons, le script a récupéré F19 alpha et a édité son fichier, maintenant il va poller tous les jours pour récupérer F19 bêta. S'il ne trouve pas F19 bêta il réessayera demain, s'il la trouve, il récupère les torrent, les ajoute, puis édite ses fichiers. Et il écrit "beta" dans versionstatus.txt. Puis le script recommence à chercher, cette fois Fedora 19 stable. S'il trouve rien, il recommencera demain, et s'il la trouve, il écrira '19' dans currentversion.txt et 'stable' dans versionstatus.txt. La boucle est bouclée, le script cherchera donc une potentielle Fedora 20 alpha, et continuera de fonctionner ainsi à l'infini. L'explication sur le fait que les deux fichiers ne reflètent pas la vraie situation du cycle de développement de Fedora est toute simple : le script incrémente la valeur de currentversion.txt dans tous les cas, car il ne peut pas savoir dans quels cas incrémenter ou non. (Il y a moyen d'implémenter facilement cette fonctionnalité, mais vu que ce sont des fichiers dédiés au fonctionnement du script et non à l'utilisateur...) Pour ce qui est de la suppression des torrents Fedora d'un an d'ancienneté, la vérification à lieu à chaque exécution du script, soit tous les jours également, donc pas de stress à ce niveau là.

Si vous avez envie d'être les premiers à seeder Fedora,
Si vous avez un LV de plus de 100Gio pour /var/lib/transmission dans votre fstab,
Alors vous pouvez installer le RPM :
Le SRPM est bien évidemment dispo :
Pour finir, assurez-vous que les services systemd crond et transmission-daemon sont bien lancés, puis laissez rouler...