Linux 出於何種考慮推出 usrmerge,將根目錄下的一些資料夾合併到 usr 下?
作者:由 知乎使用者 發表于 攝影時間:2022-03-19
參見 openSUSE 社群的這篇文章
採取 UsrMerge 措施的理由
Archlinux 2013 年就 merge 了
Binaries move to /usr/bin requiring update intervention
另外 Arch 容易“滾炸”的一個說法就是這個合併導致需要手動干預。
很早以前我聽過一個關於Linux的文章這麼寫到(那文章已經找不到了)
Linux根目錄各資料夾的作用
/bin 發行版自帶的執行檔案
/lib 發行版自帶的庫
/usr apt之類的包管理器安裝的應用程式以及庫
/usr/local 使用者手動安裝的各種應用程式和庫
PS:家目錄裡還有個。local,沒root許可權可以裝在那裡,和裝/usr/local相比除了只有你自己能用以外其他都是一樣的
然而現在已經可以用apt remove掉apt,也就是說所有工具(包括apt)現在都算後安裝的“第三方”軟體,所以就有了這麼個玩法
至於為啥是合併而不是幹掉。。。可能是為了相容性吧(畢竟我也喜歡寫#!/bin/bash,這習慣估計要改了)
早期linux那樣設計完全是因為沒想到:硬碟可以如此之大、網路可以如此之快、虛擬化技術竟然可以用在家用機甚至手機裡。
現在(對於很多人來說是很久以前,比如fedora使用者)發現這個問題越來越煩了,所以就合併了。
合併以後你可以永遠相信一個命令在/usr/bin裡,尤其在用容器的時候。
對於開發者區別就更大了,你可以永遠確信庫檔案在/usr/lib(64)裡,解決了不知道多少可能出現的bug。