歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> Unix教程

FreeBSD學習指南

FreeBSD

FreeBSD 的版本命名規則

A-主要版本編號

B-次要版本編號

C-修正版本編號

TAG-名稱標簽,如 RELEASE、STABLE、CURRENT

install.iso 安裝時用這一片即可!mini.iso 也是可以用來安裝,但裡面沒有一些常用的 Package ,所以檔案比較小。

硬盤分割表的概念

IDE 硬盤在 FreeBSD 中的代號分別是 ad0 、ad1 ,在 FreeBSD 可將主要扇區分割成許多邏輯扇區 logical slice ,a 在傳統上是指根目錄,b 是指 swap 虛擬內存,c 指整個主要扇區,d 指整個硬盤, efgh 可以任意使用!

改變 inode 的設定

按 N 並輸入參數 newfs -i 1024 -b 4096 -f 1024

選安裝套件,除了最後二項 local 和 XFree86 外,全部都選。

在 Configuration Menu 所做的設定都會存放在 /etc/rc.conf 中,可以修改這個檔案!

安裝完 FreeBSD 要安裝的軟件 vim-lite less gnuls pkg_tree elm+ME bash2 unzip nmap wget ncftp3 pstree

FreeBSD 的目錄結構

/etc/defaults 放置預設的系統設定文件。 /etc/mtree 目錄權限的設定文件。 /etc/periodic 每天、每周、每月定時要執行的設定。 /usr/ports FreeBSD 移植軟件的原始程序目錄,我們可以從這個目錄中找到自己想要的軟件來快速安裝。 /usr/src 放置 BSD 或其它軟件原始程序代碼的目錄。 /var/account 使用者執行過的指令記錄文件。 /var/db 重要的系統數據庫。 /var/quotas 檔案系統使用容量限制的記錄。

 

修改、編譯核心

/usr/src/sys/i386/conf 中有二個檔案,一個是 GENERIC ,是安裝時用的一般核心,一個是 LINT 則是完整的核心及說明。

編譯新的核心

options QUOTA

pseudo-device snp 可以監看使用者

#NAT

一、options IPFIREWALL

#支援 NAT

二、options IPDIVERT

#下面這一行是預設允許所有的封包通過,如果沒有這一行,就必須在 /etc/rc.firewall 中設定封包的規則

三、options IPFIREWALL_DEFAULT_TO_ACCEPT

#下面一行是讓您可以在 ipfw 中設定要記錄哪些封包,如果沒有這一行,這算設定了要留下記錄也不會有作用

四、options IPFIREWALL_VERBOSE

#防火牆

除了 NAT 的一、三、四外

#這一行是限制每一條規則所要記錄的封包數量,因為同樣的規則可能有許多的記錄,加上這一條可以使同樣的記錄重復數減少,以避免記錄文件爆。

options IPFIREWALL_VERBOSE_LIMIT=10

#下面這一行是用來支持封包轉向,當您要使用 fwd 動作時必須要有這一項設定

options IPFIREWALL_FORWARD

#如果要使用 pipe 來限制頻寬,必須加入下列選項以支持 dummynet

options DUMMYNET

編譯核心第一種方法

config GENERIC

cd ../../compile/GENERIC/

make depend;make;make install

第二種方法

在 FreeBSD 4.2-STABLE 之後可以用的新的方法

cd /usr/src

make buildkernel KERNCONF=GENERIC

make installkernel KERNCONF=GENERIC

cd /;rm -rf /usr/src/sys/compile/GENERIC

sync;sync;sync;reboot

新的核心有問題時

當編譯完核心重新開機,無法進入 FreeBSD 時,要在開機時看到倒數計時的時候,按 Enter 以外的鍵,會出現 boot:,這時候就打 unload 來將已加載的數據移除,再打 /kernel.old 以使用舊的核心。萬一連舊的核心也不能開機,就要使用安裝時的核心,/kernel.GENERIC,如果您想刪掉壞的核心,由於 kernel 文件有特殊的檔案屬性,必須先下指令修改屬性才能刪除。

chflags noschg /kernel

 

建立友善的使用者接口

編輯 /etc/csh.cshrc 或 /.cshrc 使用 tcsh 或 csh shell 時

加入 alias ls gnuls --color -F

如果想要新增使用時都能加入,則要修改 /usr/share/skel/dot.cshrc

想改 PATH 及一些設定也是在 /usr/share/skel 下的一些檔案修改

常見的環境變量

EDITOR:設定文書編輯器

PAGER:設定分頁程序 more 或 less

支持中文的環境,只支持 tcsh csh

編輯 /etc/csh.login

setenv ENABLE_STARTUP_LOCALE zh_TW.Big5

# 使用遠程登入時才能打出中文

setenv LC_CTYPE is_IS.ISO_8859-1

# Console 下用才能打出中文

setenv LANG zh_TW.Big5

如果是 bash 要改用

export ENABLE_STARTUP_LOCALE='zh_TW.Big5'

export LC_CTYPE='is_IS.ISO_8859-1'

export LANG='zh_TW.Big5'

取消登入後,會自動秀出的一段文字 修改 /etc/motd Message Of The Day

如果不希望 motd 內容出現 FreeBSD 的版本信息,可以在 /etc/rc.conf 中加入

update_motd="YES"

FreeBSD 的賬號管理

adduser 新增使用者

pw groupadd newgroup 新增一個群組

pw groupshow newgroup 顯示成果

vipw

FreeBSD 使用 shadow passowrd 的方式來保護密碼文件,只有 root 才可以讀取編碼過的密碼文件 /etc/master.passwd ,但是這並不是系統用來驗證的檔案,為了加快速度,FreeBSD 將該文件做成數據庫 /etc/spwd.db 及 /etc/pw.db ,因此修改完 master.passwd 後要下指令 pwd_mkdb 來將 master.passwd 做成數據庫,但使用 vipw 就會自動完成這項工作!

 

rmuser 刪除使用者

FreeBSD 磁盤配額

一、在核心設定中加入 options QUOTA 這一行,並重新編譯核心。

二、在 /etc/rc.conf 加入 enable_quotas="YES"

三、在 /etc/fstab 中加入要啟動磁盤限制的分割區中加入參數 userquota

        Options 下 rw 的後面加入 rw,userquota

好了之後重新開機,再下 edquota -u username 來限制

在 4.5-RELEASE 中,開機內定會檢查所有使用者的 quota ,如果不要檢查,就在 /etc/rc.conf 中加入 check_quotas="NO"。

FreeBSD 網絡相關指令

ftp -a 以匿名者自動登入

sockstat 查看主機 internet 或 domain socket 。您可以用來查詢有誰連到您的機器中,由哪一個網絡服務接收,該網絡服務的 PID 是多少,還可以查詢本機開放了哪些 Port ,提供了哪些服務。

 /etc 下的檔案介紹

csh.cshrc 這是 csh tcsh 用的內定 .cshrc 檔案,也就是進入該 Shell 時會加載的設定。

csh.login 這是 csh tcsh 用的內定 .login 檔案,也就是進入該 Shell 時會加載的設定。

defaults/make.conf 通常會復制一份到 /etc 下,用 port 安裝軟件時,會參考這個檔案,把裡面的 FTP 站台改成距離國內比較近的。

login.access 用來設定登入系統使用者的權限,我們可以在這裡設定是否允許使用者從 console 登入、從不同的區域登入的權限等。

login.conf 這個檔案用來控制不同賬號可以使用的系統資源,它會依照使用者在密碼文件中的 login class 來尋找相對的 class 設定,如果沒有分類則使用 default 的默認值。修改完該檔後,要執行 cap_mkdb /etc/login.conf 重建系統數據庫。

newsyslog.conf 用來定期檢查 /var/log/ 的檔案,設定當 log 到一定大小或是定期的將舊的檔案壓縮備份,並刪除太老舊的檔案。

語法:logfilename [owner:group] mode count size when [ZB] [/pid_file] [sig_num]

 

logfilename log 文件名稱 [owner:group] log 檔擁有人:群組 mode 該 log 文件的權限[檔案屬性] count 最多計算到多少,例如 cron 是 3 ,表示有 4 個壓縮檔,從 cron.0.gz 到 cron.3.gz size 檔案最大到多少即壓縮備份,以 KB 計。 when 什麼時候做備份,請 man newsyslog 來看詳細說明。以 @ 為首代表用 ISO 8601 結構的時間格式。以 $ 為首代表使用每天、每周、每月。

$D0 每天半夜十二點

$D23 每天 23:00 時

$W0D23 每周日 23:00

$W5D16 每周五 16:00

$MLD0 每月最一天半夜十二點

$M5D6 每月第五天 6:00

[ZB] Z 表示要將該檔以 gzip 壓縮,B 代表該檔是 binary 檔。 [/pid_file] pid 文件的絕對路徑 [sig_num] 要送給該 daemon 程的 signal number

FreeBSD 的軟件安裝

Copyright © Linux教程網 All Rights Reserved