Unofficial

TurboShell

TurboShell:QNAP に完全なコマンドラインを

シェル、アーカイバー、エディター、言語を App Center から一度のインストールで。

TurboShell は、NAS への SSH ログインにコマンドラインツールを追加します:zsh、fish、tmux、Midnight Commander、7-Zip、Perl、Python、Free Pascal など。

どのプログラムも Bucket & Code Server IDE でソースからコンパイルしています。パッケージをそのままインストールするか、レシピリストを変更して自分のパッケージをビルドできます。

App Center:(example) TurboShell · Intel および AMD (x86_64) · QTS 6.0 または QuTS hero 6.0 以降 · freeware

NAS への SSH ログイン

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

含まれるもの

レシピリストにはこれらのプログラムが並び、ビルド時に必要なライブラリが加わります。アーカイバーと圧縮ツールだけで 16 レシピあります。

シェル

bash
GNU Bourne-Again Shell
zsh
Z シェルとそのモジュール
fish
friendly interactive shell
mksh
MirBSD の Korn シェル
ksh
ksh 93u+m、AT&T の Korn シェル
bash-completion
bash のタブ補完

GNU ツール

coreutils
ls、cp、sort、sha256sum など
binutils
as, ld, objdump, readelf, nm, strip
findutils
find, xargs, locate
diffutils
diff, diff3, sdiff, cmp
grep
Perl パターン用の -P 付き
sed
ストリームエディター
gawk
GNU awk
bc
bc と dc、任意精度の計算機
less
ページャー
file
ファイルの種類を判別
tree
フォルダーをツリーで表示
util-linux
lsblk, lscpu, findmnt, blkid, column, flock, script, whereis, rev
make
GNU make
patch
GNU patch
man
mandoc:パッケージのマニュアルページを読む

アーカイバーと圧縮ツール

tar
GNU tar
gzip
GNU gzip
bzip2
ブロックソート圧縮
xz
LZMA2、xzcat と unxz 付き
zstd
Zstandard
lz4
高速な LZ4 圧縮
lzip
整合性チェック付き形式の LZMA
lzop
高速な LZO 圧縮
pigz
すべてのプロセッサーコアで動く gzip
brotli
Brotli 圧縮
7zz
すべての 7-Zip 形式、7z と 7za としても使用可
bsdtar
libarchive:tar、zip、7z、rar、cab、iso、bsdcpio と bsdunzip 付き
unrar-free
libarchive による RAR
unrar
RARLAB の UnRAR、すべての RAR 形式
cpio
GNU cpio
cabextract
Microsoft の .cab ファイル

ネットワーク、リモート作業、バージョン管理

curl
TLS 対応の URL 転送
wget
GNU wget
rsync
ファイル同期
lftp
ミラーリングとキューに対応した FTP、FTPS、SFTP、HTTP クライアント
socat
ファイル、パイプ、ソケット、TLS の間でバイトを中継
whois
ドメイン、IP アドレス、AS 番号を照会
openssh
ssh, scp, sftp, ssh-keygen, ssh-copy-id, ssh-agent
sshpass
スクリプトのために ssh へパスワードを入力
autossh
接続やトンネルが止まると ssh を再起動
sshfs
別のマシンのフォルダーを SSH でマウント
git
バージョン管理

スクリプトとファイル

jq
コマンドラインで JSON を処理
dos2unix
改行と UTF-16 のテキストファイルを変換
rename
Perl の式でファイル名を変更
parallel
GNU parallel:シェルのジョブを並列実行
dialog
スクリプト用のテキストダイアログ
par2
PAR2 の回復ファイルを作成して修復
fzf
ファイルと履歴の対話型あいまい検索
rg
ripgrep:フォルダーを正規表現で検索
fd
名前でファイルを検索
micro
一般的なキー操作が使えるターミナルエディター
restic
暗号化と重複排除に対応したバックアップ

復旧とハードウェアレポート

ddrescue
故障したディスクをコピーし、不良領域を記録
testdisk
TestDisk と PhotoRec:失われたパーティションの検出、削除ファイルの復元
inxi
ひとつのコマンドでハードウェアとシステムを要約

ターミナル、ファイル、エディター

tmux
接続が切れても残るペインとセッション
screen
GNU Screen
mc
Midnight Commander、mcedit と mcview 付き
nano
GNU のエディター
vim
hex ダンプ用の xxd 付き
hexedit
hex と ASCII を並べて表示
bvi
vi のコマンドでバイナリを編集、bmore 付き
Nerd Font
Powerline とアイコンのグリフ入り DejaVu Sans Mono

