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.
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.
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
- Raz dodaj repozytorium tej strony do App Center: trzy kroki.
- Na liście repozytorium znajdź (example) TurboShell i naciśnij Instaluj.
- 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 -higrep -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
ncto narzędzie Notification Center firmy QNAP. Użyjsocatalboncatz 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
- W Bucket & Code otwórz Aplikacje, potem kartę Przykłady. Dodaj Ubuntu 24.04 builder (full), jeśli nie masz jeszcze środowiska do budowania.
- Naciśnij Użyj tego przykładu przy TurboShell (geek set 1). Aplikacja pojawi się z recepturami, ale jeszcze nic się nie buduje.
- 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.
Zobacz to w Bucket & Code
Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware)
8 min na YouTube

