2006/09/06

更新 package 或 ports 安裝過的程式

Upgrading Ports

更新 ports tree


# cd /usr/ports
# make update






檢查有哪些程式可更新


# pkg_version -v






安裝 portupgrade


# cd /usr/ports/sysutils/portupgrade
# make install clean






更新所有可更新的程式


# portupgrade -a

2006/09/03

更新 kernal

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html

安裝完 FreeBSD,接著要更新 kernel 使 FreeBSD 保持在最新版




觀察舊版本資訊


# uname -a






安裝 CVSUPcsup

csup 是一支利用 C 語言改寫 CVSup 的程式,效能較 CVSup 快許多

設定 package root
每次登入執行下列指令,或將下列指令加入 ~/.cshrc


setenv  PACKAGEROOT ftp://ftp.tw.freebsd.org



安裝 CVSUP


# pkg_add -r cvsup-without-gui
# rehash



安裝 csup

1. ports 安裝


# cd /usr/port/net/csup
# make install clean



2. package 安裝


# pkg_add -r csup
# rehash



3. 若以上兩種階找不到此一路徑 or 檔案,到官方網站下載並解壓縮


# fetch http://mu.org/~mux/csup-snap-20060313.tgz
# tar xzvf csup-snap-20060313.tgz
# cd csup
# make;make install






複製 make.conf


# cp /usr/share/examples/etc/make.conf /etc/






修改 make.conf ,修改的設定會對未來所有 make 指令生效

make.conf 參考設定

SUP_UPDATE=     yes
# csup
SUP= /usr/local/bin/csup
SUPFLAGS= -g -Z -L 1

# CVSup
#SUP= /usr/local/bin/cvsup
#SUPFLAGS= -g -L 2
#
# SUPHOST ...... CVSup.......... Server.
# cvsup[1-9].tw.FreeBSD.org
SUPHOST= cvsup.tw.FreeBSD.org
SUPFILE= /usr/share/examples/cvsup/stable-supfile
PORTSSUPFILE= /usr/share/examples/cvsup/ports-supfile
DOCSUPFILE= /usr/share/examples/cvsup/doc-supfile
PACKAGEROOT= ftp://ftp.tw.freebsd.org
# ..... FreeBSD distfiles mirror ..
MASTER_SITE_BACKUP?= \
ftp://ftp1.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp2.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp3.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp4.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp5.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp7.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp8.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp9.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP}
MASTER_SORT_REGEX?= \.tw/ \.tw\. \.edu/ \.edu\.
NO_MODULES= true
WITHOUT_X11= yes
NO_GUI= yes
USA_RESIDENT= NO






更新 source


# cd /usr/src
# make update






build world 編譯所有的原始碼

編譯前請先閱讀 /usr/src/UPDATING 內的說明


# cd /usr/src
# make buildworld






修改適合的 kernel configuration


# cd /usr/src/sys/i386/conf
# cp GENERIC NEWKERNEL






編譯核心

Building and Installing a Custom Kernel


# cd /usr/src
# make buildkernel KERNCONF=NEWKERNEL






安裝新核心


# cd /usr/src
# make installkernel KERNCONF=NEWKERNEL



非遠端安裝時,先 reboot 後進 single user mode 後再執行以下步驟(官方建議)




使用 mergemaster Pre-buildworld mode


# mergemaster -p






安裝 buildworld 編譯產生的新檔案


# make installworld






使用 mergemaster 同步 /etc 和 /usr/src/etc 下的設定檔

注意比對曾經修改過的檔案,尤其是 /etc/master.passwd, /etc/group, /etc/inetd.conf, /etc/hosts


# mergemaster






重開機


# reboot






觀察新版本資訊


# uname -a

2006/09/02

安裝FreeBSD

選 Custom,設定自己需要的 Partition, Label, Package

一般劃分 Label 可以分成 swap, /tmp, /usr, /var
也可以把 /home 獨立分割出來
若沒分割則 /home 會是 symbol link 到 /usr/home

安裝 package 建議把 src, ports 都裝起來方便以後更新 kernal




安裝完畢後,先進 Configuration 設定的 Time Zone 和 Networking
如果已重開機,想進入安裝時的藍色 GUI 介面,以 root 執行 /usr/sbin/sysinstall 即可

網路通了以後,再來設定 ssh server 以方便遠端管理
編輯 /etc/rc.conf 加上以下設定,使以後開機自動啟動

[code]#sshd
sshd_enable="YES"
sshd_program="/usr/sbin/sshd"
sshd_flags="-f /etc/ssh/sshd_config"[/code]

同時加上以下設定關閉不好使用的 sendmail

[code]# sendmail
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"[/code]




新增一個使用者
以 root 執行 adduser
輸入相關的資訊

如果要讓這個使用者可以切換使用者到 root
當詢問 Login group is a. Invite a into other groups? []: 時,輸入 wheel
或是可在新增使用者完畢後,編輯 /etc/group 在 wheel:*:0:root 後加上 ",使用者ID"
ex: wheel:*:0:root,sokoyo

詢問 Shell (sh csh tcsh nologin) [sh]: 時,建議使用 tcsh




編輯 /etc/ssh/sshd_config 設定 ssh server
建議將 port 更換,以避免被網路機器人測試密碼,嘗試登入。
建議設定
PermitRootLogin no
MaxAuthTries 3
PermitEmptyPasswords no
AllowUsers sokoyo
若設定 AllowUsers,只有設定內的使用者可以使用 ssh 遠端登入

下指令 reboot 重開機
若設定成功第一次會要求按 Enter 產生 sshd 使用的 pub key 和 pri key




設定完畢後
以遠端 ssh client ex: putty, pietty 輸入 address 與 port
選擇以 ssh, 用新增加的使用者登入遠端機器

輸入 su - 與 root 的密碼,測試使用者是否可以切換為 root

切換成功就大功告成,以後不用在電腦前也能控制電腦