====== SSHD ====== 啟動系統內建的 SSH Server # vim /etc/rc.conf 增加一行: sshd_enable="YES" # /etc/rc.d/sshd ====== .cshrc ====== 安裝 gnuls # cd /usr/ports/misc/gnuls ; make install clean alias ls gnuls --color=auto setenv EDITOR vim setenv PAGER less setenv BLOCKSIZE K set prompt = '%n@%m:%~%# ' ====== make.conf ====== 複製 make 的設定檔(若檔案已經存在就不需要)。 # cp /usr/share/examples/etc/make.conf /etc/ 修改 make.conf,新增 MASTER_SITE_BACKUP 及預設語系等設定。 # CVSup update flags. Edit SUPFILE settings to reflect whichever distribution # file(s) you use on your site (see /usr/share/examples/cvsup/README for more # information on CVSup and these files). To use, do "make update" in /usr/src. # SUP_UPDATE=yes # SUP= /usr/local/bin/csup SUPFLAGS= -g -L 2 SUPHOST= cvsup.tw.FreeBSD.org SUPFILE= /usr/share/examples/cvsup/standard-supfile PORTSSUPFILE= /usr/share/examples/cvsup/ports-supfile DOCSUPFILE= /usr/share/examples/cvsup/doc-supfile X11BASE=${LOCALBASE} 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} ... ... ... WITHOUT_X11=yes WITH_CHARSET=utf8 WITH_XCHARSET=complex ====== pkg_add ====== 如果執行 pkg_add -r xxxxxx 時出現: Error: FTP Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-release/Latest/xxxxxx.tbz: File unavailable (e.g., file not found, no access) pkg_add: unable to fetch 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-release/Latest/xxxxxx.tbz' by URL 代表套件庫裡面找不到檔案,可先到 ftp://ftp.tw.freebsd.org/pub/FreeBSD/ports/i386/ 網址確認有哪些版本可用,然後執行 # setenv PACKAGESITE ftp://ftp.tw.freebsd.org/pub/FreeBSD/ports/i386/packages-X-release/Latest/ 將 X 替換成適合的值 來更換預設的套件下載站。 ====== portupgrade ====== ===== 換版本分之 ===== 原本一直使用的主要版本,有可能會因為版本大更新,而做出一個分支,但是不想要換太大,可以透過 portupgrade 來切換到分支版本。例如:postfix 分支從 2.6 升級到 2.8,並且另外獨立了一個 postfix26 分支出來,此時可透過 portupgrade -o mail/postfix26 postfix 指令,將 postfix 的版本維持在 2.6 版。 另外,由 php5 要保持在 php52,要升級的套件非常龐大,可以利用別人寫好的 bash 語法來完成: for d in `portversion -vL= | grep php5 | awk '{print $1}'`; do OLD=`echo $d | cut -d - -f 1,2`; NEW=`echo $d | sed s/php5/php52/ | cut -d - -f 1,2`; THEPATH=`whereis $NEW | awk '{print $2}' | cut -d / -f 4,5`; echo "portupgrade -o $THEPATH $OLD && \\"; done 會產生所有需要升級的指令,將結果複製貼上去執行就可以了! ====== Port 安裝時 MD5/SHA256 錯誤 ====== 如果在 Ports 編譯時,出現類似訊息: # make ===> Extracting for py26-sqlite3-2.6.2_1 => No MD5 checksum recorded for python/Python-2.6.2.tgz. => No SHA256 checksum recorded for python/Python-2.6.2.tgz. => No suitable checksum found for python/Python-2.6.2.tgz. *** Error code 1 Stop in /usr/ports/databases/py-sqlite3. 代表 /usr/ports/distfiles/python/Python-2.6.2.tgz 檔案下載時錯誤,刪除後重編就可以了。 根據出現錯誤的套件,刪除相對的檔案。 ====== vimrc ====== set nocompatible " Vim5 and later versions support syntax highlighting. Uncommenting the next " line enables syntax highlighting by default. syntax on set nu """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Text options """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set noexpandtab set shiftwidth=4 set softtabstop=4 set tabstop=4 set backspace=2 set formatoptions+=mM " so that vim can reformat multibyte text(eg. Chinese) set enc=utf-8 set fileencoding=utf-8 set termencoding=big5 " Favorite file types set ffs=unix,dos nmap fd :set ff=dos nmap fu :set ff=unix " If using a dark background within the editing area and syntax highlighting " turn on this option as well set background=dark " Uncomment the following to have Vim jump to the last position when " reopening a file if has("autocmd") au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") \| exe "normal g'\"" | endif endif " Uncomment the following to have Vim load indentation rules according to the " detected filetype. Per default Debian Vim only load filetype specific " plugins. if has("autocmd") filetype indent on endif " The following are commented out as they cause vim to behave a lot " differently from regular Vi. They are highly recommended though. set showcmd " Show (partial) command in status line. "set showmatch " Show matching brackets. "set ignorecase " Do case insensitive matching "set smartcase " Do smart case matching "set incsearch " Incremental search "set autowrite " Automatically save before commands like :next and :make "set hidden " Hide buffers when they are abandoned "set mouse=a " Enable mouse usage (all modes) in terminals set ruler """""""""""""""""""""""""""""" " Status line """""""""""""""""""""""""""""" set laststatus=2 " Always hide the status line "func! CurDir() " return substitute(getcwd(), "/home/tacolin", "~/", "g") "endfunc " Format the status line "set statusline=\ %F%m%r%h\ %w\ \ CWD:\ %r%{CurDir()}%h\ \ \ Line:\ %l/%L set statusline=\ %F%m%r%h\ %w\ [%{&ff}]\ [ASCI:\%3.3b]\ [POS:%3l,%3v:%3p%%]\ [LN:%L]