国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Linux > 正文

Linux+FreeBSD mini-HOWTO

2024-07-26 00:31:23
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
作者: Niels Kristian Bech Jensen, nkbj@image.dk 
譯者: 黃則榮 tjhuang@technologist.com
v1.4, 23 January 1998 翻譯日期: 17 March 1998 


--------------------------------------------------------------------------------
這份文件途述如何在一個(gè)系統(tǒng)中使用 linux 和 FreeBSD. 它介紹 FreeBSD, 并討論這兩個(gè)系統(tǒng)如何互相影響, 如一起分享 swap 空間. 你在讀這份文件之前, 應(yīng)該要有使用 Linux 與做硬碟分割的經(jīng)驗(yàn). 如果你對(duì)這篇文件有任何的評(píng)論, 問(wèn)題, 與建議, 請(qǐng)不要猶豫, 寫(xiě)封電子郵件給我. 我也希望聽(tīng)聽(tīng)有同時(shí)使用 Linux 和 NetBSD 或 OpenBSD 經(jīng)驗(yàn)的人說(shuō)說(shuō). 
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

1. 什麼是 FreeBSD? 
FreeBSD 和 Linux 一樣是個(gè)免費(fèi)的, 如同 unix 般的作業(yè)系統(tǒng). 最主要的差異是, Linux 是自首到尾從新發(fā)展的, 而 FreeBSD 是基於 4.4BSD (柏克來(lái)大學(xué)軟□ Distribution) 自由 redistribution 的那一個(gè)部份而來(lái). 這個(gè)部份也被稱為 4.4BSD-lite. 這個(gè)事實(shí)也許會(huì)使人這麼想: FreeBSD 比 Linux 更近於'真正'的unix. FreeBSD 只能在 Intel PC 平臺(tái)上(i386或更高)執(zhí)行. 而移植到 DEC Alpha 平臺(tái)的版本目前正在被討論. FreeBSD 對(duì)硬□的需求與 Linux 非常的相像. 

FreeBSD 的發(fā)展與 Linux 比較起來(lái)是比較封閉的. 主要的決定是由一個(gè)開(kāi)發(fā)人員所成立的中心團(tuán)隊(duì)負(fù)責(zé). 大的改變先在mail-list 上事先做討論. FreeBSD 有兩個(gè)發(fā)展樹(shù), (如同 Linux 一般) : ``-current'' 和 ``-stable". 新功能的發(fā)展在``-current"發(fā)展樹(shù)中, 而``-stable"樹(shù)中的改變主要都是己除去 bug 的了. 

FreeBSD 如同 Linux一般可自由免費(fèi)的使用與(re-)散發(fā). 系統(tǒng)的大部份是在BSD 版權(quán)下發(fā)行, 而其他的則是在 GNU GPL 或 GNU LPGL 下. 

你可以在 FreeBSD Inc. 下找到更多的資訊或是下載整個(gè)系統(tǒng). 最新 ``-stable"的版本和 ``-current"發(fā)展程式碼可以在 Walnut Creek CDROM 購(gòu)得. (他們是使用 FreeBSD 來(lái)提供 web 和 ftp 服務(wù)) 



--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

2. FreeBSD 標(biāo)示硬碟的方式
Linux 和 FreeBSD 使用兩種不同的方式來(lái)標(biāo)示與切割硬碟. 

2.1 FreeBSD ``slices'' 和 ``partitions'' 
FreeBSD 只需要用硬碟上的一個(gè)主硬碟切割區(qū). 這個(gè)主切割區(qū)在 FreeBSD 的術(shù)語(yǔ)中被稱為 ``slice''. 然後它用 disklabel 這個(gè)程式在這個(gè)主硬碟切割區(qū)中制造邏輯切割區(qū). 這些邏輯切割區(qū)在 FreeBSD 的術(shù)語(yǔ)中被稱為``partitions''. 這個(gè)觀念與 Linux (和 DOS) 處理括充切割區(qū)中的邏輯切割區(qū)是非常相像的. 注意: Linux fdisk 程式的主功能表中并不會(huì)將 FreeBSD slice 中的 partitions 顯示出來(lái), 但是你可以使用命令 'b' 來(lái)顯示 BSD 磁碟標(biāo)簽的訊息. 它的輸出將如這樣 : (/dev/hda4 是 FreeBSD 的 slice): 


