tech:notes_dinit
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 | ||
| tech:notes_dinit [2025/10/13 03:19] – Jean-Baptiste | tech:notes_dinit [2025/10/20 23:06] (Version actuelle) – Jean-Baptiste | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | < | ||
| + | {{tag> | ||
| + | |||
| + | # Notes dinit | ||
| + | |||
| + | Voir : | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | |||
| + | Voir aussi : | ||
| + | * https:// | ||
| + | * https:// | ||
| + | |||
| + | |||
| + | ## Présentation | ||
| + | |||
| + | ~~~ | ||
| + | type = process | bgprocess | scripted | internal | triggered | ||
| + | command = ... | ||
| + | stop-command = ... | ||
| + | run-as = (user-id) | ||
| + | restart = (boolean) | ||
| + | logfile = ... | ||
| + | pid-file = ... (Pour bgprocess) | ||
| + | options: ... | ||
| + | depends-on: (service name) (Hard dependency / Need dependency) | ||
| + | depends-ms: (service name) (Milestone) | ||
| + | waits-for: (service name) (Soft dependency) | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | ## Install | ||
| + | |||
| + | ### Debian | ||
| + | |||
| + | Voir : https:// | ||
| + | |||
| + | ~~~bash | ||
| + | wget https:// | ||
| + | mkdir dinit_tmp | ||
| + | cd dinit_tmp | ||
| + | ar x ../ | ||
| + | tar xvf data.tar.xz | ||
| + | sudo cp -p lib/ | ||
| + | sudo rsync -ax usr/ | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | ### Android - Termux | ||
| + | |||
| + | Source : https:// | ||
| + | |||
| + | ~~~bash | ||
| + | pkg install ndk-sysroot clang binutils-is-llvm make git | ||
| + | pkg install m4 | ||
| + | git clone https:// | ||
| + | cd dinit | ||
| + | |||
| + | git tag | ||
| + | git checkout v0.19.4 | ||
| + | |||
| + | ./configure --prefix=$PREFIX --syscontrolsocket=$PREFIX/ | ||
| + | make -j $(nproc) | ||
| + | make install | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | #### Termnux boot | ||
| + | |||
| + | Installer Termux-Boot | ||
| + | |||
| + | ~~~bash | ||
| + | cd .termux | ||
| + | mkdir boot | ||
| + | cd boot | ||
| + | |||
| + | cat > 00-dinit <<EOF | ||
| + | #! /bin/sh | ||
| + | |||
| + | termux-wake-lock | ||
| + | dinit | ||
| + | EOF | ||
| + | |||
| + | termux-fix-shebang ./00-dinit | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | ## Usage | ||
| + | |||
| + | ~~~ | ||
| + | $ dinit --version | ||
| + | Dinit version 0.19.4. | ||
| + | Supported features: cgroups utmp supplemental-groups | ||
| + | ~~~ | ||
| + | |||
| + | ~~~bash | ||
| + | mkdir ~/ | ||
| + | cd ~/ | ||
| + | |||
| + | cat > ~/ | ||
| + | type = internal | ||
| + | waits-for.d: | ||
| + | EOF | ||
| + | |||
| + | mkdir / | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | ### Exemple de création de service | ||
| + | |||
| + | Voir : | ||
| + | * https:// | ||
| + | |||
| + | ~~~bash | ||
| + | |||
| + | cat > ~/ | ||
| + | type = process | ||
| + | command = sleep 600 | ||
| + | restart = true | ||
| + | EOF | ||
| + | |||
| + | dinit | ||
| + | |||
| + | dinitctl start test_sleep | ||
| + | ~~~ | ||
| + | |||
| + | État | ||
| + | ~~~bash | ||
| + | dinitctl list | ||
| + | |||
| + | dinitctl status mysql | ||
| + | ~~~ | ||
| + | |||
| + | Vérif | ||
| + | ~~~bash | ||
| + | dinitcheck | ||
| + | |||
| + | # ou | ||
| + | |||
| + | dinitcheck < | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | ## Config | ||
| + | |||
| + | ### Lancement automatique de dinit | ||
| + | |||
| + | '' | ||
| + | ~~~bash | ||
| + | if ! pgrep -u " | ||
| + | nohup dinit --user -q -l ~/ | ||
| + | fi | ||
| + | ~~~ | ||
| + | |||
| + | Source : Adaptation de https:// | ||
| + | |||
| + | |||
| + | ## Pb | ||
| + | |||
| + | ~~~ | ||
| + | oct 17 17:44:45 vivabelo systemd[2332]: | ||
| + | oct 17 17:44:45 vivabelo containerd-rootless.sh[2454]: | ||
| + | ~~~ | ||
| + | |||
| + | ## Pb | ||
| + | |||
| + | ### Err provided file is not a console | ||
| + | |||
| + | ~~~ | ||
| + | Exited (137) | ||
| + | ~~~ | ||
| + | |||
| + | ~~~ | ||
| + | 1 errors: | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | Solution | ||
| + | ~~~bash | ||
| + | apt-get install expect | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | '' | ||
| + | ~~~python | ||
| + | type = process | ||
| + | |||
| + | # command = $HOME/ | ||
| + | command = unbuffer $HOME/ | ||
| + | |||
| + | stop-command = $HOME/ | ||
| + | restart = false | ||
| + | logfile = / | ||
| + | stop-timeout = 120 | ||
| + | ~~~ | ||
| + | |||
| + | Préfixer la commande par '' | ||
| + | |||
| + | |||
| + | |||
| + | Mais ne marche pas : | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
