Linux的好處與配置

火星人 @ 2014-03-23 , reply:0
←手機掃碼閱讀


說說Linux的好處。
1、免費。2、安全。3、強大。

這是總體上說的,具體點就系統而言,1、自動補全功能:在輸入命令時可以按TAB補全命令。

2、模塊化設計:只要能稍稍學習一下系統的知識,不用擔心繫統會出問題,出了問題一般也不用重裝,在終端將配置修改一下或者直接還原就可以了。

3、對其它系統支持好:可以掛載其它系統的分區,可以在虛擬機中安裝運行其它系統如Windows,可以用WINE來運行部分Windows程序。好像Windows從來無法模擬運行Linux程序。

4、可定製:你可以安裝自己喜歡的桌面環境,可以將外觀換成自己喜歡的樣子,如MAC OS X或者Vista等等,可以很簡單地定義快捷鍵起動自己喜歡的程序,甚至可以自行編譯內核,使用符合自己需要的內核,在顯示版本上加上自己的名字。

5、夠用:相當Windows而言,對我們普通用戶來說Linux的功能還差點,主要是軟體開發商的支持不夠,但一般也足夠了,辦公用OO或Abiword之類,作圖有Gimp,矢量的Inkscape 和Xrar LX,3D有MAYA(這是商業軟體),瀏覽器有Firefox和Opera等,多媒體播放器有Mplayer,音樂播放器有BMP、Audacious等,網路電視有gopcast(沒有pplive台多),辭典有星際譯王,背單詞有recideword(黑客背單詞)。應該說基本能滿足我們的需要了。

6、cool:現在都說Vista的桌面怎樣cool,但真正比較起來,還是Linux在這裡更勝一籌,安裝過beryl的都知道。

不足:1、外部使用環境差:軟硬體廠商支持不夠,當然現在正在好轉,如Nivida、ATI、Realtek等已經在開發Linux下的驅動;免費開源中文字體不多,如我們在Windows下常用的宋體等是商業字體,按說是不能免費用的,當然現在我們有了文泉驛,但並不能與windows通用;政府支持差,如網上報稅等,你只能在windows下老老實實地用IE;國內網站支持差,國內的網站開發人員,多因國內盜版率高的原因,也許是圖省事,多是針對IE開發的,根本不對其它瀏覽器進行測試,瀏覽起來有些變形,有的根本無法使用,國內符合w3c標準網頁的網站較少,不信大家可以看看這些網站的源碼,與Adobe等公司網站源碼比較一下,就可以看出來了,國內確實人員素質較差。


1、一般來說,成功安裝了linux的人士都有熟練的硬碟格式化本領,可以熟練地操作PQMAGIC等格式化工具,而且硬碟更新換代的速度也趕上中等發達國家水平。

2、linux提高心理承受能力,特別是以root的身份登錄的時候。

3、linux增加鍵盤的銷售量,因為在控制台模式下,鍵盤的使用率比在win平台下的使用率要以幾何級數增加。

4、用linux可以擺脫MS的藍屏噩夢,當然,因為沒有MS linux,而且,夢裡通常只能見到 You can safely reboot your system。

5、linux正版盤才幾十元人民"羊",而且買D版的時候可以名正言順地告訴人家??linux是自由軟體。

6、linux是計算機高手的象徵,足可以讓那些天天對著MS藍天白雲的鳥兒們「仰慕」一番,而且在剛下載了一個新的KDE之後,人家問起總是說??「沒什麼,這是'我的'操作系統」。

7、用linux后,漸漸可以看懂那些高手大蝦發的貼子從嘴角噴出三個字??「我也會」。

8、對於在網路里的任何東東,總要與linux掛鉤,而且喜歡教訓別人??「早跟你說了,裝linux多好」。

9、爸爸媽媽爺爺奶奶最喜歡的操作系統,因為linux下的遊戲軟體實在是少到不只是「可憐」了。

除了經濟的好處外,Linux還具有以下的優點。

多用戶多任務
您可以在Linux上同時執行多個程序(多任務),而且允許多個用戶使用同一台計算機,或接受多個用戶通過網路聯機到計算機執行軟體(多用戶),這些都是一個成熟的操作系統所應具備的特點。

穩定的執行性能
因為Linux的內核源代碼是根據32位計算機來做最優化設計的,所以可確保其穩定的執行性能。除此之外,它支持多線程的功能,可以在一個程序的內存空間中執行多個線程,以提高硬體資源的利用率。

跨平台操作
由於Linux的系統內核只有低於10%的源代碼採用彙編語言來編寫,其餘都以C語言來完成,因此平台的移植性高。Linux目前可以執行的平台有很多,並不只限於Intel計算機,而且可以使用多個處理器來執行伺服器的工作,這更增加了Linux在系統或伺服器管理上的能力。

兼容其他UNIX系統
因為同樣遵循POSIX(Portable Operating System for UNIX)標準來開發,所以Linux與現今的System V以及BSD等主UNIX系統均可兼容,而原本在UNIX系統下可以執行的程序,也幾乎可以完全移植到Linux上。
注意:POSIX是一組OSI與IEEE的規範,主要用來定義程序與操作系統之間的界面,使符合規範的程序能在所有符合規範的操作系統上執行。

支持多種文件系統
Linux可以將許多不同的文件系統以掛載的方式來加入,例如Windows中的FAT 16/32、NTFS,OS/2的HPFS,甚至網路上其他計算機所共享的文件系統—NFS,都是Linux支持的文件系統。

