以前都是用 portupgrade 管理套件的更新,不過 portupgrade 的速度不太好 (在 FreeBSD 的 mailing list 上有人說是因為 Ruby 的關係,不過我覺得應該是程式的問題...),後來在 #bsdchat 上看到用 sh 寫的 portmaster,拿來試了以後發現速度比起 portupgrade 快多了,就用了一陣子,沒什麼大問題的話就可以跳槽過來...
在 portupgrade 有個功能在 portmaster 似乎是沒有的,也就是在 compile 時設定一些參數,像是編 MySQL 時需要 WITH_XCHARSET=all
,所以就要找其他的套件來替代,也就是標題提到的 portconf,portmaster + portconf 後更新 ports 目前暫時沒看到什麼問題,也許再跑個一陣子試看看,沒問題就把 portupgrade 拿掉。
我想要 AFTERINSTALL
另外, 如果 /usr/ports 是 symlink, portconf 會不能動, 要偷改一下... :o
/usr/ports 是 soft link 的問題不知道能不能用 realpath(1) 解決?不過這樣每次跑 make 就會跑一次 realpath(1)... @_@
這就是我塞給 ale@ 的 (翻一下 PR 有)... 折衷一點的是裝的時候跑一次,不要每次都跑
我測了一下 buildworld (RELENG_6) 的速度
用原本 portconf 的:
real 49m24.906s
user 43m28.955s sys 7m0.636s
用 realpath 的:
real 52m17.299s
user 44m9.920s sys 8m39.969s
這樣是比較慢的意思 .... ?
對,比較慢. 等 ale@ 看看好了 *_*
請問 portmaster + portconf 的搭配,是否要另外設置什麼嗎?
利用 google 查找了有介紹 portmaster 及 portconf 的網站,全都說只要安裝了 portmaster + portconf ,就可以直接先行編寫 make 參數於 /usr/local/etc/ports.conf 中,portmaster 執行時便會調用。
但個人實際運作上的情況是,直接利用 portmaster 安裝新 port 時,如果安裝時沒有選項對話視窗時,確實是照著在 ports.conf 中的設置來進行 make install,但是若遇到有選項對話視窗時,則在 ports.conf 中的設置完全無效,我依然還是得在對話視窗中選取要追加的選項。
是我理解錯誤?還是哪個步驟出了問題呢?
你可以把哪個 port 以及怎麼設定貼上來嗎?