好,妳的第壹個問題是:什麽是Linux,它和UNIX有什麽區別?之所以問這個問題,多半是因為妳大壹的時候,有壹次去實驗室,看到壹個上了年紀的學生在大屏幕的機器上做題。妳羨慕地看著他,問:“這是什麽電腦,這麽先進?”他自豪地說,“這是UNIX。”後來妳了解了很多,知道那是壹個SUN工作站,上面運行的是Solaris,也就是UNIX。現在妳聽說Linux也是UNIX。發生了什麽事?
簡答:去看書吧。街上很多Linux書的第壹章都是講他們的歷史和血緣關系的。
長回答:UNIX是二三十年前幾個研究生在實驗室裏開始做,然後被壹個大公司商業化的操作系統。壹來二去,它壯大了,占領了市場。在那個時候,它只是在昂貴的機器上運行,只有大學才能負擔得起壹臺或兩臺。後來機器多了,公司多了,有見識的人多了,就分了。因為法律關系,誰也不能說自己的操作系統是UNIX,只能說是兼容UNIX的系統。所以“UNIX”系統現在並不存在,只是壹個遙遠的傳說存在。那麽現在那些Solaris,AIX,iris是什麽呢?那些是由公司在其硬件平臺上制造的商業Unixes,這些系統都遵循壹個奇怪的標準,叫做POSIX。順便說壹下,這個標準是壹個我們不能坐下來討論的協議,因為Unixes太多了,編程接口甚至命令都不壹樣。
那麽什麽是Linux呢?Linux是基於PC(其他平臺支持)的UNIX兼容系統,它與UNIX的關系與其他任何UNIX兼容系統並不遙遠。所以如果妳有Solaris是正統UNIX,Linux只是兼容的想法,很抱歉妳錯了。至少妳要打敗支持AIX的人。他們仍然認為AIX是正統的UNIX。所以妳可以用Linux來學習UNIX,這些知識大部分可以用在其他商業UNIX上。當然,它的核心思想是絕對壹致的。所以三年前,只有妳的博士生導師才有機會在實驗室裏學到寶貴的太陽裏的知識,現在妳可以在PC上實踐。這難道不是壹件好事嗎?
第二個問題:我想裝壹個Linux。最新版本是什麽?聽說過國內某公司推出的xxxlinux,yylinux,zzzlinux。哪個更好?首先妳需要明白,Linux不是windows,它不是壹個商業公司維護的軟件,只是壹個包。Linux是可以隨意打包和配置的東西。任何人和公司都可以按照自己的想法做壹個Linux,比如增加壹些功能和中文支持。雖然這些Linux的核心部分是壹樣的,但是它們帶來的各類軟件的默認配置都是不壹樣的。不同的是用壹個Linux發行版(不同的Linux叫不同的發行版)可能硬件配置好,各種軟件容易安裝,用另壹個可能更快,另壹個可能更好支持中文。總之,天下沒有免費的午餐。妳在windows下想當然的東西,在linux下可能需要妳熬夜。所以壹開始選擇發行的時候壹定要非常小心,不然因為剛拿到壹個帶雜誌的Linux發行版就開始安裝,等到硬盤數據被破壞或者網絡哭鬧就來不及了。我沒開玩笑。我知道在windows下安裝壹個驅動只是點幾下鼠標,但在Linux下,通宵折騰開個網卡也不足為奇——當然我覺得值得。那麽,面對這麽多的Linux發行版,妳應該選擇哪壹個呢?比較著名的Linux發行版有:RedHat:最新版本6.2,7.0beta .因為RedHat已經上市,獲得了很多商業上的支持,所以在軟硬件兼容性上非常好。其實已經是Linux的工業標準了。想象壹下,如果妳是甲骨文這樣的廠商的老板,妳需要為提供服務。
Linux開發壹個版本,不同的Linux dist需要分別開發和維護。出於成本考慮,妳自然只會找壹個Linux。休閑服(7.1).Linux存在很久了,有很多老忠實用戶,但是現在越來越差了。德國人做的SuSe Linux在歐洲很受歡迎,在駕駛方面有壹些優勢。還有Debian,CorelLinux等dist,就不壹壹介紹了。和Linux壹樣,Windows系列是壹個完整的多任務操作系統。它們支持相同的用戶界面、網絡和安全性。但是,Linux和Windows真正的區別在於,Linux實際上是Unix的壹個版本,來自Unix的貢獻非常大。是什麽讓Unix如此重要?Unix不僅是多用戶機器上最流行的操作系統,而且也是自由軟件的基礎。在互聯網上,很多免費軟件都是為Unix系統編寫的。因為Unix廠商多,所以Unix的實現方式也多。沒有壹個單獨的組織負責Unix的發布。現在,有壹股巨大的力量以開放系統的形式推動著Unix社區的標準化。另壹方面,Windows系列是壹個特殊的系統,界面和設計都由開發操作系統的公司掌控。從這個意義上說,這類公司是很賺錢的,因為它在編程和用戶界面設計上建立了嚴格的標準,和那些開放系統的社團完全不同。壹些組織正試圖完成標準化Unix編程接口的任務。特別是Linux完全兼容POSIX.1標準。
IT管理員需要長期關註安全問題。高管需要壹個框架來合理評估操作系統的安全性,包括:基礎安全、網絡安全和協議、應用協議、發布和運行、確定性、可信計算、開放標準。在本文中,我們將根據這七個類別來比較微軟Windows和Linux的安全性。最後定性的結論是,到目前為止,Linux提供了比Windows更好的安全性能,除了壹個方面(確定性)。
無論用什麽標準來評價Windows和Linux,都存在壹定的問題:每個操作系統都有不止壹個版本。微軟的操作系統包括Windows98、Windows NT、Windows 2000、Windows 2003 Server和Windows CE,而Linux的發行版由於內核(基於2.2、2.4和2.6)和軟件包的差異,差別很大。我們在本文中使用的操作系統都是當前的技術,而不是那些“舊”的解決方案。
用戶需要記住,Linux和Windows在設計上有哲學上的差異。Windows操作系統傾向於將更多的功能集成到操作系統中,將程序與內核結合起來;與Windows不同,Linux在內核空間和用戶空間之間有明確的界限。根據設計架構的不同,兩者都可以使操作系統更加安全。
Linux和Windows安全性的基本變化
對於用戶來說,Linux和Windows的不斷更新引發了它們之間的競爭。用戶可以有自己喜歡的系統,也可以關註競爭的發展。微軟的主動性似乎更高壹些——這得益於業界的“冷嘲熱諷”和Linux的不斷發展。微軟將在未來幾個月內提高Windows安全性,屆時微軟將發布Windows XP Service Pack 2 for Windows XP。這個服務包增強了Windows的安全性,關閉了很多原本默認開啟的服務,還提供了新的補丁管理工具。比如為了避免接收太多無用信息,關閉了警告服務和信使服務。在大多數情況下,關閉這些功能有利於增強系統安全性,但很難在安全性與軟件功能和靈活性之間做出妥協。
最顯著的表現就是微軟更註重提高可用性,增強系統的安全性。比如2003年,很多針對微軟的漏洞攻擊程序都是用可執行文件作為郵件附件(比如MyDoom)。Service Pack2包括附件執行服務,它為Outlook/Exchange、Windows Messenger和Internet Explorer提供了壹個統壹的環境。這可以減少用戶運行可執行文件時病毒或蠕蟲感染的威脅。此外,禁止數據頁的可執行性也將限制潛在緩沖區溢出的威脅。但在WindowsXP Service Pack 2中,微軟並沒有修改Windows有問題的架構和安全傳輸,而是把這部分負擔交給了用戶。
微軟的重點顯然是支持應用程序的安全性。WindowsXP Service Pack 2中許多方面的增強都是針對Outlook/Exchange和Internet Explorer的。例如,Internet Explorer中有壹個智能的MIME類型檢查,它會檢查目標的內容類型,用戶可以知道內容中是否有潛在的有害程序。但是這個軟件能從同事的電子表格中分辨出病毒嗎?
WindowsXP Service Pack 2的另壹個新功能是能夠卸載瀏覽器的冗余插件,這需要最終用戶檢查並確定需要卸載哪些插件。Outlook/Exchange可以預覽電子郵件,因此用戶可以在打開電子郵件之前將其刪除。另壹個應用程序安全性增強是防火墻在網絡協議棧之前啟動。對於軟件開發人員來說,遠程過程調用中權限的改變使得安全性差的代碼很難正常工作。
WindowsXP Service Pack 2還為Windows用戶提供了許多華麗的新功能,但問題仍然存在:這些功能會給管理員甚至最終用戶帶來負擔嗎?是否增加了Windows操作系統代碼的安全性,使系統更加復雜?
Linux和Windows的區別
雖然有壹些相似之處,但Windows和Linux的工作方式仍然有壹些根本的不同。這些區別只有在妳熟悉了兩者之後才能體會到,但它們是Linux思想的核心。
Linux的應用目標是網絡,而不是打印。
Windows剛出現的時候,世界還是壹個紙質的世界。Windows的壹大成就就是妳的作品可以很容易的被看到和打印出來。這樣的開端影響了Windows後來的發展。
同樣,Linux也受到了其起源的影響。Linux的設計定位於網絡操作系統。它的設計靈感來源於Unix操作系統,所以它的命令設計相對簡單,或者說簡潔。因為純文本可以很好地跨網絡工作,所以Linux配置文件和數據是基於文本的。
對於那些熟悉圖形環境的人來說,乍壹看,Linux服務器似乎很原始。但是Linux開發更註重其內部功能,而不是表面的東西。即使在純文本環境中,Linux也具有非常先進的網絡、腳本和安全功能。執行某些任務所需的壹些看似奇怪的步驟令人費解,除非妳意識到Linux期望與網絡上的其他Linux系統合作來執行這些任務。Linux還有很強的自動執行能力,系統只需要設計批處理文件就可以自動完成非常細致的任務。Linux的這種能力來自於它基於文本的特性。
可選GUI
Linux有圖形化的組件。Linux支持高端圖形適配器和顯示器,完全勝任與圖形相關的工作。現在很多數字效果美工都是在Linux工作站上做設計工作,以前都是用IRIX系統來做。然而,圖形環境並沒有集成到Linux中,而是運行在系統之上的壹個單獨的層上。這意味著您只能運行GUI,或者在需要時運行GUI。如果您的系統的主要任務是提供Web應用程序,您可以停止圖形界面,並使用其內存和CPU資源為您服務。如果您需要在GUI環境中做壹些工作,您可以再次打開它,並在工作完成後關閉它。
Linux有圖形管理工具和日常辦公工具,如電子郵件、網絡瀏覽器和文檔處理工具。然而,在Linux中,圖形管理工具通常是控制臺(命令行)工具的擴展。換句話說,所有可以用圖形工具完成的工作也可以用控制臺命令來完成。同樣,使用圖形工具並不妨礙您手動修改配置文件。它的實際意義可能不是特別明顯,但是如果圖形管理工具中的任何工作都可以通過命令行來完成,那就意味著那些工作也可以通過壹個腳本來實現。腳本命令可以是自動化任務。Linux支持這兩種方法,並且不要求您只使用文本或GUI。妳可以根據自己的需要選擇最好的方法。
Linux中的配置文件是人類可讀的文本文件,類似於過去Windows中的INI文件,但與Windows中的註冊表機制有本質區別。每個應用程序都有自己的配置文件,通常不與其他配置文件放在壹起。但是,大多數配置文件都存儲在壹個目錄樹(/etc)下的壹個地方,所以看起來它們在邏輯上是在壹起的。文本文件的配置使得配置文件的備份、檢查和編輯能夠在沒有特殊系統工具的情況下完成。
文件擴展名
Linux不使用文件擴展名來識別文件的類型。相反,Linux根據文件頭的內容來識別文件的類型。為了提高人的可讀性,還是可以使用文件擴展名,但是在Linux系統上沒有影響。然而,壹些應用程序,如Web服務器,可能使用命名約定來標識文件類型,但這只是特定應用程序的要求,而不是Linux系統本身的要求。
Linux通過文件的訪問權限來判斷文件是否是可執行文件。任何文件都可以被賦予可執行權限,以便程序和腳本的創建者或管理員可以將它們識別為可執行文件。這有利於安全。保存到系統的可執行文件不能自動執行,可以防止很多腳本病毒。
重啟是最後的手段。
如果您已經使用Windows很長時間了,您可能會因為各種原因習慣於重新啟動系統,從軟件安裝到糾正服務故障。妳這個習慣在Linux思維上需要改變。Linux本質上遵循牛頓運動定律。壹旦它開始運行,它將保持運行,直到它受到外部因素的影響,如硬件故障。事實上,Linux系統的設計使得應用程序不會崩潰內核,因此不需要頻繁重啟(相對於Windows系統的設計)。因此,除了Linux內核,其他軟件都可以在不重啟系統的情況下安裝、啟動、停止和重新配置。
如果妳真的重啟Linux系統,問題很可能得不到解決,反而會變得更糟。學習和掌握Linux服務和運行級別是成功解決問題的關鍵。學習Linux最難的就是克服重啟系統的習慣。