絕佳的內存管理
Linux會將未使用的內存區塊作為緩衝區(Buff e r ), 以加速程序的執行。另外,系統採取內存保護模式來執行程序,以避免因一個程序執行失敗,而影響整個操作系統的運行。

圖形用戶界面
其實圖形界面並非是微軟的專利,目前許多操作系統都一致採用圖形界面以方便用戶的操作,而Linux也不例外。在Linux上可採用多種圖形管理程序,來改變不同的桌面圖案或功能菜單,例如GNOME和KDE,這點是Windows操作系統單一界面所望塵莫及的。


完善的網路功能
與UNIX系統一樣,Linux使用TCP/IP作為默認的網路通信協議。除此之外,它還內置了許多伺服器級的軟體,例如Apache(Web伺服器)、Sendmail(郵件伺服器)、VSFTP(FTP伺服器)或Squid(代理伺服器)等,如圖1-3所示。所以您不需額外購買其他軟體,即可直接利用Linux來擔任全方位的網路伺服器。


Apache網頁伺服器
中文化界面
以往,要在Linux中使用中文,必須以外掛的方式來產生CLE(Chinese LanguageExtension),但目前新版的Linux,例如Fedora Core 5,不僅在安裝過程中可以選擇中文界面, 在安裝后還可以直接使用中文,這可節省許多解決中文化問題的時間。

多樣的程序開發工具
您不僅可以利用Linux來進行系統管理工作,對於程序開發人員而言,Linux也是很好的選擇;因為在Linux的軟體包中,包含了多種程序語言與開發工具,例如gcc、cc、c++、Tcl/Tk、Perl、Fortran-77以及Python等。
就連在軟體開發工具領域享有盛名的Borland公司,也推出了「Kylix」可視化開發工具,以使得Delphi與Visual Basic的程序人員可以快速地轉移到Linux平台。
內置的應用程序

越來越多專為Linux開發的應用程序在Internet上隨處可見,而「CNET」是筆者最常使用的網站,它包含了很詳細的程序目錄,在此應該可以找到您所需要的軟體。CNET的Linux首頁網址如下:
http://www.cnet.com/

