Unofficial

TurboShell

TurboShell: pełna linia poleceń na Twoim QNAP-ie

Powłoki, archiwizatory, edytory i języki po jednej instalacji z App Center.

TurboShell dodaje do logowania SSH na NAS-ie narzędzia wiersza poleceń: zsh i fish, tmux, Midnight Commander, 7-Zip, Perl, Python, Free Pascal i inne.

Każdy program jest skompilowany ze źródeł w Bucket & Code Server IDE. Zainstaluj gotowy pakiet albo zmień listę receptur i zbuduj własny.

W App Center: (example) TurboShell · Intel i AMD (x86_64) · QTS 6.0 lub QuTS hero 6.0 albo nowszy · freeware

Logowanie SSH na NAS-ie

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

Co jest w środku

Te programy wymienia lista receptur, a kompilacja dokłada potrzebne im biblioteki. Same archiwizatory i kompresory to 16 receptur.

Powłoki

bash
powłoka GNU Bourne-Again
zsh
powłoka Z z modułami
fish
przyjazna powłoka interaktywna
mksh
powłoka Korna z MirBSD
ksh
ksh 93u+m, powłoka Korna z AT&T
bash-completion
uzupełnianie klawiszem Tab w bash

Narzędzia GNU

coreutils
ls, cp, sort, sha256sum i reszta
binutils
as, ld, objdump, readelf, nm, strip
findutils
find, xargs, locate
diffutils
diff, diff3, sdiff, cmp
grep
z opcją -P dla wzorców Perla
sed
edytor strumieniowy
gawk
GNU awk
bc
bc i dc, kalkulatory o dowolnej precyzji
less
przeglądanie tekstu ekran po ekranie
file
podaje typ pliku
tree
foldery w postaci drzewa
util-linux
lsblk, lscpu, findmnt, blkid, column, flock, script, whereis, rev
make
GNU make
patch
GNU patch
man
mandoc: czyta strony podręcznika pakietu

Archiwizatory i kompresory

tar
GNU tar
gzip
GNU gzip
bzip2
kompresor z sortowaniem bloków
xz
LZMA2, z xzcat i unxz
zstd
Zstandard
lz4
szybka kompresja LZ4
lzip
LZMA z formatem kontrolującym spójność
lzop
szybka kompresja LZO
pigz
gzip na wszystkich rdzeniach procesora
brotli
kompresor Brotli
7zz
każdy format 7-Zip, także jako 7z i 7za
bsdtar
libarchive: tar, zip, 7z, rar, cab i iso, z bsdcpio i bsdunzip
unrar-free
RAR przez libarchive
unrar
UnRAR firmy RARLAB, każdy format RAR
cpio
GNU cpio
cabextract
pliki .cab Microsoftu

Sieć, praca zdalna i kontrola wersji

curl
transfery URL z TLS
wget
GNU wget
rsync
synchronizacja plików
lftp
klient FTP, FTPS, SFTP i HTTP z lustrzanym kopiowaniem i kolejkami
socat
przekazuje bajty między plikami, potokami, gniazdami i TLS
whois
pyta o domenę, adres IP albo numer AS
openssh
ssh, scp, sftp, ssh-keygen, ssh-copy-id, ssh-agent
sshpass
wpisuje hasło do ssh na potrzeby skryptów
autossh
uruchamia ssh ponownie, gdy połączenie albo tunel przestanie działać
sshfs
montuje folder z innej maszyny przez SSH
git
kontrola wersji

Skrypty i pliki

jq
przetwarza JSON w wierszu poleceń
dos2unix
zamienia końce wierszy i pliki tekstowe UTF-16
rename
zmienia nazwy plików wyrażeniem Perla
parallel
GNU parallel: uruchamia zadania powłoki równolegle
dialog
tekstowe okna dialogowe dla skryptów
par2
tworzy pliki odzyskiwania PAR2 i naprawia nimi dane
fzf
interaktywne wyszukiwanie przybliżone plików i historii
rg
ripgrep: szuka wyrażenia regularnego w folderach
fd
znajduje pliki po nazwie
micro
edytor w terminalu ze zwykłymi skrótami klawiszy
restic
szyfrowane kopie zapasowe z deduplikacją

Odzyskiwanie i raport o sprzęcie

ddrescue
kopiuje psujący się dysk i oznacza złe obszary
testdisk
TestDisk i PhotoRec: znajdują utracone partycje, odzyskują usunięte pliki
inxi
podsumowanie sprzętu i systemu jednym poleceniem

Terminal, pliki i edytory

tmux
panele i sesje, które przeżywają zerwanie połączenia
screen
GNU Screen
mc
Midnight Commander z mcedit i mcview
nano
edytor GNU
vim
z xxd do zrzutów szesnastkowych
hexedit
szesnastkowo i ASCII obok siebie
bvi
edycja binarna poleceniami vi oraz bmore
Nerd Font
DejaVu Sans Mono ze znakami Powerline i ikonami