# fdisk /dev/hda 
 
Command (m for help): p
Disk /dev/hda: 64 heads, 63 sectors, 621 cylinders
Units = cylinders of 4032 * 512 bytes 
   Device Boot   Begin    Start      End   Blocks   Id  System
/dev/hda1   *        1        1       27    54400+  83  Linux native
/dev/hda2           28       28       55    56448   83  Linux native
/dev/hda3           56       56      403   701568   83  Linux native
/dev/hda4          404      404      621   439488   a5  BSD/386 
Command (m for help): b
Reading disklabel of /dev/hda4 at sector 1624897. 
BSD disklabel command (m for help): p
8 partitions:
#        size   offset    fstype   [fsize bsize   cpg]
  a:    64512  1624896    4.2BSD        0     0     0   # (Cyl.  404 - 419)
  b:   104832  1689408      swap                        # (Cyl.  420 - 445)
  c:   878976  1624896    unused        0     0         # (Cyl.  404 - 621)
  e:    64512  1794240    4.2BSD        0     0     0   # (Cyl.  446 - 461)
  f:   645120  1858752    4.2BSD        0     0     0   # (Cyl.  462 - 621) 
BSD disklabel command (m for help): q
#

在第一個(gè)欄位中的字母 `a'...`f' 與下面 FreeBSD slice 的例子中的是相同的. 字母`b'指的是 swap partition, 而`c'指的是整個(gè) slice. 閱讀 FreeBSD 文件以便獲取指定這些字母給不同切割型態(tài)的``標(biāo)準(zhǔn)方法" 的更多資訊. 

2.2 Linux 和 FreeBSD 中的硬碟與切割區(qū)標(biāo)示. 
Linux 和 FreeBSD 中的硬碟是如下列方法標(biāo)示的: 

Linux FreeBSD
First IDE drive /dev/hda /dev/wd0
Second IDE drive /dev/hdb /dev/wd1
First SCSI drive /dev/sda /dev/sd0
Second SCSI drive /dev/sdb /dev/sd1

FreeBSD slice 是如下方法標(biāo)示: (/dev/hda 為□例): 
Linux FreeBSD
First PRimary partition /dev/hda1 /dev/wd0s1
Second primary partition /dev/hda2 /dev/wd0s2
Third primary partition /dev/hda3 /dev/wd0s3
Fourth primary partition /dev/hda4 /dev/wd0s4

FreeBSD slice 中的 partitions 如下述方法標(biāo)示 (/dev/hda4 是例子中的 FreeBSD slice ): 
Linux label FreeBSD label Default FreeBSD mount point 
/dev/hda5 /dev/wd0s4a /
/dev/hda6 /dev/wd0s4b swap
/dev/hda7 /dev/wd0s4e /var
/dev/hda8 /dev/wd0s4f /usr

如果你在 Linux中執(zhí)行 dmesg 你將會(huì)看到如下 (Linux 的 kernel 必須有 UFS 支援才能奏效. 看 安裝并準(zhǔn)備 Linux) 部份: 
Partition check:
hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 >

如果你在 /dev/sdb3 slice 中安裝 FreeBSD, 而且 /dev/sdb2 是一個(gè)含有兩個(gè)邏輯切割的 Linux 擴(kuò)充切割 (/dev/sdb5 及 /dev/sdb6), 之前的例子看起來(lái)將如同這樣: 
Linux label FreeBSD label Default FreeBSD mount point 
/dev/sdb7 /dev/sd1s3a /
/dev/sdb8 /dev/sd1s3b swap
/dev/sdb9 /dev/sd1s3e /var
/dev/sdb10 /dev/sd1s3f /usr

在 dmesg 的輸出中看起來(lái)將如 
Partition check:
sdb: sdb1 sdb2 < sdb5 sdb6 > sdb3 < sdb7 sdb8 sdb9 sdb10 >

如果你有一個(gè) Linux 延伸磁區(qū)在 FreeBSD slice 之後, 你便有了麻煩. 因?yàn)榇蠖鄶?shù)的 Linux 核心安裝磁片沒(méi)有內(nèi)含UFS 支援, 它們認(rèn)不得 FreeBSD slice 中的 partitions. 看到的(/dev/hda3 是 FreeBSD slice 而 /dev/hda4 是 Linux 延伸切割) 

Partition check:
hda: hda1 hda2 hda3 < hda5 hda6 hda7 hda8 > hda4 < hda9 hda10 >

出現(xiàn)成: 
Partition check:
hda: hda1 hda2 hda3 hda4 < hda5 hda6 >

這會(huì)導(dǎo)致錯(cuò)誤的設(shè)施指定, 并會(huì)令資料遺失. 我的建議是 永遠(yuǎn)把你的 FreeBSD slice 放在任何 Linux 延伸切割之後, 并且不要在安裝 FreeBSD 後, 改變 Linux 延伸切割中的任何邏輯切割. 



--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

3. 在 Linux 和 FreeBSD間分享 Swap 空間
這一個(gè)篇幅描述我如何讓 Linux 和 FreeBSD 共用一個(gè) Swap 切割. 可能還有別的方法可以做到相同的結(jié)果. 這里所用的 Linux 是 Red Hat 4.1 和 4.2 (Linux 核心 2.0.29 和 2.0.30) 與 FreeBSD 2.2.2. 如果你愿意, 你可以在安裝 Linux 之前先安裝 FreeBSD, 但要注意 FreeBSD slice 中 partition 的順序. 


3.1 安裝和準(zhǔn)備 Linux 
第一步是如平常一樣的安裝 Linux. 你必須在你的硬碟中留下給 FreeBSD slice 的空間. 你不用作 Linux 的 Swap 切割, 但如果你要這樣一個(gè)切割, 就把它放在你要給 FreeBSD 的空間中. 這樣, 你便可以在稍後刪除這個(gè)切割, 并把它拿來(lái)給 FreeBSD 用 . 

在完成 Linux 的安裝後, 你必須要重新編譯 kernel. 如果你對(duì)這不清楚, 可以參考 The Linux Kernel HOWTO. 你 必須 加入對(duì) UFS 檔案系統(tǒng) 的支援, 與對(duì) BSD disklabel (FreeBSD partition tables) 的支援. 

UFS filesystem support (read only) (CONFIG_UFS_FS) [N/y/m/?] y
BSD disklabel (FreeBSD partition tables) support (CONFIG_BSD_DISKLABEL) [N/y/?]
(NEW) y

安裝新的核心并重新開(kāi)機(jī). 如果你有建構(gòu) Linux Swap 切割, 把在/etc/fstab 檔中任何含有 swap 的那幾行刪去. 確定你有可用的新核心開(kāi)機(jī)片 你便可以開(kāi)始來(lái)安裝 FreeBSD 了. 
3.2 安裝 FreeBSD 
依 FreeBSD 文件中所描述的方式來(lái)安裝你的 FreeBSD. 如果你有建構(gòu) Linux swap 切割, 把它刪除, (你可以使用 FreeBSD 的fdisk 程式.) 注意一下 FreeBSD slice 中 partitions 的順序. 如果你使用預(yù)設(shè)的標(biāo)簽編碼, 第二個(gè) partition 將是swap 切割. 完成 FreeBSD 的安裝, 并使用Linux的開(kāi)機(jī)片 重新開(kāi)機(jī)進(jìn)入 Linux. 


3.3 在 Linux 中設(shè)定 FreeBSD 的 swap 切割 
在進(jìn)入 Linux 後執(zhí)行 dmesg. 在它的輸出你應(yīng)該會(huì)看到類似這樣的東西: 

Partition check:
hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 >

這表示 /dev/hda4 是你的 FreeBSD slice, 而 /dev/hda5, /dev/hda6, /dev/hda7 和 /dev/hda8 是 FreeBSD 切割. 如果你的 swap 切割是在 slice 中的第二個(gè)切割, 那將會(huì)是 /dev/hda6. 你必須把下面的這幾行放到你的 /etc/fstab 檔中來(lái)開(kāi)啟 swap partition 的功能. 
/dev/hda6 none swap sw 0 0

FreeBSD 可以用任何型態(tài)的切割來(lái)當(dāng)作 swap 切割, 但 Linux 的 swap 切割需要特別的簽名. 這個(gè)簽名是用 mkswap 來(lái)建構(gòu)的. FreeBSD 使用這個(gè)共用的 swap 切割時(shí)會(huì)對(duì)這個(gè)簽名造成破壞, 所以你必須在每次進(jìn)入 Linux 的時(shí)後執(zhí)行 mkswap. 要讓這個(gè)動(dòng)作自動(dòng)執(zhí)行, 你必須找出執(zhí)行 swapon 的 script 并在開(kāi)機(jī)時(shí)執(zhí)行. 以 Red Hat 而言, 這是 /etc/rc.d/rc.sysinit. 把下面這一行放到 swapon -a 前: 
awk -- '/swap/ && ($1 !~ /#/) { system("mkswap "$1"") }' /etc/fstab

這將會(huì)在每次開(kāi)機(jī)時(shí), 在 /etc/fstab 中的任何 swap 切割上執(zhí)行 mkswap, 除非你把它取消 (使用 ``#'' 當(dāng)一行的第一個(gè)字元) 
在你重新開(kāi)機(jī)進(jìn)入 Linux 後, 使用 free 來(lái)檢查 swap 空間的大小. 你也必須重新開(kāi)機(jī)進(jìn)入 FreeBSD 來(lái)確認(rèn)一切都如預(yù)期的運(yùn)作. 如果沒(méi)有, 那你可能使用了錯(cuò)誤的切割來(lái)當(dāng)作 swap 切割. 唯一的解決辦法, 便是重新再安裝 FreeBSD, 并再試一次. 經(jīng)驗(yàn)是好的導(dǎo)師. :-) 



--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

4. 使用 LILO 來(lái)啟動(dòng) FreeBSD 
你可以非常容易的使用 LILO 來(lái)啟動(dòng) FreeBSD. 如果你要使用 LILO, 不要安裝 FreeBSD 的 boot loader (Booteasy). 在你的/etc/lilo.conf 檔中加入下列這幾行, 并執(zhí)行 lilo ( FreeBSD slice 是在 /dev/hda4): 


other=/dev/hda4
table=/dev/hda
label=FreeBSD

如果你把 FreeBSD 安裝在第二顆 SCSI 硬碟中, 使用類似這樣的設(shè)定(FreeBSD slice 在 /dev/sdb2): 
other=/dev/sdb2
table=/dev/sdb
loader=/boot/chain.b
label=FreeBSD



--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

5. 架構(gòu)檔案系統(tǒng)
5.1 在 Linux 中架構(gòu) UFS 檔案系統(tǒng) 
不幸的, Linux 核心對(duì) UFS 的支援有問(wèn)題. 當(dāng)你試著去架構(gòu) UFS 檔案系統(tǒng)時(shí), 只會(huì)得到一些錯(cuò)誤訊息(檔案系統(tǒng)事實(shí)上已經(jīng)被架上去了, 但你卻不能讀到任何東西). 所幸 Linux 2.0.xx 核心 (xx<30) 有一個(gè)新 (ALPHA) 版本的 UFS 檔案系統(tǒng)支援, 在 SunSite. 這被稱為 U2FS, 而目前的版本是 u2fs-0.4.3.tar.gz. U2FS 是用下列的方式來(lái)安裝(假設(shè)u2fs-0.4.3.tar.gz 是存放在/usr/src): 

cd /usr/src
tar xvzf u2fs-0.4.3.tar.gz
patch -p0 -E < u2fs-0.4.3.patch

Linux 2.0.31 或更新的核心(u2fs-0.4.4.tar.gz), 與最新的 2.1.xx 核心適用的 U2FS版本, 可以在 這個(gè)網(wǎng)站 找到. 現(xiàn)在你必須重新建立支援 U2FS 檔案系統(tǒng) 和 BSD disklabel 的核心. 參考 安裝和準(zhǔn)備 Linux 來(lái)得到更多的資料. 當(dāng)使用U2FS時(shí), 你可以忽略核心的 UFS 檔案系統(tǒng) 支援. 當(dāng)完成新的核心安裝後, 你可以使用如下列的指令來(lái)架構(gòu)你的 UFS 檔案系統(tǒng)(所有在 FreeBSD slice 中的切割, 除了 swap 切割. 

mount -t u2fs /dev/hda8 /mnt

這個(gè) UFS 支援是唯讀的. 那即是你可以自UFS 檔案系統(tǒng)中讀取,但你不能對(duì)其作寫(xiě)入. 
5.2 在 FreeBSD上架構(gòu) ext2fs 檔案系統(tǒng) 
要在 FreeBSD 中架構(gòu) ext2fs 檔案系統(tǒng), 你要先建立一個(gè)支援 ext2f 的核心. 請(qǐng)參照 FreeBSD 的文件來(lái)明白如何進(jìn)行. 放這幾行 

options "EXT2FS"

在你新核心的設(shè)定檔中. 在完成使用新的核心來(lái)開(kāi)機(jī)後, 你可以用下列這幾行來(lái)架構(gòu)你的 ext2fs 檔案系統(tǒng) 
mount -t ext2fs /dev/wd0s3 /mnt

注意: 你不能把 ext2fs 檔案系統(tǒng)架構(gòu)在 FreeBSD 的延伸切割中. 
基於 FreeBSD 的某些錯(cuò)誤, 你必須在關(guān)閉 FreeBSD 前卸下所有的 ext2fs 檔案系統(tǒng). 如果你在有 ext2fs 檔案系統(tǒng)未卸下前就關(guān)閉 FreeBSD, FreeBSD 便不能 sync UFS 檔案系統(tǒng). 這會(huì)導(dǎo)致FreeBSD下次啟動(dòng)時(shí) fsck 被執(zhí)行. 這個(gè)錯(cuò)誤據(jù)報(bào)告說(shuō)已在``-current" 發(fā)展樹(shù)中被修正. 



--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

6. 執(zhí)行外來(lái)的執(zhí)行檔
6.1 在 Linux 下執(zhí)行 FreeSBD 的執(zhí)行檔 
iBCS package 有提供在 Linux 下執(zhí)行 FreeBSD 執(zhí)行檔的支援; 但它已太老舊且沒(méi)有人維護(hù). 我不能成功讓它動(dòng)作. 如果你幸運(yùn)地叫它動(dòng)起來(lái), 請(qǐng)你告訴我. 


6.2 在 FreeBSD 下執(zhí)行 Linux 的執(zhí)行檔 
FreeBSD 有能力來(lái)執(zhí)行 Linux 的執(zhí)行檔, 包括 a.out 和ELF 型式. 要這麼做, 你必須要采取下列三個(gè)步驟: 

你必須開(kāi)啟與 Linux 相容的機(jī)制. 要這麼做 (in FreeBSD 2.2.2 --- 其他版本的細(xì)節(jié)可能不同) 你要修改你的/etc/rc.conf 檔案, 并修改 
linux_enable="NO"

成 
linux_enable="YES"

你必須安裝 Linux 共享的程式庫(kù). 它們?cè)凇reeBSD 2.2.2 中被包含成為 packagelinux_lib-2.4.tgz (更新的版本可能已經(jīng)出來(lái)了.) 執(zhí)行這個(gè)命令 
pkg_add /linux_lib-2.4.tgz

來(lái)安裝這個(gè)package.  是這個(gè)package存放的目錄. 
安裝你要執(zhí)行的 Linux 程式. 這些程式可任意安裝在 UFS 或 ext2fs 檔案系統(tǒng)中. 看章節(jié) 在 FreeBSD 上架構(gòu) ext2fs 檔案系統(tǒng) 來(lái)獲取在 FreeBSD 中使用 ext2fs 檔案系統(tǒng)的更多資訊. 
我已成功地使用這些方法在 FreeBSD 2.2.2 執(zhí)行 Linux 版的 Applixware 4.3 和 Netscape 3.01 (兩個(gè)都是 ELF 格式), (是的, 我知道有 FreeBSD 版的 Netscape 4.) 讀 FreeBSD 的文件來(lái)了解有關(guān)這個(gè)主題. 
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

7. 參考文獻(xiàn)於其他有趣的文件
最新版的這份 mini-HOWTO 能夠在 我的 homepage http://www.image.dk/~nkbj/中找著, 有數(shù)種格式 (包括 SGML 與 PostScript.) 這份文件已被 Mr. Teruyoshi Fujiwara 翻譯成日文, 成為 JF project 的一部份. 

FreeBSD 手冊(cè)與 FreeBSD FAQ 被與 FreeBSD 一起散發(fā). 它們也可以在 FreeBSD Inc. http://www.freebsd.org/中被找著. 這個(gè)網(wǎng)站也有很多關(guān)於 FreeBSD 的其他資訊. 

Linux Kernel HOWTO 被散發(fā)成為 The Linux Documentation Project (http://sunsite.unc.edu/LDP/)的一部份. 



--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

8. 感謝和版權(quán)
感謝 *BSD 丹麥?zhǔn)褂谜呷撼蓡T的回答一位 FreeBSD 新手的問(wèn)題, 也感謝 Mr. Takeshi Okazaki 讓我注意到U2FS 的存在. 

8.1 Disclaimer 
雖然這文件內(nèi)容所提供的訊息是被相信正確的, 作者本人將不為文件中的內(nèi)容負(fù)責(zé). 請(qǐng)自己承擔(dān)使用這些技巧和□例的風(fēng)險(xiǎn). 


8.2 Copyright 
Copyright (c) 1997, 1998 by Niels Kristian Bech Jensen. This document may be distributed only subject to the terms and conditions set forth in the LDP license. 版權(quán) Copyright (c) 1997, 1998 by Niels Kristian Bech Jensen. 這份文件只可在遵守 the LDP license 的條文和條件下被散發(fā). 


--------------------------------------------------------------------------------
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 调兵山市| 益阳市| 酒泉市| 富顺县| 德令哈市| 得荣县| 延川县| 元朗区| 西藏| 正蓝旗| 卓资县| 乌拉特后旗| 东安县| 若羌县| 舞阳县| 德江县| 莒南县| 客服| 英吉沙县| 福州市| 宣汉县| 酉阳| 湟中县| 临江市| 金坛市| 集安市| 静宁县| 万山特区| 孟连| 昭通市| 大丰市| 竹北市| 遵义县| 安多县| 工布江达县| 泉州市| 余江县| 泗阳县| 武夷山市| 梁河县| 辽宁省|