Linux是一套免費使用和自由傳播的類UNIX操作系統,主要用於基於Intel x86系列CPU的計算機上。Linux系統是由全世界各地的成千上萬的程序員設計和實現的,其目的是建立不受任何商品化軟體的版權所制約的、全世界都能自由使用的UNIX兼容產品。也許有些準備和正在使用Linux的朋友對為什麼使用Linux並不十分了解。本文試就這一問題給出答案,讓人們真正了解 Linux帶給我們的七件武器。Linux對比於商業軟體,對學習者來說有一個境界上的差異,這個差異用一句話概述就是:以無法為有法,以無限為有限。這個境界上的差異也就是Linux七種武器的精華所在。

  一、拳頭——編程能力
  Linux產生於一群真正的黑客。儘管人們習慣於認為Linus是Linux的締造者,在linux包含的數以千計的文件中,也有一個名為Credits的文件記錄了主要的Linux Hacker們的姓名和電子郵件地址(這個列表中包含了100多個名字,世界各地的都有),但沒有人說得清究竟有多少人參與了Linux的改進。這一遊戲到今天並沒有隨著時間的推移而停止,相反卻因為Linux的日益流行而愛好者甚眾。因此開始使用Linux就猶如加入了一個高手如雲的編程組織。你可以通過互聯網隨時了解來自地球的某一個角落的該領域的最新進展;如果你的英文足夠好,加入一個討論組,你就可以得到不知來自什麼地方的神密高手的點撥。由於 GPL的存在,你還可以得到開放的源代碼,從而不用發愁學習資料的來源。  
  隨著更多專業公司的介入,Linux可以提供的開發工具的功能也越發強大。如TurboLinux就具有強大的應用程序開發環境,提供了各種開發應用程序的工具,具有對多種語言如:C、C++、Java、 Perl、Tcl/tk、Python和Fortran 77的編譯器/解釋器,以及集成開發環境、調試和其他開發工具。再如Janus Software公司開發的被稱為Linux版VB的Phoenix Object Basic,它是一套獨特的面向對象的Linux RAD(Rapid Application Development,快速應用軟體開發工具)。它綜合了Python和Perl等面向對象編程語言的強大功能,同時,提供了類似Visual Basic的易用性。熟悉Windows環境下Visual Basic的編程者都可以順利地使用Phoenix Object Basic。LynuxWorks公司的VisualLynux可以和微軟的Visual C++相媲美,它集成了微軟Visual C++開發工具以支持Linux操作系統的產品,它不但兼容LynuxWorks公司的BlueCat Linux,而且還兼容其他的Linux 2.2.12版本。LynuxWorks公司甚至聲稱從此Visual C++就具備了開發嵌入式Linux應用程序的能力。嵌入式Linux系統現在相當熱門,已經廣泛地應用在各式各樣的通信基礎產品。我想可能有些 Visual C++的使用者看到這裡已經動了心,想要嘗試一把了。  

  強大的開發工具+開放源代碼+高手點撥,結果是什麼呢?想來編程狂熱分子已經心知肚明。因此強烈建議對編程有狂愛、總喜歡用程序解決問題的人使用Linux,去擁有Linux提供的第一件武器——編程能力。

  二、多情環——組網能力

  Linux的組網能力非常強大,它的TCP/IP代碼是最高級的。Linux提供了對於當前的TCP/IP協議的完全支持,並且包括了對下一代 Internet.協議Ipv6的支持。Linux內核還包括了IP防火牆代碼、IP防偽、IP服務質量控制及許多安全特性。這些特性可以和像Cisco 這樣的公司提供的高端路由設備的特性相媲美。此外,利用Redhat Linux提供的Samba組(並不是RedHat Linux獨有),Linux可以作為Windows客戶機的列印和文件伺服器,還可以用做NT的文件和列印伺服器。運用Linux包含的 AppleTalk模塊,Linux甚至可以作為一個Macintosh客戶機的文件和列印伺服器。讓Apache這個世界上應用範圍最廣的Web伺服器軟體系統跑在linux上,你就可以運行自己的Intranet或者Internet web伺服器。Linux還包含了一個Ftp服務程序、一個電子郵件傳輸代理程序以及,POP和IMAP郵件服務程序。如果你願意,你還可以在 Internet上免費獲得一個Linux的LDAP服務程序。面對如此強大的網路功能,我們強烈建議對構造網路有興趣的人掌握Linux的第二件武器— 組網能力。

  三、長生劍—創新能力  

  「如果你總是使用微軟的開發工具,你一生只能做個操作人員。」這話一點都不假。Linux是自由軟體,而自由軟體和非自由軟的區別在於:  

  1.自由軟體是開放的,成千上萬的人可以檢查這個軟體,快速地找到並修改其錯誤碼。

  2.最終用戶可以按照自己的意願自定義自由軟體,有特殊需要的用戶也可以完全按照他們認為合適的方式定製自己的Linux。

  3.自由軟體為了防止重複發明,通過共享源代碼和思想來節省很多工作量。  

  以上這些特性是不是對有想法的好事者有莫大的吸引力?不僅如此,Linux由於自身的優點,應用領域也越來越廣泛。如最近嵌入式Linux的應用相當熱門,已廣泛應用於包括筆記本電腦、連網裝置、網路電視等在內的各式各樣的通信基礎產品,而嵌入式操作系統正日益成為一種勢不可擋的流行趨勢,最終電腦、通訊、家電會因為它的存在而成為一體。這些也為有想法的好事者提供了更廣闊的發揮空間。在夢想就是力量的今天,沒有了創新能力是不可想象的。因此強烈建議那些具有較強的鑽研精神,喜歡刨根問底的好事者學習使用Linux,利用Linux提供的第三件武器—創新能力。

 四、碧玉刀——UNIX能力  
  人們所以選擇Linux的又一個重要原因是在於它的UNIX兼容性。由於Linux是一套自由軟體,用戶可以無償地得到它及其源代碼,無償地獲得大量的應用程序,還可以任意地修改和補充它們。這對用戶學習、了解UNIX操作系統的內核非常有益。可以說Linux為廣大用戶提供了一個在家裡學習和使用 UNIX操作系統的廉價的機會。  

  現在有了許多CD-ROM供應商和軟體公司對Linux操作系統的支持,Linux成為 UNIX系統在個人計算機上的一個代用品。在用戶級,Linux與UNIX非常相似,可以說了解UNIX,就了解了Linux的大部分內容;在編程級,大多數應用程序只需要很少的工作就可以在Linux和UNIX間轉換。而且Linux也有意設計為與UNIX兼容,從而便於利用UNIX軟體的主體。 Linux能夠很好地與其他UNIX機器相互操作,它使用了像RPC(遠程過程調用)和NFS(網路文件系統)這樣的標準UNIX服務。Linux還繼承了UNIX的靈活性和可定製性,使其適合於廣泛的應用程序,包括適應於傳統的伺服器和桌面應用程序,以及像嵌入式系統這樣的不常見的應用程序。  

  因此,如果一個用戶在公司上班的時候在UNIX系統上編程,或者在工作中是一位UNIX的系統管理員,他就可以在家裡安裝一套UNIX的兼容系統,即 Linux系統。在家中使用Linux就能夠完成一些工作任務。而急於通過Linux的學習掌握UNIX的目的想必不用多說了,在這個網路人才因稀缺而身價倍增的年代,想靠技術吃飯又不想掌握伺服器端技術的人才是真正的傻瓜。

  五、離別鉤——懷舊能力  

  在這個IT技術日新月異的年代,懷舊應該不是一個好習慣,儘管懷舊可以有一種很不錯的情調。但慢慢地我們發現我們不得不懷舊了,因為我們去年剛買的電腦現在已經老掉牙了。儘管每個IT廠商都嚷著他們的產品可以有效地降低我們的TCO(總擁有成本),可我們手裡設備的折舊速度還是在不斷加快。如果你肯聽我的,我會說這世上從來就沒有救世主,還是試試我推薦的Linux吧。  

  Linux非常小,可以有效地利用硬體。Linux的最小安裝僅需要4MB內存,而你也可以在你的486機器上安裝Linux並將其用做防火牆或Web伺服器。我讀到的Linux名著中甚至記載了有人用二手386建立了路由器和防火牆。Linux內核允許在運行時裝載和卸載硬體的驅動程序。這樣因為不必裝載全部的驅動程序,就可以最大化地使用內存。總之Linux可以使機器獲得新生,節省我們的財力。因此強烈建議那些跑Windows像蝸牛一樣慢的電腦的機主們學習Linux。  

  六、霸王槍——穩定能力  

  運行Linux的機器啟動一次可以運行數月。Linux提供了完全的內存保護,每個進程都運行在自己的虛擬地址空間中,並且不會損壞其他進程或內核使用的地址空間。任務與內核間也是相互隔離,即行為不良或編寫不良的程序只能毀壞自己。因此被破壞的進程幾乎不可能使系統崩潰。Linux在和 Windows98和NT在安全性的較量中佔有上風,和Windows2000的情況又怎麼樣呢?資深的系統安全分析家指出:Windows 2000在網路系統,伺服器連接方面的工作準備不足,Linux仍然是目前最安全的操作系統。資深的系統安全分析家還預計到今年年底Windows 2000才能完成測試、除蟲工作,目前比較安全的操作系統仍然是商業版本的UNIX和Linux。資深的系統安全分析家肯定地認為:在未來的5年裡, Linux將成為最安全的操作系統。到2005年,管理和使用Linux將是一件十分容易的事情。  

  現在可以說Linux是一個非常堅固的系統了,因此強烈建議對於Windows的藍屏死機極為厭惡的人學習Linux,使用Linux提供的第六件武器——穩定能力。  

  七、孔雀翎——支付能力

  Linux提供的第七件武器和金錢有關,這是一個不容迴避的問題。因為價格原因,每個人都可以擁有正版的Linux。此外Linux還是一個完全開放的系統。它支持各種像POSIX標準這樣的開放標準和TCP/IP的Internet工程任務組標準。由於避免了專有的API(應用程序介面)和協議,可以減少對單一供應商的依賴。這樣就不會出現像使用專用系統的情況:一旦犯了錯誤,只能繼續使用原來的系統供用商的產品。也就是不會出現先享受低價,而在後期需要付出高額服務費的情況。因此強烈建議不想花太多的錢,又想使用正版軟體的人學習和使用Linux。

