Package & Ports
CSIE 基爾 @ NCU網路開源社
Updated: 12232013
課程
• 相關學分:OS
• 等級:中
• 背景知識:FreeBSD基本操作
• 課程目標:
• 學會用各種方法裝套件
Basic
Package installation
• Port
• Package
• Traditional method
Port
• Source file
Package
• Binary file
跟用windows抓軟體很像。
Compare
Port Package
1. 客制化
2. 可更新相依套件版本
3. 可修改原始碼
1. 跟OS同時發行
2. 缺少某些軟體
3. 電腦慢者建議使用
4. 初學者使用(傻瓜安裝)
Port
Two config file
• Portsnap指令用到的設定檔:/etc/portsnap.conf
• Make指令用到的設定檔:/etc/make.conf
SERVERNAME=portsnap.FreeBSD.org
SERVERNAME=portsnap.tw.FreeBSD.org
SERVERNAME=portsnap.webamp.cc
MASTER_SITE_BACKUP?= 
ftp://freebsd.csie.ncu.edu.tw/distfiles/${DIST_SUBDIR}/ 
ftp://freebsd.csie.nctu.edu.tw/pub/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP}
不加入亦可。
Update Port Tree
• Before you use port…
• 指令:portsnap fetch extract
• 指令:portsnap fetch update
• 更新日誌:/usr/ports/UPDATING
測機更新過,不需要做了。
port放的位置
• /etc/ports/[類別]/[套件名稱]/
make
• 指令:(與Makefile同個目錄底下)
• make configure (正常情況可以省略這個步驟)
• make install
• make clean
• Make deinstall
定義@Makefile
Package Conflict 沒遇過他,別說你碰過freebsd!
whereis
• 指令:whereis [套件名]
/var/db/ports
• 存放安裝過的port紀錄
Package
pkg_add
• 指令:pkg_add –r [目標套件名稱]
• -r = remote fetch
pkg_delete
• 指令:pkg_delete [目標套件名稱]
pkg_info
• 直接輸入:顯示安裝的所有套件
/var/db/pkg
• 存放安裝過的pkg紀錄
Traditional method
fetch
• fetch [下載網址]
tar 壓縮
• 壓縮指令:tar –zcf [壓縮檔名].tar.gz [欲壓縮檔案OR目錄]
tar 解壓縮
• 解壓縮指令:tar –zxvf [壓縮檔案] [目標位置]
~Merry Christmas~

Ch9 package & port(2013 ncu-nos_nm)