Unofficial

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.

In App Center: (example) TurboShell · Intel en AMD (x86_64) · QTS 6.0 of QuTS hero 6.0 of nieuwer · freeware

SSH-login op de 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

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.

Midnight Commander: twee blauwe bestandspanelen met /usr/app/TurboShell en de map first daarvan
Midnight Commander met de eigen mappen van het pakket in zijn twee panelen.
hexedit: het begin van het bestand 7zz in hexadecimaal en ASCII
hexedit met het programma 7zz geopend.

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

  1. Voeg de repository van deze site één keer toe aan App Center: de drie stappen.
  2. Zoek in de lijst van de repository (example) TurboShell en druk op Installeren.
  3. 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 -h en grep -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 nc het Notification Center-hulpmiddel van QNAP. Gebruik socat of ncat uit 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

  1. Open in Bucket & Code Apps en daarna het tabblad Voorbeelden. Voeg Ubuntu 24.04 builder (full) toe als je nog geen Builder-omgeving hebt.
  2. Druk bij TurboShell (geek set 1) op Dit voorbeeld gebruiken. De app verschijnt met zijn recepten, en er is nog niets gebouwd.
  3. 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.

De pagina Nieuwe app van de App Builder in Bucket & Code Bekijk hoe het gaat in Bucket & Code Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware) 8 min op YouTube

Gerelateerde pagina’s