Samsung Magicianディスクユーティリティの削除には18ステップと2回の再起動が必要
(chalmovsky.com)- macOS向け Samsung Magician はハードウェア暗号化の設定のためにインストールされたが、正常に動作せず、削除を試みても 削除ボタンが存在しない
- アプリ内部の クリーンアップスクリプト実行時に500回以上のエラー が発生し、ファイル所有権の変更に失敗して大半のファイルが残る
- 手動で数十個のフォルダとファイルを削除したが、SIP保護のためカーネル拡張ファイル8個が残り、リカバリモードへの移行が必要
- SIPの無効化と再有効化のために リカバリモードでの起動を2回実施 し、合計 18ステップの手順 を経てようやく完全削除が可能
- 単なるディスクユーティリティであるにもかかわらず、過度な複雑さと不要な構成要素 により削除が極めて難しい bloatware 的な形態 である
Samsung Magician削除プロセスの問題点
- Samsung Magician は外付けSSDの ハードウェア暗号化機能の設定 のためにインストールされたが、正常に動作せず削除が必要になった
- macOS版には 削除ボタンもドラッグで削除する機能もまったくなく、アプリ内部の深いパスに CleanupMagician_Admin_Mac.sh スクリプトが含まれている
- そのスクリプトを実行すると 500回以上の
chown: Operation not permittedエラー が発生し、ファイル所有権の変更に失敗して削除が行われない - スクリプトはエラーを処理せず、すべてのファイルに対して繰り返し実行した後に終了する
- 結果として大半のファイルがシステムにそのまま残る
手動削除の試行
- そこで
rm -rfコマンド を使い、Samsung関連のフォルダやファイルを直接削除しようとした- Application Support、Preferences、Caches、LaunchAgents、LaunchDaemons、Extensions、Logs など複数のパスで手動削除を実施
- その後
find / -iname "*samsung*magician*"コマンドで確認した結果、依然として 27個の残存ファイル が存在した/Library/StagedExtensions/および/System/Volumes/Data/Library/StagedExtensions/の カーネル拡張ファイル/private/var/db/receipts/の パッケージレシートファイル/private/var/folders/.../C/の キャッシュプロセスファイル- Crash Reporter の一覧 や Application Support 内の Samsung Magician フォルダ など
sudo rm -rfコマンドを繰り返したが、8個のカーネル拡張ファイル は依然として削除されなかった
カーネル拡張ファイル削除のためのリカバリモード手順
- 残ったファイルは SIP(System Integrity Protection) によって保護されており、通常モードでは削除できない
- Macをシャットダウンしてからリカバリモードで起動 し、
csrutil disableコマンドでSIPを無効化した後に再起動する - カーネル拡張ファイルを削除した後、再びリカバリモードに入り
csrutil enableコマンドでSIPを再有効化する - この過程で リカバリモードでの起動2回、合計18ステップの手順 が必要になる
- たった4個のカーネル拡張ファイルとその複製を削除するためだけに 2回の再起動とリカバリモードへの移行 が求められる
Samsung Magician内部構成の過度な複雑さ
- プログラム内部には フレーム単位のPNGアニメーション が含まれている
- 「Health: Good」の状態を表示するために 150個のPNGファイル が使われている
- 「Health: Critical」、"Gamer" テーマ、指紋認証の進行および成功アニメーションにもそれぞれ別個のPNGセットが存在する
- 結果として単純なディスクユーティリティに数百個のPNGファイルが含まれている
- 追加で含まれる構成要素
- Electronフレームワーク: ディスク容量の円グラフを表示するためにChromiumエンジン全体を内蔵
- Squirrelフレームワーク: 自動更新機能を含む
- ReactiveObjC、Mantle: リアクティブプログラミング用フレームワーク
- Samsung専用フォント の複数ウェイト(200〜800)を同梱
- 多言語ローカライズファイル を同梱(日本語、中国語、ドイツ語、フランス語、イタリア語、ロシア語、ポルトガル語、スペイン語、アラビア語、ヒンディー語など)
- バナー広告画像 (
banner_1.jpg〜banner_5.jpg) を同梱 - 10言語のヘルプ文書と40枚以上のスクリーンショット を同梱
- こうした構成により、このプログラムは 不要な負荷と複雑さ を持つ 過剰なソフトウェア(bloatware) と評価される
Samsung Magician完全削除の18ステップ要約
- アプリ内の削除ボタンを探す(存在しない)
- アプリバンドル内部のクリーンアップスクリプトを発見
- スクリプト実行後に500回のエラーが発生し、削除失敗
4〜14. Application Support、Preferences、Caches、LaunchAgents、LaunchDaemons、Extensions、Receipts、Folders などで手動削除を繰り返す findコマンドで8個のSIP保護ファイルを確認- Macをシャットダウン後、リカバリモードで起動してSIPを無効化
- 保護されたカーネル拡張ファイルを削除
- リカバリモードで再起動し、SIPを再有効化
- 全体として 18ステップと2回のリカバリモード再起動 が必要であり、単純なディスクユーティリティの削除としては過剰な手順が求められる
- 結果としてSamsung Magicianは 削除が極めて難しく、不必要に複雑な構造を持つソフトウェア である
1件のコメント
Hacker News のコメント
90年代に PartitionMagic というディスクユーティリティを開発していた
このプログラムは、パーティションを動的に調整できる最初期のツールの1つだった
サムスンの製品名はここから着想を得たのかもしれないと思った
インストールが単に
copy . to /、アンインストールがdelete /で終わっていた時代が懐かしいそういうアプリは避けて、Macをきちんと理解している会社の代替を探すだろう
以前、Chrome のインストーラーが管理者権限を要求し、システムを起動不能にしたこともあった
システムユーティリティやドライバは例外だが、PartitionMagic は本当に素晴らしかった
組織内の否定的フィードバック文化が技術統合の問題につながるのか、探る価値があると思う
「18段階のインストール手順」は明らかに問題で、サムスン内部で優先課題として扱うべき事案に見える
「Magician」という名前がサムスンの企業文化を比喩的に表しているようだ、という冗談も添えていた
本当に素晴らしいソフトだった
信じられないほど安定していて、多くの時間を節約してくれた
Macで単に削除したいだけなのに、復旧モードに入る →
csrutil disable→ 再起動 → カーネル拡張を削除 → もう一度復旧モードに入る →csrutil enable→ また再起動……ただ死んだファイルをいくつか消すためだけに、こんな手順を踏まなければならなかった
これは完全にAppleの責任だ。root 権限ですら完全な管理者権限ではないようにしたのは Apple なのだから
Apple 製デバイスを買うのは構わないが、彼らがオープンなシステムを約束したことはない
アップデートで機能が消えても、それは権利ではなく、単に許されていた機能にすぎない
ほとんどのパワーユーザーも、セキュリティ上の理由で普段は有効にしている
root(uid=0) がシステムの深い部分を好き勝手に変更できないようにすべきだ
カーネルレベルの変更は日常的な権限では不可能であるべきで、これが System Integrity Protection の核心だ
もっと良いやり方があるなら Apple に提案すべきだが、こうした保護機構を無視してはならない
以前 macOS 向け製品を配布していたが、アンインストール時にゴミ箱エラーが発生した
当時の Finder には拡張 API がなかったため、メニューを追加するには Finder をリバースエンジニアリングしてコード注入する必要があった
その結果 Finder がアプリバンドルを開いたままにし続け、再起動するまで削除できなかった
その後 Finder 拡張 API ができて解決したが、macOS にもそれなりの内部的な複雑さがある
macOS にその API がなかったのは、むしろ良い設計判断だったのかもしれない
macOS はカメラやバックグラウンド実行などの権限要求ポップアップはあふれているのに、
肝心の産業パートナーがシステムのあちこちに削除できないファイルをばらまくのは防がない
結果としてユーザーの権限は減り、Apple/MS/Google はより大きな権限を持つ
.pkgファイルを扱うユーティリティにコマンドライン削除オプションがあったが、今は消えている最近は PearCleaner のようなオープンソースのアンインストールツールを好んで使っている
「プログラミング言語がアクセスを要求しています」のような奇妙な文言が出ることもある
10年ほど前に低価格帯のSamsung TVを買ったが、可変オーディオ遅延があった
合う日もあれば、数百 ms 遅れる日もあった
こんな製品を売ったことが信じられず、二度とサムスン製品は買わないと決めた
読んでいると笑えるが、実際には悲劇的な現実だ
今後もソフトウェアの肥大化(bloat) はさらに悪化していきそうだ
なぜ大企業が Web 技術に執着し、ディスクユーティリティですらWeb 開発者に任せるのか疑問だ
彼らは技術力よりも流行の Web スタックのキーワードを見て人を採る
結局 React 開発者ばかりになり、実際に目的に合ったソフトウェアを作れる人がいなくなる
個人的にサムスン製品を避けているが、その結果いろいろな問題を回避できてきたわけだ
ハワイでサムスン製洗濯機を使ったが、アプリ接続用の DOWNLOAD モード があった
洗濯前に服を振って検知するのに数分を費やし、水はほとんど使わなかった
また店で見たサムスン製冷蔵庫は、ドアに付いたタブレットがフリーズしていた
この3度の経験で、サムスン製品は完全に見限った
「ディスク使用量の円グラフ」を1つ表示するために、Electron フレームワーク丸ごとを入れたのか
「RAM は安い、使われていない RAM は無駄だ」――サムスン経営陣の哲学のようだ
Samsung Magician をファームウェア更新のためにインストールしようとしている人への助言
実はこのプログラムがなくても安全にファームウェア更新は可能だ
韓国製ソフトウェアを知っていれば、これもすべて理解できる
ボタンがJPEG 画像になっていることも珍しくない