Unofficial

TurboShell

TurboShell: una riga di comando completa sul tuo QNAP

Shell, archiviatori, editor e linguaggi con una sola installazione da App Center.

TurboShell aggiunge strumenti da riga di comando a un accesso SSH sul NAS: zsh e fish, tmux, Midnight Commander, 7-Zip, Perl, Python, Free Pascal e altri.

Ogni programma è compilato dai sorgenti con Bucket & Code Server IDE. Installa il pacchetto così com’è, oppure modifica il suo elenco di ricette e compila il tuo.

In App Center: (example) TurboShell · Intel e AMD (x86_64) · QTS 6.0 o QuTS hero 6.0 o successivo · freeware

Accesso SSH sul 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

Cosa contiene

L’elenco di ricette nomina questi programmi, e la build aggiunge le librerie che servono loro. Solo gli archiviatori e i compressori fanno 16 ricette.

Shell

bash
la GNU Bourne-Again Shell
zsh
la Z shell, con i suoi moduli
fish
la friendly interactive shell
mksh
la Korn shell di MirBSD
ksh
ksh 93u+m, la Korn shell di AT&T
bash-completion
completamento con Tab per bash

Strumenti GNU

coreutils
ls, cp, sort, sha256sum e il resto
binutils
as, ld, objdump, readelf, nm, strip
findutils
find, xargs, locate
diffutils
diff, diff3, sdiff, cmp
grep
con -P per i pattern Perl
sed
l’editor di flusso
gawk
GNU awk
bc
bc e dc, calcolatrici a precisione arbitraria
less
il paginatore
file
indica il tipo di un file
tree
le cartelle come albero
util-linux
lsblk, lscpu, findmnt, blkid, column, flock, script, whereis, rev
make
GNU make
patch
GNU patch
man
mandoc: legge le pagine di manuale del pacchetto

Archiviatori e compressori

tar
GNU tar
gzip
GNU gzip
bzip2
compressore a ordinamento di blocchi
xz
LZMA2, con xzcat e unxz
zstd
Zstandard
lz4
compressione LZ4 veloce
lzip
LZMA con un formato a controllo d’integrità
lzop
compressione LZO veloce
pigz
gzip su tutti i core del processore
brotli
il compressore Brotli
7zz
tutti i formati 7-Zip, anche come 7z e 7za
bsdtar
libarchive: tar, zip, 7z, rar, cab e iso, con bsdcpio e bsdunzip
unrar-free
RAR tramite libarchive
unrar
UnRAR di RARLAB, tutti i formati RAR
cpio
GNU cpio
cabextract
file .cab di Microsoft

Rete, lavoro remoto e controllo versione

curl
trasferimenti di URL con TLS
wget
GNU wget
rsync
sincronizzazione dei file
lftp
client FTP, FTPS, SFTP e HTTP con mirroring e code
socat
inoltra byte tra file, pipe, socket e TLS
whois
chiede informazioni su un dominio, un indirizzo IP o un numero AS
openssh
ssh, scp, sftp, ssh-keygen, ssh-copy-id, ssh-agent
sshpass
digita una password in ssh per gli script
autossh
riavvia ssh quando una connessione o un tunnel si ferma
sshfs
monta una cartella di un’altra macchina via SSH
git
controllo versione

Script e file

jq
elabora JSON dalla riga di comando
dos2unix
converte le interruzioni di riga e i file di testo UTF-16
rename
rinomina i file con un’espressione Perl
parallel
GNU parallel: esegue processi della shell in parallelo
dialog
finestre di dialogo testuali per gli script
par2
crea file di recupero PAR2 e ripara con essi
fzf
ricerca approssimata interattiva di file e cronologia
rg
ripgrep: cerca un’espressione regolare nelle cartelle
fd
trova i file per nome
micro
editor da terminale con i tasti consueti
restic
backup cifrati e deduplicati

Recupero e report hardware

ddrescue
copia un disco difettoso e mappa le aree danneggiate
testdisk
TestDisk e PhotoRec: trovano partizioni perse, recuperano file eliminati
inxi
riepilogo di hardware e sistema con un comando

Terminale, file ed editor

tmux
riquadri e sessioni che sopravvivono alla connessione
screen
GNU Screen
mc
Midnight Commander, con mcedit e mcview
nano
l’editor GNU
vim
con xxd per i dump esadecimali
hexedit
esadecimale e ASCII affiancati
bvi
modifica binaria con i comandi di vi, e bmore
Nerd Font
DejaVu Sans Mono con glifi Powerline e icone

