Unofficial

TurboShell

TurboShell : une ligne de commande complète sur votre QNAP

Shells, archiveurs, éditeurs et langages en une seule installation depuis l’App Center.

TurboShell ajoute des outils en ligne de commande à une connexion SSH sur le NAS : zsh et fish, tmux, Midnight Commander, 7-Zip, Perl, Python, Free Pascal et d’autres.

Chaque programme est compilé à partir des sources avec Bucket & Code Server IDE. Installez le paquet tel quel, ou modifiez sa liste de recettes et compilez le vôtre.

Dans l’App Center : (example) TurboShell · Intel et AMD (x86_64) · QTS 6.0 ou QuTS hero 6.0 ou ultérieur · freeware

Connexion SSH sur le NAS

command -v rsync

/usr/app/TurboShell/first/rsync

rsync --version | head -1

rsync version 3.5.1 protocol version 33

tar --version | head -1

tar (GNU tar) 1.35

git --version

git version 2.55.0

python3 --version

Python 3.14.7

tmux -V

tmux 3.7c

Ce qu’il contient

La liste de recettes nomme ces programmes, et la compilation ajoute les bibliothèques dont ils ont besoin. Les archiveurs et compresseurs représentent à eux seuls 16 recettes.

Shells

bash
le GNU Bourne-Again Shell
zsh
le Z shell, avec ses modules
fish
le friendly interactive shell
mksh
le Korn shell de MirBSD
ksh
ksh 93u+m, le Korn shell d’AT&T
bash-completion
complétion par tabulation pour bash

Outils GNU

coreutils
ls, cp, sort, sha256sum et les autres
binutils
as, ld, objdump, readelf, nm, strip
findutils
find, xargs, locate
diffutils
diff, diff3, sdiff, cmp
grep
avec -P pour les motifs Perl
sed
l’éditeur de flux
gawk
GNU awk
bc
bc et dc, calculatrices à précision arbitraire
less
le paginateur
file
indique le type d’un fichier
tree
les dossiers sous forme d’arbre
util-linux
lsblk, lscpu, findmnt, blkid, column, flock, script, whereis, rev
make
GNU make
patch
GNU patch
man
mandoc : lit les pages de manuel du paquet

Archiveurs et compresseurs

tar
GNU tar
gzip
GNU gzip
bzip2
compresseur par tri de blocs
xz
LZMA2, avec xzcat et unxz
zstd
Zstandard
lz4
compression LZ4 rapide
lzip
LZMA avec un format à contrôle d’intégrité
lzop
compression LZO rapide
pigz
gzip sur tous les cœurs du processeur
brotli
le compresseur Brotli
7zz
tous les formats 7-Zip, aussi sous les noms 7z et 7za
bsdtar
libarchive : tar, zip, 7z, rar, cab et iso, avec bsdcpio et bsdunzip
unrar-free
RAR via libarchive
unrar
UnRAR de RARLAB, tous les formats RAR
cpio
GNU cpio
cabextract
fichiers .cab de Microsoft

Réseau, travail à distance et gestion de versions

curl
transferts d’URL avec TLS
wget
GNU wget
rsync
synchronisation de fichiers
lftp
client FTP, FTPS, SFTP et HTTP avec miroirs et files d’attente
socat
relaie des octets entre fichiers, tubes, sockets et TLS
whois
interroge sur un domaine, une adresse IP ou un numéro d’AS
openssh
ssh, scp, sftp, ssh-keygen, ssh-copy-id, ssh-agent
sshpass
saisit un mot de passe dans ssh pour les scripts
autossh
relance ssh quand une connexion ou un tunnel s’arrête
sshfs
monte un dossier d’une autre machine via SSH
git
gestion de versions

Scripts et fichiers

jq
traite le JSON en ligne de commande
dos2unix
convertit les fins de ligne et les fichiers texte UTF-16
rename
renomme des fichiers avec une expression Perl
parallel
GNU parallel : exécute des tâches shell en parallèle
dialog
boîtes de dialogue en mode texte pour les scripts
par2
crée des fichiers de récupération PAR2 et répare avec eux
fzf
recherche approximative interactive de fichiers et d’historique
rg
ripgrep : cherche une expression régulière dans les dossiers
fd
trouve des fichiers par leur nom
micro
éditeur de terminal avec les raccourcis habituels
restic
sauvegardes chiffrées et dédupliquées

Récupération et rapport matériel

ddrescue
copie un disque défaillant et cartographie les zones défectueuses
testdisk
TestDisk et PhotoRec : trouvent les partitions perdues, récupèrent les fichiers supprimés
inxi
résumé du matériel et du système en une commande

Terminal, fichiers et éditeurs

