V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
AlwaysBehave
V2EX  ›  macOS

不小心把 Symlink 全删了,还有办法救吗

  •  
  •   AlwaysBehave · 2018-03-28 10:12:23 +08:00 · 3235 次点击
    这是一个创建于 2423 天前的主题,其中的信息可能已经有所发展或是发生改变。

    手贱调环境的时候rm -rf /usr/bin(应该是这里
    系统 macOS

    现在 Brew 救回来了一部分 link (brew list, unlink, link
    重装了一遍CommandLine Tools 但是很多时候都是dylib:image no found.

    问一下还有办法救吗,不行重装了
    之前升级系统( High Sierra )的时候硬盘有一块区域不知道为什么莫名用不了(不知道被划分用来做什么了)顺便解决一下 :)

    第 1 条附言  ·  2018-03-29 19:47:30 +08:00
    • 重装了,以后东西都扔容器调试,方便
    • 自制 Time Machine 提上日程,踩踩坑,看看到时候能不能放个教程
    15 条回复    2018-03-28 21:25:48 +08:00
    U2Fsd
        1
    U2Fsd  
       2018-03-28 10:15:27 +08:00
    吓得我马上 Time Machine 了一波
    atone
        2
    atone  
       2018-03-28 12:59:51 +08:00
    /usr/bin 里面并不全是 symlink,很多应用程序可执行文件就在里面。使用 Time Machine 回滚,或者重装系统吧。

    另外好奇的是,默认这个路径是受保护的,root 都没法删,楼主是把完整性保护关掉了么?
    wei745359223
        3
    wei745359223  
       2018-03-28 13:03:55 +08:00
    应该是 /usr/local/bin 吧?这里大多都是 brew link 进去的
    AlwaysBehave
        4
    AlwaysBehave  
    OP
       2018-03-28 13:36:57 +08:00
    @wei745359223 对,是 /usr/local/bin
    carlclone
        5
    carlclone  
       2018-03-28 13:36:59 +08:00 via iPhone
    我也去 time machine 先
    AlwaysBehave
        6
    AlwaysBehave  
    OP
       2018-03-28 13:37:29 +08:00
    @atone #3 是 /usr/local/bin
    没开 Time Machine,看来只能重装了
    tomychen
        7
    tomychen  
       2018-03-28 15:45:58 +08:00
    如果说这是我换掉 brew 用回 macport 的理由你会信么?
    当然我指的不是 rm -rf /usr/local/bin 这个
    而是环境和依赖上。

    再提个建议,千万别去 alias rm
    总有你不用自己的配置环境的时候。
    AlwaysBehave
        8
    AlwaysBehave  
    OP
       2018-03-28 16:01:25 +08:00
    @tomychen 可以具体说说吗
    有点好奇,似乎 Brew 用下来体验是最好的
    wei745359223
        9
    wei745359223  
       2018-03-28 16:04:59 +08:00
    缺什么补什么就行了,不用重装。
    PP
        10
    PP  
       2018-03-28 16:13:30 +08:00 via iPad
    @Livid 提议增加一个求救节点 go/mayday 用来处理什么删库啊毁目录啊之类的问题,作为跑路前最后的挣扎。XD
    tomychen
        11
    tomychen  
       2018-03-28 16:13:52 +08:00
    @AlwaysBehave #8

    brew 以能依赖系统库,则尽可能使用系统库为前提完成 App 的编译,配置,安装。
    macport 则刚好相反,能不依赖系统库,则以统护自主的环境为前提来编译,配置,安装。


    so,可以理解为 其实 macport 环境和 osx 环境其实两个“相对”独立的环境。
    so so, brew 的路径是 /usr/local/xxx 这是系统通用环境路径。
    比如 brew install vim 不带 override-system-vi 参数,你用起来是很奇怪的。

    简单的理解 你要是把 macport 的路径指到 U 盘上或者 iCloud 上,你重装好系统后,export 几乎就可以用了

    这里几个几乎是他毕竟还没有完全脱离系统,有些依赖还是需要的。
    tomychen
        12
    tomychen  
       2018-03-28 16:23:54 +08:00
    再补充一下吧
    brew 从体验上来讲确实优出 macport 不知道多少倍,这点必须必须得承认。
    macport 安装过程很吃耐心,而且还有时时刻刻听着风扇嗷嗷叫。

    我从 brew 换回 macport 的主要原因是两个
    一个是踩了坑,也是环境变量的原因 两个库的依赖
    另一个是深度用了一段时间 FreeBSD 说真的 port 更纯粹。

    这仅是个人的强迫症式用法。

    就好比我更喜欢 gentoo 而不是 centOS redhat,但作为快速生产力来讲后者更强。
    但作为深度使用来讲,我还是喜欢量身订做。

    还是那句话,我有点强迫症 >_<
    AlwaysBehave
        13
    AlwaysBehave  
    OP
       2018-03-28 19:39:41 +08:00
    @tomychen 谢谢科普啦
    主要是 Pre-Complie 更爽,(说白了就是没钱换掉 Air,伤不起),实在不行有 FallBack
    其实 Brew 也做了 Sandbox,开发调试我现在开发全跑 Vargent 里面了,因为一个东西弄乱整台电脑受不了
    刚好重装整理一遍东西,也不亏,毕竟这回调整环境也算是触发了开发环境积累已久的问题
    XD
    discrete
        14
    discrete  
       2018-03-28 21:05:18 +08:00
    @tomychen alias rm 有什么坑嘛?详细讲讲?
    tomychen
        15
    tomychen  
       2018-03-28 21:25:48 +08:00
    @discrete
    上面提到了啊,总有一天你会操作到没有 alias rm 的机器 特别是那个 ssh 到业务服务器,网有点卡的时候...
    我踩的坑就是 “一顿操作猛如虎” 然后...,还好我习惯好,有备份

    @AlwaysBehave brew 也可以选源码编译,而非二进制包,这些都不是事...我是踩了坑,可能喜欢更纯粹掉的东西。所以没强迫症的,可以无视。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3020 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:33 · PVG 22:33 · LAX 06:33 · JFK 09:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.