制作FreeBSD-USB安裝盤
IMG映像文件下載:ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/7.4-RELEASE/floppies/。
在當前目錄下執行,#dd if=FreeBSD-8.2-RELEASE-i386-memstick.img of=/dev/da0[設備名] bs=64k
如何設定網絡
修改/etc/rc.conf,需要/etc/rc.d/netif重起,或reboot才能生效。
ifconfig_re0="inet 192.168.0.76 netmask 255.255.254.0"
增加第二個 IP
ifconfig_re0_alias0="inet 192.168.0.76 netmask 255.255.254.0"
直接使用ifconfig,立刻生效
# ifconfig re0 192.168.0.76 255.255.254.0
設定系統默認網關
修改 /etc/rc.conf
defaultrouter="192.168.0.1"
使用route命令,即時生效
route add default 192.168.0.1
設定系統默認域名服務器
修改 /etc/resolv.conf 文件到如下內容,如果這個文件不存在,可以直接創建。
nameserver 192.168.0.1
更復雜的設定可以參考這個文件的 man 文檔。
/etc/hosts 文件的作用
系統默認查詢域名的順尋是,先從 /etc/hosts 查詢,如果查不到就從 dns 服務器查詢。因此,你可以把一些常用的 域名-IP 地址對應寫到 /etc/hosts 裡面以加快網絡速度。
FTP訪問相關
# ftp 192.168.1.248 Enter //# lftp lipengfei:[email protected] Enter
# 用戶名 Enter
# passwd Enter
# get file(文件名)即可下載文件到用戶目錄
# 匿名服務器 anonymous
4.啟動putty並使root可ssh登錄
首先vi編輯/etc/inetd.conf,去掉ssh前的#,保存退出
編輯/etc/rc.conf
最後加入:sshd_enable="yes"即可
激活sshd服務:
techo#/etc/rc.d/sshd start
用下面命令檢查服務是否啟動,在22端口應該有監聽。
#netstat -an ## check port number 22
最後
vi /etc/ssh/sshd_config,
修改下列一行
#PermitRootLogin yes #允許root登錄
修改完配置文件後,重新啟動sshd服務器(/etc/rc.d/sshd restart)即可。
解決安裝後聲卡無法識別問題
# vi /boot/loader.conf
添加
snd_hda_load="YES"
保存,reboot.即可。
Grub4dos引導FreeBSD系統
title FreeBSD
root (hd0,x,y)
kernel /boo/loader \\其中,x為你的FreeBSD的分區,y為FreeBSD/所在的SLICE.
Grub2引導FreeBSD
menuentry "FreeBSD2" {
insmod ufs2
set root=(hd0,2)
kfreebsd /boot/kernel/kernel
}
設備標示
ad ATAPI (IDE) 磁盤
da SCSI 直接存取磁盤
acd ATAPI (IDE) 光驅
cd SCSI 光驅
fd 軟驅
軟件包管理
1.查詢
pkg_info -r joe-(version).tgz #查詢指點套件所依賴軟件包
pkg_info #查詢所有套件
pkg_info | grep * #查詢目前系統與*相關的套件
pkg_info -W /usr/local/bin/joe #查詢joe屬於哪個套件,若沒有回執則說明joe屬FreeBSD內建的。
pkg_info -L /var/db/pkg/joe-(version) #查詢某個套件安裝了那些檔案
pkg_version(1) #是一個用來統計所有安裝的軟件包版本的工具。它可以用來比較本地 package 的版本與 ports 目錄中的當前版本是否一致。在第二列的符號指出了安裝版本的相關時間和本地ports目錄樹中可用的版本。
符號 含義
= 在本地ports樹中與已安裝的軟件包版本相匹配。
< 已安裝的版本要比在ports樹中的版本舊。
> 已安裝的版本要比在ports樹中的版本新 (本地的port樹可能沒有更新)。
? 已安裝的軟件包無法在ports索引中找到。 (可能發生這種事情,舉個例子, 您早先安裝的一個 port 從 port 樹中移出或改名了)
* 軟件包有很多版本。
2.安裝
pkg_add -r joe-(version).tgz #安裝指定套件
pkg_add -f joe-(version).tgz #強制安裝指定套件,不考慮依賴問題
pkg_version -c #自行整理並提供可升級套件列表
3.卸載
cd /usr/ports/editors/joe
make deinstall #移除軟件
pkg_delete -f joe-(version) #強制移除
make deinstall-depends(軟件包名) #一並移除相依賴軟件
pkg_delete joe-(version) #一並移除相依賴軟件
pkg_delete xchat\* #這時, 所有名字以 xchat 開頭的 package 都會被刪掉。
Debian Linux下掛在FreeBSD分區UFS
# fdisk -l //可以看出FreeBSD的UFS分區在linux被識別為/dev/sda2
# cd /mnt && mkdir sda2 //創建UFS分區掛載點/mnt/sda2
# mount -rt ufs -o ufstype=ufs2 /dev/sda2 /mnt/sda2/ //執行掛在命令
# mount -t ufs -o ro,ufstype=ufs2 /dev/sda2 /mnt/mnt/
OK
如果希望啟動後自動掛載則在/etc/fstab添加
/dev/hda9 /mnt/bsd ufs ro,ufstype=ufs2 0 0
啟用FreeBSD系統自帶FTP服務
# vi /etc/inetd.conf
去掉ftp stream tcp nowait root /usr/libexec/ftpd前面的#刪除。(開啟ftp服務)
# vi /etc/rc.conf
添加
ftpd_enable=”YES”
將ftpd服務加入自啟動
/etc/rc.d/ftpd start
啟動ftp服務
/etc/ftpusers 不可使用來登陸ftp的用戶,指黑名單列表設定
/etc/ftpchroot 需要做chroot 的賬號和群組列表
/etc/ftphosts 虛擬機站點的設定
/etc/ftpwelcome 進行ftp的歡迎信息
/etc/ftpmotd 登陸後自動的提示信息
/var/run/nologin 拒絕登陸後的顯示信息
/var/log/ftpd 記錄用匿名方式登陸時的傳輸情況
解決freebsd下普通用戶無法su至root
vi /etc/group //編輯group文件
wheel:*:0:root //修改第一行
wheel:*:0:root,xiaopang //給wheel用戶組添加xiaopang用戶
然後就可以通過普通用戶xiaopang su 到root了
設置FreeBSD登陸提示信息
# vi etc/motd //寫入需要提示內容即可
ports使用技巧
下載指定軟件tarball
# make fetch
下載安裝指定ports所需其他ports的tarball
# make retch-recursive
如果希望下載所有ports的tarball
# cd /usr/ports
# make fetch
會將所有tarball下載到/usr/ports/distfiles/目錄下
抓取ftp下所有ports的ports的tarball,則:
# cd /usr/ports/ftp
# make fetch
# dmesg | grep attached //可查看那些設備沒有被驅動
# pciconf -lv //可查看具體信息
# /var/run/dmesg.boo //也是個不錯的排錯參考之一
# ntpdate time.windows.com //網絡校時
改變ports安裝軟件下載地址,在/etc/make.conf中加入
MASTER_SITE_BACKUP?=http://mirrors.163.com/FreeBSD/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP}
Packages更改軟件庫下載地址
setenv PACKAGESITE http://mirrors.163.com/FreeBSD/releases/i386/8.1-
RELEASE/packages/Latest/
pkg_add -r package #package為要安裝的軟件名
啟動NFS客戶端
1.修改/etc/rc.conf
nfs_client_enable="YES"
2.修改/etc/fstab,添加遠程nfs分區,例如
remote_server:/path/to/export /local/mount/point nfs rw,late 0 0
注: 選項 late 也可以不添加。如果添加了,就可以用 /etc/rc.d/mountlate 來掛載啟動時沒
有掛載或掛載失敗的 nfs 分區。
3.執行/etc/rc.d/nfsclient
# /etc/rc.d/nfsclient start
掛在iso鏡像
mount -t cd9660 /dev/`mdconfig -f cdimage.iso` /mnt
掛在ext3/ext2分區
mount -t ext2fs /dev/ad0s1 /mnt/ad0s1
如何查看當前用戶默認的shell
echo $SHELL
查詢Ports中是否含有某個軟件包
$ /usr/ports
$ make search key=pidgin
同樣也可以使用
$ cd /usr/ports
$ make search name=pidgin
用上面兩種方法查詢時,顯示的信息比較詳細,包括維護者、依賴包、主頁等內容。如果只想顯示所在的路徑和軟件名稱,則可以用
$cd /usr/ports
$make quicksearch name=php
安裝fcitx-googlepinyin輸入法
# cd /usr/ports/chinese/fcitx-googlepinyin/ && make install clean
在.cshrc裡加入
setenv XMODIFIERS @im=fcitx
setenv GTK_IM_MODULE xim
setenv QT_IM_MODULE xim
在.xinitrc裡加入
fcitx & 注意:這個一定要寫在/usr/local/bin/startxfce4的前面。
更新ports的方法
portsnap fetch extract update
更改用戶shell
# vipw 或 chsh
如何讓csh顯示彩色文件列表
編輯/etc/csh.cshrc加入以下代碼
setenv LSCOLORS ExGxFxdxCxegedabagExEx
setenv CLICOLOR yes
然後執行
# sed -i.bak -E s/set\ prompt/#set\ prompt/g /root/.cshrc
如何讓csh想bash那樣按TAB自動列出無法補全的候選文件,
標准方法是按Ctrl+D,但如果一定要用TAB的話,在/etc/csh.cshrc中加入;
set autolist
如何讓FreeBSD的csh顯示類似[xiaopang@BSD]~這樣的提示符號?
在/etc/csh.cshrc中加入;
set prompt = '[%B%n@%m%b] %B%~%b%# '
然後執行;
# sed -i.bak -E s/set\ prompt/#set\ prompt/g /root/.cshrc
搭建samba服務器
# cd /usr/ports/net/samba46 && make install
出現選擇,依照內定預設值,按TAB選擇OK,再按Enter.
Options for samba 3.0.24,1
[X] LDAP With LDAP support
[X] ADS With Active Directory support
[X] CUPS With CUPS printing support
[X] WINBIND With WinBIND support
[X] ACL_SUPPORT With ACL support
[ ] FAM_SUPPORT With File Alteration Monitor
[X] SYSLOG With Syslog support
[ ] QUOTAS With Disk quota support
[X] UTMP With UTMP accounting support
[ ] MSDFS With MSDFS support
[ ] PAM_SMBPASS With PAM authentication vs passdb backends
[ ] CLUSTER With experimental cluster support
[ ] EXP_MODULES With experimental modules
[X] POPT With system-wide POPT library
[ ] MAX_DEBUG With maximum debuging
# cp /usr/local/etc/smb.conf.default /usr/local/etc/samba.conf \\復制Samba.conf配置文件
########################以下內容可實現用戶自動登錄home目錄##########################
workgroup = WORKGROUP
server string = %h Samba Server
log file = /var/log/samba/%m.log
[homes]
comment = Home directory for %u on %h
browseable = no
writable = yes
path = /usr/home/%u/
valid users = %S
##################################################################
編輯/etc/rc.conf添加
winbindd_enable="YES"
samba_enable="YES"
然後添加使用者賬號
# adduser username
設定samba user database (samba的使用者賬號):
# smbpasswd -a username
/usr/local/etc/rc.d/samba start //啟動samba服務
安裝Apache22
1.可以使用ports安裝
cd /usr/ports/www/apache22
make install clean
第一次安裝由於沒有配置config,所以會彈出窗口讓你選擇模塊,選擇所需要的模塊進行安裝
2.使用編譯好的包遠程安裝
pkg_add -rv apache22
3.配置apache
apache的主配置文件是/usr/local/etc/apache22/httpd.conf,可以根據實際情況修改,主要並且重要的參考:http://lamp.linux.gov.cn/Apache/ApacheMenu/index.html
4.啟動apache
echo 'apache22_enable="YES"' >> /etc/rc.conf
/usr/local/etc/rc.d/apache22 start
FreeBSD 9.0 vncserver 安裝與配置
復制代碼代碼如下:
# cd /usr/ports/net/vnc
# make
# make install \\查看vncserver路徑
# which vncserver
/usr/local/bin/vncserver
# mkdir .vnc
# cd .vnc
# vncserver \\啟動vnc第一次啟動會要求輸入密碼
# vncserver -kill :1
# vi xstartup \\修改xstartup為以下內容
####################################################
#!/bin/sh
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
# 下面的2行是vncserver第一次啟動的時候產生的,為了使用Gnome,我把它們給
# 注釋掉了
# xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
# twm &
fvwm &
#####################################################
# vncserver //重新啟動vncserver,服務端配置完畢。
在客戶端啟動vnc viewer 輸入:“192.168.1.111:1”,確認並輸入密碼即可遠程登陸。