TurboShell
TurboShell: een volledige opdrachtregel op je QNAP
Shells, archiveerprogramma’s, editors en talen met één installatie uit App Center.
TurboShell voegt opdrachtregeltools toe aan een SSH-login op de NAS: zsh en fish, tmux, Midnight Commander, 7-Zip, Perl, Python, Free Pascal en meer.
Elk programma is met Bucket & Code Server IDE uit broncode gecompileerd. Installeer het pakket zoals het is, of wijzig de receptenlijst en bouw je eigen versie.
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
Wat erin zit
De receptenlijst noemt deze programma’s, en de build voegt de bibliotheken toe die ze nodig hebben. De archiveerprogramma’s en compressors alleen zijn al 16 recepten.
Shells
- bash
- de GNU Bourne-Again Shell
- zsh
- de Z-shell, met zijn modules
- fish
- de friendly interactive shell
- mksh
- de Korn-shell van MirBSD
- ksh
- ksh 93u+m, de Korn-shell van AT&T
- bash-completion
- tabaanvulling voor bash
GNU-tools
- coreutils
- ls, cp, sort, sha256sum en de rest
- binutils
- as, ld, objdump, readelf, nm, strip
- findutils
- find, xargs, locate
- diffutils
- diff, diff3, sdiff, cmp
- grep
- met -P voor Perl-patronen
- sed
- de stream-editor
- gawk
- GNU awk
- bc
- bc en dc, rekenmachines met willekeurige precisie
- less
- de pager
- file
- noemt het type van een bestand
- tree
- mappen als boom
- util-linux
- lsblk, lscpu, findmnt, blkid, column, flock, script, whereis, rev
- make
- GNU make
- patch
- GNU patch
- man
- mandoc: leest de handleidingpagina's van het pakket
Archiveerprogramma’s en compressors
- tar
- GNU tar
- gzip
- GNU gzip
- bzip2
- blocksorterende compressor
- xz
- LZMA2, met xzcat en unxz
- zstd
- Zstandard
- lz4
- snelle LZ4-compressie
- lzip
- LZMA met een op integriteit gecontroleerd formaat
- lzop
- snelle LZO-compressie
- pigz
- gzip op alle processorkernen
- brotli
- de Brotli-compressor
- 7zz
- elk 7-Zip-formaat, ook als 7z en 7za
- bsdtar
- libarchive: tar, zip, 7z, rar, cab en iso, met bsdcpio en bsdunzip
- unrar-free
- RAR via libarchive
- unrar
- UnRAR van RARLAB, elk RAR-formaat
- cpio
- GNU cpio
- cabextract
- Microsoft .cab-bestanden
Netwerk, werken op afstand en versiebeheer
- curl
- URL-overdrachten met TLS
- wget
- GNU wget
- rsync
- bestandssynchronisatie
- lftp
- FTP-, FTPS-, SFTP- en HTTP-client met spiegelen en wachtrijen
- socat
- stuurt bytes door tussen bestanden, pipes, sockets en TLS
- whois
- vraagt naar een domein, een IP-adres of een AS-nummer
- openssh
- ssh, scp, sftp, ssh-keygen, ssh-copy-id, ssh-agent
- sshpass
- typt voor scripts een wachtwoord in ssh
- autossh
- herstart ssh als een verbinding of tunnel stopt
- sshfs
- koppelt een map van een andere machine aan via SSH
- git
- versiebeheer
Scripts en bestanden
- jq
- verwerkt JSON op de opdrachtregel
- dos2unix
- zet regeleinden en UTF-16-tekstbestanden om
- rename
- hernoemt bestanden met een Perl-expressie
- parallel
- GNU parallel: voert shelltaken parallel uit
- dialog
- tekstdialoogvensters voor scripts
- par2
- maakt PAR2-herstelbestanden en herstelt daarmee
- fzf
- interactief vaag zoeken in bestanden en geschiedenis
- rg
- ripgrep: doorzoekt mappen op een reguliere expressie
- fd
- vindt bestanden op naam
- micro
- terminaleditor met de gebruikelijke toetsen
- restic
- versleutelde, ontdubbelde back-ups
Herstel en hardwarerapport
- ddrescue
- kopieert een falende schijf en brengt de slechte gebieden in kaart
- testdisk
- TestDisk en PhotoRec: vinden verloren partities, herstellen verwijderde bestanden
- inxi
- overzicht van hardware en systeem met één opdracht
Terminal, bestanden en editors
- tmux
- deelvensters en sessies die de verbinding overleven
- screen
- GNU Screen
- mc
- Midnight Commander, met mcedit en mcview
- nano
- de GNU-editor
- vim
- met xxd voor hexdumps
- hexedit
- hex en ASCII naast elkaar
- bvi
- binair bewerken met vi-opdrachten, en bmore
- Nerd Font
- DejaVu Sans Mono met Powerline- en pictogramglyphs
Talen
- perl
- met zijn kernmodules
- python3
- met pip en de standaardbibliotheek
- lua
- met zijn compiler luac
- fpc
- Free Pascal, met zijn runtimebibliotheek en pakketten
- bwbasic
- Bywater BASIC
- yabasic
- yet another BASIC
Hoe het eruitziet
Echte schermen van een QNAP NAS met het pakket uit App Center.
Voor wie het handig is
Je werkt via SSH op de NAS
Kies zsh of fish als shell en houd lange taken in tmux, waar ze doorlopen als de verbinding wegvalt.
Je sorteert bestanden en pakt ze met de hand uit
Midnight Commander geeft je twee panelen in de terminal. 7zz, unrar en bsdtar pakken 7z-, RAR-, ISO- en CAB-bestanden uit.
Je schrijft kleine scripts en programma’s
Perl, Python 3, Lua, Free Pascal en twee BASICs draaien op de NAS zelf, elk onder zijn eigen naam.
Installeren
- Voeg de repository van deze site één keer toe aan App Center: de drie stappen.
- Zoek in de lijst van de repository (example) TurboShell en druk op Installeren.
- Zet SSH aan in Configuratiescherm › Netwerk en Bestandsservices › Telnet / SSH.
Starten
TurboShell heeft geen eigen venster: je gebruikt het vanuit een terminal. Meld je via SSH aan als admin en roep een programma aan met zijn naam.
ssh admin@192.0.2.10 # het adres van je NAS mc # Midnight Commander tmux # een sessie die een verbroken verbinding overleeft
Goed om te weten
- In een shell waarin je typt, starten rsync, bash, tar, jq, python3, vim, less, grep, find, sort, dd en diff uit het pakket vóór de kopieën van QTS, die dagelijkse opties weigeren, zoals
tar --zstd,sort -hengrep -P. - Andere namen die QTS heeft, blijven van QTS, zoals sed, awk, curl, ssh en screen. De kopie uit het pakket start je met het volledige pad:
/usr/app/TurboShell/bin/sed. - Scripts, cron en een opdracht die je rechtstreeks aan ssh geeft, gebruiken de opdrachten van QTS. Noem vanaf een andere computer het programma:
rsync --rsync-path=/usr/app/TurboShell/bin/rsync. - Op een QNAP NAS is
nchet Notification Center-hulpmiddel van QNAP. Gebruiksocatofncatuit SysMon. - UnRAR is freeware, geen open source. De licentie staat je toe het te gebruiken en door te geven, maar niet de code te gebruiken om een RAR-compatibel archiveerprogramma te maken.
Wijzig het en bouw het opnieuw, wanneer je maar wilt
TurboShell is een voorbeeld uit Bucket & Code Server IDE, onze gratis ontwikkelomgeving voor QNAP. Deze compileert elk programma uit broncode op je eigen NAS en verpakt het resultaat als QPKG.
Vanuit het paneel
- Open in Bucket & Code Apps en daarna het tabblad Voorbeelden. Voeg Ubuntu 24.04 builder (full) toe als je nog geen Builder-omgeving hebt.
- Druk bij TurboShell (geek set 1) op Dit voorbeeld gebruiken. De app verschijnt met zijn recepten, en er is nog niets gebouwd.
- Druk op Bouwen en daarna op Activeren. Exporteren maakt een QPKG zodra er een QDK-toolchain is geïnstalleerd.
Vanuit een terminal
Het Editor-project TurboShell bevat dezelfde lijst in recipes.txt. Haal een regel weg of voeg een recept uit de bibliotheek toe, en voer dan dit uit in de terminal van de Editor:
make app # maakt de app uit recipes.txt make build # bouwt hem en volgt de taak make activate # /usr/app/TurboShell wijst nu naar de build make qpkg # exporteert een QPKG (vereist een QDK-toolchain)
De eerste build compileert elk recept met zijn bibliotheken en duurt even. Een latere make build bouwt alleen de recepten opnieuw waarvan de broncode of de buildscripts zijn gewijzigd. Het project heeft ook een tmux-statusregel in Powerline-stijl: make dotfiles kopieert die naar je thuismap, en make font kopieert het Nerd Font voor je computer.
Bekijk hoe het gaat in Bucket & Code
Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware)
8 min op YouTube