tmux
des volets et des sessions qui survivent à la connexion
screen
GNU Screen
mc
Midnight Commander, avec mcedit et mcview
nano
l’éditeur GNU
vim
avec xxd pour les vidages hexadécimaux
hexedit
hexadécimal et ASCII côte à côte
bvi
édition binaire avec les commandes de vi, et bmore
Nerd Font
DejaVu Sans Mono avec les glyphes Powerline et d’icônes

Langages

perl
avec ses modules de base
python3
avec pip et la bibliothèque standard
lua
avec son compilateur luac
fpc
Free Pascal, avec sa bibliothèque d’exécution et ses paquets
bwbasic
Bywater BASIC
yabasic
yet another BASIC

À quoi ça ressemble

Captures réelles d’un NAS QNAP avec le paquet de l’App Center.

Midnight Commander : deux panneaux de fichiers bleus affichant /usr/app/TurboShell et son dossier first
Midnight Commander avec les dossiers du paquet dans ses deux panneaux.
hexedit : le début du fichier 7zz en hexadécimal et en ASCII
hexedit avec le programme 7zz ouvert.

À qui ça sert

Vous travaillez sur le NAS par SSH

Choisissez zsh ou fish comme shell et gardez les longues tâches dans tmux, où elles continuent après une coupure de connexion.

Vous triez et décompressez des fichiers à la main

Midnight Commander vous donne deux panneaux dans le terminal. 7zz, unrar et bsdtar décompressent les fichiers 7z, RAR, ISO et CAB.

Vous écrivez de petits scripts et programmes

Perl, Python 3, Lua, Free Pascal et deux BASIC tournent sur le NAS lui-même, chacun sous son nom.

Installation

  1. Ajoutez une fois le dépôt de ce site à l’App Center : les trois étapes.
  2. Dans la liste du dépôt, trouvez (example) TurboShell et appuyez sur Installer.
  3. Activez SSH dans Panneau de configuration › Réseau et Services de fichiers › Telnet / SSH.

Démarrage

TurboShell n’a pas de fenêtre à lui : il s’utilise depuis un terminal. Connectez-vous en SSH en tant qu’admin et appelez un programme par son nom.

ssh admin@192.0.2.10   # l’adresse de votre NAS
mc                     # Midnight Commander
tmux                   # une session qui survit à une coupure de connexion

Bon à savoir

  • Dans un shell où vous tapez vos commandes, rsync, bash, tar, jq, python3, vim, less, grep, find, sort, dd et diff du paquet passent avant les copies de QTS, qui refusent des options courantes comme tar --zstd, sort -h et grep -P.
  • Les autres noms que QTS possède restent ceux de QTS, par exemple sed, awk, curl, ssh et screen. La copie du paquet se lance avec son chemin complet : /usr/app/TurboShell/bin/sed.
  • Les scripts, cron et une commande passée directement à ssh utilisent les commandes de QTS. Depuis une autre machine, indiquez le programme : rsync --rsync-path=/usr/app/TurboShell/bin/rsync.
  • Sur un NAS QNAP, nc est l’outil Notification Center de QNAP. Utilisez socat ou ncat de SysMon.
  • UnRAR est un freeware, pas un logiciel open source. Sa licence vous permet de l’utiliser et de le transmettre, mais pas de vous servir de son code pour créer un archiveur compatible RAR.

Modifiez-le et recompilez-le quand vous voulez

TurboShell est un exemple de Bucket & Code Server IDE, notre environnement de développement gratuit pour QNAP. Il compile chaque programme à partir des sources sur votre propre NAS et empaquette le résultat en QPKG.

Depuis le panneau

  1. Dans Bucket & Code, ouvrez Apps, puis l’onglet Exemples. Ajoutez Ubuntu 24.04 builder (full) si vous n’avez pas encore d’environnement Builder.
  2. Sur TurboShell (geek set 1), appuyez sur Utiliser cet exemple. L’app apparaît avec ses recettes, et rien n’est encore compilé.
  3. Appuyez sur Compiler, puis sur Activer. Exporter crée un QPKG dès qu’une toolchain QDK est installée.

Depuis un terminal

Le projet TurboShell de l’Éditeur contient la même liste dans recipes.txt. Retirez une ligne ou ajoutez une recette de la bibliothèque, puis lancez ceci dans le terminal de l’Éditeur :

make app        # crée l’app à partir de recipes.txt
make build      # la compile et suit la tâche
make activate   # /usr/app/TurboShell pointe maintenant vers le build
make qpkg       # exporte un QPKG (nécessite une toolchain QDK)

La première compilation traite chaque recette avec ses bibliothèques et prend un certain temps. Un make build ultérieur ne recompile que les recettes dont les sources ou les scripts de compilation ont changé. Le projet a aussi une ligne d’état tmux de style Powerline : make dotfiles la copie dans votre dossier personnel, et make font copie la Nerd Font pour votre ordinateur.

La page Nouvelle app de l’App Builder de Bucket & Code Voir la procédure dans Bucket & Code Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware) 8 min sur YouTube

Pages associées