谁再说 OSX 的软件管理比 windows/linux 强我跟谁急。

2015-03-07 00:09:38 +08:00
 9hills
今天删除office 2011 for mac,只是简单的把文件夹删了。天真的我以为这就完了。。

结果看到了这个:
https://support.microsoft.com/kb/2398768
9682 次点击
所在节点    macOS
54 条回复
geeti
2015-03-07 04:29:46 +08:00
微软故意的吧,一个脚本就能搞定的问题
Sylv
2015-03-07 04:37:18 +08:00
这明明是微软偷懒,没提供卸载程序。
想想 Windows 下软件要是不提供卸载程序,更麻烦,还得删注册表。
yyfearth
2015-03-07 05:29:55 +08:00
这个是MS的问题不是OSX的问题
大部分OSX的软件 都只需要移除app本身就可以了
如果你想干净一些 就用那些app来清除留下的设置和缓存

但是一些大公司的产品 比如MS和Adobe的软件都十分庞大而且没有专门的uninstaller几乎无法卸载
因他们都有比较长的历史 而且产品跨平台 所以和OSX的风格不太一样
popbones
2015-03-07 06:06:46 +08:00
一般PKG安装的软件都不是直接删掉Applications文件夹中的文件就可以的“完全清除”的,一般开发者都会提供卸载指南或者相应的卸载程序。

一个原因在于一般只有软件的安装过程比较复杂才会开发者才会使用PKG的方式安装包,简单的软件都会采用使用DMG拖拽程序文件至Applications的方式安装。这里说的“复杂”是指一款软件需要使用或提供较为高级的系统功能,比如涉及多个软件的软件套装(例如Office、Adobe CS),或需要在特定的系统目录安装文件(例如输入法需要安装到Library/Input Methods,浏览器插件需要安装到Library/Internet Plugins),亦或有些软件需要提自身的软件管理(比如PD、BattleNet都要在/Users/Shared安装一些文件以提供多用户的支持),这些情况都不是简单的拖拽可以实现,所以会使用Mac OS X Installer,也就是默认运行PKG的那个向导程序。其实和Windows Installer以及很多Windows程序使用的Install Wizard一样,Mac OS X Installer本身完全可以培植出用于卸载软件的PKG文件,只是很少有开放上这么做,因为卸载往往只是删除文件,所以大多数情况下一个Shell脚本即可完成,而就算通过卸载指南引导用户手动完成也十分简单。

很多说Mac OS X软件管理更优的原因在于其多数软件都可以通过绿色的形式安装和卸载。有人可能会说一点都不绿色,我用CleanMyMac一扫描,Library目录里面各种软件残留。但是这些软件残留都是静态的,没有软件用它,它们就只是待在那里,并不会影响系统性能。而Windows上就算所谓的绿色软件也只是不需要安装而已,注册表残留还是尝尝会发生,并且往往会影响系统性能。而很多情况下,Windows中就算是使用了卸载程序卸载也不能保证100%无注册表残留,这个还是要看软件开发者上不上心。这点结合Mac上很多软件开发者可以但并没有提供卸载脚本来看,软件开发者真的对卸载这件事没有很上心。

另外对于通过Mac App Store安装的程序和普通拖拽安装的程序相比,区别主要在于普通拖拽安装的程序支持和配置文件一般在Library/Application Support和Library/Preferences目录中,而Mac App Store支持和配置文件都被放倒了Library/Containers或Library/Shared Containers当中,这主要是其沙盒机制的要求。而关于PKG程序,其实所有通过PKG安装的程序Mac OS X都会保留一份安装纪录,成为“回执”,一般保存在/private/var/db/receipts目录当中,如果你安装了Pacifist则可以查看.bom文件查看一个PKG都安装了什么。

到了这里你会发现Mac OS X中所有的软件都是拥有一个ID,一般形式为逆网址形式,例如com.公司名称.软件名称com.microsoft.office.all.automator.pkg.14.1.0.bom是安装Office相关的Automator动作的安装包的文件清单。其实到了这里你就基本可以手动清理软件了,因为无论是PKG还是拖拽软件都是围绕着软件ID的。一般你只需要到下列目录中寻找和删除相关的“软件残余”即可卸载软件:

1)在Applications和~/Applications删除程序文件
2)在~/Library/Application Support中删除程序支持文件,这个目录是软件随便使用的,一般建议使用软件ID作为自目录,也有软件自定义子目录的,一般都很明显,并且会包含软件名称,一个软件可能有多个文件或目录
3)在~/Library/Preferences中删除程序的设置文件,一个软件可能有不止一个配置文件
4)在~/Caches中删除软件缓存,其实不删也没事,可以定期的清空所有缓存避免缓存损坏造成的异常。
5)在~/Library/LaunchAgents中删除软件在系统启动时运行的项目
6)在/Library/LaunchDaemons中删除软件在系统启动时运行的项目
8)在/Library和/System/Library以及/Users/Shared中删除相关的程序文件,如果有的话。
9)根据软件类型可能还包含以上提到的目录(一下Library指/Library,~/Library,/System/Library,/Users/Shared/Library:
9.1)输入法Library/Input Methods
9.2)互联网插件Library/Internet Plug-Ins(Flash就在这里面)
9.3)系统字典Library/Dictionaries
9.4)Automater动作Library/Automator
9.5)打印机驱动Library/Printers