言語

perl
コアモジュール付き
python3
pip と標準ライブラリ付き
lua
コンパイラー luac 付き
fpc
Free Pascal、ランタイムライブラリとパッケージ付き
bwbasic
Bywater BASIC
yabasic
yet another BASIC

画面

App Center のパッケージを入れた QNAP NAS の実際の画面です。

Midnight Commander:/usr/app/TurboShell とその first フォルダーを表示した二つの青いファイルパネル
Midnight Commander の二つのパネルにパッケージ自身のフォルダーを表示。
hexedit:ファイル 7zz の先頭を hex と ASCII で表示
プログラム 7zz を開いた hexedit。

こんな方に

NAS で SSH を使って作業する

シェルに zsh か fish を選び、長い処理は tmux の中で動かします。接続が切れても処理は続きます。

ファイルを手作業で整理、展開する

Midnight Commander はターミナルに二つのパネルを表示します。7zz、unrar、bsdtar で 7z、RAR、ISO、CAB ファイルを展開できます。

小さなスクリプトやプログラムを書く

Perl、Python 3、Lua、Free Pascal、二つの BASIC が NAS 上で直接動き、それぞれ名前で呼び出せます。

インストール

  1. このサイトのリポジトリを App Center に一度追加します:三つの手順。
  2. リポジトリの一覧で (example) TurboShell を見つけ、インストール を押します。
  3. コントロールパネル › ネットワークとファイルサービス › Telnet / SSH で SSH を有効にします。

起動

TurboShell には専用のウィンドウがなく、ターミナルから使います。admin として SSH でログインし、プログラムを名前で呼び出します。

ssh admin@192.0.2.10   # NAS のアドレス
mc                     # Midnight Commander
tmux                   # 接続が切れても残るセッション

知っておきたいこと

  • 入力して使うシェルでは、パッケージの rsync、bash、tar、jq、python3、vim、less、grep、find、sort、dd、diff が QTS のものより先に実行されます。QTS のものは tar --zstd、sort -h、grep -P のような日常的なオプションを受け付けないためです。
  • QTS にあるほかの名前は QTS のものが実行されます(sed、awk、curl、ssh、screen など)。パッケージのものはフルパスで実行します:/usr/app/TurboShell/bin/sed。
  • スクリプト、cron、ssh に直接渡したコマンドでは QTS のコマンドが使われます。別のマシンからはプログラムを指定します:rsync --rsync-path=/usr/app/TurboShell/bin/rsync。
  • QNAP NAS の nc は QNAP の Notification Center ツールです。socat または SysMon の ncat を使ってください。
  • UnRAR はフリーウェアであり、オープンソースではありません。ライセンスでは使用と再配布が認められていますが、そのコードを使って RAR 互換のアーカイバーを作ることはできません。

変更して、いつでもビルドし直せます

TurboShell は、QNAP 向けの無料の開発環境 Bucket & Code Server IDE の例です。各プログラムをお使いの NAS 上でソースからコンパイルし、結果を QPKG にまとめます。

パネルから

  1. Bucket & Code で アプリ を開き、例 タブを開きます。Builder 環境がまだない場合は Ubuntu 24.04 builder (full) を追加します。
  2. TurboShell (geek set 1) で この例を使う を押します。アプリがレシピとともに表示されますが、まだ何もビルドされていません。
  3. ビルド を押し、続けて 有効化 を押します。QDK ツールチェーンをインストールすると、エクスポート で QPKG を作成できます。

ターミナルから

エディターのプロジェクト TurboShell には、recipes.txt に同じリストがあります。行を削除するか、ライブラリからレシピを追加して、エディターのターミナルで次を実行します:

make app        # recipes.txt からアプリを作成
make build      # ビルドしてジョブを追跡
make activate   # /usr/app/TurboShell がビルドを指すようになる
make qpkg       # QPKG をエクスポート (QDK ツールチェーンが必要)

最初のビルドはすべてのレシピをライブラリとともにコンパイルするため、時間がかかります。以降の make build は、ソースまたはビルドスクリプトが変わったレシピだけをビルドし直します。プロジェクトには Powerline 風の tmux ステータスラインもあります:make dotfiles はホームフォルダーにコピーし、make font はお使いのコンピューター用の Nerd Font をコピーします。

Bucket & Code の App Builder にある新しいアプリのページ Bucket & Code での操作を見る Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware) YouTube で 8 分

関連ページ