macOS 15.4 Sequoiaでは、macOS 14 Sonomaまで導入されていた「rsync」とmacOS 15で導入された「openrsync」との互換性が向上しています。詳細は以下から。
Appleは2019年にリリースしたmacOS 10.15 CatalinaでDefault shellをGNU GPLv3ライセンスのbashからMITライセンスのzshへ、同じくGPLv3のemacsエディタをmgエディタに変更しされ、2022年03月にリリースしたmacOS 12.3 MontereyではGPLv3のnanoエディタをpico(PIne COmposer)エディタに、

Use zsh as the default shell on your Mac – Apple Support
2024年10月にリリースしたmacOS 13.0 Venturaでは、任意精度の算術計算bcコマンド(Basic Calculator)がGNU bcからBSDライセンスのgh-bcに、さらに2024年09月にリリースされたmacOS 15 Sequoiaではローカル/リモート間のファイル同期コマンドrsycn(GPLv2)がOpenBSDのopenrsync変更されるなど、GPLv3ライセンス問題に対応していましたが、

macOS 15 Sequoiaでopenrsyncに変更されたrsync
AppleとGNUライセンス
- 2019年10月 : macOS 10.15 Catalina
- 2022年03月 : macOS 12.3 Monterey
- 2023年10月 : macOS 13 Ventura
- 2024年09月 : macOS 15 Sequoia
- rsync v2.6.9 (GPLv2)コマンドがISCライセンスのopenrsyncへ変更
AppleのDTSエンジニアのQuinnさんによると、現地時間2025年03月31日にリリースされた「macOS 15.4 Sequoia (24E248)」では、macOS 15.0でrsyncから変更されたopenrsync(built-in rsync)に大幅な変更が追加され、rsyncとの互換性が向上しているそうです。
So, yeah, macOS 15.4 does include a significant revision to the built-in rsync. If that’s causing you grief, I encourage you to file a bug about the specific problem you’re having.
MacOS 15.4 removes rsync —log-file option? – Apple Developer Forums
macOS 15.3と15.4のrsync(openrsync)
AppleがmacOS 14 Sonomaまで同梱していたrsyncは、2025年01月にリリースされ現在最新のrsync v3.4.1と同じGPLv3ライセンスのrsync v3.x系ではなく、2006年にリリースされたGPL v2のrsync v2.6.9で、Appleは、このrsync v2.xと互換性があり、OpenBSDで使用されているISCライセンスのopenrsyncをmacOS 15 Sequoiaへ実装していましたが、

macOS 15.3のopenrsync: protocol version 29 rsync version 2.6.9 compatible
macOS 15.3とmacOS 15.4のopenrsyncを確認したところ、macOS 15.4のopenrsynでは、新たに以下のオプションが追加され、rsync v2.6.9との互換性が向上しています。
macOS 15.4のopenrsyncに追加されたオプション
- –checksum-seed=NUM : set block/file checksum seed (advanced)
- –chmod=CHMOD : affect file and/or directory permissions
- –compress-level=NUM : explicitly set compression level (aka –zl)
- –delete-delay : find deletions during, delete after
- –delete-excluded : also delete excluded files from dest dirs
- –files-from=FILE : read list of source-file names from FILE
- –list-only : list the files instead of copying them
- –no-implied-dirs : don’t send implied dirs with –relative
- –partial-dir=DIR : put a partially transferred file into DIR
- –prune-empty-dirs, -m : prune empty directory chains from file-list
- –stats : give some file-transfer stats
Appleのopenrsyncとrsyncの互換性
macOS 15.4ではrsyncとopenrsyncの互換性が改善されたものの、Apple Developer Forumsで報告されている通り、—log-fileのオプションの実装が変更され、macOS 14.xのrsyncと同じフォーマットで使えない問題があり、
rsync -avz —delete —log-file=“$LOG_FILE” “$SRC_DIR” “$DEST_DIR” “rsync: unrecognized action —log-file=/users/admin/logs/backuplog_***.log”.
macOS 15.4と15.3のopenrsync、macOS 14.7.4 Sonomaのrsync v2.6.9のオプションを全て比較したところ、”–dry-run”や”–checksum”,”–ipv6″などのオプションが1文字オプション(Single-Letter Option)しか用意されていないなどのフォーマットに関する問題が残っているようなので、これまでに作成したrsyncスクリプトを使いたい方はHomebrewでrsync v3.xをインストールした方が良さそうです。

