brew

megachen發表於2018-09-23

Homebrew 都幹了什麼

  • 安裝完畢Homebrew之後, 可以說整個/usr/local/下的東西都是Homebrew自動建立出來的, 一個新的Mac系統預設情況下/usr/local是空的, 安裝了Homebrew之後就有了bin, sbin, share, Cellar, Homebrew的資料夾, 可以這麼說有在開發中這個目錄下放的幾乎就是Homebrew安裝的軟體, 就如同在Linux上使用yum安裝, 安裝到了/usr/local下是一個道理
  • 在Linux在使用yum安裝在rpm包中會有.services檔案, 在Homebrew中會有一個.plist檔案, 就是一個服務配置檔案, 使用launchctl可以啟動, 也可以使用brew services name start啟動, 類似於Linux上的systemctl start name
  • 我們通過brew install lftpd, 預設是在/usr/local/Cellar目錄建立一個lftp的目錄, 在該目錄下有一個版本號的目錄, 進去就是一個小型的檔案系統, 裡面有bin, sbin, lib, share都是獨立方式的, 這就是homebrew優越於yum的地方的, yum安裝的rpm包, 裡面的可執行檔案是放在/usr/bin或者/usr/local/bin下的, 庫檔案是放在/usr/lib或者/usr/local/lib下的, 這樣會非常的會亂, 而brew是分開來的
  • 但是這樣還是會有問題, 當/usr/local/Cellar/lftp/0.5.5/bin/lftp在PATH中不能找的, 其實Homebrew都把/usr/local/Cellar/lftp/0.5.5/bin/lftp建立一個alias當/usr/local/bin目錄下, 其他的目錄下的程式也都是這樣通過alias到/usr/local/sbin等目錄下的, 這樣問題就解決了

注意

  • 使用brew安裝的軟體, 我們可以這樣認為: 我們知道在Unix檔案系統中/usr/local/目錄可以是一個完全獨立的王國, 所以brew僅將該/usr/local/目錄當做Linux下的/目錄
  • 仔細地想一想, 在Linux中httpd的html檔案是在/var/www/下, 而在Mac OSX中是放在/usr/local/var/www目錄下的, 由此可知/usr/local/ — > /


相關文章