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

2018-03-28 10:12:23 +08:00
 AlwaysBehave

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

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

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

3260 次点击
所在节点    macOS
15 条回复
U2Fsd
2018-03-28 10:15:27 +08:00
吓得我马上 Time Machine 了一波
atone
2018-03-28 12:59:51 +08:00
/usr/bin 里面并不全是 symlink,很多应用程序可执行文件就在里面。使用 Time Machine 回滚,或者重装系统吧。

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

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

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

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

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

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

@AlwaysBehave brew 也可以选源码编译,而非二进制包,这些都不是事...我是踩了坑,可能喜欢更纯粹掉的东西。所以没强迫症的,可以无视。

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

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

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

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

© 2021 V2EX