Accueil » Systèmes » Page 5
1. Installation de yt-dlp :
sudo apt update
sudo apt install python3-pip ffmpeg -y
pip3 install --upgrade yt-dlp
2. Télécharger l’audio en MP3 de meilleure qualité
yt-dlp -x --audio-format mp3 --audio-quality 0 https://www.youtube.com/watch?v=I_rVtFUkMus
Explication :
- -x : extrait uniquement l’audio (pas de vidéo).
- –audio-format mp3 : convertit directement en MP3 (utilise ffmpeg).
- –audio-quality 0 : meilleure qualité possible (VBR ~320 kbps).
Le fichier sera sauvegardé dans le dossier courant avec comme nom le titre de la vidéo.
3. Alias simple pour télécharger directement dans ~/Musique
Et à la fin du fichier on met:
echo "alias mp3='yt-dlp -x --audio-format mp3 --audio-quality 0 -o \"~/Musique/%(title)s.%(ext)s\"'" >> ~/.bashrc
Puis on recharge le fichier
source ~/.bashrc
Utilisation ensuite :
mp3 https://www.youtube.com/watch?v=I_rVtFUkMus
Bonus : télécharger une playlist entière en MP3
yt-dlp -x --audio-format mp3 --audio-quality 0 --yes-playlist URL_DE_LA_PLAYLIST
1) Pour commencer nous allons arrêter le domaine que nous souhaitons migrer
ou si elle ne repond pas
virsh destroy nom_VM
2) Sur l’hyperviseur source, nous allons exporter la configuration du domaine dans un fichier xml:
virsh dumpxml nom_VM > nom_VM.xml
3 ) Toujours sur l’hyperviseur source, on copie le ou les fichiers disques du domaine que l’on souhaite migrer, depuis son emplacement dans /var/lib/libvirt/images vers le même répertoire sur l’hyperviseur de destination.
scp -p /var/lib/libvirt/images/nom_VM.qcow2 hyperviseur_destination:/var/lib/libvirt/images/
Si plusieurs disques ou stockage partagé différent : Adapte le chemin source et destination.
Utilise -r si tu as un répertoire entier, ou rsync pour plus de fiabilité :
rsync -avz --progress /var/lib/libvirt/images/nom_VM.qcow2 hyperviseur_destination:/var/lib/libvirt/images/
Si le chemin du disque est différent sur l’hyperviseur de destination, il faudra le modifier le fichier xml générer dans l’étape précédente pour que cela pointe au bon endroit.
4 ) On copie également notre fichier XML sur l’hyperviseur de destination
scp -p nom_VM.xml hyperviseur_destination:/tmp/
5) On intègre le domaine dans KVM à l’aide de notre fichier xml:
virsh define /tmp/nom_VM.xml
6) Il ne reste plus qu’a démarrer notre domaine
Vérification finale :
virsh list # VM running sur la destination
virsh list --all # VM absente ou "shut off" sur la source (tu peux l’undefine après)
Une fois la migration validée sur l’hyperviseur source:
virsh undefine nom_VM
rm nom_VM.xml /var/lib/libvirt/images/nom_VM.qcow2
Cette méthode crée un dépôt local offline à partir de l’ISO DVD (BaseOS + AppStream). Elle est idéale pour les serveurs isolés (sans internet ni subscription Red Hat).Prérequis :
- Télécharge l’ISO DVD complet de RHEL 9 ou 10 (via ton compte Red Hat Developer gratuit pour les tests).
- Copie l’ISO sur le serveur (via USB, SCP, etc.).
1. Monter l’ISO
sudo mkdir /mnt/rhel-iso
sudo mount -o loop /chemin/vers/rhel-9.x-x86_64-dvd.iso /mnt/rhel-iso
(Remplace par ton chemin ISO et version : rhel-9.4-x86_64-dvd.iso ou rhel-10.0-x86_64-dvd.iso)
Vérifie (tu dois voir BaseOS et AppStream):
2. Copier le contenu de l’ISO (optionnel mais recommandé pour persistance)
sudo mkdir -p /var/local-repo/rhel
sudo cp -av /mnt/rhel-iso/* /var/local-repo/rhel/
3. Créer le fichier de configuration du dépôt
sudo vi /etc/yum.repos.d/local-rhel.repo
On y ajoute les lignes suivantes :
[local-baseos]
name=Local RHEL BaseOS
baseurl=file:///var/local-repo/rhel/BaseOS
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[local-appstream]
name=Local RHEL AppStream
baseurl=file:///var/local-repo/rhel/AppStream
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
4. Désactiver les dépôts officiels Red Hat (pour éviter les erreurs subscription):
sudo subscription-manager repos --disable=*
5. Nettoyer le cache DNF et tester
sudo dnf clean all
sudo dnf repolist
6. Installer un paquet pour tester
7. Démonter l’ISO
sudo umount /mnt/rhel-iso
sudo rmdir /mnt/rhel-iso
On commence par lister tous nos domaines:
virsh list --all
ID Nom État
----------------------------------------------------
- Centreon fermé
- generic fermé
- Ubuntu fermé
- win10 fermé
Ici nous voulons faire un snapshot du domaine « Ubuntu », nous allons donc regarder si il y a des snapshot existant pour ce domaine:
virsh snapshot-list --domain Ubuntu
Nom Creation Time État
------------------------------------------------------------
On vérifie si le fichier disque est bien au format qemu/qcow2:
virsh dumpxml Ubuntu | grep -i qemu
<driver name='qemu' type='qcow2' cache='none'/>
<driver name='qemu' type='qcow2'/>
Pour un domaine éteint:
virsh snapshot-create-as --domain Ubuntu --name "Snapshot_test" --description "Snapshot de test"
Domain snapshot Snapshot_test created
Pour un domaine en fonctionnement:
virsh snapshot-create-as --domain Ubuntu --name "Snapshot_test" --description "Snapshot de test" --live
Domain snapshot Snapshot_test created
On peut maintenant voir notre snapshot:
virsh snapshot-list --domain Ubuntu
Nom Creation Time État
------------------------------------------------------------
Snapshot_test 2018-03-14 20:39:53 +0100 shutoff
Pour restaurer le snapshot:
virsh shutdown --domain Ubuntu
virsh snapshot-revert --domain Ubuntu --snapshotname Snapshot_test --running
Pour supprimer le snapshot:
virsh snapshot-delete --domain Ubuntu --snapshotname Snapshot_test
Domain snapshot Snapshot_test deleted
Suite à la dernière mise à jour du client bittorrent Transmission (v2.93), impossible de le démarrer. Au bout d’une minute, le service tombe KO:
Mar 7 20:24:12 XXXX systemd[1]: transmission-daemon.service: Start operation timed out. Terminating.
Mar 7 20:24:13 XXXX transmission-daemon[1200]: Closing transmission session... done.
Mar 7 20:24:13 XXXX systemd[1]: transmission-daemon.service: Unit entered failed state.
Mar 7 20:24:13 XXXX systemd[1]: transmission-daemon.service: Failed with result 'timeout'.
On peut contourner le problème et démarrer transmission de cette façon:
sudo su -
vi /etc/systemd/system/multi-user.target.wants/transmission-daemon.service
On va modifier le type de service via le paramètre « type » :
[Unit]
Description=Transmission BitTorrent Daemon
After=network.target
[Service]
User=transmission
Type=notification
ExecStart=/usr/bin/transmission-daemon -f --log-error
ExecReload=/bin/kill -s HUP $MAINPID
[Install]
WantedBy=multi-user.target
Qui devient:
[Unit]
Description=Transmission BitTorrent Daemon
After=network.target
[Service]
User=transmission
Type=simple
ExecStart=/usr/bin/transmission-daemon -f --log-error
ExecReload=/bin/kill -s HUP $MAINPID
[Install]
WantedBy=multi-user.target
On fait prendre en compte la modification par Systemd:
systemctl daemon-reload
On redemarre le service:
systemctl stop transmission-daemon
systemctl start transmission-daemon
Et là, ça fonctionne!