2006-11-26

[FreeBSD] 關於 port 的管理及安裝問題

二號機因為 ram 不穩定所以下線, 把硬體效能較好的三號機上線, 於是又動起跑 Xwindow 的歪腦筋...

雖然說用 port 可以用簡單的指令就把 xorg 給裝上, 但是 compile 的時間遠遠超過 make world, 所以最後決定通通用 portupgrade 裝 packages 把 xorg 搞定, 但是這時才發現一個不小的問題...

理論上只要把 PACKAGEROOT 給設定好就可以自己抓 package 回來, 但是我系統用的是 security branch, port tree 用的是 stable-branch, 這時問題就出現了--抓回來的通通都是隨著 6.1 release 時的版本, 比起我用的 port tree 來得舊. 在設定檔 (/usr/local/etc/pkgtools.conf) 裡沒辦法確定版本是要在哪裡設定, 或許是因為大多數人用的都是 stable branch 的關係?? 我是比較喜歡用 security branch 一次跳一個版本, 踩地雷不是我的興趣.

好在 Google 了許久的結果終於找到了問題點所在. portupgrade 抓 packages 版本是跑 uname 抓版本, 所以把 UNAME_r 直接設定成 stable branch 就可以暫時解決這個問題, 當然偷工一點直接把 PACKAGESITE 設到 stable branch 的目錄也行, 不過這也能算是鋸箭法, 還是得要找個可以正確設定的方法才行.

不過翻了 Google 也有其他的收穫, 就是找到了 6.x 新增的 port tree 更新方法--portsnap. 用起來比起之前跑 cvsup 要快得多了. 只要先跑一次 portsnap fetcup extract 把基本的東西裝好, 以後每次跑 portsnap fetch update 就好了. 直接把 portsnap cron update && pkg_version -vIL= 丟到 crontab 裡每天接 log 則是更快的方法, 比起之前跑 cvsup 再慢慢檢查版本要來得更快更輕鬆, 相當不錯.

沒有留言:

張貼留言