Debian

De AzerWiki
Sauter à la navigation Sauter à la recherche

Partition corrompu / console initramfs

Il se peut qu'après un arrêt involontaire et non désiré d'un système Debian (comme par exemple, ne plus avoir de batterie), que la partion soit corrompu (si une mise à jour ou un transfère était en cours). Si au redémarrage vous êtes en présence de la console initramfs et que le système ne boot plus :

  • Faire exit et regarder le nom de la partition qui pose problème (comme par exemple /dev/sda1) et le detail de l'erreur.
  • Si ce genre de message est présent The root filesystem on /dev/sda1 requires a manual fsck. Il faut saisir la commande suivante :
fsck /dev/sda1 -y
  • Après le check de la partition et le fix par fsck, il faut simplement reboot et il ne devrait plus y avoir de soucis.

Oh my ZSH sur un terminal

Pour avoir un petit terminal comme les "vrais dev" (qui gère git par exemple), il existe Oh my ZSH un framework basé sur ZSH un genre de bash un peu plus poussé. Pour cela il nous faut:

  • Le paquet ZSH :
sudo apt-get install zsh
  • On choisi le thème graphique
  • Dans le /home/user on édite le fichier .zshrc et on défini le thème choisi dans la conf (par exemple : ZSH_THEME="agnoster")
  • On installe Oh my ZSH avec curl :
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
  • On relance le terminal et normalement c'est ok

Il se peut qu'il y ai des petits problème de font après l'installation, pour corriger cela on installe les powerline fonts

git clone https://github.com/powerline/fonts.git --depth=1
cd fonts
./install.sh
cd ..
rm -rf fonts

Maintenant dans le terminal on choisi la font Melso LG S DZ

Bonus : pour avoir le thème qui va bien il faut sélectionner le solarized dark thème. Bonus 2 : Pour que PhpStorm (ou un autre IDE Jetbrain) utilise ZSH, dans les paramètres du terminal on ajoute /bin/zsh dans le shell path à la place du bash

Sources :

Installation (récente) de Docker

Parfois sur Ubuntu ou Debian lors de l'installation du package docker.io, on se retrouve avec une ancienne version de docker (1.x) sans aucune raison. Pour corriger cela la méthode la plus simple c'est d'installer directement le .deb avec la bonne version (en 17.xx ou 18.xx par ex.), voici donc les liens pour retrouver les paquets nécessaire et leurs dépendances :

Pour Debian

Pour Ubuntu

Il est recommandé de faire l'installation via dpkg sur le terminal pour voir les éventuels erreurs (de dépendances ou autres), pour cela :

sudo dpkg -i package.deb

Fix GPG error public key not available

Si pendant un apt update il se produit l'erreur suivante : The following signatures couldn't be verified because the public key is not available: NO_PUBKEY XXXXXXXXXXXXXXXX

Il faut :

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys XXXXXXXXXXXXXXXX

Installation de Flood et de Plex

Avant de commencer :

apt-get update && apt-get upgrade

Le client Torrent

Installation

On commence par installer les dépendances nécessaires :

apt install git curl build-essential automake pkg-config libtool libcppunit-dev zlib1g-dev libncursesw5-dev libncurses5-dev libssl-dev libcurl4-openssl-dev subversion 

On installe Xmlrpc :

apt-get install php-xmlrpc

On installe également libTorrent et rTorrent :

apt install rtorrent

Configuration

On créer l'utilisateur rtorrent :

adduser --disabled-password rtorrent

On créer la template de configuration :

nano /home/rtorrent/.rtorrent.rc

# Contenu de /home/rtorrent/.rtorrent.rc
download_rate = 0
upload_rate = 10000
max_downloads_global = 10
max_peers = 100
max_uploads = 20
directory = /home/rtorrent/rtorrent/downloads
session = /home/rtorrent/rtorrent/.session
port_range = 49999-49999
port_random = no
check_hash = yes
dht = auto
dht_port = 6881
peer_exchange = yes
encryption = allow_incoming,try_outgoing,enable_retry
use_udp_trackers = yes
# Port SCGI pour communiquer avec Flood
scgi_port = 127.0.0.1:5000

Création des dossiers de réception des torrents :

mkdir /home/rtorrent/rtorrent
mkdir /home/rtorrent/rtorrent/{downloads,.session}

Ajout de permissions :

chmod 775 -R /home/rtorrent/rtorrent
chown rtorrent:rtorrent -R /home/rtorrent

Test du bon fonctionnement de rTorrent :

su rtorrent
cd~/

On télécharge un torrent random :

wget http://releases.ubuntu.com/18.10/ubuntu-18.10-desktop-amd64.iso.torrent

Puis on lance rtorrent :

rtorrent

Une interface s'ouvre. Faites ENTRER pour pouvoir taper une commande. Vous pouvez utiliser TAB pour trouver votre fichier.

Doc: https://doc.ubuntu-fr.org/rtorrent

Après avoir fait ENTRER le torrent que vous venez d'ajouter apparait en haut.

