如何在 macOS Catalina 中删除系统应用程序?

jas*_*ose 8 mount bloatware fstab macos macos-catalina

看起来 Apple 在 macOS Catalina 中所做的更改使删除系统应用程序变得更加困难。

我今天将我的工作电脑升级到 Catalina(标准 Mac mini),随之而来的是一些我想摆脱的新(和一些旧)系统应用程序,比如新的 Podcasts 应用程序、Photo Booth、Siri、Apple TV、音乐、国际象棋、书籍……我不想在我的电脑上安装这些系统应用程序。

从 macOS El Capitan 开始,我会重新启动到恢复模式,运行csrutil disable,重新登录,然后删除。

它看起来像苹果公司把他们的核心系统应用到/System/Applications,并且因为这是只读的,你不能运行sudo rm -rf删除这些应用程序。当您这样做时,您会收到以下错误(以 Podcast 应用程序为例):

rm: Podcasts.app/Contents/Frameworks/IMUIUtil.framework/Versions: Read-only file system  
rm: Podcasts.app/Contents/Frameworks/IMUIUtil.framework: Read-only file system  
rm: Podcasts.app/Contents/Frameworks: Read-only file system
rm: Podcasts.app/Contents/Info.plist: Read-only file system
rm: Podcasts.app/Contents/PkgInfo: Read-only file system
rm: Podcasts.app/Contents: Read-only file system
rm: Podcasts.app/: Read-only file system
Run Code Online (Sandbox Code Playgroud)

mount 为我返回以下内容:

/dev/disk1s5 on / (apfs, local, read-only, journaled)
devfs on /dev (devfs, local, nobrowse)
/dev/disk1s1 on /System/Volumes/Data (apfs, local, journaled, nobrowse)
/dev/disk1s4 on /private/var/vm (apfs, local, journaled, nobrowse)
map auto_home on /System/Volumes/Data/home (autofs, automounted, nobrowse)
Run Code Online (Sandbox Code Playgroud)

和 diskutil list 告诉我这个:

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:                 Apple_APFS Container disk1         1.0 TB     disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +1.0 TB     disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD - Data     30.0 GB    disk1s1
   2:                APFS Volume Preboot                 99.4 MB    disk1s2
   3:                APFS Volume Recovery                528.9 MB   disk1s3
   4:                APFS Volume VM                      2.1 GB     disk1s4
   5:                APFS Volume Macintosh HD            10.6 GB    disk1s5
Run Code Online (Sandbox Code Playgroud)

我不知道从这里去哪里。如何使/System/Applications文件夹可写,以便我可以删除我不想要/不需要的系统应用程序?我还没有看到关于这个新问题的任何指南。

谁有想法?我不知道 macOS 如何设置它的挂载点。它不再使用标准的 fstab 文件,所以我看不到它在哪里安装东西,只是设置了一个写标志。

Spi*_*iff 9

为此,您必须暂时禁用一些系统针对恶意软件的最佳保护措施,因此为了安全起见,首先确保您的计算机没有恶意软件,与任何网络断开连接,并且您有一个良好的(经过测试的)完整系统备份.

接下来,禁用系统完整性保护:

  1. 通过在启动时按住?+R以恢复模式重新 启动。
  2. 完全进入恢复模式后,通过从菜单栏中的“实用工具”菜单中选择它来运行终端。
  3. 在终端中,输入csrutil disable.
  4. 重新启动回到正常启动。

禁用系统完整性保护并重新启动后,您可以使用以下命令以读写方式重新挂载启动卷:

sudo mount -uw /
Run Code Online (Sandbox Code Playgroud)

现在您可以进行所需的更改。

最后,别忘了!重新启用系统完整性保护:

  1. 通过在启动时按住?+R以恢复模式重新 启动。
  2. 完全进入恢复模式后,通过从菜单栏中的“实用工具”菜单中选择它来运行终端。
  3. 在终端中,输入csrutil enable.
  4. 重新启动回到正常启动。

请注意,sudo mount -uw /重新启动后不会持久,因此您无需明确撤消它。您为重新启用 SIP 所做的重新启动已经导致根文件系统再次重新挂载为只读。

  • @RussellDavis 您是否先禁用了系统完整性保护?回到我写这个答案时,我没有包括那个步骤,因为从问题中可以清楚地看出 OP 已经知道首先要这样做。 (2认同)