py-kms
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| py-kms [2020/05/27 07:17] – [Introduction] inc002 | py-kms [2025/05/02 12:55] (Version actuelle) – [Transfert du package] inc002 | ||
|---|---|---|---|
| Ligne 162: | Ligne 162: | ||
| =====Online installer===== | =====Online installer===== | ||
| + | Vous povez installer le serveur KMS en copiant la commande ci-dessous. Elle est exactement basée sur le script présent en bas de cette page | ||
| + | <code bash | kms-oneline-installer.sh> | ||
| ====Introduction ==== | ====Introduction ==== | ||
| Basé sur les commandes ci-dessus, vous pouvez copier et exécuter le contenu de ce script dans un fichier pour l' | Basé sur les commandes ci-dessus, vous pouvez copier et exécuter le contenu de ce script dans un fichier pour l' | ||
| Ligne 174: | Ligne 176: | ||
| sudo apt update | sudo apt update | ||
| - | sudo apt install python3-tk python3-pip -y | + | sudo apt install python3-tk python3-pip |
| sudo pip3 install tzlocal pysqlite3 | sudo pip3 install tzlocal pysqlite3 | ||
| Ligne 205: | Ligne 207: | ||
| sudo systemctl status py-kms | sudo systemctl status py-kms | ||
| </ | </ | ||
| + | |||
| + | ===== Offline installer===== | ||
| + | |||
| + | ==== Transfert du package ==== | ||
| + | Transférez le dossier py-kms-offline-package ou l' | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | === One line pour la creation de l' | ||
| + | <code bash | py-kms-offline-archive-creator.sh> | ||
| + | ==== Extraction==== | ||
| + | |||
| + | tar -xzvf py-kms-offline-package.tar.gz | ||
| + | |||
| + | ====Exécution du script d' | ||
| + | |||
| + | cd py-kms-offline-package | ||
| + | sudo ./ | ||
| + | |||
| + | ====Vérification de l' | ||
| + | |||
| + | sudo systemctl status py-kms | ||
| + | |||
| + | ==== Résolution des problèmes courants==== | ||
| + | ===Dépendances manquantes=== | ||
| + | |||
| + | Si vous rencontrez des erreurs liées à des dépendances manquantes, vous devrez peut-être inclure plus de paquets dans votre package hors ligne. Vérifiez les messages d' | ||
| + | |||
| + | ===Erreurs de permission=== | ||
| + | Assurez-vous que tous les scripts ont les permissions d' | ||
| + | |||
| + | chmod +x py-kms-offline-installer.sh | ||
| + | |||
| + | ===Erreurs de service=== | ||
| + | Si le service ne démarre pas, consultez les logs: | ||
| + | |||
| + | tail -f / | ||
| + | | ||
| + | ==== Creation du package offline ===== | ||
| + | <code bash| py-kms-offline-archive-creator.sh> | ||
| + | # | ||
| + | # Script pour créer un package d' | ||
| + | # V 1.0 02.05.25 | ||
| + | |||
| + | # Vérifier que le script est exécuté avec les privilèges root | ||
| + | if [ "$(id -u)" -ne 0 ]; then | ||
| + | echo "Ce script doit être exécuté en tant que root" | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | # Définir le répertoire de travail | ||
| + | WORK_DIR=" | ||
| + | TIMESTAMP=$(date +" | ||
| + | ARCHIVE_NAME=" | ||
| + | |||
| + | echo " | ||
| + | echo " | ||
| + | |||
| + | # Créer la structure de dossiers | ||
| + | echo " | ||
| + | mkdir -p ${WORK_DIR}/ | ||
| + | mkdir -p ${WORK_DIR}/ | ||
| + | mkdir -p ${WORK_DIR}/ | ||
| + | |||
| + | # Mettre à jour la liste des paquets | ||
| + | echo "Mise à jour des informations de paquets..." | ||
| + | apt-get update | ||
| + | |||
| + | # Télécharger les paquets principaux et leurs dépendances | ||
| + | echo " | ||
| + | MAIN_PACKAGES=" | ||
| + | |||
| + | # Télécharger les paquets principaux et leurs dépendances récursivement | ||
| + | apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests \ | ||
| + | --no-conflicts --no-breaks --no-replaces --no-enhances \ | ||
| + | --no-pre-depends ${MAIN_PACKAGES} | grep " | ||
| + | |||
| + | # Déplacer tous les fichiers .deb dans le dossier debs | ||
| + | mv *.deb ${WORK_DIR}/ | ||
| + | |||
| + | # Télécharger les paquets Python | ||
| + | echo " | ||
| + | pip3 download tzlocal pysqlite3 --dest ${WORK_DIR}/ | ||
| + | |||
| + | # Cloner le dépôt py-kms | ||
| + | echo " | ||
| + | git clone https:// | ||
| + | cp -r temp-py-kms/ | ||
| + | rm -rf temp-py-kms | ||
| + | |||
| + | # Appliquer la correction pour Python 3.10 | ||
| + | echo " | ||
| + | sed -i ' | ||
| + | echo " | ||
| + | |||
| + | # Créer le script d' | ||
| + | echo " | ||
| + | cat > ${WORK_DIR}/ | ||
| + | # | ||
| + | # py-kms offline installer | ||
| + | # V 1.2 02.05.25 | ||
| + | |||
| + | # Définition des dossiers | ||
| + | FOLDER_INSTALL='/ | ||
| + | FOLDER_LOG='/ | ||
| + | OFFLINE_PACKAGE=" | ||
| + | |||
| + | # Vérification des sous-dossiers nécessaires | ||
| + | if [ ! -d " | ||
| + | echo " | ||
| + | echo " | ||
| + | echo "- debs" | ||
| + | echo "- pip" | ||
| + | echo "- py-kms" | ||
| + | echo "dans le répertoire courant." | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | echo " | ||
| + | sudo dpkg -i $OFFLINE_PACKAGE/ | ||
| + | echo " | ||
| + | sudo apt-get -f install --no-download -y || true | ||
| + | |||
| + | echo " | ||
| + | sudo pip3 install --no-index --find-links=$OFFLINE_PACKAGE/ | ||
| + | |||
| + | echo " | ||
| + | sudo mkdir -p $FOLDER_INSTALL | ||
| + | sudo mkdir -p $FOLDER_LOG | ||
| + | |||
| + | echo "Copie des fichiers py-kms depuis le package offline..." | ||
| + | sudo cp -r $OFFLINE_PACKAGE/ | ||
| + | sudo touch $FOLDER_LOG/ | ||
| + | sudo chown $USER $FOLDER_LOG/ | ||
| + | |||
| + | # Vérification si systemd est disponible | ||
| + | if pidof systemd > /dev/null 2>& | ||
| + | echo " | ||
| + | sudo touch / | ||
| + | sudo bash -c "cat > / | ||
| + | [Unit] | ||
| + | Description=py-kms service | ||
| + | After=network.target | ||
| + | StartLimitIntervalSec=0 | ||
| + | [Service] | ||
| + | Type=simple | ||
| + | Restart=always | ||
| + | RestartSec=1 | ||
| + | User=$USER | ||
| + | ExecStart=python3 $FOLDER_INSTALL/ | ||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | EOF" | ||
| + | |||
| + | echo " | ||
| + | sudo systemctl enable py-kms | ||
| + | sudo systemctl start py-kms | ||
| + | sudo systemctl status py-kms | ||
| + | else | ||
| + | echo " | ||
| + | echo " | ||
| + | | ||
| + | sudo bash -c "cat > $FOLDER_INSTALL/ | ||
| + | #!/bin/bash | ||
| + | python3 $FOLDER_INSTALL/ | ||
| + | EOF" | ||
| + | | ||
| + | sudo chmod +x $FOLDER_INSTALL/ | ||
| + | | ||
| + | echo "Pour démarrer le serveur py-kms manuellement, | ||
| + | echo " | ||
| + | echo "" | ||
| + | echo " | ||
| + | read -r response | ||
| + | if [[ " | ||
| + | echo " | ||
| + | sudo -u $USER $FOLDER_INSTALL/ | ||
| + | echo " | ||
| + | fi | ||
| + | fi | ||
| + | |||
| + | echo " | ||
| + | EOL | ||
| + | |||
| + | # Rendre le script exécutable | ||
| + | chmod +x ${WORK_DIR}/ | ||
| + | |||
| + | # Créer également un fichier README | ||
| + | cat > ${WORK_DIR}/ | ||
| + | # Package d' | ||
| + | |||
| + | Ce package contient tous les fichiers nécessaires pour installer py-kms sans connexion Internet. | ||
| + | |||
| + | ## Contenu du package | ||
| + | - debs/ : Contient les paquets Debian et leurs dépendances | ||
| + | - pip/ : Contient les modules Python nécessaires | ||
| + | - py-kms/ : Contient les fichiers source de py-kms | ||
| + | |||
| + | ## Instructions d' | ||
| + | 1. Décompressez ce package sur la machine cible | ||
| + | 2. Accédez au répertoire décompressé | ||
| + | 3. Exécutez le script d' | ||
| + | |||
| + | ## Remarques importantes | ||
| + | - Le script tente d' | ||
| + | (ex. dans Docker ou WSL), un script de démarrage alternatif sera créé. | ||
| + | - Après l' | ||
| + | - Les logs sont stockés dans / | ||
| + | EOL | ||
| + | |||
| + | # Créer l' | ||
| + | echo " | ||
| + | tar -czvf ${ARCHIVE_NAME} ${WORK_DIR}/ | ||
| + | |||
| + | echo " | ||
| + | echo " | ||
| + | echo " | ||
| + | echo "Pour l' | ||
| + | echo "1. Transférez l' | ||
| + | echo "2. Décompressez avec: tar -xzvf ${ARCHIVE_NAME}" | ||
| + | echo "3. Accédez au répertoire: | ||
| + | echo "4. Exécutez: sudo ./ | ||
| + | </ | ||
py-kms.1590563836.txt.gz · Dernière modification : de inc002