Vous pouvez augmenter la vitesse de download en appuyant sur S (en majuscule). Si vous n'avez pas fait de bêtise, le téléchargement commence. Une fois terminé faites CTRL+Q pour quitter l'interface de rtorrent.


On nettoie le dossier ~/rtorrent :

rm *.torrent

On vérifie que notre fichier a été téléchargé :

cd downloads
ls

Pour la suite on peut retourner sur notre utilisateur root.

su root
cd ~/

Lancer rTorrent au démarrage du serveur :

nano /etc/systemd/system/rtorrent.service

On ajoute :

[Unit]
Description=rTorrent
After=network.target

[Service]
User=rtorrent
Type=forking
KillMode=none
ExecStart=/usr/bin/screen -d -m -fa -S rtorrent /usr/bin/rtorrent
ExecStop=/usr/bin/killall -w -s 2 /usr/bin/rtorrent
WorkingDirectory=%h

[Install]
WantedBy=default.target[Unit]
Description=rTorrent
After=network.target

[Service]
User=rtorrent
Type=forking
KillMode=none
ExecStart=/usr/bin/screen -d -m -fa -S rtorrent /usr/bin/rtorrent
ExecStop=/usr/bin/killall -w -s 2 /usr/bin/rtorrent
WorkingDirectory=%h

[Install]
WantedBy=default.target

On active rtorrent au démarrage de la machine :

systemctl daemon-reload
systemctl enable rtorrent.service

Puis on démarre le service et on vérifie que le service se lance correctement:

systemctl start rtorrent.service
systemctl status rtorrent.service

Pour arrêter, démarer et redémarer rTorrent :

systemctl stop rtorrent
systemctl start rtorrent
systemctl restart rtorrent

Installation de NodeJS

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
apt-get install -y nodejs
nodejs -v

Installation de Flood

On installe le packet node-gyp :

npm install -g node-gyp

On créer le user flood :

adduser --disabled-password flood

On clone le git :

cd /home/flood
git clone https://github.com/jfurrow/flood.git
cd flood

On active la configuration de Flood :

cp config.template.js config.js
nano config.js

Pour que Flood soit accessible de l'extérieur via le port 3000, modifiez la ligne floodServerHost: '127.0.0.1' de la configuration par floodServerHost: '0.0.0.0'

Maintenant on installe Flood :

npm install
npm run build
npm start

Note : Si vous souhaitez mettre à jour Flood faites un git pull puis les 3 commandes ci-dessus.

On donne les permissions nécessaires :

chown flood:flood-R /home/flood

On lance flood dans un screen :

screen -R flood

Dans le screen :

su flood
npm start

Si tout va bien, à l'issu de la dernière commande vous devez obtenir : Flood server starting on http://0.0.0.0:3000

Vous pouvez maintenant quitter le screen avec CTRL+A puis D.

Flood est maintenant accessible via http://xxx.xxx.xxx.xxx:3000 Vous n'avez plus qu'à créer un compte et télécharger un torrent pour vérifier que tout est ok.

Tip : Si l'écran reste bloqué sur "Flood settings" c'est que rTorrent n'est pas démaré. (systemctl start rtorrent)

Mettre à jour flood

screen -ls
screen -r flood
git pull
npm start

Plex

Installation de Plex

Récupérez le .deb de la dernière version de plex sur le site officiel (https://www.plex.tv/fr/media-server-downloads/) et on l'installe :

cd ~/
wget https://downloads.plex.tv/plex-media-server/1.12.0.4829-6de959918/plexmediaserver_1.12.0.4829-6de959918_amd64.deb
dpkg -i plexmediaserver_1.12.0.4829-6de959918_amd64.deb

Note : Si vous souhaitez mettre à jour Plex dans le futur, il vous suffit de re-executer ces 2 dernières commandes avec le lien à jour.

Pour arrêter, démarrer et redémarrer Plex :

systemctl stop plexmediaserver
systemctl start plexmediaserver
systemctl restart plexmediaserver

Configuration de Plex

Par défaut Plex est disponible sur le port 32400 mais n'est pas configurer pour un accès distant. Il faut se connecter via un tunnel SSH à votre machine pour activer l'accès distant.

ssh votre.adresse.ip -L 8888:localhost:32400

Vous avez maintenant accès à Plex via http://localhost:8888/web. Connectez-vous ou créez vous un compte.

Enfin, vérifiez que l'accès distant est activé dans les paramètres.

Si tout est ok vous devez pouvoir accéder à Plex via votre.adresse.ip:32400/web

Sources : https://frenchco.de/article/Creez-votre-propre-Seedbox-avec-Plex-et-Flood

Mettre à jour Plex

Il faut tout d'abord recuperer le lien de la dernière version de Plex : https://www.plex.tv/media-server-downloads/

systemctl stop plexmediaserver
cd ~/
wget https://downloads.plex.tv/plex-media-server/XXXX/plexmediaserver_XXXX_amd64.deb
dpkg -i plexmediaserver_XXXX_amd64.deb
rm plexmediaserver_XXXX_amd64.deb
systemctl start plexmediaserver