version 3.4.1 protocol version 32
macOS 15.4とmacOS 15.3のopenrsyncと macOS 14.7のrsyncオプション
--オプション | -オプション | macOS 15.4 | macOS 15.3 | macOS 14.7.4 |
---|---|---|---|---|
--8-bit-output | -8 | ✅ | ✅ | ✅ |
--address | ✅ | ✅ | ✅ | |
--append | ✅ | ✅ | ✅ | |
--backup-dir | ✅ | ✅ | ✅ | |
--blocking-io | ❌ | ❌ | ✅ | |
--bwlimit | ✅ | ✅ | ✅ | |
--cache | ✅ | ✅ | ✅ | |
--checksum | -c | ✅ | ✅ | ✅ |
--checksum-seed | ✅ | ❌ | ❌ | |
--chmod | ✅ | ❌ | ✅ | |
--compare-dest | ✅ | ✅ | ✅ | |
--compress | -z | ✅ | ✅ | ✅ |
--compress-level | ✅ | ❌ | ✅ | |
--contimeout | ✅ | ✅ | ❌ | |
--copy-dest | ✅ | ✅ | ✅ | |
--copy-unsafe-links | ✅ | ✅ | ✅ | |
--del | ✅ | ✅ | ✅ | |
--delete | ❌ | ❌ | ✅ | |
--delete-after | ✅ | ✅ | ✅ | |
--delete-before | ✅ | ✅ | ✅ | |
--delete-delay | ✅ | ❌ | ❌ | |
--delete-during | ✅ | ✅ | ✅ | |
--delete-excluded | ✅ | ❌ | ✅ | |
--delay-updates | ✅ | ✅ | ✅ | |
--devices | -D | ✅ | ✅ | ✅ |
--dirs | -d | ✅ | ✅ | ✅ |
--exclude | ✅ | ✅ | ✅ | |
--exclude-from | ✅ | ✅ | ✅ | |
--executability | ✅ | ❌ | ✅ | |
--existing | ✅ | ✅ | ✅ | |
--extended-attributes | -E | ✅ | ✅ | ✅ |
--files-from | ✅ | ❌ | ✅ | |
--force | ✅ | ✅ | ✅ | |
--fuzzy | -y | ✅ | ✅ | ✅ |
--group | -g | ✅ | ✅ | ✅ |
--help | ✅ | ✅ | ✅ | |
--human-readable | -h | ✅ | ✅ | ✅ |
--ignore-errors | ✅ | ✅ | ✅ | |
--ignore-existing | ✅ | ✅ | ✅ | |
--ignore-non-existing | ✅ | ✅ | ❌ | |
--ignore-times | -I | ✅ | ✅ | ✅ |
--include | ✅ | ✅ | ✅ | |
--include-from | ✅ | ✅ | ✅ | |
--inplace | ✅ | ✅ | ✅ | |
--ipv4 | -4 | ✅ | ✅ | ✅ |
--ipv6 | -6 | ✅ | ✅ | ✅ |
--itemize-changes | -i | ✅ | ❌ | ✅ |
--keep-dirlinks | -K | ✅ | ✅ | ✅ |
--link-dest | ✅ | ✅ | ✅ | |
--list-only | ✅ | ❌ | ✅ | |
--log-file | ❓️ | ❓️ | ✅ | |
--log-file-format | ❓️ | ❓️ | ✅ | |
--max-delete | ✅ | ✅ | ✅ | |
--max-size | ✅ | ✅ | ✅ | |
--min-size | ✅ | ✅ | ✅ | |
--modify-window | ✅ | ✅ | ✅ | |
--dry-run | -n | ✅ | ✅ | ✅ |
--no-cache | ✅ | ✅ | ❌ | |
--no-dirs | ✅ | ✅ | ❌ | |
--no-implied-dirs | ✅ | ❌ | ✅ | |
--no-motd | ✅ | ✅ | ✅ | |
--no-OPTION | ❌ | ❌ | ✅ | |
--numeric-ids | ✅ | ✅ | ✅ | |
--only-write-batch | ✅ | ✅ | ✅ | |
--out-format | ✅ | ✅ | ✅ | |
--owner | -o | ✅ | ✅ | ✅ |
--partial | -P | ✅ | ✅ | ✅ |
--partial-dir | ✅ | ❌ | ✅ | |
--password-file | ✅ | ✅ | ✅ | |
--port | ✅ | ✅ | ✅ | |
--progress | -P | ✅ | ✅ | ✅ |
--protocol | ✅ | ✅ | ✅ | |
--prune-empty-dirs | -m | ✅ | ❌ | ✅ |
--read-batch | ✅ | ✅ | ✅ | |
--recursive | -r | ✅ | ✅ | ✅ |
--relative | -R | ✅ | ✅ | ✅ |
--remove-source-files | ✅ | ✅ | ✅ | |
--rsync-path | ✅ | ✅ | ✅ | |
--safe-links | ✅ | ✅ | ✅ | |
--size-only | ✅ | ✅ | ✅ | |
--sockopts | ✅ | ✅ | ✅ | |
--specials | -D | ✅ | ✅ | ✅ |
--sparse | -S | ✅ | ✅ | ✅ |
--stats | ✅ | ❌ | ✅ | |
--suffix | ✅ | ✅ | ✅ | |
--super | ✅ | ✅ | ✅ | |
--temp-dir | -T | ✅ | ✅ | ✅ |
--timeout | ✅ | ✅ | ✅ | |
--times | -t | ✅ | ✅ | ✅ |
--update | -u | ✅ | ✅ | ✅ |
--verbose | -v | ✅ | ✅ | ✅ |
--version | -V | ✅ | ✅ | ✅ |
--whole-file | -W | ✅ | ✅ | ✅ |
--write-batch | ✅ | ✅ | ✅ |
- MacOS 15.4 removes rsync —log-file option? – Apple Developer Forums
コメント