Języki

perl
z modułami podstawowymi
python3
z pip i biblioteką standardową
lua
z kompilatorem luac
fpc
Free Pascal z biblioteką uruchomieniową i pakietami
bwbasic
Bywater BASIC
yabasic
yet another BASIC

Jak to wygląda

Prawdziwe ekrany z NAS-a QNAP z pakietem z App Center.

Midnight Commander: dwa niebieskie panele z /usr/app/TurboShell i jego folderem first
Midnight Commander z folderami pakietu w obu panelach.
hexedit: początek pliku 7zz szesnastkowo i w ASCII
hexedit z otwartym programem 7zz.

Komu to pomaga

Pracujesz na NAS-ie przez SSH

Wybierz zsh albo fish jako powłokę, a długie zadania trzymaj w tmux: działają dalej, gdy połączenie się zerwie.

Ręcznie porządkujesz i rozpakowujesz pliki

Midnight Commander daje dwa panele w terminalu. 7zz, unrar i bsdtar rozpakowują pliki 7z, RAR, ISO i CAB.

Piszesz małe skrypty i programy

Perl, Python 3, Lua, Free Pascal i dwa BASIC-i działają na samym NAS-ie, każdy pod swoją nazwą.

Instalacja

  1. Raz dodaj repozytorium tej strony do App Center: trzy kroki.
  2. Na liście repozytorium znajdź (example) TurboShell i naciśnij Instaluj.
  3. Włącz SSH w Panel sterowania › Usługi sieci i plików › Telnet / SSH.

Pierwsze uruchomienie

TurboShell nie ma własnego okna: uruchamiasz go z terminala. Zaloguj się przez SSH jako admin i wpisz nazwę programu.

ssh admin@192.0.2.10   # adres Twojego NAS-a
mc                     # Midnight Commander
tmux                   # sesja, która przeżyje zerwanie połączenia

Warto wiedzieć

  • W powłoce, w której piszesz, rsync, bash, tar, jq, python3, vim, less, grep, find, sort, dd i diff z pakietu uruchamiają się przed kopiami QTS, bo tamte odrzucają codzienne opcje, takie jak tar --zstd, sort -h i grep -P.
  • Inne nazwy, które ma QTS, zostają przy QTS, na przykład sed, awk, curl, ssh i screen. Kopię z pakietu uruchomisz pełną ścieżką: /usr/app/TurboShell/bin/sed.
  • Skrypty, cron i polecenie podane wprost do ssh używają poleceń QTS. Z innego komputera wskaż program: rsync --rsync-path=/usr/app/TurboShell/bin/rsync.
  • Na NAS-ie QNAP nc to narzędzie Notification Center firmy QNAP. Użyj socat albo ncat z SysMon.
  • UnRAR to freeware, nie open source. Licencja pozwala go używać i przekazywać dalej, ale nie pozwala wykorzystać jego kodu do napisania archiwizatora zgodnego z RAR.

Zmień i zbuduj na nowo, kiedy chcesz

TurboShell to przykład z Bucket & Code Server IDE, naszego darmowego środowiska programistycznego dla QNAP. Kompiluje każdy program ze źródeł na Twoim NAS-ie i pakuje wynik jako QPKG.

W panelu

  1. W Bucket & Code otwórz Aplikacje, potem kartę Przykłady. Dodaj Ubuntu 24.04 builder (full), jeśli nie masz jeszcze środowiska do budowania.
  2. Naciśnij Użyj tego przykładu przy TurboShell (geek set 1). Aplikacja pojawi się z recepturami, ale jeszcze nic się nie buduje.
  3. Naciśnij Zbuduj, potem Aktywuj. Eksportuj tworzy QPKG, gdy masz zainstalowany toolchain QDK.

W terminalu

Projekt TurboShell w Edytorze trzyma tę samą listę w pliku recipes.txt. Usuń wiersz albo dodaj recepturę z biblioteki, a potem uruchom w terminalu Edytora:

make app        # tworzy aplikację z recipes.txt
make build      # buduje ją i śledzi zadanie
make activate   # /usr/app/TurboShell wskazuje teraz na tę kompilację
make qpkg       # eksportuje QPKG (wymaga toolchaina QDK)

Pierwsza kompilacja buduje każdą recepturę z bibliotekami i trochę trwa. Kolejne make build buduje tylko receptury, których źródła albo skrypty się zmieniły. Projekt ma też pasek stanu tmux w stylu Powerline: make dotfiles kopiuje go do folderu domowego, a make font kopiuje czcionkę Nerd Font na Twój komputer.

Strona nowej aplikacji w App Builderze Bucket & Code Zobacz to w Bucket & Code Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware) 8 min na YouTube

Powiązane strony