本文基於BSD8.x,cvsup,svn等安裝更新方式不在此範圍內,portupgrade也已經被取消掉了。
BSD的ports系統是個很棒的發明,由於是編譯方式安裝軟件,因此在可定製性上比yum或apt-get高了很多。yum或者apt-get的優勢在於,你須要第一次安裝後配置好相關軟件的conf文件,之後再安裝,都是以rpm包的形式直接安裝二進制文件。省事,但缺乏新版本的可定製性。BSD的ports方式就能夠每次安裝新版本的時候都對軟件進行config。因此相比我更喜歡ports。
port所在的目錄是/usr/ports,一般查找一個須要的軟件我都是用whereis,若是名字寫錯了或者不太清楚,我會用find /usr/ports/ -name "*關鍵字*",還有一種方法是到ports目錄下去
make search key="關鍵字"。
ports的安裝很簡單,直接make && make install,有編譯選項的會彈出選項界面。若是不彈,或者想改變原有的編譯選項。能夠先make config。編譯過程當中有些軟件會提示安裝過或者已經註冊過,但須要強行編譯的話,就加上make FORCE_PKG_REGISTER="yes" && make install。
portsnap是更新ports tree列表的工具。可是須要注意,portsnap僅僅是更新ports列表,並不會更新你的軟件。第一次使用須要用portsnap fetch extract,之後就能夠直接 update了。
重點是,更新你的軟件和系統,須要先去編譯portmaster,而後用portmaster -Da進行更新,不少教程都會教portsnap,但不多有教程會教你portmaster。其實portmaster纔是更新系統,portsnap只是更新ports列表。在portsnap完成以後,必定記得用portmaster進行系統的更新。