07-31-2017, 12:08 AM
(Modification du message : 08-17-2018, 01:19 PM par LittleScarabee.
Raison de la modification: Update v1.18
)
Bonjour,
Je propose l'ouverture de ce sujet afin d'échanger sur l'installation et la configuration de RoonLabs sur Linux.
Pour ma part j'ai déjà fait trois types d'installations :
Sur Docker, je compte prochainement faire plus de tests :
Si ce sujet intéresse du monde je partagerais un peut plus mes recherches, le cas contraire le sujet pourra être "fermé"
I - Installation de Fedora 25 :
1.1) Installation Fedora Server DVD :
- L'image ISO est disponible ici : Net Install ; cette source va vous permettre de faire une installation minimale du système avec plus de compatibilité avec les contrôleurs SATA des cartes mères
- Gravez votre image sur une clé USB (il est tout à fait possible de renommer le fichier en .img si besoin, cela fonctionne très bien, le contenu étant inchangé)
- Installation en mode graphique pas à pas :
- - - A Venir ... - - -
1.2) Installation Feodra Server NetInstall :
- L'image ISO est disponible ici : Net Install ; cette source va vous permettre de faire une installation minimale du système
Note :cette installation peut être source de problème car elle n'intègre pas tous les pilotes pour les contrôleurs SATA de notre cartes mères. Il est préférable d'utiliser la source DVD qui fait environ 2Go. Merci Patatras
- Gravez votre image sur une clé USB (il est tout à fait possible de renommer le fichier en .img si besoin, cela fonctionne très bien, le contenu étant inchangé)
- Installation en mode graphique pas à pas :
- - - A Venir ... - - -
- Tâches post-installation en se connectant directement en tant que root sur la consolle du serveur (pas en SSH) :
- Si vous n'avez pas prévu de faire des transferts de fichiers via WinSCP par exemple, vous pouvez passer sur "Dropbear" au lieu de "OpenSSH Server", car plus léger ; pour cela :
II - Configuration Post Configuration pour Fedora :
2.1) Gestion des droits "administrateur" pour l'utilisateur :
- Il faut vérifier si l'utilisateur "standard" est dans le groupe "wheel" ou pas en exécutant la commande suivante :
- Si votre commande ne renvoie rien, alors on ajouter l'utilisateur dans le groupe "wheee" et mettre à jour le fichier "sudoers" (vous allez devoir saisir le mot de passe pour le compte "ROOT") :
- Vérifier que tout s'est bien passé en exécutant cette commande qui doit retourner la valeur "wheel" :
- Une fois ces actions réalisées il faut fermer votre session SSH ou console pour prendre en compte vos modifications
2.2) Gestion des dépôts :
- Lance une mise à jour du système et on ajout les dépôts :
2.3) Ajout des utilitaires réseaux :
- Installer les paquets :
2.4) Désactive le Firewall :
- Arrête le service et on supprime le composant
2.5) Utilisation de Dropbear au lieu de OpenSSH Server (facultatif et à exécuter uniquement sur la console du serveur) :
- Arrête le service OpenSSH et on supprime le composant :
- On install Dropbear :
- On active DropBear pour un démarrage automatique
2.6) Désactive le SE Linux :
- On désactive :
- On vérifie qu'il est bien désactivé (la commande doit renvoyée : "SELINUX=disabled") :
2.7) Redémarrer le serveur :
- Après toutes actions vous devez redémarrer votre serveur :
III - Noyau CCRMA :
3.1) Installation du noyau :
- On récupère le paquet :
- On affiche les informations du contenu du paquet :
- On installe le noyau :
3.2) Activation du noyau :
- On affiche la version actuelle du noyau de base :
- Mise à jour du Grub pour le démarrage :
- On vérifie que le noyau est bien détecté :
- On active le noyau CCRMA, comme noyau par défaut :
- Il faut redémarrer le serveur, une fois redémarré exécutez la commande suivante :
- Le résultat attendu doit être du type :
3.3) Suppression de(s) ancien(s) noyau(x) :
- Lister les noyaux installés
- Supprimer le ou les noyaux que vous ne souhaitez plus conserver, exemple :
- Mise à jour de Grub et contrôle :
- Redémarre :
IV - RoonLabs & Docker :
Note : le dépôt "mikedickey/roonserver" n'est plus accessible depuis le 07-AUG-17 ; ce chapitre n'est plus fonctionnel
4.1) Installation de Docker :
- Installe les dépôts :
- Ajout du dépôt :
- Mise à jour de DNF et des paquets :
- Installe Docker :
- Active Docker au démarrage et on démarre le service
4.2) RoonServer & Docker :
- Crée un dossier spécifique à cette image Docker dans le "home directory" du compte utilisateur courant, exemple :
- Lancer le package :
- Explications sur les dossiers :
* /library/music = Le dossier où vous héberger votre bibliothèque musicale
* /home/roon/docker-roonserver = répertoire de travaille de RoonServer
- Maintenant que le packages est lancé et crée sur votre serveur vous pouvez exécuter les commandes suivantes :
* sudo docker stats = donne les informations en temps réel sur l'utilisation des ressources du serveur
* sudo docker stop RoonServer = arrête l'exécution du paquet docker
* sudo docker start RoonServer = lance l'exécution du paquet docker
- Après avoir redémarrer votre serveur vous devez juste maintenant lancer l'exécution du package avec la commande "start" (cf. ci-dessus).
4.4) RoonBridge & Docker :
- - - A Venir ... - - -
4.5) Création des services pour systemd :
- - - A Venir ... - - -
V - Installation RoonBridge & RoonServer :
C'est le tutoriel officiel que vous pouvez retrouver ici : Linux Install.
Dans le cas d'une installation sur un seul PC vous devez dérouler uniquement le premier chapitre de cette section, car RoonServer intégré ce qu'il faut pour être autonome
5.1) RoonServer :
- Installation des dépendances :
- Installation des dépendances pour les extensions (Facultatif) :
- On récupérer les sources :
- On rends exécutable le fichier
- On lance l'installation, et il faut répondre "y" pour confirmer que vous souhaitez installer RoonServer :
- Pour vérifier que tout est démarré :
Liste tous les processus en cours d'exécution sur le serveur
Renvoi une information comme quoi le service est démarré
5.2) RoonBridge : (En d'installation sur un second PC)
- On récupérer les sources :
- On rends exécutable le fichier
- On lance l'installation, et il faut répondre "y" pour confirmer que vous souhaitez installer RoonServer :
- Pour vérifier que tout est démarré :
Liste tous les processus en cours d'exécution sur le serveur
Renvoi une information comme quoi le service est démarré
5.3) Installations Extensions RoonServer : (Facultatif et à dérouler uniquement si RoonServer est déjà présent)
- Installation de NodeJS /!\ Mot de passe ROOT à saisir /!\ :
- Création du dossier qui va héberger toutes nos extensions par la suite
- Définit ce dossier comme dossier de référence pour les extensions :
- On lance l'installation :
- On lance le service :
Note : Actions a réaliser manuellement pour le moment, je mettrais en ligne le script pour le démarrer en tant que service par la suite
VI - Installation Automatisée :
Les commandes suivantes sont à réaliser avec votre compte utilisateur standard (donc pas besoin de se mettre en "root"). Pour exécuter toutes les étapes suivantes vous pouvez utiliser une session SSH. J'ai mis en place un mécanisme de reprise au cas où il faudrait dérouler une étape bien précise.
J'ai testé tout ce chapitre sous Fedora 27 en version "minimaliste" : RAS !
6.1) Les pré-requis : (durée moyenne 10 min)
- Il faut télécharger le fichier et le rendre exécutable :
- Lancer l'installation :
- Etape 1/6 : A la première question appuyer sur "entrée"
- Etape 1/6 : à la seconde question il faut saisir le mot de passe du compte "root" :
- Etape 2/6 à 5/6 :
- Etape 6/6 : il faut confirmer le redémarrage du serveur en appuyant sur la touche "y" (votre session SSH se fermera automatiquement)
6.2) Noyau CCRMA : (durée environ 10 min)
- Il faut télécharger le fichier et le rendre exécutable :
- Lancer l'installation :
- Etape 1/3 : il faut saisir le mot de passe de votre compte "root"
- Etape 2/3 : il faut appuyer sur la touche "y" pour activer le noyau CCRMA
-Etape 3/3 : il faut confirmer le redémarrage du serveur en appuyant sur la touche "y" (votre session SSH se fermera automatiquement)
- Une fois le serveur redémarrer verifier que vous etes bien sur le noyau CCRMA via la commande suivante :
6.3) RoonServer / RoonBridge : (durée environ 10-15 min)
- Il faut télécharger le fichier et le rendre exécutable :
- Lancer l'installation :
- Etape 1/3 : Confirmer ou non l'installation de RoonServer
Il vous sera demandé durant cette étape de saisir le mot de passe "root". Ce script va automatiquement installer tout ce qui est "nodejs" pour ceux qui souhaiterais s'attaquer aux "extensions" par la suite.
- Etape 2/3 : Confirmer ou non l'installation de RooBridge
- Etape 3/3 : Il faut confirmer le redémarrage du serveur
6.4) Gestion des services dans systemd :
- - - A Venir ... - - -
VII - Optimisations :
7.1) Utilisation d'un disque SSD :
Sous Windows et Mac nous avons des utilitaires à installer pour une meilleure gestion des disques SSD. Sous Fedora nous devons dérouler certains commandes (SSD sous Fedora (official))
7.1.1) Vérifier que les partitions sont alignées :
- - - A Venir ... - - -
7.1.2) Changer le scheduler du disque:
- Création du fichier :
- On passe en mode édition et on ajoute la ligne suivante, puis on sauvegarde les modifications :
Note : Ajouter une ligne pour chaque disque SSD que vous avez sur votre machine.
- On rends le fichier exécutable :
- On édite le fichier pour démarrer le service
- On ajoute le contenu suivant dans le fichier qui doit être vide, et on sauvegarde ensuite :
- On active le service pour un démarrage en automatique et on démarre le service :
- On active le TRIM sur le disque
- On redémarre le serveur ensuite
- Au redémarrage vous pouvez vérifier que le service TRIM est démarré :
- Et que le scheduler du noyau est bien sur "noop" (exemple pour le disque sda):
7.1.3) Modification de l'utilisation de la swap :
Pour éviter que le système utilise la swap du disque il faut modifier une valeur
- Edition du fichier de configuration
- Ajouter le paramètre suivant dans le fichier (qui doit être vide) :
Note : Cette valeur va de 0 à 100 ; plus elle est faible et plus le système utilise le moins possible le swap
7.1.4) Désactive la journalisation et active le TRIM :
On evite que le système journalise la moindre modification sur le disque, pour cela il faut mettre une option sur les partitions concernées
- Ouvrir le fichier concerné en édition
- On ajoute l'option "noatime" sur les partitions concernées, exemple :
Explications :
* noatime = désactive la gestion des dates d'accès sur les fichiers
* discard = active le trim pour les partition en EXT4 (nécessaire pour les SSD)
- Pour vérifier une fois l'OS redémarre on exécute la commande suivante
- Le rèsultat attendu doit être du type :
7.2) Désactivation des services non nécessaire (selon votre configuration bien sûr) :
>> Ces lignes ne s'adressent qu'à une installation faite depuis une source "Fedora Server DVD" option "Installation Server"
- Pour aide a créer des rapport de bugs
- Gestion des logs
- Pour l'iSCSI, stockage sur le réseau
- Surveillance des raids
- Gestion des volumes LVM
- Gestion du multi chemin lorsque l'on a un stockage réseau
- Planificateur de tâches
7.3) Configuration du mode bridge :
- - - A Venir ... - - -
7.4) Passage des services Roon en mode RealTime :
- Création du dossier :
- Pour RoonServer & RoonBridge : Création du script
- Pour RoonServer & RoonBridge : Passer en mode édition et ajouter le contenu suivant :
- Pour RoonServer & RoonBridge : Puis sauvegardez le fichier et rendez le exécutable :
- Pour RoonServer : Puis lancez le avec les paramètres qui vont bien :
- Pour RoonBridge : Puis lancez le avec les paramètres qui vont bien :
Note :
How to use this script : roon-realtime.sh PARAMETERS OPTIONS
Example for Server:
* roon-realtime.sh -p 99 -m FIFO -s y -a y -r y (put all process in RT)
* roon-realtime.sh -p 99 -m FIFO -a y -r y (put only process RAATServer and RoonAppliance in RT)
Example for Brige (never tested)
* roon-realtime.sh -p 99 -m FIFO -b y -r y
OPTIONS (At least one of them)
s = Server
a = Appliance
r = RAAT
b = Bridge
PARAMETERS :
m = Scheduling >> {FIFO|RR}
p = Priority >> {0-99}
- Pour RoonServer : Creation du service pour le mode démarrage automatique :
- Passez en mode edition et ajoutez le texte suivant :
Note : Pour les options de démarrage cf. plus haut pour le script.
- Pour RoonBridge : Creation du service pour le mode démarrage automatique :
- Passez en mode edition et ajoutez le texte suivant :
Note : Pour les options de démarrage cf. plus haut pour le script.
- Pour RoonServer & RoonBridge : Activez le service au démarrage et mettre à jour la liste des services :
7.5) Chargement de l'OS en RAM (remonté par Olivier) :
- - - A Venir ... - - -
7.6) Divers :
7.6.1) Bug sur le bridge réseau :
En cas d'erreur lors de l'activation du bridge, il est nécessaire d'activer le multi-pathing : Solution proposée par Olivier
7.6.2) Gestion de l'utilisation mémoire :
- J'ai mis en place un script permettant de voir l'utilisation mémoire par Roon et de vider le cache au besoin. Ci-dessous la liste des commandes à faire pour récupérer le script et le rendre exécutable :
- Pour l'utiliser il suffit de faire l'une des commandes suivantes :
- Résultat en choisissant l'option "check" :
- Résultat en choisissant l'option "clear" :
7.7) Mise à jour du kernel :
- Après s'est connecté en utilisateur standard (pas root) lancez la commande suivante et confirmez en tapant "O":
- Vous allez maintenant vérifier la liste des kernels installés
- Le résultat sera de ce type :
- Il faut maintenant redémarrer la machine et ensuite exécuter la commande suivante pour vérifier le kernel utilisé (car vous avez normalement bascule le kernel standard suite à la mise à jour) :
- Le résultat est de ce type :
- Vous allez maintenant supprimer les anciens noyaux, dans notre cas (cela permet aussi de libérer de l'espace disque) :
kernel.x86_64 4.11.12-200.fc25 @updates
kernel.x86_64 4.13.12-100.fc25 @updates
kernel-core.x86_64 4.11.12-200.fc25 @updates
kernel-core.x86_64 4.13.12-100.fc25 @updates
kernel-headers.x86_64 4.13.12-100.fc25 @updates
kernel-modules.x86_64 4.11.12-200.fc25 @updates
kernel-modules.x86_64 4.13.12-100.fc25 @updates
kernel-rt.x86_64 4.9.11-200.rt9.1.fc25.ccrma @planetcore
kernel-rt.x86_64 4.13.10-100.rt3.1.fc25.ccrma @planetcore
kernel-rt-core.x86_64 4.9.11-200.rt9.1.fc25.ccrma @planetcore
kernel-rt-core.x86_64 4.13.10-100.rt3.1.fc25.ccrma @planetcore
kernel-rt-modules.x86_64 4.9.11-200.rt9.1.fc25.ccrma @planetcore
kernel-rt-modules.x86_64 4.13.10-100.rt3.1.fc25.ccrma @planetcore
- Pour cela exécutez la commande suivante et confirmez en saisissant "O" pour chaque commande :
Note : La structure c'est : COLONE_1 (sans x86_64) + "-" + COLONE_2
- Maintenant que vous avez supprimé les deux anciens kernels il ne doit vous rester que kernel : noyau standard + CCRMA, exécuter la commande suivante pour le vérifier :
- Résultat est :
- Il faut maintenant mettre à jour le Grub :
- Puis on contrôle :
- Le résultat sera de ce type :
- On va maintenant basculer sur le noyau CCRMA, puis mise à jour et enfin reboot :
- On vérifie que l’on est bien sur le noyau choisi, suite au redémarrage :
- Le résultat attendu est :
Je propose l'ouverture de ce sujet afin d'échanger sur l'installation et la configuration de RoonLabs sur Linux.
Pour ma part j'ai déjà fait trois types d'installations :
- Sous Debian Jessie (la dernière version de Debian pose des soucis sur le wifi et reste plus lent au démarrage)
- Sous Fedora & Noyau CCRMA (scripts d'automatisation mis en place)
- Avec Docker (sous Fedora & Noyau CCRMA)
- Roon Extensions Manager (permet d'installer via l'interface de Roon les plugins existants)
- Roon Web Controller (une interface web permettant d'utiliser RoonServer, c'est assez basic et beaucoup moins riche que le client lourd sur Mac / Windows / Tablette
- Logitech Harmony Source Control
- Denon/Marantz AV receiver volume control
Sur Docker, je compte prochainement faire plus de tests :
- Avoir les deux packages sur le même serveur
- Avoir un package par PC
Si ce sujet intéresse du monde je partagerais un peut plus mes recherches, le cas contraire le sujet pourra être "fermé"
.:. TUTORIEL .:.
.:. v1.18 - 17-AOUT-18 .:.
I - Installation de Fedora 25 :
1.1) Installation Fedora Server DVD :
- L'image ISO est disponible ici : Net Install ; cette source va vous permettre de faire une installation minimale du système avec plus de compatibilité avec les contrôleurs SATA des cartes mères
- Gravez votre image sur une clé USB (il est tout à fait possible de renommer le fichier en .img si besoin, cela fonctionne très bien, le contenu étant inchangé)
- Installation en mode graphique pas à pas :
- - - A Venir ... - - -
1.2) Installation Feodra Server NetInstall :
- L'image ISO est disponible ici : Net Install ; cette source va vous permettre de faire une installation minimale du système
Note :cette installation peut être source de problème car elle n'intègre pas tous les pilotes pour les contrôleurs SATA de notre cartes mères. Il est préférable d'utiliser la source DVD qui fait environ 2Go. Merci Patatras
- Gravez votre image sur une clé USB (il est tout à fait possible de renommer le fichier en .img si besoin, cela fonctionne très bien, le contenu étant inchangé)
- Installation en mode graphique pas à pas :
- - - A Venir ... - - -
- Tâches post-installation en se connectant directement en tant que root sur la consolle du serveur (pas en SSH) :
Code :
dnf update
dnf upgrade
dnf install wget htop vim tar bzip2
- Si vous n'avez pas prévu de faire des transferts de fichiers via WinSCP par exemple, vous pouvez passer sur "Dropbear" au lieu de "OpenSSH Server", car plus léger ; pour cela :
Code :
systemctl stop sshd
dnf remove openssh-server
dnf install dropbear
systemctl enable dropbear
II - Configuration Post Configuration pour Fedora :
2.1) Gestion des droits "administrateur" pour l'utilisateur :
- Il faut vérifier si l'utilisateur "standard" est dans le groupe "wheel" ou pas en exécutant la commande suivante :
Code :
cat /etc/group | grep $(whoami) | grep wheel | awk -F':' '{ print $1; }'
- Si votre commande ne renvoie rien, alors on ajouter l'utilisateur dans le groupe "wheee" et mettre à jour le fichier "sudoers" (vous allez devoir saisir le mot de passe pour le compte "ROOT") :
Code :
su -c "usermod -aG wheel $(whoami) ; echo '%wheel ALL=(ALL) NOPASSWD: ALL'>>/etc/sudoers"
- Vérifier que tout s'est bien passé en exécutant cette commande qui doit retourner la valeur "wheel" :
Code :
cat /etc/group | grep $(whoami) | grep wheel | awk -F':' '{ print $1; }'
- Une fois ces actions réalisées il faut fermer votre session SSH ou console pour prendre en compte vos modifications
2.2) Gestion des dépôts :
- Lance une mise à jour du système et on ajout les dépôts :
Code :
sudo dnf update -y
sudo dnf upgrade -y
sudo dnf install -y yum-plugin-fastestmirror deltarpm yum-plugin-priorities vim
2.3) Ajout des utilitaires réseaux :
- Installer les paquets :
Code :
sudo dnf install -y net-tools
2.4) Désactive le Firewall :
- Arrête le service et on supprime le composant
Code :
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo dnf remove firewalld -y
2.5) Utilisation de Dropbear au lieu de OpenSSH Server (facultatif et à exécuter uniquement sur la console du serveur) :
- Arrête le service OpenSSH et on supprime le composant :
Code :
sudo systemctl stop sshd
sudo systemctl disable sshd
sudo dnf remove openssh-server -y
- On install Dropbear :
Code :
sudo dnf install dropbear -y
- On active DropBear pour un démarrage automatique
Code :
sudo systemctl enable dropbear
sudo systemctl start dropbear
2.6) Désactive le SE Linux :
- On désactive :
Code :
sudo sed --in-place=.bak 's/^SELINUX\=enforcing/SELINUX\=disabled/g' /etc/selinux/config
- On vérifie qu'il est bien désactivé (la commande doit renvoyée : "SELINUX=disabled") :
Code :
sudo cat /etc/selinux/config | egrep "SELINUX=" | tail -1
2.7) Redémarrer le serveur :
- Après toutes actions vous devez redémarrer votre serveur :
Code :
sudo reboot
III - Noyau CCRMA :
3.1) Installation du noyau :
- On récupère le paquet :
Code :
su -c 'rpm -Uvh http://ccrma.stanford.edu/planetccrma/mirror/fedora/linux/planetccrma/$(rpm -E %fedora)/x86_64/planetccrma-repo-1.1-3.fc$(rpm -E %fedora).ccrma.noarch.rpm'
- On affiche les informations du contenu du paquet :
Code :
sudo dnf info kernel-rt
- On installe le noyau :
Code :
sudo dnf install -y kernel-rt
3.2) Activation du noyau :
- On affiche la version actuelle du noyau de base :
Code :
uname -a
- Mise à jour du Grub pour le démarrage :
Code :
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
- On vérifie que le noyau est bien détecté :
Code :
sudo grep ^menuentry /boot/grub2/grub.cfg | cut -d "'" -f2 | grep ccrma
- On active le noyau CCRMA, comme noyau par défaut :
Code :
sudo grub2-set-default "$(sudo grep ^menuentry /boot/grub2/grub.cfg | cut -d "'" -f2 | grep ccrma)"
sudo grub2-editenv list
- Il faut redémarrer le serveur, une fois redémarré exécutez la commande suivante :
Code :
uname -a
- Le résultat attendu doit être du type :
Citation :Linux [Nom De Votre Serveur] 4.9.11-200.rt9.1.fc25.ccrma.x86_64+rt #1 SMP PREEMPT RT Wed Mar 8 11:46:54 PST 2017 x86_64 x86_64 x86_64 GNU/Linux
3.3) Suppression de(s) ancien(s) noyau(x) :
- Lister les noyaux installés
Code :
sudo dnf list installed | grep kernel
- Supprimer le ou les noyaux que vous ne souhaitez plus conserver, exemple :
Code :
sudo dnf remove kernel-core-4.8.6-300.fc25
- Mise à jour de Grub et contrôle :
Code :
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
grep "submenu\|^\menuentry" /boot/grub2/grub.cfg | cut -d "'" -f2
- Redémarre :
Code :
sudo reboot
IV - RoonLabs & Docker :
Note : le dépôt "mikedickey/roonserver" n'est plus accessible depuis le 07-AUG-17 ; ce chapitre n'est plus fonctionnel
4.1) Installation de Docker :
- Installe les dépôts :
Code :
sudo dnf -y install dnf-plugins-core
- Ajout du dépôt :
Code :
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
- Mise à jour de DNF et des paquets :
Code :
sudo dnf makecache fast
- Installe Docker :
Code :
sudo dnf install docker-ce
- Active Docker au démarrage et on démarre le service
Code :
sudo systemctl enable docker
sudo systemctl start docker
4.2) RoonServer & Docker :
- Crée un dossier spécifique à cette image Docker dans le "home directory" du compte utilisateur courant, exemple :
Code :
mkdir /home/roon/docker-roonserver
- Lancer le package :
Code :
sudo docker run --name RoonServer --net=host -d -v /home/roon/docker-roonserver:/var/roon -v /library/music:/music mikedickey/roonserver
- Explications sur les dossiers :
* /library/music = Le dossier où vous héberger votre bibliothèque musicale
* /home/roon/docker-roonserver = répertoire de travaille de RoonServer
- Maintenant que le packages est lancé et crée sur votre serveur vous pouvez exécuter les commandes suivantes :
* sudo docker stats = donne les informations en temps réel sur l'utilisation des ressources du serveur
* sudo docker stop RoonServer = arrête l'exécution du paquet docker
* sudo docker start RoonServer = lance l'exécution du paquet docker
- Après avoir redémarrer votre serveur vous devez juste maintenant lancer l'exécution du package avec la commande "start" (cf. ci-dessus).
4.4) RoonBridge & Docker :
- - - A Venir ... - - -
4.5) Création des services pour systemd :
- - - A Venir ... - - -
V - Installation RoonBridge & RoonServer :
C'est le tutoriel officiel que vous pouvez retrouver ici : Linux Install.
Dans le cas d'une installation sur un seul PC vous devez dérouler uniquement le premier chapitre de cette section, car RoonServer intégré ce qu'il faut pour être autonome
5.1) RoonServer :
- Installation des dépendances :
Code :
sudo dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install -y https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf update
sudo dnf install -y ffmpeg alsa-utils cifs-utils glibc htop
- Installation des dépendances pour les extensions (Facultatif) :
Code :
sudo dnf install -y gcc-c++ make git curl
- On récupérer les sources :
Code :
curl -O http://download.roonlabs.com/builds/roonserver-installer-linuxx64.sh
- On rends exécutable le fichier
Code :
chmod +x roonserver-installer-linuxx64.sh
- On lance l'installation, et il faut répondre "y" pour confirmer que vous souhaitez installer RoonServer :
Code :
sudo ./roonserver-installer-linuxx64.sh
- Pour vérifier que tout est démarré :
Code :
htop
Code :
sudo systemctl status roonserver
5.2) RoonBridge : (En d'installation sur un second PC)
- On récupérer les sources :
Code :
curl -O http://download.roonlabs.com/builds/roonbridge-installer-linuxx64.sh
- On rends exécutable le fichier
Code :
chmod +x roonbridge-installer-linuxx64.sh
- On lance l'installation, et il faut répondre "y" pour confirmer que vous souhaitez installer RoonServer :
Code :
sudo ./roonbridge-installer-linuxx64.sh
- Pour vérifier que tout est démarré :
Code :
htop
Code :
sudo systemctl status roonbridge
5.3) Installations Extensions RoonServer : (Facultatif et à dérouler uniquement si RoonServer est déjà présent)
- Installation de NodeJS /!\ Mot de passe ROOT à saisir /!\ :
Code :
su -c "curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -"
sudo dnf install -y nodejs
- Création du dossier qui va héberger toutes nos extensions par la suite
Code :
mkdir ~/RoonExtensions
- Définit ce dossier comme dossier de référence pour les extensions :
Code :
npm config set prefix '~/RoonExtensions'
- On lance l'installation :
Code :
npm install -g https://github.com/TheAppgineer/roon-extension-manager.git
- On lance le service :
Code :
cd ~/RoonExtensions/lib/node_modules/roon-extension-manager
node start.js
VI - Installation Automatisée :
Les commandes suivantes sont à réaliser avec votre compte utilisateur standard (donc pas besoin de se mettre en "root"). Pour exécuter toutes les étapes suivantes vous pouvez utiliser une session SSH. J'ai mis en place un mécanisme de reprise au cas où il faudrait dérouler une étape bien précise.
J'ai testé tout ce chapitre sous Fedora 27 en version "minimaliste" : RAS !
6.1) Les pré-requis : (durée moyenne 10 min)
- Il faut télécharger le fichier et le rendre exécutable :
Code :
wget https://raw.githubusercontent.com/LittleScarabee/RoonLabs/master/auto-install/install-RoonLabs_RT_Audiophile_Orientation-Step-01.sh
Code :
chmod +x install-RoonLabs_RT_Audiophile_Orientation-Step-01.sh
- Lancer l'installation :
Code :
./install-RoonLabs_RT_Audiophile_Orientation-Step-01.sh
- Etape 1/6 : A la première question appuyer sur "entrée"
Citation :>>> Les privilièges vont être accordés au compte 'roon', êtes-vous d'accord ? (sinon saisir le compte utilisateur)
- Etape 1/6 : à la seconde question il faut saisir le mot de passe du compte "root" :
Citation :Authentification requise en tant que 'ROOT', merci de saisir votre
Mot de passe :
- Etape 2/6 à 5/6 :
- Etape 6/6 : il faut confirmer le redémarrage du serveur en appuyant sur la touche "y" (votre session SSH se fermera automatiquement)
Citation :# ------------------------------- #
# 6/6 | Step 1 Completed #
# ------------------------------- #
Le redemarrage du serveur est nécessaire, souhaitez-vous redémarrer maintenant (Y/N) ?
6.2) Noyau CCRMA : (durée environ 10 min)
- Il faut télécharger le fichier et le rendre exécutable :
Code :
wget https://raw.githubusercontent.com/LittleScarabee/RoonLabs/master/auto-install/install-RoonLabs_RT_Audiophile_Orientation-Step-02.sh
Code :
chmod +x install-RoonLabs_RT_Audiophile_Orientation-Step-02.sh
- Lancer l'installation :
Code :
./install-RoonLabs_RT_Audiophile_Orientation-Step-02.sh
- Etape 1/3 : il faut saisir le mot de passe de votre compte "root"
Citation :# ------------------------------- #
# 1/3 | Install Kernel RT CCRMA #
# ------------------------------- #
>>> Type de système detecté : x86_64
>>> Authentification requise en tant que 'ROOT', merci de saisir votre
Mot de passe :
- Etape 2/3 : il faut appuyer sur la touche "y" pour activer le noyau CCRMA
Citation :# ------------------------------- #
# 2/3 | Enable Kernel CCRMA #
# ------------------------------- #
>>> Votre noyau actuel est le suivant :
Linux PEACH.KOULERPEI.RE 4.15.6-300.fc27.x86_64 #1 SMP Mon Feb 26 18:43:03 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.6-300.fc27.x86_64
Found initrd image: /boot/initramfs-4.15.6-300.fc27.x86_64.img
Found linux image: /boot/vmlinuz-4.14.12-300.rt10.1.fc27.ccrma.x86_64+rt
Found initrd image: /boot/initramfs-4.14.12-300.rt10.1.fc27.ccrma.x86_64+rt.img
Found linux image: /boot/vmlinuz-0-rescue-1ae561d9e8434aed95a9afd2e0c075f7
Found initrd image: /boot/initramfs-0-rescue-1ae561d9e8434aed95a9afd2e0c075f7.img
done
>>> Le noyau CCRMA est détecté dans la version suivante :
Fedora (4.14.12-300.rt10.1.fc27.ccrma.x86_64+rt) 27 (Twenty Seven)
>>> Souhaitez-vous qu'il soit le noyau par défaut maintenant (Y/N) ?
y
-Etape 3/3 : il faut confirmer le redémarrage du serveur en appuyant sur la touche "y" (votre session SSH se fermera automatiquement)
Citation :# ------------------------------- #
# 3/3 | Step 2 Completed #
# ------------------------------- #
>>> Le redemarrage du serveur est nécessaire, souhaitez-vous redémarrer maintenant (Y/N) ?
- Une fois le serveur redémarrer verifier que vous etes bien sur le noyau CCRMA via la commande suivante :
Code :
[roon@PEACH ~]$ uname -a
Linux PEACH.KOULERPEI.RE 4.14.12-300.rt10.1.fc27.ccrma.x86_64+rt #1 SMP PREEMPT RT Tue Jan 9 17:31:16 PST 2018 x86_64 x86_64 x86_64 GNU/Linux
6.3) RoonServer / RoonBridge : (durée environ 10-15 min)
- Il faut télécharger le fichier et le rendre exécutable :
Code :
wget https://raw.githubusercontent.com/LittleScarabee/RoonLabs/master/auto-install/install-RoonLabs_RT_Audiophile_Orientation-Step-03.sh
Code :
chmod +x install-RoonLabs_RT_Audiophile_Orientation-Step-03.sh
- Lancer l'installation :
Code :
./install-RoonLabs_RT_Audiophile_Orientation-Step-03.sh
- Etape 1/3 : Confirmer ou non l'installation de RoonServer
Citation :# ----------------------------------------------- #
# 1/3 | Install RoonServer #
# ----------------------------------------------- #
>>> Do you want to install RoonServer (Y/N) ?
Il vous sera demandé durant cette étape de saisir le mot de passe "root". Ce script va automatiquement installer tout ce qui est "nodejs" pour ceux qui souhaiterais s'attaquer aux "extensions" par la suite.
- Etape 2/3 : Confirmer ou non l'installation de RooBridge
Citation :# ----------------------------------------------- #
# 2/3 | Install RoonBridge #
# ----------------------------------------------- #
>>> Do you want to install RoonBridge (Y/N) ?
- Etape 3/3 : Il faut confirmer le redémarrage du serveur
Citation :# ----------------------------------------------- #
# 3/3 | Reboot #
# ----------------------------------------------- #
>>> Reboot of the server is needed, do you want to do it now (Y/N) ?
y
6.4) Gestion des services dans systemd :
- - - A Venir ... - - -
VII - Optimisations :
7.1) Utilisation d'un disque SSD :
Sous Windows et Mac nous avons des utilitaires à installer pour une meilleure gestion des disques SSD. Sous Fedora nous devons dérouler certains commandes (SSD sous Fedora (official))
7.1.1) Vérifier que les partitions sont alignées :
- - - A Venir ... - - -
7.1.2) Changer le scheduler du disque:
- Création du fichier :
Code :
sudo vim /etc/rc.d/rc.local
- On passe en mode édition et on ajoute la ligne suivante, puis on sauvegarde les modifications :
Code :
#!/bin/bash
echo 'noop' > /sys/block/sda/queue/scheduler
- On rends le fichier exécutable :
Code :
sudo chmod +x /etc/rc.d/rc.local
- On édite le fichier pour démarrer le service
Code :
sudo vim /etc/systemd/system/rc-local.service
- On ajoute le contenu suivant dans le fichier qui doit être vide, et on sauvegarde ensuite :
Code :
[Unit]
Description=/etc/rc.d/rc.local Compatibility
ConditionFileIsExecutable=/etc/rc.d/rc.local
After=network.target
[Service]
Type=forking
ExecStart=/etc/rc.d/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
GuessMainPID=no
[Install]
WantedBy=multi-user.target
- On active le service pour un démarrage en automatique et on démarre le service :
Code :
sudo systemctl enable rc-local.service
sudo systemctl start rc-local.service
- On active le TRIM sur le disque
Code :
sudo systemctl enable fstrim.timer
- On redémarre le serveur ensuite
Code :
sudo reboot
- Au redémarrage vous pouvez vérifier que le service TRIM est démarré :
Code :
sudo systemctl status fstrim.timer
- Et que le scheduler du noyau est bien sur "noop" (exemple pour le disque sda):
Code :
sudo cat /sys/block/sda/queue/scheduler
7.1.3) Modification de l'utilisation de la swap :
Pour éviter que le système utilise la swap du disque il faut modifier une valeur
- Edition du fichier de configuration
Code :
sudo vim /etc/sysctl.conf
- Ajouter le paramètre suivant dans le fichier (qui doit être vide) :
Code :
vm.swappiness = 0
7.1.4) Désactive la journalisation et active le TRIM :
On evite que le système journalise la moindre modification sur le disque, pour cela il faut mettre une option sur les partitions concernées
- Ouvrir le fichier concerné en édition
Code :
sudo vim /etc/fstab
- On ajoute l'option "noatime" sur les partitions concernées, exemple :
Code :
/dev/sda1 / ext4 defaults,noatime,discard 1 1
* noatime = désactive la gestion des dates d'accès sur les fichiers
* discard = active le trim pour les partition en EXT4 (nécessaire pour les SSD)
- Pour vérifier une fois l'OS redémarre on exécute la commande suivante
Code :
sudo findmnt -O discard
- Le rèsultat attendu doit être du type :
Citation :[roon@PEACH ~]$ sudo findmnt -O discardNote : La valeur "data=ordered" s'ajoute automatiquement lorsque l'on utilise l'option "discard".
TARGET SOURCE FSTYPE OPTIONS
/ /dev/sda3 ext4 rw,noatime,discard,data=ordered
├─/boot /dev/sda2 ext4 rw,noatime,discard,data=ordered
└─/library /dev/sda5 ext4 rw,noatime,discard,data=ordered
7.2) Désactivation des services non nécessaire (selon votre configuration bien sûr) :
>> Ces lignes ne s'adressent qu'à une installation faite depuis une source "Fedora Server DVD" option "Installation Server"
- Pour aide a créer des rapport de bugs
Code :
sudo systemctl disable abrtd
- Gestion des logs
Code :
sudo systemctl disable rsyslog
- Pour l'iSCSI, stockage sur le réseau
Code :
sudo systemctl disable iscsi
- Surveillance des raids
Code :
sudo systemctl disable mdmonitor
- Gestion des volumes LVM
Code :
sudo systemctl disable lvm2-monitor
- Gestion du multi chemin lorsque l'on a un stockage réseau
Code :
sudo systemctl disable multipathd
- Planificateur de tâches
Code :
sudo systemctl disable crond
7.3) Configuration du mode bridge :
- - - A Venir ... - - -
7.4) Passage des services Roon en mode RealTime :
- Création du dossier :
Code :
sudo mkdir /opt/RoonRealTime
sudo chmod 755 -R /opt/RoonRealTime
- Pour RoonServer & RoonBridge : Création du script
Code :
sudo vim /opt/RoonRealTime/roon-realtime.sh
- Pour RoonServer & RoonBridge : Passer en mode édition et ajouter le contenu suivant :
Code PHP :
#!/bin/bash
# ProcessusName
PROC_ROON="RoonServer"
PROC_BRIDGE="RoonBridge"
PROC_RAAT="RAATServer"
PROC_APPLIANCE="RoonAppliance"
# Log File
STR_LOG="/var/log/roon-realtime.log"
echo "- - - - " > $STR_LOG
echo "## Date : $( date +'%D %r' )" >> $STR_LOG
echo "## User : $( whoami )" >> $STR_LOG
echo "- - - - " >> $STR_LOG
# Options
STR_HELP="
How to use this script :
roon-realtime.sh PARAMETERS OPTIONS
Example for Server: roon-realtime.sh -p 99 -m FIFO -s y -a y -r y
Example for Brige: roon-realtime.sh -p 99 -m FIFO -b y -r y
* Options (At least one of them)
s = Server
a = Appliance
r = RAAT
b = Bridge
* Parameters
m = Scheduling >> {FIFO|RR}
p = Priority >> {0-99}
"
while getopts s:a:r:b:m:p:h: option
do
case "${option}"
in
s)
OPT_ROON=${OPTARG}
echo "## Option $PROC_ROON selected..." >> $STR_LOG
;;
a)
OPT_APPLIANCE=${OPTARG}
echo "## Option $PROC_APPLIANCE selected..." >> $STR_LOG
;;
r)
OPT_RAAT=${OPTARG}
echo "## Option $PROC_RAAT selected..." >> $STR_LOG
;;
b)
OPT_BRIDGE=${OPTARG}
echo "## Option $PROC_BRIDGE selected..." >> $STR_LOG
;;
m)
SCHED_CMD=${OPTARG}
echo "## Scheduling $SCHED_CMD selected..." >> $STR_LOG
;;
p)
SCHED_RANGE=${OPTARG}
echo "## Priority $SCHED_RANGE selected..." >> $STR_LOG
;;
h)
echo $STR_HELP
exit 0
;;
esac
done
echo "- - - -" >> $STR_LOG
# # # # # # # # # #
# Function
# $1 = Value for Process Name
# $2 = Value for Log file
# # # # # # # # # #
function Get_ProcessStatus () {
# Check if the process is started
if [ -f /proc/$(/usr/bin/pidof $1)/exe ]; then
INT_RETURN=1
echo "## Service $1 started..." >> $2
else
INT_RETURN=0
echo "## Service $1 not started..." >> $2
fi
# Return value of the flag
return $INT_RETURN
}
# Pause
echo "## Pause 7 secs (to be sure all services are running)..." >> $STR_LOG
sleep 7
echo "- - - -" >> $STR_LOG
# Check if the service are running
FLAG=0
FLAG_MAX=3
# Identify the number of service
if [ "$PROC_BRIDGE" == "Y" ] || [ "$PROC_BRIDGE" == "y" ]; then
FLAG_MAX=2
fi
# Iteration
while (( FLAG < FLAG_MAX ))
do
# Check for RoonServer
Get_ProcessStatus $PROC_ROON $STR_LOG
INT_RESULT=$?
FLAG=$(($FLAG + $INT_RESULT))
# Check for RoonAppliance
Get_ProcessStatus $PROC_APPLIANCE $STR_LOG
INT_RESULT=$?
FLAG=$(($FLAG + $INT_RESULT))
# Check for RAATServer
Get_ProcessStatus $PROC_RAAT $STR_LOG
INT_RESULT=$?
FLAG=$(($FLAG + $INT_RESULT))
# Check for RoonBridge
Get_ProcessStatus $PROC_BRIDGE $STR_LOG
INT_RESULT=$?
FLAG=$(($FLAG + $INT_RESULT))
done
echo "- - - -" >> $STR_LOG
# Schedule Round robin
if [ "$SCHED_CMD" == "RR" ] || [ "$SCHED_CMD" == "rr" ]; then
SCHED_CMD="-r"
fi
# Schedule First in, first out
if [ "$SCHED_CMD" == "FIFO" ] || [ "$SCHED_CMD" == "fifo" ]; then
SCHED_CMD="-f"
fi
# # # # # # # # # #
# Function
# $1 = Value for Option
# $2 = Value for Parent Process Name
# $3 = Value for Scheduling
# $4 = Value for Priority
# # # # # # # # # #
function Set_RealTime () {
if [ "$1" == "Y" ] || [ "$1" == "y" ]; then
ARR_PID=$(ls /proc/$(pidof $2)/task)
INT_ROWS=0
for p_id in $ARR_PID;
do
echo "## Process : $(tail /proc/$(pidof $2)/task/$p_id/comm) | PID = $p_id" >> $STR_LOG
chrt $3 -p $4 $p_id >> $STR_LOG
chrt -p $p_id >> $STR_LOG
INT_ROWS=$(($INT_ROWS + 1));
done
echo "## -----------------------------------------------------------------" >> $STR_LOG
echo "## Parent Process [$2] >> $INT_ROWS child process updated..." >> $STR_LOG
echo "## -----------------------------------------------------------------" >> $STR_LOG
echo "- - - - " >> $STR_LOG
fi
}
# Iteration for RoonServer
Set_RealTime $OPT_ROON $PROC_ROON $SCHED_CMD $SCHED_RANGE
# Iteration for RoonBridge
Set_RealTime $OPT_BRIDGE $PROC_BRIDGE $SCHED_CMD $SCHED_RANGE
# Iteration for RAATServer
Set_RealTime $OPT_RAAT $PROC_RAAT $SCHED_CMD $SCHED_RANGE
# Iteration for RoonAppliance
Set_RealTime $OPT_APPLIANCE $PROC_APPLIANCE $SCHED_CMD $SCHED_RANGE
# End
exit 0
- Pour RoonServer & RoonBridge : Puis sauvegardez le fichier et rendez le exécutable :
Code :
sudo chmod +x /opt/RoonRealTime/roon-realtime.sh
- Pour RoonServer : Puis lancez le avec les paramètres qui vont bien :
Code :
sudo /opt/RoonRealTime/roon-realtime.sh -p 99 -m FIFO -r y -a y -s y
- Pour RoonBridge : Puis lancez le avec les paramètres qui vont bien :
Code :
sudo /opt/RoonRealTime/roon-realtime.sh -p 99 -m FIFO -b y -r y
Note :
How to use this script : roon-realtime.sh PARAMETERS OPTIONS
Example for Server:
* roon-realtime.sh -p 99 -m FIFO -s y -a y -r y (put all process in RT)
* roon-realtime.sh -p 99 -m FIFO -a y -r y (put only process RAATServer and RoonAppliance in RT)
Example for Brige (never tested)
* roon-realtime.sh -p 99 -m FIFO -b y -r y
OPTIONS (At least one of them)
s = Server
a = Appliance
r = RAAT
b = Bridge
PARAMETERS :
m = Scheduling >> {FIFO|RR}
p = Priority >> {0-99}
- Pour RoonServer : Creation du service pour le mode démarrage automatique :
Code :
sudo vim /etc/systemd/system/roon-realtime.service
- Passez en mode edition et ajoutez le texte suivant :
Code :
[Unit]
Description=Realtime Process for RoonLabs
After=roonserver.service
Requires=roonserver.service
[Service]
User=root
Type=forking
WorkingDirectory=/opt/RoonRealTime
ExecStart=/usr/bin/sh roon-realtime.sh -p 99 -m FIFO -a y -r y -s y
[Install]
WantedBy=multi-user.target
- Pour RoonBridge : Creation du service pour le mode démarrage automatique :
Code :
sudo vim /etc/systemd/system/roon-realtime.service
- Passez en mode edition et ajoutez le texte suivant :
Code :
[Unit]
Description=Realtime Process for RoonLabs
After=roonbridge.service
Requires=roonbridge.service
[Service]
User=root
Type=forking
WorkingDirectory=/opt/RoonRealTime
ExecStart=/usr/bin/sh roon-realtime.sh -p 99 -m FIFO -a y -r y -b y
[Install]
WantedBy=multi-user.target
- Pour RoonServer & RoonBridge : Activez le service au démarrage et mettre à jour la liste des services :
Code :
sudo systemctl daemon-reload
sudo systemctl enable roon-realtime.service
7.5) Chargement de l'OS en RAM (remonté par Olivier) :
- - - A Venir ... - - -
7.6) Divers :
7.6.1) Bug sur le bridge réseau :
En cas d'erreur lors de l'activation du bridge, il est nécessaire d'activer le multi-pathing : Solution proposée par Olivier
7.6.2) Gestion de l'utilisation mémoire :
- J'ai mis en place un script permettant de voir l'utilisation mémoire par Roon et de vider le cache au besoin. Ci-dessous la liste des commandes à faire pour récupérer le script et le rendre exécutable :
Code :
cd /usr/sbin/
sudo wget https://raw.githubusercontent.com/LittleScarabee/RoonLabs/master/scripts/roon-memory.sh
sudo chmod +x roon-memory.sh
- Pour l'utiliser il suffit de faire l'une des commandes suivantes :
Code :
/usr/sbin/roon-memory.sh
ou
roon-memory.sh
- Résultat en choisissant l'option "check" :
Citation :[roon@PEACH ~]$ roon-memory.sh
Que souhaitez-vous faire : Controler la mémoire (check) ou Vider le cache (clear) ?
check
######### RoonServer #########
Utilisation = 362.441 Mo
######### RoonAppliance #########
Utilisation = 295.816 Mo
######### RAATServer #########
Utilisation = 27 Mo
######### RoonBridge #########
Utilisation = 0 Mo
- Résultat en choisissant l'option "clear" :
Citation :[roon@PEACH ~]$ roon-memory.sh
Que souhaitez-vous faire : Controler la mémoire (check) ou Vider le cache (clear) ?
clear
######### Utilisation mémoire avant #########
total used free shared buff/cache available
Mem: 1,8G 351M 29M 692K 1,4G 1,4G
Swap: 3,9G 0B 3,9G
>>> Authentification requise en tant que 'ROOT', merci de saisir votre
Mot de passe :
######### Utilisation mémoire après #########
total used free shared buff/cache available
Mem: 1,8G 353M 1,2G 712K 274M 1,4G
Swap: 3,9G 0B 3,9G
7.7) Mise à jour du kernel :
- Après s'est connecté en utilisateur standard (pas root) lancez la commande suivante et confirmez en tapant "O":
Code :
sudo dnf update
- Vous allez maintenant vérifier la liste des kernels installés
Code :
sudo dnf list installed | grep kernel
- Le résultat sera de ce type :
Citation :[roon@PEACH ~]$ sudo dnf list installed | grep kernel
kernel.x86_64 4.11.12-200.fc25 @updates
kernel.x86_64 4.13.12-100.fc25 @updates
kernel-core.x86_64 4.11.12-200.fc25 @updates
kernel-core.x86_64 4.13.12-100.fc25 @updates
kernel-headers.x86_64 4.13.12-100.fc25 @updates
kernel-modules.x86_64 4.11.12-200.fc25 @updates
kernel-modules.x86_64 4.13.12-100.fc25 @updates
kernel-rt.x86_64 4.9.11-200.rt9.1.fc25.ccrma @planetcore
kernel-rt.x86_64 4.13.10-100.rt3.1.fc25.ccrma @planetcore
kernel-rt-core.x86_64 4.9.11-200.rt9.1.fc25.ccrma @planetcore
kernel-rt-core.x86_64 4.13.10-100.rt3.1.fc25.ccrma @planetcore
kernel-rt-modules.x86_64 4.9.11-200.rt9.1.fc25.ccrma @planetcore
kernel-rt-modules.x86_64 4.13.10-100.rt3.1.fc25.ccrma @planetcore
- Il faut maintenant redémarrer la machine et ensuite exécuter la commande suivante pour vérifier le kernel utilisé (car vous avez normalement bascule le kernel standard suite à la mise à jour) :
Code :
uname -a
- Le résultat est de ce type :
Code :
[roon@PEACH ~]$ uname -a
Linux PEACH 4.13.12-100.fc25.x86_64 #1 SMP Wed Nov 8 18:13:25 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
- Vous allez maintenant supprimer les anciens noyaux, dans notre cas (cela permet aussi de libérer de l'espace disque) :
kernel.x86_64 4.11.12-200.fc25 @updates
kernel.x86_64 4.13.12-100.fc25 @updates
kernel-core.x86_64 4.11.12-200.fc25 @updates
kernel-core.x86_64 4.13.12-100.fc25 @updates
kernel-headers.x86_64 4.13.12-100.fc25 @updates
kernel-modules.x86_64 4.11.12-200.fc25 @updates
kernel-modules.x86_64 4.13.12-100.fc25 @updates
kernel-rt.x86_64 4.9.11-200.rt9.1.fc25.ccrma @planetcore
kernel-rt.x86_64 4.13.10-100.rt3.1.fc25.ccrma @planetcore
kernel-rt-core.x86_64 4.9.11-200.rt9.1.fc25.ccrma @planetcore
kernel-rt-core.x86_64 4.13.10-100.rt3.1.fc25.ccrma @planetcore
kernel-rt-modules.x86_64 4.9.11-200.rt9.1.fc25.ccrma @planetcore
kernel-rt-modules.x86_64 4.13.10-100.rt3.1.fc25.ccrma @planetcore
- Pour cela exécutez la commande suivante et confirmez en saisissant "O" pour chaque commande :
Code :
sudo dnf remove kernel-rt-core-4.9.11-200.rt9.1.fc25.ccrma
sudo dnf remove kernel-core-4.11.12-200.fc25
Note : La structure c'est : COLONE_1 (sans x86_64) + "-" + COLONE_2
- Maintenant que vous avez supprimé les deux anciens kernels il ne doit vous rester que kernel : noyau standard + CCRMA, exécuter la commande suivante pour le vérifier :
Code :
sudo dnf list installed | grep kernel
- Résultat est :
Code :
[roon@PEACH ~]$ sudo dnf list installed | grep kernel
kernel.x86_64 4.13.12-100.fc25 @updates
kernel-core.x86_64 4.13.12-100.fc25 @updates
kernel-headers.x86_64 4.13.12-100.fc25 @updates
kernel-modules.x86_64 4.13.12-100.fc25 @updates
kernel-rt.x86_64 4.13.10-100.rt3.1.fc25.ccrma @planetcore
kernel-rt-core.x86_64 4.13.10-100.rt3.1.fc25.ccrma @planetcore
kernel-rt-modules.x86_64 4.13.10-100.rt3.1.fc25.ccrma @planetcore
- Il faut maintenant mettre à jour le Grub :
Code :
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
- Puis on contrôle :
Code :
grep "submenu\|^\menuentry" /boot/grub2/grub.cfg | cut -d "'" -f2
- Le résultat sera de ce type :
Code :
[roon@PEACH ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.13.12-100.fc25.x86_64
Found initrd image: /boot/initramfs-4.13.12-100.fc25.x86_64.img
Found linux image: /boot/vmlinuz-4.13.10-100.rt3.1.fc25.ccrma.x86_64+rt
Found initrd image: /boot/initramfs-4.13.10-100.rt3.1.fc25.ccrma.x86_64+rt.img
Found linux image: /boot/vmlinuz-0-rescue-deda80999134438d9cecc9472589362f
Found initrd image: /boot/initramfs-0-rescue-deda80999134438d9cecc9472589362f.img
done
[roon@PEACH ~]$ grep "submenu\|^\menuentry" /boot/grub2/grub.cfg | cut -d "'" -f2
Fedora (4.13.12-100.fc25.x86_64) 25 (Twenty Five)
Fedora (4.13.10-100.rt3.1.fc25.ccrma.x86_64+rt) 25 (Twenty Five)
Fedora (0-rescue-deda80999134438d9cecc9472589362f) 25 (Twenty Five)
- On va maintenant basculer sur le noyau CCRMA, puis mise à jour et enfin reboot :
Code :
sudo grub2-set-default "Fedora (4.13.10-100.rt3.1.fc25.ccrma.x86_64+rt) 25 (Twenty Five)"
sudo grub2-editenv list
sudo reboot
- On vérifie que l’on est bien sur le noyau choisi, suite au redémarrage :
Code :
uname -a
- Le résultat attendu est :
Code :
[roon@PEACH ~]$ uname -a
Linux PEACH 4.13.10-100.rt3.1.fc25.ccrma.x86_64+rt #1 SMP PREEMPT RT Fri Nov 3 10:34:09 PDT 2017 x86_64 x86_64 x86_64 GNU/Linux
Streamer : Windows Server 2019 & AO 3 & HQPlayer | Aurdirvana -> Diretta
Dac : PS Paul Hynes SR4 -> Chord 2Qute
Casque : Auris HA-2SF -> Focal Clear MG
Démat : Auris HA-2SF -> Atoll IN100 By JCT (Ampli) -> Harbeth LS3/5A 11 Ohms
Vinyle : Thorens TD 295 MK IV & Autio-Technica AT-150MLX
Dac : PS Paul Hynes SR4 -> Chord 2Qute
Casque : Auris HA-2SF -> Focal Clear MG
Démat : Auris HA-2SF -> Atoll IN100 By JCT (Ampli) -> Harbeth LS3/5A 11 Ohms
Vinyle : Thorens TD 295 MK IV & Autio-Technica AT-150MLX