哈爾濱海月數據恢復,技術亞洲領先 設為首頁加入收藏RSS訂閱
中國區:哈爾濱(總部)鄭州福建深圳沈陽合肥大連包頭淄博上海廣州
    南京杭州嘉興武漢濟南青島新疆太原
亞太區:印度韓國泰國新加坡馬來西亞澳大利亞
FreeBSD
FreeBSD-FAQ集錦

  大家看下面的匯總里面如果沒有您知道的小技巧,請在后面回復,我會及時匯總到上面的,以方便大家查詢,多謝!

  注意這里收集的只是一些常見的問題,如果你要用FreeBSD來提供服務,請到本版置頂的精華收集貼里面找相關帖子,這里不再收錄,高手們可以不看了,你們已經過關了,這篇只是為FreeBSD新手們準備的禮物!初學者必讀!!!

  1:BSD是什么?(位置:第2樓)

  2:FreeBSD有什么優點?(位置:第3樓)

  3:我現在開始學習使用FreeBSD,我應該從什么地方開始?(位置:第4樓)

  4:可以從什么地方得到FreeBSD的光盤?(位置:第5樓)

  5:我應該怎么安裝FreeBSD?(位置:第6樓)

  6:有沒有FreeBSD的初級教程?(位置:第7樓)

  7:如何編譯FreeBSD內核?(位置:第8樓)

  8:如何在FreeBSD下安裝軟件?(位置:第9樓)

  9:如何管理系統帳號?(位置:第10樓)

  10:有一個命令foo,我想知道它的詳細說明,怎么辦?(位置:第11樓)

  11:我為什么不能用root連接我的telnet/ftp?(位置:第12樓)

  12:我為什么不能su成為root?(位置:第13樓)

  13:我的root密碼丟失,我應該怎么辦?(位置:第14樓)

  14:怎么查看我的系統開了什么端口,運行了什么程序?(位置:第15樓)

  15:我發現我的系統開了一個xx的端口,我應該如何關閉上它?(位置:第16樓)

  16:我想在系統啟動的時候自動運行點什么,應該怎么做?(位置:第17樓)

  17:我修改了/boot/loader.conf以后不能正常引導系統了,當機器開始加載/boot/defaults/loader.conf的時候(未加載完)機器停止響應,我應該怎么辦?(黑夜編碼人提供)(位置:第18樓)

  18:我如何修改我的telnet登錄時顯示的信息?(黑夜編碼人提供)(位置:第19樓)

  19:ports下有沒有xxx這個軟件?在哪個目錄下?(位置:第20樓)

  20:FreeBSD的RELEASE、STABLE、CURRENT之間是什么關系(位置:第21樓)

  21:我想移動一套系統到一塊新的硬盤上,該怎么做呢?(位置:第22樓)

  22:為啥我已經是Root了,但是對系統進行修改升級仍然沒有權限呢?(位置:第23樓)

  23:我怎樣才能知道系統運轉是否正常,是否收到攻擊呢?(位置:第24樓)

  24:我怎么才能讓Netmeeting通過我的FreeBSD防火墻呢?(位置:第25樓)

  25:使用adduser為freebsd添加用戶需要注意什么呢?(位置:第26樓)

  26:怎樣才能調優我的FreeBSD系統呢?(位置:第27樓)

  27:如何察看已經安裝ports的make參數?(位置:第28樓)

  28:為什么我用PQ調整了分區還是裝不上FreeBSD?(位置:第29樓)

  29:如何在安裝ports時縮短下載時間(位置:第30樓)

  30:如何在舊版本ports基礎上強行安裝新版本ports?(位置:第31樓)

  31:如何使ports在安裝時不檢查下載軟件的MD5和SHA256(位置:第32樓)

  32:關于ports和packages的其他信息(位置:第33樓) 轉自freebsdchina,作者BSDnewbie

  33:如何把man干凈地輸出到文本中(位置:第34樓)

  34:如何將ports中的軟件及其依賴關系打包制作為tbz?(位置:第35樓)from:congli

  35:如何在ssh到遠程系統時能顯示和輸入中文(位置:第36樓)

  36:FB中給一個網卡設置兩個IP(位置:第37樓) from: webmasters

  37:Root mount failed: 6(位置:第38樓) from: congli

  1:BSD簡史

  要了解 FreeBSD,首先要了解 BSD。本文介紹 BSD 的簡要歷史,通過了解 BSD 的發展歷程,我們可以更好的理解 FreeBSD。

  BSD是"Berkely Software Distribution"的縮寫,意思是"伯克利軟件發行版"。顯然,BSD這個名稱并不是我們現在所理解的操作系統,而且其原意也并非簡單的操作系統,而是一整套軟件發行版的統稱。從軟件發行版到操作系統的演變是有歷史過程的,這一點對FreeBSD很重要。

  BSD的出現要追溯到上個世紀的七十年代,當加州大學伯克利分校的學生Bill Joy在1971年完成了"Berkely Software Distribution"的合并以后(包括Pascal系統和一個編輯器ex),就算是BSD誕生了******個發行版,并且發行了大約三十份免費的系統拷貝。

  BSD的用戶社團一直在不斷擴大,到了1978年,軟件發行版得到了更新和升級,結果產生了第二版的"Berkely Software Distribution",即2BSD,其中包括了增強的Pascal系統,vi和termcap(Unix用戶一定會對vi和termcap這兩個名詞感到非常親切)。2BSD的系統拷貝也是免費的,并且其***后一個版本2.11BSD至今還在******的各個角落運行著。

  VAX計算機的普及導致了1979年末3BSD的誕生。3BSD是Berkely的******個VAX發行版,同樣也是Joy發布的,包含了C Shell和2BSD發行版中的大量附加程序,以及虛擬內存內核和標準32/V(Bell實驗室的***后一個Unix版本,運行在VAX上)實用程序。

  到了1980年10月,Joy推出了一個煥然一新的發行版本,稱為4BSD,其中包括Pascal編譯器、Franz Lisp系統和郵件處理系統。4BSD支持DARPA網絡,版權的控制是以大學為單位的,而不是以單臺計算機為基礎計算。

  1980年,一個命名為CSRG(Computer System Research Group,計算機系統研究小組)的小組被組建起來負責BSD的發行工作,并于1981年6月發行了稱之為4.1BSD的新版本。請注意,不是5BSD。由于AT&T覺得5BSD會使用戶將它和AT&T Unix System V相混淆,Berkely同意改變BSD將來版本的命名規則,將版本號僅保留在4BSD上,以后只增加4后面的小版本號。

  4.2BSD于1983年8月正式發布,在18個月內就簽發了1000多份站點許可證,是非常具有知名度的版本。到了1986年6月,4.3BSD發布,而到了1988年,CSRG發布了4.3BSD-Tahoe,這是******個把BSD內核分解為依賴于機器和獨立于機器的兩部分的版本,這是非常有價值的,它使BSD得以移植到眾多不同的體系結構中。

  由于BSD使用了AT&T Unix的部分源代碼,當AT&T源代碼許可證費用不斷增加的時候,一些希望能夠使用BSD代碼為PC生產基于TCP/IP聯網產品的廠商要求Berkely將AT&T代碼從BSD發行版中分離出來,并給他們簽發單獨的許可證條款,而不需要AT&T的源代碼許可證。因此,到了1989年6月,一個完全沒有AT&T Unix代碼的BSD版本誕生了,稱之為"Networking Release 1"。這是******套由Berkely發布的自由可再發行(freely-redistributable)的代碼,,它允許被授權的用戶以源代碼或者二進制的形式發布修改過的或為修改過的代碼,并且可以不向Berkely申報版稅,******要求是在源代碼文件中原封不動的保留Berkely的版權聲明,并且在含有以上代碼的其他產品文檔中聲明其產品包括來自于加州大學和其他貢獻者的代碼。這就是******的BSD許可證的起源。

  1990年初,CSRG發行了4.3BSD-Reno,這是一個過渡版本,此后CSRG幾乎重寫了整個BSD發行版本的所有代碼,除了6個內核程序。正是這六個程序導致了日后BSDI公司與USL(Unix系統實驗室)的一場官司。重寫的新版本被命名為Networking Release 2,于1991年6月推出,它的許可證條款與******個版本完全相同,都允許自由可再發行。在這個版本發布后的6個月內,Bill Jolitz重寫了那6個漏掉的內核程序,并很快發布了完整的可運行在386PC體系上的系統,它稱之為386/BSD。

  386/BSD版本發布后的幾個月內,一群386/BSD用戶組成了一個小組,他們開始維護和增強后續系統,這就是NetBSD。NetBSD側重于支持盡可能多的平臺,并繼續按照CSRG所建立的研究風格進行開發工作。在NetBSD小組正式成立后幾個月,FreeBSD小組成立了,其宗旨是僅支持PC體系并盡可能多的發行他們的系統(現在,作為一個相對獨立的系統,FreeBSD已經能夠支持Alpha和SPARC體系)。在90年代中期,從NetBSD小組中分離出OpenBSD小組,他們的目標是提高系統的安全性,并借助了許多FreeBSD發行版本的安裝特性。至此,目前***主要的三大BSD小組完全成型。

  在此以后,CSRG還繼續發布了4.4BSD-Lite、4.4BSD-Encumbered以及4.4BSD-Lite, Release 2三個發行版本,并于1995年6月以后被解散,完成了對BSD發行的領導工作。

  (注:本文數據參考了Marshall Kirk McKusick的文章"Twenty Years of Berkeley Unix --From AT&T-Owned to Freely Redistributable",McKusick是BSD發行的核心人物之一,同時也是BSD Daemon圖標的版權所有者)

  FreeBSD的起源

  http://www.douzhe.com/mirrors/cn ... s/chapter1.1.2.html

  FreeBSD的發展歷史

  http://study.99net.net/study/system/freebsd/1084937281.html

  2:FreeBSD有什么優點?

  官方文章:http://www.freebsd.org/features.html

  FreeBSD實實在在的選擇 [閱讀次數: 147次]

  作者:Georges Tarbouriech

  中文翻譯:Zer4tul

  作者簡介:

  Georges是Unix的老用戶了。他很喜歡這個偉大系統的這個免費版本。

  摘要

  是的,你在閱讀的是《LinuxFocus》!但是還存在其他的自由Unix,并且它們十分有趣,也起著重要的作用。 本文是對另一個自由Unix:FreeBSD 的概述。

  Why FreeBSD ?

  當談到免費的Unix時,人們通常認為“就是Linux”。 當然,Linux應用十分廣泛,而且(幾乎)每個人都聽說過它。 新用戶的數量一直在增長,媒體(不管是不是“專業”的)對它進行了很多宣傳。 一個主要的原因是Linux專門運行在使用***廣泛的Intel兼容計算機上。當然,它還可以運行在許多其它處理器上,因為Unix的一個理念就是“我們不在意是什么處理器”。然而,如果Linux僅僅為一個特殊的處理器進行開發,它可能不會獲得如此成功,或者,至少要艱難一些。

  但免費的Unix并不是只有Linux:BSD家族也是。它有三個主要的分支:FreeBSD,NetBSD和OpenBSD。BSD是“Berkeley Software Distribution”的縮寫。如果你想了解更多的關于Unix歷史的信息,你可以參考article 176。(經過考慮,那篇文章沒有討論關于BSD和System V之間的區別:那完全可以寫一本書了。)

  每個分支都有自己的特色:

  NetBSD幾乎可以在任何一種平臺上運行,包括很多老計算機:姑且認為有30到40種不同的平臺。NetBSD證明了我們前面提到的:Unix不在乎處理器。如果你在家里或者在工作中有一臺相當老的“垃圾”,這是你很好的選擇。我在Amiga和Intel機器上使用NetBSD很多年,并且我感覺不錯。

  OpenBSD是***安全的Unix之一。它是一個很理想的服務器平臺,當然,它也可以在許多處理器上運行。它可能是Internet上***多的被用作服務器的系統之一。但它作為家用用途卻不是很理想,不過,每個人根據自己喜好來做選擇……

  FreeBSD是上面兩種BSD的“綜合體”。它專注于Intel和Alpha處理器,并且從OpenBSD那里“繼承”了一部分安全體系。跟Linux一樣,它運行于Intel處理器使它成為應用最廣泛的BSD之一。它也是家庭用戶的一個很好的選擇。但這并不是說你不能在工作中使用它!

  這里還有一些關于FreeBSD的事情:他們(譯注:指FreeBSD Core Team成員)與Apple公司“共享”Mac OS X的自由軟件部分。并且,我很喜歡OS X……順便說說,不要困惑:雖然OS X是基于BSD,但是它的內核跟FreeBSD的卻沒有任何關系。它使用的是已經在NeXTstep中使用的Mach內核,OS X的“父親”:很明顯,當NeXTstep于80年代末問世以來,這個內核發展了不少。

  現在,我們見到了……讓我們進一步深入吧。

  獲得并安裝FreeBSD

  和大多數自由軟件一樣,FreeBSD可以從FreeBSD的web站點上下載。很明顯,這需要很高的連接速度。不用擔心:你可以在******上的任何地方找到FreeBSD的CD。

  目前(在寫本文的時候)的******發行版是4.6。本文討論的是i386發行版。

  從CD-ROM(或其它介質)上安裝FreeBSD十分簡單……雖然它并沒有圖形界面來完成安裝!你將會使用偽圖形界面。只需要按照提示做,FreeBSD就會被安裝到你的硬盤上。和通常的情況一樣,你需要將你的硬盤進行分區,配置一些東西,比如網絡連接或者甚至是內核(可選)。下面,你將見到sysinstall,就像它的名字暗示的一樣,它是一個很好的安裝工具。你可以選擇安裝全部packages或者僅僅安裝一部分。你可以在任何時候用任何方式添加它們。

  它的包管理方式也很簡單。你可以象在Solaris下一樣使用pkg命令,或者你可以選擇使用ports。簡而言之,pkg命令就像Linux的rpm或者deb,而ports是一些需要通過make和make install進行編譯的文件。換句話說:FreeBSD的操作跟Linux的沒有什么大的不同或者有困難的地方。

  讓我們安裝一個Linux兼容包——你應該安裝它:它允許你在FreeBSD上編譯和運行Linux的應用程序。

  所有事情都是很簡單的,并且為防萬一,FreeBSD準備了一個很好的手冊,它詳細解釋了每一個步驟。并且它有很多語言的版本(譯注:在/usr/share/doc目錄下可以看見以各個語言命名的目錄,不同語言的手冊就在相應的目錄中)。

  因此,沒有必要在這上面花過多時間。

  配置FreeBSD

  再強調一次,我們的這篇文章不可能面面俱到。***重要的是知道核心文件在哪里。跟往常一樣,你可以在/etc目錄找到它們。它們被命名為rc.something并且可以管理很多不同的部分:常規配置、防火墻、網絡、sysctl等。

  rc.conf文件十分重要,正如它的名字一樣,可以在這里調整系統配置。在這個文件中你可以告訴系統是否打開某些守護程序(sshd、sendmail等),防火墻類型,你是否想******內核級安全,你是否想激活IPv6等。在這里有很多選項,令人驚訝的是,你可以在被稱作/etc/defaults/rc.conf的默認文件中找到所有它們。不要誤會,這個文件包括了默認設置,而不是范例。也就是說,/etc/rc.conf/etc/rc.conf是不考慮這些默認設定的。換句話說就是,不要將/etc/defaults/rc.conf復制到/etc.rc.conf,也不要嘗試修改/etc/defaults/rc.conf,應該在/etc/rc.conf中作更改。

  在sysinstall所選擇的項目將會被自動加入到/etc/rc.conf中(網卡配置,主機名,安全等級等)。

  請格外注意:FreeBSD默認沒有在/etc/inetd.conf中打開任何服務。這就是說,在******次啟動系統的時候,由inetd管理的守護程序(Daemon)默認應該是關閉的。以我的愚見,每個Unix系統都應該這樣。無論如何,這是一個好主意!

  另外的rc文件允許你配置防火墻或者sysctl,以及其他的東西。這理所當然的將我們引導到了調整FreeBSD的話題上。

  調整FreeBSD

  調整系統******的工具之一是sysctl(在Linux下也一樣)。你可以通過命令行來定義某些特殊值,或者(同時也建議你)寫一個sysctl.conf文件,除非你使用命令行僅僅是來進行測試。

  比如,如果你的機器被用作網關,通過命令sysctl -w net.inet.ip.forwarding=1可以使sysctl允許IP轉發。如果想獲得更高的安全性,你可以使用sysctl -w net.inet.ip.check_interface=1命令核對這些包是否到達目標IP所對應的網絡界面。你可以通過使用sysctl來控制你的系統的大部分行為:請參見man page。明顯地,如果你希望將這些寫入sysctl.conf文件,只需要將這些變量加入進去就可以了,而不必加入sysctl命令本身。sysctl.conf文件使用variable = value格式。上面的例子可寫為: net.inet.ip.forwarding=1

  net.inet.ip.check_interface=1

  當然,你的sysctl.conf文件支持超過兩行的文件,因此它幾乎可以在內核級控制控制任何東西。

  在本文的開頭,我們討論了安全級。有從-1到3四個不同的等級,3代表******安全級。建議你在選擇之前了解每個等級。使用除了-1或者0之外的其它等級有可能導致系統無法象你希望的那樣運行。******個缺點就是level 1將阻止你正常使用X服務器。你也不能加載或者卸載內核模塊。

  無論如何,高安全等級對于需要高安全性的特殊服務器來說是很有用的。作為一個家庭用戶,你可以保持level 0,當然,這由你自己決定……

  chflags命令也與安全等級有關。要想了解這個命令,請閱讀man page:它是一個很有用的命令。

  如果繼續這個話題將把本文寫成一個“安全配置FreeBSD”的文章,因此,讓我們進入下一個章節。

  

  升級FreeBSD

  讓我們假設你剛購買了FreeBSD 4.5CD。幾天以后,FreeBSD 4.6就發布了。倒霉!

  不必煩惱:FreeBSD有一個基于CVS的升級系統。你可以選擇使用匿名CVS或者CVSup。前者比較容易使用,而后者更有效率。通過這些工具,你可以獲得新的原碼樹(Source Tree),并且同步(Synchronize)它。

  下面,你必須使用make buildworld命令編譯所有新代碼。如何進行編譯在FreeBSD Handbook里已經十分詳細的進行了闡述(譯注:FreeBSD Handbook 1.73版中關于升級系統的部分Zer4tul已經完成了翻譯工作,正在進行校對)。***重要的一點是它使你擁有一個緊跟升級步伐的嶄新的系統。

  但是,并不僅僅如此。跟通常情況一樣,自由軟件(Free Software)的弱點很快就會被發現,并且很快被修復。跟其它商業操作系統一個漏洞可以很久不被修復不同,自由軟件社區的人們會以***快速度為你提供補丁。很明顯,你的工作就是檢查系統中有什么地方需要補丁。FreeBSD的Web站點上有一個安全公告區(Security Section)提供各發行版的安全公告。你可以從那里下載.asc文件(文本文件)來獲得你所需要知道的信息:關于系統問題的系統問題的描述和解決的方法。其它Web站點為你提供的也是這些信息。比如linuxsecurity,CERT等。

  這并不是說你必須升級你的系統。

  更新FreeBSD

  你并不想花過多的時間在了解系統漏洞上,是么?和其它免費Unix系統一樣,FreeBSD為你提供了補丁。你可以直接獲取這些補丁并且使用它們。對于Linux用戶來說,******的不同就是你并非抓取一個修改過的包,而是一個補丁原碼。這就是說你必須在打補丁之后重新編譯內核,當然,這就意味著你的機器已經裝上補丁了。在Linux下也可以這樣,但是人們通常是下載修正過后的包,例如rpm包,至少對于應用程序是這樣,有時也下載被打過補丁的內核rpm包。

  Linux和FreeBSD******的不同是內核。FreeBSD是基于BSD 4.4,并且沒有不像Linux一樣有不同的內核版本。這就是說,它的內核都是穩定版本,當然,它也受益于可加載模塊。缺點就是如果你想讓你的系統盡可能安全的話,你必須比在Linux下更頻繁的編譯內核。

  無論如何,相比Linux的體系,我更喜歡這樣的方式,但這僅僅是我個人的意見。我并不認為三個不同的內核版本同時進行可以帶來很好的穩定性。應用程序必須從一個版本的內核“移植”到另外一個版本,特別是在安全方面。另外一個例子就是系統包:三個不同的內核版本,三個不同的軟件組合!當然還有其它問題。

  我極為尊敬那些參與這個偉大工程的人們,但是這是否就是正確的方法呢?改進通常是必要的,但是這是否代表我們隨時隨刻都必須更改所有東西呢?不必擔心!

  很明顯,你也可以編譯一個更符合你要求的內核……并且在那時,就跟在Linux下一樣。完成這項工作的方法在FreeBSD Handbook中已經很詳細的闡明了,因此,讓我們轉入其它話題。

  應用程序

  正如我們所說過的,大多數自由軟件(雖然不是全部)都可以在FreeBSD下運行。你并不需要上面提到的那些Ports和包(Packages)。無論是什么類型的軟件,你都可以在FreeBSD下將它們編譯成可執行格式。

  對于喜歡使用桌面環境的人來說,可以使用KDE和Gnome……并且它們被包括進了發行版。還包括很多窗口管理器(Window Magager)。GNUstep在FreeBSD下也可以很好的運行。要想編譯它,你需要一個比發行版自帶的更新的gcc版本:不必擔心!直接抓取一個相應的文件(Archive)并且編譯它。很明顯,GNUstep應用程序,象GNUMail.app、Gorm.app或者ProjectBuilder.app也可以很好的運行。

  真的,所有你可以在Linux上運行的軟件都可以在FreeBSD上使用……并且還有更多其它軟件! Really, all the software you run under Linux is available for FreeBSD... and there are many others!

  比如,FreeBSD有很多關于安全工具。監控工具、管理工具等,這些都是發行版的一部分。

  防火墻、***************、端口掃描器、IDS等也可以使用。例如,你可以選擇使用IPsec或者ipfw。你可以使用nessus、nmap、portsentry等。再強調一次,它們中的大部分是發行版的一部分,并且你可以自己抓取、編譯并使用******的版本。

  我們已經討論了關于桌面環境和窗口管理器,但是我們對于它們所依賴的東西——X Window System(譯注:很多人把X Window叫做X Windows)——還只字未提。目前默認是XFree86 4.x。再FreeBSD 4.5之前,XFree86 3.x是默認設置。這就是說,你在發行版中有XFree86 4.x,但是安裝進程通常選擇安裝XFree86 3.x。現在XFree86 4.x是默認設置,但是如果你愿意,你還是可以使用3.x版。

  硬件

  因為我們討論的是基于i386的發行版,那么我們就來說說大多數可以在FreeBSD下工作的硬件,雖然它可能有一些古老了。例如一塊3Com combo網卡在你使用ifconfig命令指定了媒體類型后就可以很好的工作。如果你使用的是BNC連接,只需要在/etc/rc.conf的ifconfig行***后加入media 10base2/BNC就可以了。

  某些老顯卡也是這樣:使用XFree86 4.x可以解決大多數問題。特別是對于老的ATI顯卡來說。

  總之,你可以參考FreeBSD Web站點的Hardware列表。

  安全

  我們已經提到了很多安全工具,比如防火墻、端口掃描器等。FreeBSD自帶了許多安全工具。OpenSSH、OpenSSL、Kerberos、MD5等都是發行版的一部分。跟通常情況一樣,如果沒有這些工具,你根本無法使用FreeBSD,當然,還得再重復一次,你必須檢查萬一可能有的漏洞。

  一個新近的例子顯示出了小心謹慎的重要性。假設你注意到了OpenSSH中被發現的漏洞。正確的做法是到它的主頁上去下載修正版本(Corrected Version)。

  是的,但是這還不夠!一定要控制對這個包(Package)的校對。

  這個關于OpenSSH的例子并非是杜撰出來的:幾周以前,有人用一個被修改的檔案替換了原來的。OpenSSH的人員很快作出了反應。但是,在這短短的一段時間內下載并且沒有進行檔案校對的用戶就安裝上了一個“無效”的版本。因此,一定要進行校對……并且需要控制校對過程。

  即使這已經超出了本文的范圍,但是我們仍然堅持安全是******位的。

  網絡通信

  FreeBSD的網絡功能十分先進。IPv6被管理得非常好。現在,網絡通信功能和系統融為一體。如果你使用的ADSL或者Cable Modem,你可以很容易的將它們配置好。

  許多ISP現在都使用PPPoE。FreeBSD通過一種很簡單的方式支持它:ppp.conf中的幾行就可以完成這個任務。如果是連接到PPPoA的話,現在FreeBSD只支持Alcatel modem。這種情況在不久就會改變(或許現在就已經支持其它某些Modem了)。

  相關文檔

  FreeBSD Handbook并不是僅有的可用文檔。你還可以從FreeBSD Web站點找到FAQ、安裝指南(Install Guide)等。另外一些比較重要的相關文檔可以在http://www.freebsd-howto.com找到。

  接下來是什么?

  這僅僅是對FreeBSD的一個很簡短的介紹。這個系統跟其它免費Unix一樣,也是非常有趣的。它有許多特點,很值得一試。很不幸,本文不能對它進行一個完整的概述,很多重要的特點沒有提到。

  使用FreeBSD比使用某些類似Windows的Linux發行版需要更多的Unix知識,但是其實它也很容易使用。

  當然,有的沒有任何Unix知識的人將遇到一些困難,因為他必須經常在更新系統后重新編譯他的系統。雖然它將花費一些時間,但是,這是一個學習的好方法。今天的人們似乎忘記了,在***初的時候,Unix是開發者為開發者開發的,而不是為家庭用戶或者普通用戶。

  他們很幸運,因為無論自由的還是商業的Unix改變了它們***初的方式。我們應該感謝哪些為此做出努力的開發者們。在80年代,現在的Linux用戶中的大多數將避開Unix,僅僅因為它那復雜的安裝進程。發行版被儲存在磁帶上,并且安裝階段可能會持續一整天,而配置工作還需要一天來完成。我們并不是說的配置應用程序!而今天,你可以在甚至不了解Unix的情況下使用它,比如Mac OS X。在90年代初已經被OS X的“父親”,也就是NeXTstep變成事實。

  這看上去好像跑題了,然而NeXTstep引領了免費Unix和商業Unix的潮流……以及一些其它系統!將Unix帶給家庭用戶將是一個挑戰,并且它已經展開了。祝賀所有參與這個挑戰的人,無論他們工作是為了錢還是免費的。那些免費工作的人更應該被特別的提出并且給予更多的感謝

  我十分看好FreeBSD和Apple的“共享”。兩者都從對方那里通過正確的途徑得到好處。商業軟件通常利用自由軟件……而不聲張。Apple是這樣,SGI也是。還有其它一些也一樣……但是為了某些隱蔽的目的。無論如何,我還是認為有足夠的空間提供給所有人……當然,想獨自占有所有空間并且對Unix不作出任何貢獻的除外!

  關于Linux的炒作淹沒了其它免費Unix:迄今為止,還是如此之好。這也有它好的一面……這就是我使用FreeBSD的主要原因。當然,我還是在使用Linux(還有其它一些系統):我喜歡不同的感覺!

  如果你打算給FreeBSD一個機會,本文將會變得更有意義。自己去體驗它,你將會發現許多本文沒有提到的東西。

  我說過:we are living in a great ti!

  3:我現在開始學習使用FreeBSD,我應該從什么地方開始?

  Resources for Newbies

  http://www.freebsd.org/projects/newbies.html

  4:可以從什么地方得到FreeBSD的光盤?

  ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/

  5:我應該怎么安裝FreeBSD?

  http://www.freebsd.org/doc/en_US ... ndbook/install.html (英文)

  http://www.freebsd.org.cn/snap/d ... ndbook/install.html (中文)

  6:有沒有FreeBSD的初級教程?

  ***權威******的是FreeBSD官方提供的Handbook

  http://www.freebsd.org/doc/en_US ... handbook/index.html (英文)

  http://www.freebsd.org.cn/snap/doc/zh_CN.GB2312/books/handbook/ (中文)

  另外王波的使用大全,以及技術內幕也是不錯的書籍。

  7:如何編譯FreeBSD內核?

  http://www.freebsd.org/doc/en_US ... k/kernelconfig.html (英文)

  http://www.freebsd.org.cn/snap/d ... k/kernelconfig.html (中文)

  8:如何在FreeBSD下安裝軟件?

  http://www.freebsd.org/doc/en_US ... handbook/ports.html (英文)

  http://www.freebsd.org.cn/snap/d ... handbook/ports.html (中文)

  9:如何管理系統帳號?

  http://www.freebsd.org/doc/en_US ... handbook/users.html (英文)

  http://www.freebsd.org.cn/snap/d ... handbook/users.html (中文)

  10:有一個命令foo,我想知道它的詳細說明,怎么辦?

  用'man'命令,運行'man foo',另外,你也可以去查 http://www.freebsd.org/cgi/man.cgi

  11:我為什么不能用root連接我的telnet/ftp?

  用root來連接telnet/ftp是一個再糟糕不過的想法,非常不安全。

  FreeBSD默認禁止了這種做法,你可以用其他用戶telnet到系統上以后在su成為root。

  另外,強烈建議使用更安全的ssh/sftp來代替telnet/ftp。

  12:我為什么不能su成為root?

  只有wheel組的用戶才能su成為root。

  13:我的root密碼丟失,我應該怎么辦?

  重新啟動FreeBSD,當出現倒記時的時候按任意鍵(除了Enter),然后輸入'boot -s',進入系統后先運行`#/sbin/mount -a`,現在你可以用`passwd`來修改root密碼了。

  14:怎么查看我的系統開了什么端口,運行了什么程序?

  netstat 和 ps 會幫助你。

  15:我發現我的系統開了一個xx的端口,我應該如何關閉上它?

  安裝lsof,然后用'lsof -in'查看是哪個程序打開了這個端口,然后關閉對應的進程(ps & kill)。

  16:我想在系統啟動的時候自動運行點什么,應該怎么做?

  在/etc/rc.local里放上你要放的東西吧,沒有看到這個文件就自己建立它。

  另外你可以可以把你的命令保存為以.sh結尾的文件,然后把它放在/usr/local/etc/rc.d/中,不要忘了讓它可執行。

  17:我修改了/boot/loader.conf以后不能正常引導系統了,當機器開始加載/boot/defaults/loader.conf的時候(未加載完)機器停止響應,我應該怎么辦?(黑夜編碼人提供)

  當機器啟動時,出現 "-" 提示的時候按任意鍵(回車除外)進入"boot :"提示符,輸入: boot kernel 此時機器開始啟動。

  18:我如何修改我的telnet登錄時顯示的信息?(黑夜編碼人提供)

  # vi /etc/gettytab

  然后編輯:

  default:

  :cb:ce:ck:lc:fd#1000:im=Welcome to windows 2000 servern:sp#1200:

  :if=/etc/issue:

  保存退出。

  試試重新telnet你的FreeBSD,將顯示:

  Welcome to windows 2000 server

  login:

  19:ports下有沒有xxx這個軟件?在哪個目錄下?

  cd /usr/ports

  make search key=xxx | grep ^Path:

  如果想按照軟件的名字搜索

  make search name=xxx

  千萬注意name和key之后不要有空格

  20:FreeBSD的RELEASE、STABLE、CURRENT之間是什么關系

  FreeBSD有兩個主要的分支一個是STABLE分支,一個是CURRENT分支

  STABLE分支是經過長時間測試的(一般是一年到兩年),修正了主要的問題的系統分支,這個分支上通常不會有嚴重的系統級錯誤,也不會對系統的主要結構進行修改。但是不代表STABLE分支是一成不變的,STABLE分支常常會加入很多外圍的更新,比如從4.4到4.8,FreeBSD已經經歷了巨大的改變,比如使用Softupdate,對USB全系列設備的支持升級,Firewire設備的支持,而且之中還對stdin/stdout庫進行了一次升級。這些更新都是在CURRENT分支里面進行了長時間測試之后,進行評估不會對系統安全造成影響的情況下加入STABLE分支的。而CURRENT分支實際上可以成為FreeBSDng,這里將會有大量的新技術和新代碼,但是這些代碼很多處于試驗性質,無法保證穩定性和效率,只是給開發人員用來測試的。而RELEASE是FreeBSD的發行版本,每當STABLE和CURRENT開發到了一個階段,一批目標達成以后將會發行一個RELEASE版本,在5之前FreeBSD只在STABLE分支上發行RELEASE版本,但以后可能會更多的發行CURRENT版本了

  21:我想移動一套系統到一塊新的硬盤上,該怎么做呢?

  http://bbs.chinaunix.net/viewthr ... &extra=page%3D1

  22:為啥我已經是Root了,但是對系統進行修改升級仍然沒有權限呢?

  securelevel

  FreeBSD kernel 有個觀念叫 securelevel。當還有人在爭論這是不是夠完美時,這個

  機制已經夠防止大部份的 "script kiddiez"。Securelevel 是指你的 kernel 在執行時

  的安全等級。每一個等級具有不同的保護和檢查機制。這些是 init( 的 man page:

  The kernel runs with four different levels of security. Any superuser

  process can raise the security level, but only init can lower it. The

  security levels are:

  Kernel 可以以四種不同的安全等級來執行。任何 superuser process 可以提高安全

  等級, 但是只有 init 可以降低它。這四種等級分別是:

  -1 Permanently insecure mode - always run the system in level 0 mode.

  永遠不安全模式 - 切換到 level 0 吧!

  0 Insecure mode - immutable and append-only flags may be turned off.

  All devices may be read or written subject to their permissions.

  不安全模式 - "不可更動"和"只能附加"這兩個旗標(flag)可以被改變。所有的

  devices 可以照著它們的讀寫權限被讀寫。

  1 Secure mode - the system immutable and system append-only flags may

  not be turned off; disks for mounted filesystems, /dev/mem, and

  /dev/kmem may not be opened for writing.

  安全模式 - "不可更動"和"只能附加" 的旗標不能被取消; mount 上來的檔案系

  統, /dev/mem, 和 /dev/kmem 不能寫入。

  2 Highly secure mode - same as secure mode, plus disks may not be

  opened for writing (except by mount(2)) whether mounted or not.

  his level precludes tampering with filesystems by unmounting them,

  but also inhibits running newfs( while the system is multi-user.

  高安全模式 - 和安全模式一樣, 又多加了不管硬碟有沒有被 mount 起來,

  除了 mount(2) 之外都不能寫入。它防止一個檔案系統在 umount 的時候被

  搞亂。而且在這個等級也禁止在 multi-user 時執行 newfs(。

  如果安全等級***初是 -1, 那麼 init 就會保持原狀。否則在 single user mode 時,

  init 會把安全等級調到 0, 而在 multiuser mode 時會以 1 來跑。如果你希望在

  multiuser 模式是以等級 2 在跑, 你可以先進入 single user mode, 編輯 /etc/rc,

  使用 sysctl 來更動。

  若是你的系統只拿來跑 web server 之類的, 你可以放心的將 securelevel調高到2。

  但若是你要跑 X server, 把你的 securelevel 調至 1 或更高會導致一些問題。因為

  X server 必須要寫入 /dev/mem 和 /dev/kmem, 而 securelevel 1 不允許你這麼做。

  有一個解決的方法是, 在啟動 X server 後再調高 securelevel。但我的意見是, 如果

  你跑 X server 的話, 你已經有了其它的安全問題須要考量, 而不止是 securelevel。

  以下這個指令會顯示出你目前的 securelevel 設定值。

  # sysctl kern.securelevel

  如果要提高你的 securelevel:

  # sysctl -w kern.securelevel=X

  X 可以是 0, 1 或 2。

  又在 securelevel 是 1 的話, 你在 "make world" 時也會有些問題。因為 "make

  install" 時會在 kernel 上加上 immutable flag:

  # ls -lo /kernel

  -r-xr-xr-x 1 root wheel schg 1061679 Jun 30 01:27 /kernel

  "schg" flag 會防止你安裝新的 kernel:

  nfr# id

  uid=0(root) gid=0(wheel) groups=0(wheel), 2(kmem)

  nfr# sysctl kern.securelevel

  kern.securelevel: 2

  nfr# rm -rf /kernel

  rm: /kernel: Operation not permitted

  nfr# mv /kernel /tmp/

  mv: rename /kernel to /tmp//kernel: Operation not permitted

  如果你在 securelevel 1 或 2, 那麼 schg flag 是不能被改變的。

  # chflags noschg /kernel

  chflags: /kernel: Operation not permitted

  值得留意的是, /boot.config 可以改變你開機時的系統設定,要預防有心人篡改

  你應該這麼做:

  # touch /boot.config

  # chflags schg /boot.config

  你可以看看系統預設還有那些執行檔是有 schg flag 的。

  # ls -lo /sbin | grep schg

  -r-x------ 1 bin bin schg 204800 Jul 19 20:38 init

  # ls -lo /bin | grep schg

  -r-sr-xr-x 1 root bin schg 192512 Jul 19 20:36 rcp

  再回過頭來談談鎖定系統這件事吧! 既然剛剛談到了 immutable flags, 何不試著把整

  個 /sbin 和 /bin 都設成 schg flag 呢 !? 這會給想 crack你系統的人一點小挫折。

  (假設你的系統也正以適當的 securelevel 咦髦?

  # chflags schg /bin/*

  # chflags schg /sbin/*

  不過 /sbin 可能被改成別的名字,再重新創造一份新的 /sbin ,所以改變 /sbin 與

  /bin 的 schg flag 是很合理的想法,我們可以依照以下的方式改變 /sbin 和 /bin

  的 schg flag:

  # chflags schg /bin/*

  # chflags schg /sbin/*

  這些 schg flag 的檔案會讓你在 "make world" 時有問題。

  ("make installworld" 也是)

  無論如何 ,******是以 single user 模式來 "make world"。有關 "makr world" 的相

  資訊, 還有為什麼要這麼做, 到下面這個網頁來看看:

  http://www.nothing-going-on.demo ... rld/make-world.html

  現在你已經適當的鎖定你的系統, 也以只跑必要的的 service, 而檔案系統也適當的

  mount 上來, 且也以適合的 kernel securelevel 咦髦小?

  與以上所述的相關 man pages 有: init(, chflags(1), sysctl(。

  23:我怎樣才能知道系統運轉是否正常,是否受到攻擊呢?

  由于FreeBSD是一個多用戶系統,那么就需要管理員進行日常維護,特別是用做網絡

  服務器的系統,一旦因為缺乏維護而造成停機故障,就會造成很大損失。即使對于單用

  戶的FreeBSD系統,同樣也要執行這些不可缺乏的維護任務,只是由于系統歸個人使用,

  那么對維護的要求就不必那么高,維護任務就輕松一些。

  系統日志

  系統的日志記錄提供了對系統活動的詳細審計,這些日志用于評估、審查系統的運

  行環境和各種操作。對于一般情況,日志記錄包括記錄用戶登錄時間、登錄地點、進行

  什么操作等內容,如果使用得當,日志記錄能向系統管理員提供有關危害安全的侵害或

  入侵試圖等非常有用的信息。

  BSD提供了詳細的各種日志記錄,以及有關日志的大量工具和實用程序。這些審計記

  錄通常由程序自動產生,是缺省設置的一部分,能夠幫助Unix管理員來尋找系統中存在

  的問題,對系統維護十分有用。還有另一些日志記錄,需要管理員進行設置才能生效。

  大部分日志記錄文件被保存在/var/log目錄中,在這個目錄中除了保存系統生成日志之

  外,還包括一些應用軟件的日志文件。當然/var目錄下的其他子目錄中也會記錄下一些

  其他種類的日志記錄文件,這依賴于具體的應用程序的設置。

  $ ls /var/log

  adduser maillog.5.gz sendmail.st.1

  dmesg.today maillog.6.gz sendmail.st.10

  dmesg.yesterday maillog.7.gz sendmail.st.2

  httpd-access.log messages sendmail.st.3

  httpd-error.log messages.0.gz sendmail.st.4

  kerberos.log messages.1.gz sendmail.st.5

  lastlog messages.2.gz sendmail.st.6

  lpd-errs messages.3.gz sendmail.st.7

  maillog messages.4.gz sendmail.st.8

  maillog.0.gz messages.5.gz sendmail.st.9

  maillog.1.gz news setuid.today

  maillog.2.gz ppp.log setuid.yesterday

  maillog.3.gz sendmail.st userlog

  maillog.4.gz sendmail.st.0 wtmp

  系統登錄日志

  系統會保存每個用戶的登錄記錄,這些信息包括這個用戶的名字、登錄起始結束時

  間以及從何處登錄入系統的等等。它們被保存到/var/log/lastlog、/var/log/wtmp和/

  var/run/utmp文件中,這三個文件以二進制格式保存了這些用戶的登錄數據。

  其中/var/run/utmp文件中保存的是當前系統用戶的登錄記錄,因此這個文件會隨著

  用戶進入和離開系統而不斷變化,而它也不會為用戶保留很長的記錄,只保留當時聯機

  的用戶記錄。系統中需要查詢當前用戶狀態的程序,如 who、w等就需要訪問這個文件。

  utmp可能不包括所有******的信息,某些突發錯誤會終止用戶登錄會話,當沒有及時更新

  utmp記錄,因此utmp的記錄不是百分之百的可以信賴的。

  而/var/log/wtmp保存了所有的登錄、退出信息,以及系統的啟動、停機記錄,因此

  隨著系統正常運行時間的增加,它的大小也會越來越大,增加的速度依賴于系統用戶登

  錄次數。因此可以利用這個日志用來查看用戶的登錄記錄,last命令就通過訪問這個文

  件來獲得這些信息,并以反序從后向前顯示用戶的登錄記錄,last也能根據用戶、終端

  tty或時間顯示相應的記錄。ac命令同樣也使用wtmp中的數據產生報告,但它的顯示方

  式不同。它可以根據用戶(ac -p),或按日期(ap -d)顯示信息,這樣管理員就能獲

  得一些非常有用的反常信息,如一個平時不太活躍的用戶突然登錄并連接很長時間,就

  有理由懷疑這個帳戶被竊取了。

  注意:X Window由于會同時打開多個終端窗口,因此會使得用戶登錄連接時間迅速

  增加。

  lastlog文件保存的是每個用戶的***后一次登錄信息,包括登錄時間和地點,這個文

  件一般只有login程序使用,通過用戶的UID,來在lastlog文件中查找相應記錄,然后報

  告其***后一次登錄時間和終端tty。然后, login程序就使用新的記錄更新這個文件。

  這三個文件是使用二進制格式保存的,因此不能直接查看其中的內容,而需要使用

  相關命令。當然也可以通過程序來訪問這三個文件,這就需要了解它們使用的數據結構

  。其中utmp和wtmp使用同樣的數據結構,而lastlog使用另外一個數據結構,可使用man

  來進行查詢具體結構。如果系統的用戶數量很多,那么wtmp文件的大小會迅速增加,在

  系統/var文件系統空間緊張的情況下,就導致這個文件系統被占滿。系統不會主動控制

  這個文件的大小,因此這需要管理員的干預,需要手工及時******,或編寫shell腳本定期

  保存和清除。

  系統還可以提供記賬統計的功能,要打開系統的計賬功能,需要使用accton命令,

  注意,accton必須跟隨記賬日志文件的名字作參數,而不帶參數的accton將關閉記賬進

  程。

  當打開了記賬功能后,可以使用lastcomm來檢查在系統中執行的所有命令的信息,

  包括執行的命令、執行命令的用戶、用戶使用的終端tty,命令完成的時間,執行時間等

  。從lastcomm的輸出也能幫助管理員檢查可能的入侵行為。

  此外可以使用ac命令來查詢用戶的連接時間的報告,sa命令來查詢用戶消耗的處理

  器時間的報告。

  Syslog日志記錄

  ***初,syslog只是為了sendmail而設計的消息日志工具,由于它提供了一個中心控

  制點,使得sys log非常好用和易配置,因此當今很多程序都使用syslog來發送它們的記

  錄信息。syslog是一種強大的日志記錄方式,不但可以將日志保存在本地文件中,還可

  以根據設置將syslog記錄發送到網絡上的另一臺主機中。

  支持syslog方式的系統啟動了syslogd守護進程,這個程序從本地的Unix套接字和監

  聽在514端口(UDP)上的Internet套接字,來獲得syslog的記錄。本機中進程使用sysl

  og系統調用發送來sy slog記錄,然后由syslogd將他們保存到正確的文件或發送到網絡

  上另一臺運行syslogd主機中去。

  syslogd的設置文件為/etc/syslog.conf,定義消息對應的相應目標,一條消息可以

  達到多個目標,也可能被忽略。

  # $Id: syslog.conf,v 1.9 1998/10/14 21:59:55 nate Exp $

  #

  # Spaces are NOT valid field separators in this file.

  # Consult the syslog.conf(5) manpage.

  *.err;kern.debug;auth.notice;mail.crit /dev/console

  *.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages

  mail.info /var/log/maillog

  lpr.info /var/log/lpd-errs

  cron.* /var/cron/log

  *.err root

  *.notice;news.err root

  *.alert root

  *.emerg *

  !ppp

  *.* /var/log/ppp.log

  syslog.conf的配置可以分為兩個部分,******部分用于區分消息的類型,另一個用于

  設置消息發送的目的地。通常,消息的類型包括消息的產生者,例如kern表示內核產生

  的消息,auth表示認證系統產生的消息,等等,還包括消息的級別,例如emerg表示非常

  重要的緊急信息,alert表示系統告警狀態,crit表示關鍵狀態,err 表示一般的錯誤信

  息,warning表示警告信息,notice表示提示信息,但還不是錯誤,info表示一般信息,

  debug表示調試信息等,因此一個消息的類型可能為:kern.debug、mail.info等,但頁

  可以使用通配符*進行匹配。

  從上面的syslog.conf的設置可以看出,系統正常運行中的很多重要的信息,如錯誤

  信息*.err、內核調試信息kern.debuf、認證報告auth.notice等被直接輸出的console中

  ,另外還有一些比較重要的信息被輸出到/var/log/messages文件中,發送郵件的記錄將

  被保存在/var/log/mail log文件中,打印記錄為/var/log/lpd-errs等,使得管理員可

  以根據這些文件來查詢相關記錄,進行統計或尋找系統問題。其中使用syslog記錄的me

  ssages文件中包括root登錄的信息、用戶多次登錄失敗的嘗試等對系統安全相當重要的

  信息,因此也是系統遭受攻擊之后,攻擊者會根據syslog.conf中設置試圖******相關文件

  中自己的登錄記錄。因此對于安全性要求更高的系統,可以嘗試將syslog發送到另一臺

  計算機上,或者輸出到一些設備文件中,如在打印機上立即打印輸出。

  系統會使用newsyslog定期檢查syslog輸出的messages文件和maillog文件,將舊數

  據壓縮保存為備份文件,如messages.1.gz等。

  其他日志

  除了系統登錄記錄和syslog記錄之外,其他還有一些應用程序使用自己的記錄方式

  。

  系統每天都會自動檢查系統的安全設置,包括對SetUID、SetGID的執行文件的檢查

  ,其結果將輸出到/ var/log/security.today文件中,管理員可以與/var/log/securit

  y.yeste rday文件對比,尋找系統安全設置的變化。

  如果系統使用sendmail,那么sendmail.st文件中以二進制形式保存了sendmail的統

  計信息。

  在系統啟動的時候,就將內核的檢測信息輸出到屏幕上,這些信息可以幫助用戶分

  析系統中的硬件狀態。一般使用d mesg命令來查看***后一次啟動時輸出的這個檢測信息

  。這個信息也被系統保存在/var/log/dmesg.tod ay文件中,系統中同時也存在另一個文

  件dmesg.yesterday,是上次的啟動檢測信息,對比這兩個文件,就可以了解到系統硬件

  和內核配置的變化。

  lpd-errs記錄了系統中lpd產生的錯誤信息。

  此外,各種shell還會記錄用戶使用的命令歷史,它使用用戶主目錄下的文件來記錄

  這些命令歷史,通常這個文件的名字為.history(csh),或.bash-history等。

  24:我怎么才能讓Netmeeting通過我的FreeBSD防火墻呢?

  http://www.chinaunix.net/forum/viewtopic.php?t=16320

  25:使用adduser為freebsd添加用戶需要注意什么呢?

  我在創建用戶時遇到這樣的一個問題,請那位大俠指點!!!下面是我做的步驟請問這樣做對不對。

  dell2650b# adduser

  Use option ``-silent'' if you don't want to see all warnings and questions.

  Check /etc/shells

  Shell: /usr/local/bin/bash not executable!

  Check /etc/master.passwd

  Check /etc/group

  User ``/wheel/tony'' has gid 1002 but a group with this gid does not exist.

  Usernames must match regular expression: [lydong]:

  Enter your default shell: csh date no sh tcsh [tcsh]:

  Your default shell is: tcsh ->; /bin/tcsh

  Enter your default HOME partition: [/home/lydong]:

  Create /home/lydong

  Copy dotfiles from: /usr/share/skel no [/usr/share/skel]:

  Send message from file: /etc/adduser.message no y [y]: n

  Use passwords (y/n) [y]: y

  Write your changes to /etc/adduser.conf? (y/n) [n]: y

  Ok, let's go.

  Don't worry about mistakes. I will give you the chance later to correct any input.

  Enter username [lydong]: luoyaodong

  Username doesn't match the regexp /lydong/

  Enter username [lydong]: lydong

  Please enter a username

  Enter username [lydong]: oeheonse

  Username doesn't match the regexp /lydong/

  Enter username [lydong]: ^C

  在adduser.conf里usernameregexp指定了用來驗證新用戶名是否合乎規范的正則表達式,你可以修改這個值來強制用戶名符合你的規定。

  默認的情況下應該是:

  usernameregexp = '^[a-z0-9_][a-z0-9_-]*$'

  這是說用戶名必須以a-z、0-9以及'_'開頭,后邊可以跟多個a-z、0-9、'_'、'-'字符,當你加新用戶的時候,adduser就會拿這個正則表達式來效驗你的用戶名是否規范。

  看了你輸出結果:

  Usernames must match regular expression: [lydong]:

  這說明你把正則表達式給設置成了lydong,后邊應用這個正則表達式來效驗你的新用戶名自然是通不過了(除非你輸入lydong)。

  修改也很簡單,修改為usernameregexp = '^[a-z0-9_][a-z0-9_-]*$'就可以了。

  26:怎樣才能調優我的FreeBSD系統呢?

  http://www.chinaunix.net/forum/viewtopic.php?t=98645

  這個鏈接是man tuning的中文版

  27:如何察看已經安裝ports的make參數

  [Copy to clipboard] [ - ]CODE:

  例子察看php4-extensions的make install 參數

  cat /var/db/ports/php4-extensions/options

  把/var/db/ports/php4-extensions/下文件拷貝到另一臺服務器上相同位置可以省去手動指定make 參數的痛苦

  28:為什么我用PQ調整了分區還是裝不上FreeBSD?

  因為FreeBSD不能安裝在FAT32或NTFS文件系統中!

  FreeBSD的安裝問題:

  首先應該提出幾個術語:

  可用空間:即是“分區”里的未使用到的部分

  自由空間:windows里未被劃分邏輯驅動器的擴展分區

  未分配空間:當你新買一塊硬盤后未經格式化的空間

  很多朋友說他們曾使用PQ之類的軟件對磁盤進行過分區的調整(對于PQ能不能調整出“未分配空間內”我就不得而知了,我個人不喜歡那種軟件)來安裝FB。但各位忽略了一點:UNIX不能安裝在windows的擴展分區中,當然也包括各個邏輯驅動器,只能是安裝在“未分配空間內”。而大家常犯的錯誤就是使用PQ將現有的WINDOWS邏輯驅動器進行調整,使得有一個比較大的邏輯驅動器,但FreeBSD在進行分“片”的時候只認win的主分區和擴展分區,具體該擴展分區中包含幾個邏輯驅動器BSD并不關心,這也就導致了大家花費大量心血調整出來的XX盤不能安裝BSD的原因。

  對于想通過VM來把BSD安裝到真實硬盤上的朋友來說,也應該要注意這點,該硬盤上也只能使用的是“未分配空間”,并且選擇整個磁盤來安裝而不是選擇分區來安裝。相對來說,選擇使用整個磁盤來安裝的話,和我們安裝雙系統時的情況一致,更容易保證大家在安裝過程中不會丟失數據。

  FreeBSD系統中的“片(Slice)”和“分區”

  這個問題說來會比較麻煩,我們需要與WIN來進行對照說明。

  在windows中,我們都知道系統把硬盤分為各個邏輯驅動器來進行管理,我們可以把windows中的這種管理方式這樣理解:整個硬盤是一棟樓,C、D、E等各盤變成了棟中的一樓、二樓、三樓。。。。每個樓層的房間相當于驅動器中的各個文件夾;而FreeBSD則把這樣一棟樓分成一個片(Slice),每個樓層對應一個掛載點:/、/root、/var、/usr......然后每個文件夾對應于該層樓中的各個房間。如果各位還是不理解的話,那么把一個硬盤想像成一個矩形的框,假設該塊硬盤分為四部分,對windows來說,那么就有四個邏輯驅動器C、D、E、F,而對FB就變成了/、swap(這個分區也需要手工劃分,并且是必須的,具體需要多大要看你的FB的用途,如果是僅供學習研究,那么一般分512MB左右,我是40G的硬盤,空間相對充足,就劃分了1G的空間 )、/var(或是其他什么)、/usr (通常情況下建議單獨劃分出此分區)。

  29:如何在安裝ports時縮短下載時間

  方法A: 使用代理。

  在/etc/make.conf中設置:

  FETCH_ENV= "HTTP_PROXY=IP[:端口]"

  如果需要,在FETCH_ENV值后面加入空格,

  HTTP_PROXY_AUTH=basic:*:user:password

  方法B: 在其它機器上fetch

  make fetch-recursive

  ...

  然后將/usr/ports/distfiles拿走。

  方法c:使用wget/axel/proz加速你的port下載

  以下所述功能均通過修改make.conf實現

  對于wget

  ========

  FETCH_CMD= wget

  FETCH_BEFORE_ARGS= -c -t 1

  FETCH_AFTER_ARGS=

  DISABLE_SIZE=yes #這行是必要的,否則...

  前面3行也可以換成

  FETCH_CMD=wget -c -t 1

  如果你要wget穿透***************,請加上下面兩行

  FETCH_ENV=http_proxy=http://proxy2.zsu.edu.cn:3128

  FETCH_ENV=ftp_proxy=http://proxy2.zsu.edu.cn:3128

  或者使用其他的穿越代理工具例如proxychains 或者socks5(runsocks)

  則FETCH_CMD=proxychains wget或者runsocks wget

  什么?不知道wget是什么?那就先

  cd /usr/ports/ftp/wget/

  make install clean

  對于axel

  ========

  同樣,也可以使用axel來替換fetch來進行多線程下載

  FETCH_CMD=axel

  FETCH_BEFORE_ARGS= -a

  FETCH_AFTER_ARGS=

  DISABLE_SIZE=yes

  或者只寫一行

  FETCH_CMD=axel -a

  axel 穿透***************的方法與wget一致

  axel在/usr/ports/ftp/axel位置

  對于proz

  ========

  同樣,也可以使用proz來替換fetch來進行多線程下載

  FETCH_CMD=proz -r

  DISABLE_SIZE=yes

  proz 穿透***************的方法與wget一致

  proz在/usr/ports/ftp/proz位置

  添加更快的port下載站點

  ====================

  另外,加上以下兩行可以在讓make先從更快的站點下載port

  MASTER_SITE_OVERRIDE= \

  ftp://ftp2.tsinghua.edu.cn/mirror/FreeBSD/ports/distfiles/ \

  ftp://freebsd.csie.nctu.edu.tw/pub/FreeBSD/ports/distfiles/ \

  ftp://ftp.hk.freebsd.org/pub/FreeBSD/ports/distfiles/ \

  ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/

  這個是教育網的設置,公網的兄弟可以看著辦啦

  30.如何在舊版本ports基礎上強行安裝新版本ports?

  # make install -D "FORCE_PKG_REGISTER" clean

  好像只在一些不是很重要的ports才有效,我原有glib-2.6.x,強行安裝glib-2.8.5成功,不過強行安裝linux_base-8貌似失敗)

  31、如何使ports在安裝時不檢查下載軟件的MD5和SHA256

  有時我們從ports安裝軟件的時候會出一些問題,比如VSFTPD我就喜歡改動一些東西然后在安裝。這時,我們可以使用

  # make NO_CHECKSUM=yes

  來跳過MD5和SHA256的檢驗,除非逼不得已或對自己的修改很有信心,否則建議make是不要使用此參數。

  PS:其實很多小技巧都是在make的過程中提示的,大家稍微看下提示也能知道,如果您覺得自己的英文不過關,那就請多看看精華,會有收獲的。

  摘自:http://bbs.chinaunix.net/thread-645076-4-1.html

 
客戶服務 +more
上門服務
服務承諾
異地恢復
收費標準
付款方式
疑難解答
服務特色 +more
·免費檢測
·免費提供3天備份
·專業工程師提供服務
·免費清潔送修的介質
·數據恢復前報價,客戶確認后工程師開始數據恢復
·數據恢復不成功不收費
·與客戶簽訂保密協議,對客戶的數
 據嚴格保密,整個恢復過程不會對
 客戶的原盤有任何的寫操作,以確
 保原盤的數據完全

·免費參觀恢復全過程

·工程師在線免費咨詢

·專業工程師提供服務
服務器數據恢復 點擊這里給我發消

息
數據庫修復
點擊這里給我發

消息
硬盤數據恢復
點擊這里給我發消

息
主站蜘蛛池模板: 国产精品香蕉在线一区| 日本激情一区二区三区| 亚洲日韩精品无码一区二区三区 | 91大神在线精品视频一区| 国产在线精品一区二区三区不卡| 亚洲乱码一区二区三区在线观看| 久久亚洲国产精品一区二区| 久久无码一区二区三区少妇| 色偷偷久久一区二区三区| 狠狠色成人一区二区三区| 成人一区二区三区视频在线观看| 中文字幕AV无码一区二区三区| 精品国产日韩一区三区| 久久亚洲中文字幕精品一区四| 亚洲日本乱码一区二区在线二产线| 一区二区三区美女视频| 亚洲福利精品一区二区三区| 日韩精品电影一区亚洲| 国产aⅴ一区二区| 人妻少妇一区二区三区| 自慰无码一区二区三区| 亚洲国产福利精品一区二区| 麻豆高清免费国产一区| 国产精品av一区二区三区不卡蜜 | 国产av天堂一区二区三区| 国产美女精品一区二区三区| 国精品无码一区二区三区在线蜜臀 | 色偷偷一区二区无码视频| 秋霞日韩一区二区三区在线观看| 精品一区二区三区色花堂| 国产精品一区二区久久精品| AV怡红院一区二区三区| 亚洲午夜电影一区二区三区 | 久久精品国产亚洲一区二区| 精品无码国产一区二区三区AV| 亚洲色精品三区二区一区| 精品日韩在线视频一区二区三区| 波多野结衣一区二区三区| 日本一区二区在线播放| 插我一区二区在线观看| 一区视频免费观看|