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.
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.
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
- Aggiungi una volta il repository di questo sito ad App Center: i tre passaggi.
- Nell’elenco del repository trova (example) TurboShell e premi Installa.
- 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 -hegrep -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. Usasocatoppurencatdi 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
- In Bucket & Code apri App, poi la scheda Esempi. Aggiungi Ubuntu 24.04 builder (full) se non hai ancora un ambiente Builder.
- Premi Usa questo esempio su TurboShell (geek set 1). L’app compare con le sue ricette, e non è ancora compilato nulla.
- 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.
Guarda come si fa in Bucket & Code
Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware)
8 min su YouTube