Linguaggi

perl
con i suoi moduli core
python3
con pip e la libreria standard
lua
con il suo compilatore luac
fpc
Free Pascal, con la sua libreria di runtime e i pacchetti
bwbasic
Bywater BASIC
yabasic
yet another BASIC

Come si presenta

Schermate reali da un NAS QNAP con il pacchetto di App Center.

Midnight Commander: due pannelli di file blu che mostrano /usr/app/TurboShell e la sua cartella first
Midnight Commander con le cartelle del pacchetto nei suoi due pannelli.
hexedit: l’inizio del file 7zz in esadecimale e ASCII
hexedit con il programma 7zz aperto.

A chi serve

Lavori sul NAS via SSH

Scegli zsh o fish come shell e tieni i lavori lunghi in tmux, dove continuano anche quando la connessione cade.

Ordini ed estrai i file a mano

Midnight Commander ti dà due pannelli nel terminale. 7zz, unrar e bsdtar estraggono file 7z, RAR, ISO e CAB.

Scrivi piccoli script e programmi

Perl, Python 3, Lua, Free Pascal e due BASIC girano sul NAS stesso, ognuno con il suo nome.

Installazione

  1. Aggiungi una volta il repository di questo sito ad App Center: i tre passaggi.
  2. Nell’elenco del repository trova (example) TurboShell e premi Installa.
  3. Attiva SSH in Pannello di controllo › Servizi di rete e file › Telnet / SSH.

Avvio

TurboShell non ha una finestra propria: lo usi da un terminale. Accedi via SSH come admin e chiama un programma con il suo nome.

ssh admin@192.0.2.10   # l’indirizzo del tuo NAS
mc                     # Midnight Commander
tmux                   # una sessione che sopravvive a una connessione caduta

Da sapere

  • In una shell in cui digiti, rsync, bash, tar, jq, python3, vim, less, grep, find, sort, dd e diff del pacchetto partono prima delle copie di QTS, che rifiutano opzioni di uso quotidiano come tar --zstd, sort -h e grep -P.
  • Gli altri nomi che QTS possiede restano di QTS, per esempio sed, awk, curl, ssh e screen. La copia del pacchetto parte con il percorso completo: /usr/app/TurboShell/bin/sed.
  • Gli script, cron e un comando passato direttamente a ssh usano i comandi di QTS. Da un altro computer indica il programma: rsync --rsync-path=/usr/app/TurboShell/bin/rsync.
  • Su un NAS QNAP nc è lo strumento Notification Center di QNAP. Usa socat oppure ncat di SysMon.
  • UnRAR è freeware, non open source. La sua licenza ti permette di usarlo e di passarlo ad altri, ma non di usare il suo codice per creare un archiviatore compatibile con RAR.

Modificalo e ricompilalo quando vuoi

TurboShell è un esempio di Bucket & Code Server IDE, il nostro ambiente di sviluppo gratuito per QNAP. Compila ogni programma dai sorgenti sul tuo NAS e impacchetta il risultato come QPKG.

Dal pannello

  1. In Bucket & Code apri App, poi la scheda Esempi. Aggiungi Ubuntu 24.04 builder (full) se non hai ancora un ambiente Builder.
  2. Premi Usa questo esempio su TurboShell (geek set 1). L’app compare con le sue ricette, e non è ancora compilato nulla.
  3. Premi Compila, poi Attiva. Esporta crea un QPKG una volta installata una toolchain QDK.

Da un terminale

Il progetto TurboShell dell’Editor contiene lo stesso elenco in recipes.txt. Togli una riga o aggiungi una ricetta dalla libreria, poi esegui questo nel terminale dell’Editor:

make app        # crea l’app da recipes.txt
make build      # la compila e segue il job
make activate   # /usr/app/TurboShell ora punta alla build
make qpkg       # esporta un QPKG (serve una toolchain QDK)

La prima build compila ogni ricetta con le sue librerie e richiede un po’ di tempo. Un make build successivo ricompila solo le ricette i cui sorgenti o script di build sono cambiati. Il progetto ha anche una riga di stato tmux in stile Powerline: make dotfiles la copia nella tua cartella home e make font copia il Nerd Font per il tuo computer.

La pagina Nuova app dell’App Builder di Bucket & Code Guarda come si fa in Bucket & Code Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware) 8 min su YouTube

Pagine correlate