TurboShell
TurboShell:QNAP に完全なコマンドラインを
シェル、アーカイバー、エディター、言語を App Center から一度のインストールで。
TurboShell は、NAS への SSH ログインにコマンドラインツールを追加します:zsh、fish、tmux、Midnight Commander、7-Zip、Perl、Python、Free Pascal など。
どのプログラムも Bucket & Code Server IDE でソースからコンパイルしています。パッケージをそのままインストールするか、レシピリストを変更して自分のパッケージをビルドできます。
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 の実際の画面です。
こんな方に
NAS で SSH を使って作業する
シェルに zsh か fish を選び、長い処理は tmux の中で動かします。接続が切れても処理は続きます。
ファイルを手作業で整理、展開する
Midnight Commander はターミナルに二つのパネルを表示します。7zz、unrar、bsdtar で 7z、RAR、ISO、CAB ファイルを展開できます。
小さなスクリプトやプログラムを書く
Perl、Python 3、Lua、Free Pascal、二つの BASIC が NAS 上で直接動き、それぞれ名前で呼び出せます。
インストール
- このサイトのリポジトリを App Center に一度追加します:三つの手順。
- リポジトリの一覧で (example) TurboShell を見つけ、インストール を押します。
- コントロールパネル › ネットワークとファイルサービス › 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 にまとめます。
パネルから
- Bucket & Code で アプリ を開き、例 タブを開きます。Builder 環境がまだない場合は Ubuntu 24.04 builder (full) を追加します。
- TurboShell (geek set 1) で この例を使う を押します。アプリがレシピとともに表示されますが、まだ何もビルドされていません。
- ビルド を押し、続けて 有効化 を押します。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 での操作を見る
Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware)
YouTube で 8 分