以上为一些关于卸载Mac OS X层软件的一些点滴。关于BSD层也就是Darwin层的软件,比如你在OS X上装了一个Python3想要卸载就完全是另一个话题了。
xiparos
2015-03-07 06:14:50 +08:00
这明明是微软擦屁股不干净,赖到Mac OS X?
tititake
2015-03-07 07:33:44 +08:00
@est 升级glibc有什么不敢的,等4.0发布,我都想生产环境免重启升级内核
belin520
2015-03-07 09:15:26 +08:00
怪我咯
wzzyj8
2015-03-07 09:19:26 +08:00
@ab 不严谨,还要清空回收站才行吧
typcn
2015-03-07 09:57:16 +08:00
其实 app 可以读写自身的 .app 中的任意目录的,如果全部保存到里面,用户卸载就不可能会这么麻烦。
Actrace
2015-03-07 11:08:23 +08:00
osx的包管理确实不是很好,其实怎么说呢,osx系统效能和架构设计都不怎么样。
apple还是努力一把,针对迫切的“用户体验”部分进行了全力的优化,因此有了今天我们看到好用的osx,但是这不代表他是优秀的os。一个系统的评价应该由方方面面构成,不过作为普通消费者,我们只需要它“好用”就可以了。

其实osx系统最大的优势还是来自ios生态系统的辅助(包括它自家的大部分软件,如logicx,itunes除外),现在我们可以在电脑上做很多手机上才能做的事情,比如发短信之类的。这在windows上是不行的。稍早之前,osx系统基本上普通人都用不起来。

windows面相个人用户的系统确实在效能上做得很好,只不过现在各种“破解软件”实在太容易敲开用户系统的大门了(各种诱导,小白中招几率100%)。这应该是免费文化造成的。
我在家里的一台amd+金士顿64g 渣ssd的win7台式机,由我配置好后交给家里人使用(只装了qq,chrome等基本软件),由于家里人也就上上网,看看pptv,聊聊qq,1年后回去还是5秒开机,也没中过百度管家的病毒(还是得感谢下本地电信不杀之恩),比现在在用的跑者10.10.2的mba快多了。

当然这些事情在osx上同样可以得到相同的表现,但是一切都取决于软件开发者。
dashu
2015-03-07 11:28:00 +08:00
@popbones 赞!

“到了这里你会发现Mac OS X中所有的软件都是拥有一个ID,一般形式为逆网址形式”
我当初看到这些 ID 的形式时感觉真的很亲切,上学时常逛的新闻组 (Usenet) 地址就是这样的,比如 cn.comp.os.linux。
loading
2015-03-07 11:32:38 +08:00
我敢告诉你们:我真的不知道我的mac里装了什么,除了应用文件夹,其他像pkg安装的,我真的不知道他干了什么,我也懒得管。。。
cuthead
2015-03-07 11:38:33 +08:00
这种问题用AppCleaner能清理。或者等微软出卸载程序,在没有别人帮助的情况下自己动手是唯一选择。
qiibeta
2015-03-07 12:11:42 +08:00
pkg安装的东西真的卸载很麻烦,好点的,提供个卸载.pkg,不好的,给个readme让你手动卸载,再渣点的,得上官网找手动卸载操作步骤。
viko16
2015-03-07 12:50:43 +08:00
难道你以为 Windows 下跑了个 uninstaller 就是卸载干净了?
est
2015-03-07 16:37:59 +08:00
@enotx

@9hills

用官方的update。。。。好吧,你们赢了。。。。。。。。

还在维护某2.4内核系统一大堆服务器的苦逼默默路过。。。。。。。。
znoodl
2015-03-07 17:07:25 +08:00
刚才在win下拷贝两个文件资源管理器奔溃了。。。
echo1937
2015-03-07 17:39:22 +08:00
@est

你也太让人同情了,2.4的内核suse,RHEL都不支持了,你怎么维护啊,去年那么多CVE你怎么修补的。
sincway
2015-03-07 18:42:32 +08:00
我按官方的方法删除的,但是 CleanMyMac 还是发现了 80M 左右的残留。
dog999
2015-03-07 19:00:57 +08:00
迅雷mac 自带了一个软件管理工具,你可以使用一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/175048

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX