這些分割槽預設情況下以唯讀方式掛接。
/etc
和/var
目錄均為md(4)
(malloc) 盤。
配置檔案分割槽儲存在/cfg
目錄。它包含了用於/etc
目錄的檔案, 在啟動之後暫時以唯讀方式掛接。 因此,在需要從/etc
向/cfg
目錄複製所進行的、希望在重啟時保持不變的配置時, 需要進行一些額外的操作。
例 1. 在/etc/resolv.conf
中進行需要保持的修改
#
vi /etc/resolv.conf
[...]#
mount /cfg
#
cp /etc/resolv.conf /cfg
#
umount /cfg
只有在系統啟動過程中, 以及需要修改配置檔案的場合, 才需要掛接包含/cfg
的那個分割槽。
/src/tools/tools/nanobsd目錄中找到。 這個指令碼建立的映像檔案, 可以用 dd(1)
工具複製到儲存介質上。
#
cd /usr/src/tools/tools/nanobsd
#
sh nanobsd.sh
#
cd /usr/obj/nanobsd.full
#
dd if=_.disk.full of=/dev/da0 bs=64k
開始構建過程。
進入構建好的映像檔案所在的目錄。
執行下面的命令將使nanobsd.sh
從當前目錄中的myconf.nano
檔案讀取配置:
#
sh nanobsd.sh -c myconf.nano
定製過程包含兩步:
2.3.1. 配置選項
配置檔案中包含用以代替預設值的配置選項。 最重要的語句包括:
2.3.2. 定製函式
cust_foo () (echo "bar=baz" > \$/etc/foo)customize_cmd cust_foo
下面是乙個更貼近實際的例子, 它將預設的/etc
目錄尺寸, 從 5mb 調整為 30mb:
cust_etc_size () (cd $/confecho 30000 > default/etc/md_size)customize_cmd cust_etc_size
除此之外, 還有幾個預設的預定義定製函式:
2.3.3. 安裝預編譯軟體包
install_packages () (mkdir -p $/packagescp /usr/src/tools/tools/nanobsd/packages/* $/packageschroot $ sh -c 'cd packages; pkg_add -v *;cd ..;'rm -rf $/packages)customize_cmd install_packages
2.3.4. 配置檔案舉例
nano_name=customnano_src=/usr/srcnano_kernel=mykernelnano_images=2conf_build='no_kldload=yesno_netgraph=yesno_pam=yes'conf_install='no_acpi=yesno_bluetooth=yesno_cvs=yesno_fortran=yesno_html=yesno_lpr=yesno_man=yesno_sendmail=yesno_sharedocs=yesno_examples=yesno_installlib=yesno_calendar=yesno_misc=yesno_share=yes'conf_world='no_bind=yesno_modules=yesno_kerberos=yesno_games=yesno_rescue=yesno_locales=yesno_syscons=yesno_info=yes'flashdevice sandisk 1gcust_nobeastie() (touch $/boot/loader.confecho "beastie_disable=\"yes\"" >> $/boot/loader.conf)customize_cmd cust_comconsolecustomize_cmd cust_install_filescustomize_cmd cust_allow_ssh_rootcustomize_cmd cust_nobeastie
重新啟動, 並從新安裝的分割槽中啟動系統。
如果一切順利的話, 公升級工作就完成了。
如果發生了任何問題, 則可以從先前的分割槽啟動 (其中包含了舊的、 可用的映像), 來盡可能快地恢復系統功能。 接下來可以修正新聯編的版本中存在的問題, 並重複前述步驟。
2.4.1. 使用 ftp(1)
如果傳輸速度是第一要務, 採用下面的例子:
#
ftp myhostget _.disk.image "| sh updatep1"
2.4.2. 使用 ssh(1)
#
ssh myhost cat _.disk.image.gz | zcat | sh updatep1
2.4.3. 使用 nc(1)
如果遠端主機既不提供 ftp(1)
服務, 也不提供 sshd(8)
服務:開始時, 在提供映像的主機上開啟 tcp 監聽, 並令其將映像檔案發給客戶機:
myhost#
nc -l 2222
< _.disk.image
連線到提供新映像服務的主機, 並執行updatep1
指令碼:
#
nc myhost 2222
| sh updatep1
如何使用 滅火器如何使用
滅火器的種類不同使用方法也不相同,下面單獨針對乾粉滅火器 泡沫滅火器和二氧化碳滅火器使用方法說明。一 乾粉滅火器的使用方法 適用範圍 適用於撲救各種易燃 可燃液體和易燃 可燃氣體火災,以及電器裝置火災。1 右手拖著壓把,左手拖著滅火器底部,輕輕取下滅火器。2 右手提著滅火器到現場。3 除掉鉛封。4 ...
如何使用 如何正確使用定速巡航
現在隨著造車技術的不斷創新和改進,越來越多的高科技功能都應用到了汽車上,不僅提供了實用性,也讓我們享受到了科技的快感。今天我們就聊一聊一項可以實現車輛自動駕駛的功能 定速巡航。定速巡航 cruise control system 簡稱ccs,簡單的理解就是給車子設定乙個速度值,駕駛員只需要掌握方向,...
如何使用CFileDialog
cfiledialog的語法 cfiledialog bool bopenfiledialog,lpctstr lpszdefext null,lpctstr lpszfilename null,dword dwflags ofn hidereadonly ofn overwriteprompt,l...