V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
AlwaysBehave
V2EX  ›  macOS

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

  •  
  •   AlwaysBehave · Mar 28, 2018 · 3714 views
    This topic created in 2954 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

    再提个建议,千万别去 alias rm
    总有你不用自己的配置环境的时候。
    AlwaysBehave
        8
    AlwaysBehave  
    OP
       Mar 28, 2018
    @tomychen 可以具体说说吗
    有点好奇,似乎 Brew 用下来体验是最好的
    wei745359223
        9
    wei745359223  
       Mar 28, 2018
    缺什么补什么就行了,不用重装。
    PP
        10
    PP  
       Mar 28, 2018 via iPad
    @Livid 提议增加一个求救节点 go/mayday 用来处理什么删库啊毁目录啊之类的问题,作为跑路前最后的挣扎。XD
    tomychen
        11
    tomychen  
       Mar 28, 2018
    @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  
       Mar 28, 2018
    再补充一下吧
    brew 从体验上来讲确实优出 macport 不知道多少倍,这点必须必须得承认。
    macport 安装过程很吃耐心,而且还有时时刻刻听着风扇嗷嗷叫。

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

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

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

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

    @AlwaysBehave brew 也可以选源码编译,而非二进制包,这些都不是事...我是踩了坑,可能喜欢更纯粹掉的东西。所以没强迫症的,可以无视。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1471 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 16:54 · PVG 00:54 · LAX 09:54 · JFK 12:54
    ♥ Do have faith in what you're doing.