请教,mac osx 有木有类似 pkgbuild、用于卸载的工具 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
micyng
V2EX    macOS

请教,mac osx 有木有类似 pkgbuild、用于卸载的工具

  •  
  •   micyng 2014-03-06 11:09:17 +08:00 4746 次点击
    这是一个创建于 4248 天前的主题,其中的信息可能已经有所发展或是发生改变。
    因为卸载不只是删除文件,还有一些其他事情要做
    所以就不要说让用户直接拖拽到垃圾箱这样的话了

    谢谢
    10 条回复    1970-01-01 08:00:00 +08:00
    jakwings
        1
    jakwings  
       2014-03-06 12:12:24 +08:00
    直接拖拽到垃圾箱是比较安全的做法。安装软件时注意有没有说明卸载方法,记得据此分类放置安装文件。
    我一般用 AppCleaner 寻找到所有个人配置文件,然后通过正常方式卸载程序,顺便提示系统卸载相关服务(AppCleaner 做不到),最后才用没关闭的 AppCleaner 删除找到的个人配置文件。

    总之建议不明白那些卸载软件的原理不要优先使用那些软件来卸载软件,当心玩脱。
    volCANo
        2
    volCANo  
       2014-03-06 12:22:58 +08:00
    @jakwings 什么叫“通过正常方式卸载程序”?还有“顺便提示系统卸载相关服务”这个是谁给提示?
    jakwings
        3
    jakwings  
       2014-03-06 12:37:21 +08:00
    @volCANo 正常方式是指,按照应用安装包附带的卸载说明卸载,或者直接将应用拖到垃圾箱。

    提示系统卸载相关服务,我猜测是应用本身已经附带了被拖动到回收站卸载时会取消服务的指令,或者系统根据应用的安装信息找到相关的服务并自动卸载。而 AppCleaner 这个软件只不过是强制删除文件,并不会通过垃圾桶来删除文件。
    micyng
        4
    micyng  
    OP
       2014-03-06 13:27:23 +08:00
    @jakwings ”提示系统卸载相关服务“是说拖拽垃圾箱这个动作可以被hook吗?
    roamlog
        5
    roamlog  
       2014-03-06 13:29:23 +08:00   1
    hewigovens
        6
    hewigovens  
       2014-03-06 13:48:06 +08:00   1
    @micyng clean my mac的做法是监听~/.Trash, 事后通知
    jakwings
        7
    jakwings  
       2014-03-06 13:50:35 +08:00   1
    @micyng 见 3 楼。应用包的信息文件中好像是有指示相关服务文件的,垃圾箱可能会根据那个文件找到相关服务并卸载。我还没开发过应用,不清楚是不是程序利用了 hook 。
    micyng
        8
    micyng  
    OP
       2014-03-06 14:15:25 +08:00
    @hewigovens 是个好办法,可是mac连inotify之类的系统调用都木有,岂不是很蛋疼
    hewigovens
        9
    hewigovens  
       2014-03-06 18:58:14 +08:00
    @micyng 监控Trash至少有3种做法:

    1. 创建一个launchd job, 具体看看 man launchd.plist并搜索WatchPaths
    2. 使用FSEvent API
    3. 直接open /dev/fsevents, 需要root权限
    hewigovens
        10
    hewigovens  
       2014-03-06 18:59:16 +08:00
    看到5楼的回复, 我也再贴下我之前造的轮子: https://github.com/hewigovens/PackageUninstaller
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5402 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 08:29 PVG 16:29 LAX 01:29 JFK 04:29
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86