ReadyNAS 316 に 7-Zip 導入した

以前、ReadyNAS 316 に 7-Zip 導入できなかった という記事を書いたのだけれど、拍子抜けするぐらいあっけなく導入できた。
難しく考えすぎると良くない...

7-Zip の公式サイトを見ると、コマンドライン用の 7-Zip for Linux: console version も上がっています。
これを SSH で NAS に配置してあげれば OK。

https://7-zip.org/download.html

7-Zip for Linux: console version
Type System
.tar.xz 64-bit Linux x86-64
.tar.xz 32-bit Linux x86
.tar.xz 64-bit Linux arm64
.tar.xz 32-bit Linux arm

ReadyNAS 316 は CPU に Atom D2701 を使用していて OS も 64bit 版なので、7-Zip も 64bit 版の 7z2501-linux-x64.tar.xz をダウンロードします。

$ head /proc/cpuinfo 
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 54
model name  : Intel(R) Atom(TM) CPU D2701   @ 2.13GHz
stepping    : 1
microcode   : 0x10d
cpu MHz     : 2127.974
cache size  : 512 KB
physical id : 0

$ uname -a
Linux nas6net 4.4.218.x86_64.1 #1 SMP Wed Jun 28 22:06:25 UTC 2023 x86_64 GNU/Linux

Intel Atom® プロセッサー D2700

  • インテル® 64
    はい
  • 命令セット
    64-bit

ダウンロードした 7-Zip を解答して readme.txt を見ると、コマンドライン用の 7z が 2つ用意されていることを確認できます。
7zzs がフルセット。

$ cat readme.txt | head -n 30 | tail

This distribution package contains the following files:

  7zz         - standalone console version of 7-Zip (version compiled for dynamic system library linking)
  7zzs        - standalone console version of 7-Zip (version compiled with static system library linking)
  readme.txt  - this file
  License.txt - license information
  History.txt - History of 7-Zip
  MANUAL      - User's Manual in HTML format

バージョン、オプションはこんな感じ。

$ ./7z2501-linux-x64/7zzs 

7-Zip (z) 25.01 (x64) : Copyright (c) 1999-2025 Igor Pavlov : 2025-08-03
 64-bit locale=ja_JP.UTF-8 Threads:4 OPEN_MAX:1024, ASM

Usage: 7zz <command> [<switches>...] <archive_name> [<file_names>...] [@listfile]

<Commands>
  a : Add files to archive
  b : Benchmark
  d : Delete files from archive
  e : Extract files from archive (without using directory names)
  h : Calculate hash values for files
  i : Show information about supported formats
  l : List contents of archive
  rn : Rename files in archive
  t : Test integrity of archive
  u : Update files to archive
  x : eXtract files with full paths

<Switches>
  -- : Stop switches and @listfile parsing
  -ai[r[-|0]][m[-|2]][w[-]]{@listfile|!wildcard} : Include archives
  -ax[r[-|0]][m[-|2]][w[-]]{@listfile|!wildcard} : eXclude archives
  -ao{a|s|t|u} : set Overwrite mode
  -an : disable archive_name field
  -bb[0-3] : set output log level
  -bd : disable progress indicator
  -bs{o|e|p}{0|1|2} : set output stream for output/error/progress line
  -bt : show execution time statistics
  -i[r[-|0]][m[-|2]][w[-]]{@listfile|!wildcard} : Include filenames
  -m{Parameters} : set compression Method
    -mmt[N] : set number of CPU threads
    -mx[N] : set compression level: -mx1 (fastest) ... -mx9 (ultra)
  -o{Directory} : set Output directory
  -p{Password} : set Password
  -r[-|0] : Recurse subdirectories for name search
  -sa{a|e|s} : set Archive name mode
  -scc{UTF-8|WIN|DOS} : set charset for console input/output
  -scs{UTF-8|UTF-16LE|UTF-16BE|WIN|DOS|{id}} : set charset for list files
  -scrc[CRC32|CRC64|SHA256|SHA1|XXH64|BLAKE2SP|*] : set hash function for x, e, h commands
  -sdel : delete files after compression
  -seml[.] : send archive by email
  -sfx[{name}] : Create SFX archive
  -si[{name}] : read data from stdin
  -slp : set Large Pages mode
  -slt : show technical information for l (List) command
  -snh : store hard links as links
  -snl : store symbolic links as links
  -sni : store NT security information
  -sns[-] : store NTFS alternate streams
  -so : write data to stdout
  -spd : disable wildcard matching for file names
  -spe : eliminate duplication of root folder for extract command
  -spf[2] : use fully qualified file paths
  -ssc[-] : set sensitive case mode
  -sse : stop archive creating, if it can't open some input file
  -ssp : do not change Last Access Time of source files while archiving
  -ssw : compress shared files
  -stl : set archive timestamp from the most recently modified file
  -stm{HexMask} : set CPU thread affinity mask (hexadecimal number)
  -stx{Type} : exclude archive type
  -t{Type} : Set type of archive
  -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName] : Update options
  -v{Size}[b|k|m|g] : Create volumes
  -w[{path}] : assign Work directory. Empty path means a temporary directory
  -x[r[-|0]][m[-|2]][w[-]]{@listfile|!wildcard} : eXclude filenames
  -y : assume Yes on all queries

めでたく、NAS の SSH から 7-Zip できるようになります。