網站 操作系統 Web伺服器 腳本語言
Sina FreeBSD Apache/2.0.54 PHP
Yahoo FreeBSD Apache PHP
網易 Linux Apache2.24 PHP/Java
Livedoor FreeBSD Apache PHP/Perl
Google Linux GWS(Google WebServer) C/Python/PHP
騰訊QQ Linux Apache PHP/Perl/C
Sohu Linux Apache/1.3 PHP/C/Java
TOM Linux Apache/1.3 PHP/5.1.1
Xinnet FreeBSD Apache/1.3 PHP
MOP Linux+F5 Lighttpd/Apache PHP/Java
Youku Linux Apache PHP
Ganji Linux Apache2.0 PHP5
Baidu Unknow(Same Liunx) BWS(Baidu WebServer) PHP/Java/c/c++
Facebook FreeBSD Apache/1.3 PHP
Alibaba Linux Apache/2.0 Java/PHP
Tabao.com Liunx Apache PHP
Enet Liunx Apache PHP/Java
PCHOME.net Liunx Apache/2.0 PHP/5.2.0
ZOL.COM.CN Linux/Solaris Apache PHP
Xunlei.com Liunx TWS PHP


Google

操作系統:有兩個節點使用Linux 其他大部分節點使用未知版本的操作系統(之前好像傳言Google要做OS??),Gmai還使用了Solaris 8
WEB伺服器: GWS/2.1 (連Web伺服器都是自己開發的,Google真強,GWS=「Google Web Server」)

Yahoo

操作系統:FreeBSD
WEB伺服器:未知

MSN/Microsoft/Live

操作系統:Windows Server 2003
WEB伺服器: Microsoft-IIS/6.0
微軟的標準應用,呵呵

flickr

操作系統:Linux
WEB伺服器:Apache/2.0.52

WIKI

操作系統:Linux
WEB伺服器:Apache

百度

操作系統:Linux
WEB伺服器:Apache/1.3.27
(看來技術方面跟Google還有差距)

網易

操作系統:Linux
WEB伺服器:Apache/2.0.55


TOM

操作系統:NetApp NetCache
WEB伺服器:Apache/1.3.34 PHP/5.1.2-1


淘寶

操作系統:Linux
WEB伺服器:Apache

搜狐

操作系統:SCO UNIX
WEB伺服器:Apache/1.3.33


新浪

操作系統:FreeBSD
WEB伺服器:Apache/2.0.54


騰訊

操作系統:Linux
WEB伺服器:Apache

中國政府網站

操作系統:Linux
WEB伺服器:Apache

天涯論壇

操作系統:FreeBSD
WEB伺服器: Apache/1.3.34

新華網

操作系統:Linux
WEB伺服器:Apache


CCTV
Linux Netscape-Enterprise/4.1

51JOB
Linux Apache/1.3.29

貓撲

操作系統:Linux
WEB伺服器:Apache/2.0.55


招商銀行
Windows 2000 Microsoft-IIS/5.0

中國工商銀行
Windows 2000 Microsoft-IIS/5.0

中國銀行
NetApp NetCache IBM_HTTP_SERVER/1.3.26 Apache/1.3.26 (Unix) 和Windows 2000 Microsoft-IIS/5.0 兩種

建設銀行
Linux Apache/2.0.54 (Unix)

農業銀行
AIX IBM_HTTP_Server/2.0.47.1 Apache/2.0.47 (Unix)

滙豐
Windows Server 2003

交通銀行
AIX WebSphere Application Server/5.0

中國人民銀行
Windows Server 2003 WHSys-AdvSvr/2.31

Linux 中有沒有一個標準的配置文件格式?

一句話,沒有。不熟悉 Linux 的用戶(一定)會感到沮喪,因為每個配置文件看起來都象是一個要迎接的新挑戰。在 Linux 中,每個程序員都可以自由選擇他或她喜歡的配置文件格式。可以選擇的格式很多,從 /etc/shells 文件(它包含被一個換行符分開的 shell 的列表),到 Apache 的複雜的 /etc/httpd.conf 文件。

什麼是系統配置文件?

內核本身也可以看成是一個「程序」。為什麼內核需要配置文件?內核需要了解系統中用戶和組的列表,進而管理文件許可權(即根據許可權判定特定用戶(UNIX_USERS)是否可以打開某個文件)。注意,這些文件不是明確地由程序讀取的,而是由系統庫所提供的一個函數讀取,並被內核使用。例如,程序需要某個用戶的(加密過的)密碼時不應該打開 /etc/passwd 文件。相反,程序應該調用系統庫的 getpw() 函數。這種函數也被稱為系統調用。打開 /etc/passwd 文件和之後查找那個被請求的用戶的密碼都是由內核(通過系統庫)決定的。

除非另行指定,Red Hat Linux 系統中大多數配置文件都在 /etc 目錄中。配置文件可以大致分為下面幾類:


訪問文件

/etc/host.conf 告訴網路域名伺服器如何查找主機名。(通常是 /etc/hosts,然後就是名稱伺服器;可通過 netconf 對其進行更改)
/etc/hosts 包含(本地網路中)已知主機的一個列表。如果系統的 IP 不是動態生成,就可以使用它。對於簡單的主機名解析(點分表示法),在請求 DNS 或 NIS 網路名稱伺服器之前,/etc/hosts.conf 通常會告訴解析程序先查看這裡。
/etc/hosts.allow 請參閱 hosts_access 的聯機幫助頁。至少由 tcpd 讀取。
/etc/hosts.deny 請參閱 hosts_access 的聯機幫助頁。至少由 tcpd 讀取。


引導和登錄/註銷

/etc/issue & /etc/issue.net 這些文件由 mingetty(和類似的程序)讀取,用來向從終端(issue)或通過 telnet 會話(issue.net)連接的用戶顯示一個「welcome」字元串。它們包括幾行聲明 Red Hat 版本號、名稱和內核 ID 的信息。它們由 rc.local 使用。
/etc/redhat-release 包括一行聲明 Red Hat 版本號和名稱的信息。由 rc.local 使用。
/etc/rc.d/rc 通常在所有運行級別運行,級別作為參數傳送。例如,要以圖形(Graphics)模式(X-Server)引導機器,請在命令行運行下面的命令: init 5 。運行級別 5 表示以圖形模式引導系統。
/etc/rc.d/rc.local 非正式的。可以從 rc、rc.sysinit 或 /etc/inittab 調用。
/etc/rc.d/rc.sysinit 通常是所有運行級別的第一個腳本。
/etc/rc.d/rc/rcX.d 從 rc 運行的腳本( X 表示 1 到 5 之間的任意數字)。這些目錄是特定「運行級別」的目錄。當系統啟動時,它會識別要啟動的運行級別,然後調用該運行級別的特定目錄中存在的所有啟動腳本。例如,系統啟動時通常會在引導消息之後顯示「entering run-level 3」的消息;這意味著 /etc/rc.d/rc3.d/ 目錄中的所有初始化腳本都將被調用。


文件系統

內核提供了一個介面,用來顯示一些它的數據結構,這些數據結構對於決定諸如使用的中斷、初始化的設備和內存統計信息之類的系統參數可能很有用。這個介面是作為一個獨立但虛擬的文件系統提供的,稱為 /proc 文件系統。很多系統實用程序都使用這個文件系統中存在的值來顯示系統統計信息。例如,/proc/modules 文件列舉系統中當前載入的模塊。lsmod 命令讀取此信息,然後將其以人們可以看懂的格式顯示出來。下面表格中指定的 mtab 文件以同樣的方式讀取包含當前安裝的文件系統的 /proc/mount 文件。

/etc/mtab 這將隨著 /proc/mount 文件的改變而不斷改變。換句話說,文件系統被安裝和卸載時,改變會立即反映到此文件中。
/etc/fstab 列舉計算機當前「可以安裝」的文件系統。這非常重要,因為計算機引導時將運行 mount -a 命令,該命令負責安裝 fstab 的倒數第二列中帶有「1」標記的每一個文件系統。
/etc/mtools.conf DOS 類型的文件系統上所有操作(創建目錄、複製、格式化等等)的配置。

系統管理

/etc/group 包含有效的組名稱和指定組中包括的用戶。單一用戶如果執行多個任務,可以存在於多個組中。例如,如果一個「用戶」是「project 1」工程組的成員,同時也是管理員,那麼在 group 文件中他的條目看起來就會是這樣的: user: * : group-id : project1
/etc/nologin 如果有 /etc/nologin 文件存在,login(1) 將只允許 root 用戶進行訪問。它將對其它用戶顯示此文件的內容並拒絕其登錄。
etc/passwd 請參閱「man passwd」。它包含一些用戶帳號信息,包括密碼(如果未被 shadow 程序加密過)。
/etc/rpmrc rpm 命令配置。所有的 rpm 命令行選項都可以在這個文件中一起設置,這樣,當任何 rpm 命令在該系統中運行時,所有的選項都會全局適用。
/etc/securetty 包含設備名稱,由 tty 行組成(每行一個名稱,不包括前面的 /dev/),root 用戶在這裡被允許登錄。
/etc/usertty
/etc/shadow 包含加密后的用戶帳號密碼信息,還可以包括密碼時效信息。包括的欄位有:
登錄名
加密后的密碼
從 1970 年 1 月 1 日到密碼最後一次被更改的天數
距密碼可以更改之前的天數
距密碼必須更改之前的天數
密碼到期前用戶被警告的天數
密碼到期后帳戶被禁用的天數
從 1970 年 1 月 1 日到帳號被禁用的天數

/etc/shells 包含系統可用的可能的「shell」的列表。
/etc/motd 每日消息;在管理員希望向 Linux 伺服器的所有用戶傳達某個消息時使用。


聯網

/etc/gated.conf gated 的配置。只能被 gated 守護進程所使用。
/etc/gated.version 包含 gated 守護進程的版本號。
/etc/gateway 由 routed 守護進程可選地使用。
/etc/networks 列舉從機器所連接的網路可以訪問的網路名和網路地址。通過路由命令使用。允許使用網路名稱。
/etc/protocols 列舉當前可用的協議。請參閱 NAG(網路管理員指南,Network Administrators Guide)和聯機幫助頁。 C 介面是 getprotoent。絕不能更改。
/etc/resolv.conf 在程序請求「解析」一個 IP 地址時告訴內核應該查詢哪個名稱伺服器。
/etc/rpc 包含 RPC 指令/規則,這些指令/規則可以在 NFS 調用、遠程文件系統安裝等中使用。
/etc/exports 要導出的文件系統(NFS)和對它的許可權。
/etc/services 將網路服務名轉換為埠號/協議。由 inetd、telnet、tcpdump 和一些其它程序讀取。有一些 C 訪問常式。
/etc/inetd.conf inetd 的配置文件。請參閱 inetd 聯機幫助頁。包含每個網路服務的條目,inetd 必須為這些網路服務控制守護進程或其它服務。注意,服務將會運行,但在 /etc/services 中將它們註釋掉了,這樣即使這些服務在運行也將不可用。格式為:
/etc/sendmail.cf 郵件程序 sendmail 的配置文件。比較隱晦,很難理解。
/etc/sysconfig/network 指出 NETWORKING=yes 或 no。至少由 rc.sysinit 讀取。
/etc/sysconfig/network-scripts/if* Red Hat 網路配置腳本。


系統命令

系統命令要獨佔地控制系統,並讓一切正常工作。所有如 login(完成控制台用戶身份驗證階段)或 bash(提供用戶和計算機之間交互)之類的程序都是系統命令。因此,和它們有關的文件也特別重要。這一類別中有下列令用戶和管理員感興趣的文件。

/etc/lilo.conf 包含系統的預設引導命令行參數,還有啟動時使用的不同映象。您在 LILO 引導提示的時候按 Tab 鍵就可以看到這個列表。
/etc/logrotate.conf 維護 /var/log 目錄中的日誌文件。
/etc/identd.conf identd 是一個伺服器,它按照 RFC 1413 文檔中指定的方式實現 TCP/IP 提議的標準 IDENT 用戶身份識別協議。identd 的操作原理是查找特定 TCP/IP 連接並返回擁有此連接的進程的用戶名。作為選擇,它也可以返回其它信息,而不是用戶名。請參閱 identd 聯機幫助頁。
/etc/ld.so.conf 「動態鏈接程序」(Dynamic Linker)的配置。
/etc/inittab 按年代來講,這是 UNIX 中第一個配置文件。在一台 UNIX 機器打開之後啟動的第一個程序是 init,它知道該啟動什麼,這是由於 inittab 的存在。在運行級別改變時,init 讀取 inittab,然後控制主進程的啟動。
/etc/termcap 一個資料庫,包含所有可能的終端類型以及這些終端的性能。

守護進程

守護進程是一種運行在非交互模式下的程序。一般來說,守護進程任務是和聯網區域有關的:它們等待連接,以便通過連接提供服務。Linux 可以使用從 Web 伺服器到 ftp 伺服器的很多守護進程。

/etc/syslogd.conf syslogd 守護進程的配置文件。syslogd 是一種守護進程,它負責記錄(寫到磁碟)從其它程序發送到系統的消息。這個服務尤其常被某些守護進程所使用,這些守護進程不會有另外的方法來發出可能有問題存在的信號或向用戶發送消息。
/etc/httpd.conf Web 伺服器 Apache 的配置文件。這個文件一般不在 /etc 中。它可能在 /usr/local/httpd/conf/ 或 /etc/httpd/conf/ 中,但是要確定它的位置,您還需要檢查特定的 Apache 安裝信息。
/etc/conf.modules or /etc/modules.conf kerneld 的配置文件。有意思的是,kerneld 並不是「作為守護進程的」內核。它其實是一種在需要時負責「快速」載入附加內核模塊的守護進程。

用戶程序

在 Linux(和一般的 UNIX)中,有無數的「用戶」程序。最常見的一種用戶程序配置文件是 /etc/lynx.cfg。這是著名的文本瀏覽器 lynx 的配置文件。通過這個文件,您可以定義代理伺服器、要使用的字符集等等。下面的代碼樣本展示了 lynx.cfg 文件的一部分,修改這部分代碼可以改變 Linux 系統的代理伺服器設置。預設情況下,這些設置適用於在各自的 shell 中運行 lynx 的所有用戶,除非某個用戶通過指定 --cfg = "mylynx.cfg" 重設了預設的配置文件。


/etc/lynx.cfg 中的代理伺服器設置
.h1 proxy
.h2 HTTP_PROXY
.h2 HTTPS_PROXY
.h2 FTP_PROXY
.h2 GOPHER_PROXY
.h2 NEWS_PROXY
.h2 NNTP_PROXY
# Lynx version 2.2 and beyond supports the use of proxy servers that can act as
# firewall gateways and caching servers. They are preferable to the older
# gateway servers. Each protocol used by Lynx can be mapped separately using
# PROTOCOL_proxy environment variables (see Lynx Users Guide). If you have
# not set them externally, you can set them at run time via this configuration file.
# They will not override external settings. The no_proxy variable can be used
# to inhibit proxying to selected regions of the Web (see below). Note that on
# VMS these proxy variables are set as process logicals rather than symbols, to
# preserve lowercasing, and will outlive the Lynx image.
#
.ex 15
http_proxy:http://proxy3.in.ibm.com:80/
ftp_proxy:http://proxy3.in.ibm.com:80/
#http_proxy:http://penguin.in.ibm.com:8080
#ftp_proxy:http://penguin.in.ibm.com:8080/
.h2 NO_PROXY
# The no_proxy variable can be a comma-separated list of strings defining
# no-proxy zones in the DNS domain name space. If a tail substring of the
# domain-path for a host matches one of these strings, transactions with that
# node will not be proxied.
.ex
no_proxy:demiurge.in.ibm.com, demiurge



更改配置文件

在更改配置文件時,如果程序不是由系統管理員或內核控制的,就要確保重新啟動過使用該配置的程序。普通用戶通常沒有啟動或停止系統程序和/或守護進程的許可權。

內核

更改內核中的配置文件會立即影響到系統。例如,更改 passwd 文件以增加用戶將立即使該用戶變為可用。而且任何 Linux 系統的 /proc/sys 目錄中都有一些內核可調參數。只有超級用戶可以得到對所有這些文件的寫訪問權力;其它用戶只有隻讀訪問權力。此目錄中文件的分類的方式和 Linux 內核源代碼的分類方式一樣。此目錄中的每個文件都代表一個內核數據結構,這些數據結構可以被動態地修改,從而改變系統性能。

注意:在更改其中任何文件的任何值之前,您應該確保自己全面了解該文件,以避免對系統造成不可修復的損害。
/proc/sys/kernel/ 目錄中的文件

文件名 描述
threads-max 內核可運行的最大任務數。
ctrl-alt-del 如果值為 1,那麼順序按下這幾個鍵將「徹底地」重新引導系統。
sysrq 如果值為 1,Alt-SysRq 則為激活狀態。
osrelease 顯示操作系統的發行版版本號
ostype 顯示操作系統的類型。
hostname 系統的主機名。
domainname 網路域,系統是該網路域的一部分。
modprobe 指定 modprobe 是否應該在啟動時自動運行並載入必需的模塊。

守護進程和系統程序

守護進程是永遠運行在後台的程序,它默默地執行自己的任務。常見的守護進程有 in.ftpd(ftp 伺服器守護進程)、in.telnetd(telnet 伺服器守護進程)和 syslogd(系統日誌記錄守護進程)。有些守護進程在運行時會嚴密監視配置文件,在配置文件改變時就會自動重新載入它。但是大多數守護進程並不會自動重新載入配置文件。我們需要以某種方式「告訴」這些守護進程配置文件已經被發生了改變並應該重新載入。可以通過使用服務命令重新啟動服務來達到這個目的(在 Red Hat Linux 系統上)。

例如,如果我們更改了網路配置,就需要發出:
service network restart 。

注意:這些服務最常見的是 /etc/rc.d/init.d/* 目錄中存在的腳本,在系統被引導時由 init 啟動。所以,您也可以執行如下操作來重新啟動服務:
/etc/rc.d/init.d/ start | stop | status
start、stop 和 status 是這些腳本接受的輸入值,用來執行操作。

用戶程序

用戶或系統程序在每次啟動時都會讀取其配置文件。儘管如此,請記住,有些系統程序在計算機打開時情況不一樣,它們的行為依賴於在 /etc/ 中的配置文件中讀到的內容。所以,用戶程序第一次啟動時將從 /etc/ 目錄中存在的文件讀取預設配置。然後,用戶可以通過使用 rc 和 .(點)文件來定製程序,正如下面一節所示。


用戶配置文件:.(點)文件和 rc 文件

我們已經看到怎樣容易地配置程序。但是如果有的人不喜歡在 /etc/ 中配置程序的方式該怎麼辦呢?「普通」用戶不能簡單地進入 /etc 然後更改配置文件;從文件系統的角度來看,配置文件的所有者是 root 用戶!這就是大多數用戶程序都定義兩個配置文件的原因:第一個是「系統」級別的,位於 /etc/;另一個屬於用戶「專用」,可以在他或她的主目錄中找到。

例如,我在我的系統中安裝了非常有用的 wget 實用程序。/etc/ 中有一個 /etc/wgetrc 文件。在我的主目錄中,有一個名為 .wgetrc 的文件,它描述了我定製的配置(只有在我,也就是用戶運行 wget 命令時,才會載入這個配置文件)。其它用戶在他們自己的主目錄(/home/other)中也可以有 .wgetrc 文件;當然,只有這些用戶運行 wget 命令時,才會讀取這個文件。換句話說,/etc/wgetrc 文件為 wget 提供了「預設」值,而 /home/xxx/.wgetrc 文件列舉了某個用戶的「定製項」。重要的是這只是「一般規則」,並非所有情況都如此。例如,一個象 pine 一樣的程序,在 /etc/ 中並沒有任何文件,它只在用戶主目錄中有一個定製配置文件,名為 .pinerc。其它程序可能只有 /etc/ 中的預設配置文件,而且可能不允許用戶「定製」這些配置文件(/etc 目錄中只有少數 config. 文件是這種情況)。

通常使用的 rc 和 .(點)文件

文件名 描述
~/.bash_login 請參考「man bash」。如果 ~/.bash_profile 不存在,bash 則將 ~/.bash_login 作為 ~/.bash_profile 處理。
~/.bash_logout 請參考「man bash」。在退出時由 bash 登錄 shell 引用。
~/.bash_profile 由 bash 登錄 shell 引用 /etc/profile 之後引用。
~/.bash_history 先前執行的命令的列表。
~/.bashrc 請參考「man bash」。由 bash 非登錄互動式 shell 引用(沒有其它文件)。除非設置了 BASH_ENV 或 ENV,非互動式 shell 不引用任何文件。
~/.emacs 啟動時由 emac 讀取。
~/.forward 如果這裡包含一個電子郵件地址,那麼所有發往 ~ 的所有者的郵件都會被轉發到這個電子郵件地址。
~/.fvwmrc ~/.fvwm2rc fvwm 和 fvwm2(基本的 X Window 管理器)的配置文件。
~/.hushlogin 請參考「man login」。引起「無提示」登錄(沒有郵件通知、上次登錄信息或者 MOD 信息)。
~/.mail.rc 郵件程序的用戶初始化文件。
~/.ncftp/ ncftp 程序的目錄;包含書籤、日誌、宏、首選項和跟蹤信息。請參閱 man ncftp。ncftp 的目的是為網際網路標準文件傳輸協議(Internet standard File Transfer Protocol)提供一個強大而靈活的介面。它旨在替換系統所使用的標準的 ftp 程序。
~/.profile 請參考「man bash」。如果 ~/.bash_profile 和 ~/.bash_login 文件不存在,bash 則將 ~/.profile 作為 ~/.bash_profile 處理,並被其它繼承 Bourn 的 shell 使用。
~/.pinerc Pine 配置
~/.muttrc Mutt 配置
~/.exrc 這個文件可以控制 vi 的配置。
示例:set ai sm ruler
在此文件中寫入上面一行會讓 vi 設置自動縮進、匹配括弧、顯示行號和行-列這幾個選項。
~/.vimrc 預設的「Vim」配置文件。和 .exrc 一樣。
~/.gtkrc GNOME 工具包(GNOME Toolkit)。
~/.kderc KDE 配置。
~/.netrc ftp 預設登錄名和密碼。
~/.rhosts 由 r- 工具(如 rsh、rlogin 等等)使用。因為冒充主機很容易,所以安全性非常低。

必須由用戶(~/ 的所有者)或超級用戶擁有。
列出一些主機,用戶可以從這些主機訪問該帳號。
如果是符號鏈接則被忽略。

~/.rpmrc 請參閱「man rpm」。如果 /etc/rpmrc 不存在則由 rpm 讀取。
~/.signature 消息文本,將自動附加在從此帳號發出的郵件末尾。
~/.twmrc twm( The Window Manager)的配置文件。
~/.xinitrc 啟動時由 X 讀取(而不是由 xinit 腳本讀取)。通常會啟動一些程序。
示例:exec /usr/sbin/startkde
如果該文件中存在上面這行內容,那麼在從這個帳號發出 startx 命令時,這一行就會啟動「KDE 視窗管理器」(KDE Window Manager)。
~/.xmodmaprc 此文件被傳送到 xmodmap 程序,而且可以被命名為任何文件(例如 ~/.Xmodmap 和 ~/.keymap.km)。
~/.xserverrc 如果 xinit 可以找到要執行的 X,xinit 就會將該文件作為 X 伺服器運行。
~/News/Sent-Message-IDs gnus 的預設郵件歷史文件。
~/.Xauthority 由 xdm 程序讀和寫,以處理許可權。請參閱 X、xdm 和 xauth 聯機幫助頁。
~/.Xdefaults, ~/.Xdefaults-hostname 在主機 hostname 的啟動過程中由 X 應用程序讀取。如果找不到 -hostname 文件,則查找 .Xdefaults 文件。
~/.Xmodmap 指向 .xmodmaprc;Red Hat 有使用這個名稱的 .xinitrc 文件。
~/.Xresources 通常是傳送到 xrdb 以載入 X 資源資料庫的文件的名稱,旨在避免應用程序需要讀取一個很長的 .Xdefaults 文件這樣的情況。(有些情況曾經使用了 ~/.Xres。)
~/mbox 用戶的舊郵件。




[火星人 via ] Linux的好處與配置已經有487次圍觀

http://www.coctec.com/docs/linux/show-post-111185.html